mirror of
https://github.com/n8n-io/n8n.git
synced 2026-06-01 01:07:04 +02:00
When two nodes share the same name, addNodeWithSubnodes() auto-renames the second (e.g., "Process" → "Process 1"). However, add() and to() were using node.name instead of the returned map key, causing subsequent connections to target the wrong node. - Capture addNodeWithSubnodes return value for _currentNode in add() - Add InputTarget handling to workflow-level to() method - Merge existing/new node paths in to() using idempotent addNodeWithSubnodes - Add InputTarget overload to WorkflowBuilder interface Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| scripts | ||
| src | ||
| test-fixtures | ||
| .gitignore | ||
| eslint.config.mjs | ||
| jest.config.js | ||
| package.json | ||
| README.md | ||
| tsconfig.build.json | ||
| tsconfig.json | ||
@n8n/workflow-sdk
TypeScript SDK for programmatically creating n8n workflows.
Features
- Fluent builder API for workflow creation
- Full type safety with TypeScript
- Code generation from JSON workflows
- Control flow support (If, Switch, Merge, Loop)
- Built-in validation
- AI/LangChain node integration
Usage
import { WorkflowBuilder, manual, httpRequest } from '@n8n/workflow-sdk';
const workflow = new WorkflowBuilder()
.withName('My Workflow')
.addTrigger(manual())
.then(httpRequest({ url: 'https://api.example.com/data' }))
.build();
License
You can find the license information here
