@n8n/ai-workflow-builder 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/agents/workflow-planner-agent.d.ts +58 -0
  2. package/dist/agents/workflow-planner-agent.js +269 -0
  3. package/dist/agents/workflow-planner-agent.js.map +1 -0
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/constants.d.ts +7 -0
  6. package/dist/constants.js +8 -1
  7. package/dist/constants.js.map +1 -1
  8. package/dist/errors/index.d.ts +7 -0
  9. package/dist/errors/index.js +16 -1
  10. package/dist/errors/index.js.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +0 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/llm-config.js +2 -1
  15. package/dist/llm-config.js.map +1 -1
  16. package/dist/tools/add-node.tool.d.ts +38 -34
  17. package/dist/tools/add-node.tool.js +17 -2
  18. package/dist/tools/add-node.tool.js.map +1 -1
  19. package/dist/tools/connect-nodes.tool.d.ts +29 -26
  20. package/dist/tools/connect-nodes.tool.js +7 -2
  21. package/dist/tools/connect-nodes.tool.js.map +1 -1
  22. package/dist/tools/get-node-parameter.tool.d.ts +18 -0
  23. package/dist/tools/get-node-parameter.tool.js +109 -0
  24. package/dist/tools/get-node-parameter.tool.js.map +1 -0
  25. package/dist/tools/helpers/progress.d.ts +1 -1
  26. package/dist/tools/helpers/progress.js +14 -2
  27. package/dist/tools/helpers/progress.js.map +1 -1
  28. package/dist/tools/helpers/validation.d.ts +1 -0
  29. package/dist/tools/helpers/validation.js +13 -0
  30. package/dist/tools/helpers/validation.js.map +1 -1
  31. package/dist/tools/node-details.tool.d.ts +20 -17
  32. package/dist/tools/node-details.tool.js +7 -2
  33. package/dist/tools/node-details.tool.js.map +1 -1
  34. package/dist/tools/node-search.tool.d.ts +54 -45
  35. package/dist/tools/node-search.tool.js +7 -2
  36. package/dist/tools/node-search.tool.js.map +1 -1
  37. package/dist/tools/prompts/main-agent.prompt.d.ts +2 -0
  38. package/dist/tools/prompts/main-agent.prompt.js +89 -41
  39. package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
  40. package/dist/tools/remove-node.tool.d.ts +14 -11
  41. package/dist/tools/remove-node.tool.js +7 -2
  42. package/dist/tools/remove-node.tool.js.map +1 -1
  43. package/dist/tools/update-node-parameters.tool.d.ts +19 -16
  44. package/dist/tools/update-node-parameters.tool.js +21 -4
  45. package/dist/tools/update-node-parameters.tool.js.map +1 -1
  46. package/dist/types/index.d.ts +8 -8
  47. package/dist/types/index.js +0 -22
  48. package/dist/types/index.js.map +1 -1
  49. package/dist/types/langchain.d.ts +2 -0
  50. package/dist/types/langchain.js +7 -0
  51. package/dist/types/langchain.js.map +1 -0
  52. package/dist/types/messages.d.ts +1 -7
  53. package/dist/types/streaming.d.ts +6 -1
  54. package/dist/types/tools.d.ts +8 -1
  55. package/dist/utils/stream-processor.d.ts +7 -1
  56. package/dist/utils/stream-processor.js +121 -63
  57. package/dist/utils/stream-processor.js.map +1 -1
  58. package/dist/utils/token-usage.d.ts +3 -0
  59. package/dist/utils/token-usage.js +27 -0
  60. package/dist/utils/token-usage.js.map +1 -1
  61. package/dist/utils/trim-workflow-context.d.ts +2 -0
  62. package/dist/utils/trim-workflow-context.js +53 -0
  63. package/dist/utils/trim-workflow-context.js.map +1 -0
  64. package/dist/workflow-builder-agent.d.ts +1 -0
  65. package/dist/workflow-builder-agent.js +136 -8
  66. package/dist/workflow-builder-agent.js.map +1 -1
  67. package/dist/workflow-state.d.ts +17 -0
  68. package/dist/workflow-state.js +12 -0
  69. package/dist/workflow-state.js.map +1 -1
  70. package/package.json +6 -5
  71. package/dist/chains/planner.d.ts +0 -4
  72. package/dist/chains/planner.js +0 -87
  73. package/dist/chains/planner.js.map +0 -1
@@ -4,9 +4,12 @@ exports.WorkflowBuilderAgent = void 0;
4
4
  const messages_1 = require("@langchain/core/messages");
5
5
  const langgraph_1 = require("@langchain/langgraph");
6
6
  const n8n_workflow_1 = require("n8n-workflow");
7
- const workflow_name_1 = require("./chains/workflow-name");
8
7
  const constants_1 = require("./constants");
8
+ const get_node_parameter_tool_1 = require("./tools/get-node-parameter.tool");
9
+ const trim_workflow_context_1 = require("./utils/trim-workflow-context");
10
+ const workflow_planner_agent_1 = require("./agents/workflow-planner-agent");
9
11
  const conversation_compact_1 = require("./chains/conversation-compact");
12
+ const workflow_name_1 = require("./chains/workflow-name");
10
13
  const errors_1 = require("./errors");
11
14
  const add_node_tool_1 = require("./tools/add-node.tool");
12
15
  const connect_nodes_tool_1 = require("./tools/connect-nodes.tool");
@@ -40,15 +43,20 @@ class WorkflowBuilderAgent {
40
43
  config.autoCompactThresholdTokens ?? constants_1.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS;
41
44
  this.instanceUrl = config.instanceUrl;
42
45
  }
43
- createWorkflow() {
44
- const tools = [
46
+ getBuilderTools() {
47
+ return [
45
48
  (0, node_search_tool_1.createNodeSearchTool)(this.parsedNodeTypes),
46
49
  (0, node_details_tool_1.createNodeDetailsTool)(this.parsedNodeTypes),
47
50
  (0, add_node_tool_1.createAddNodeTool)(this.parsedNodeTypes),
48
51
  (0, connect_nodes_tool_1.createConnectNodesTool)(this.parsedNodeTypes, this.logger),
49
52
  (0, remove_node_tool_1.createRemoveNodeTool)(this.logger),
50
53
  (0, update_node_parameters_tool_1.createUpdateNodeParametersTool)(this.parsedNodeTypes, this.llmComplexTask, this.logger, this.instanceUrl),
54
+ (0, get_node_parameter_tool_1.createGetNodeParameterTool)(),
51
55
  ];
56
+ }
57
+ createWorkflow() {
58
+ const builderTools = this.getBuilderTools();
59
+ const tools = builderTools.map((bt) => bt.tool);
52
60
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
53
61
  const callModel = async (state) => {
54
62
  if (!this.llmSimpleTask) {
@@ -61,10 +69,16 @@ class WorkflowBuilderAgent {
61
69
  }
62
70
  const prompt = await main_agent_prompt_1.mainAgentPrompt.invoke({
63
71
  ...state,
72
+ workflowJSON: (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON),
64
73
  executionData: state.workflowContext?.executionData ?? {},
65
74
  executionSchema: state.workflowContext?.executionSchema ?? [],
75
+ workflowPlan: (0, main_agent_prompt_1.planFormatter)(state.workflowPlan),
66
76
  instanceUrl: this.instanceUrl,
67
77
  });
78
+ const estimatedTokens = (0, token_usage_1.estimateTokenCountFromMessages)(prompt.messages);
79
+ if (estimatedTokens > constants_1.MAX_INPUT_TOKENS) {
80
+ throw new errors_1.WorkflowStateError('The current conversation and workflow state is too large to process. Try to simplify your workflow by breaking it into smaller parts.');
81
+ }
68
82
  const response = await this.llmSimpleTask.bindTools(tools).invoke(prompt);
69
83
  return { messages: [response] };
70
84
  };
@@ -82,8 +96,94 @@ class WorkflowBuilderAgent {
82
96
  });
83
97
  return tokensUsed > this.autoCompactThresholdTokens;
84
98
  };
99
+ const createPlan = async (state) => {
100
+ const { messages } = state;
101
+ const lastHumanMessage = messages.findLast((m) => m instanceof messages_1.HumanMessage);
102
+ if (typeof lastHumanMessage.content !== 'string') {
103
+ throw new errors_1.ValidationError('Invalid message content for planning');
104
+ }
105
+ const plannerAgent = (0, workflow_planner_agent_1.createWorkflowPlannerAgent)(this.llmSimpleTask, this.parsedNodeTypes);
106
+ const plannerResult = await plannerAgent.plan(lastHumanMessage.content);
107
+ if ('plan' in plannerResult) {
108
+ const { plan, toolMessages } = plannerResult;
109
+ this.logger?.debug('Generated workflow plan: ' + JSON.stringify(plan, null, 2));
110
+ return {
111
+ workflowPlan: plan,
112
+ planStatus: 'pending',
113
+ messages: toolMessages,
114
+ };
115
+ }
116
+ this.logger?.debug('Planner returned text response: ' + plannerResult.text);
117
+ return {
118
+ messages: [
119
+ new messages_1.AIMessage({
120
+ content: plannerResult.text,
121
+ }),
122
+ ],
123
+ };
124
+ };
125
+ const reviewPlan = async (state) => {
126
+ const { workflowPlan } = state;
127
+ if (!workflowPlan) {
128
+ throw new errors_1.ValidationError('No workflow plan to review');
129
+ }
130
+ const userResponse = (0, langgraph_1.interrupt)({
131
+ plan: workflowPlan.plan,
132
+ message: workflowPlan.intro,
133
+ });
134
+ if (userResponse.action === 'approve') {
135
+ return {
136
+ planStatus: 'approved',
137
+ };
138
+ }
139
+ else if (userResponse.action === 'adjust') {
140
+ return {
141
+ planStatus: 'rejected',
142
+ planFeedback: userResponse.feedback ?? 'Please adjust the plan',
143
+ };
144
+ }
145
+ return {};
146
+ };
147
+ const adjustPlan = async (state) => {
148
+ const { messages, planFeedback, workflowPlan } = state;
149
+ const lastHumanMessage = messages.findLast((m) => m instanceof messages_1.HumanMessage);
150
+ if (typeof lastHumanMessage.content !== 'string') {
151
+ throw new errors_1.ValidationError('Invalid message content for plan adjustment');
152
+ }
153
+ const plannerAgent = (0, workflow_planner_agent_1.createWorkflowPlannerAgent)(this.llmSimpleTask, this.parsedNodeTypes);
154
+ const adjustedPlan = await plannerAgent.plan(lastHumanMessage.content, workflowPlan ?? undefined, planFeedback ?? undefined);
155
+ if ('text' in adjustedPlan) {
156
+ return {
157
+ messages: [
158
+ new messages_1.AIMessage({
159
+ content: adjustedPlan.text,
160
+ }),
161
+ ],
162
+ };
163
+ }
164
+ const filteredMessages = messages.map((m) => {
165
+ if (m instanceof messages_1.ToolMessage && m.name === 'generate_workflow_plan') {
166
+ return new messages_1.RemoveMessage({ id: m.id });
167
+ }
168
+ if (m instanceof messages_1.AIMessage && m.tool_calls && m.tool_calls.length > 0) {
169
+ const hasPlanCall = m.tool_calls.find((tc) => tc.name === 'generate_workflow_plan');
170
+ if (hasPlanCall) {
171
+ return new messages_1.RemoveMessage({ id: m.id });
172
+ }
173
+ }
174
+ return m;
175
+ });
176
+ const planAdjustmentMessage = new messages_1.HumanMessage({ content: planFeedback ?? '' });
177
+ this.logger?.debug('Adjusted workflow plan: ' + JSON.stringify(adjustedPlan, null, 2));
178
+ return {
179
+ workflowPlan: adjustedPlan.plan,
180
+ messages: [...filteredMessages, planAdjustmentMessage, ...adjustedPlan.toolMessages],
181
+ planStatus: 'pending',
182
+ planFeedback: null,
183
+ };
184
+ };
85
185
  const shouldModifyState = (state) => {
86
- const { messages, workflowContext } = state;
186
+ const { messages, workflowContext, planStatus } = state;
87
187
  const lastHumanMessage = messages.findLast((m) => m instanceof messages_1.HumanMessage);
88
188
  if (lastHumanMessage.content === '/compact') {
89
189
  return 'compact_messages';
@@ -97,6 +197,9 @@ class WorkflowBuilderAgent {
97
197
  if (shouldAutoCompact(state)) {
98
198
  return 'auto_compact_messages';
99
199
  }
200
+ if (!planStatus && workflowContext?.currentWorkflow?.nodes?.length === 0) {
201
+ return 'create_plan';
202
+ }
100
203
  return 'agent';
101
204
  };
102
205
  const shouldContinue = ({ messages }) => {
@@ -120,6 +223,9 @@ class WorkflowBuilderAgent {
120
223
  connections: {},
121
224
  name: '',
122
225
  },
226
+ workflowPlan: null,
227
+ planStatus: null,
228
+ planFeedback: null,
123
229
  };
124
230
  return stateUpdate;
125
231
  }
@@ -174,11 +280,21 @@ class WorkflowBuilderAgent {
174
280
  .addNode('compact_messages', compactSession)
175
281
  .addNode('auto_compact_messages', compactSession)
176
282
  .addNode('create_workflow_name', createWorkflowName)
283
+ .addNode('create_plan', createPlan)
284
+ .addNode('review_plan', reviewPlan)
285
+ .addNode('adjust_plan', adjustPlan)
177
286
  .addConditionalEdges('__start__', shouldModifyState)
287
+ .addConditionalEdges('create_plan', (state) => {
288
+ return state.workflowPlan ? 'review_plan' : langgraph_1.END;
289
+ })
290
+ .addConditionalEdges('review_plan', (state) => {
291
+ return state.planStatus === 'approved' ? 'agent' : 'adjust_plan';
292
+ })
293
+ .addEdge('adjust_plan', 'review_plan')
178
294
  .addEdge('tools', 'process_operations')
179
295
  .addEdge('process_operations', 'agent')
180
296
  .addEdge('auto_compact_messages', 'agent')
181
- .addEdge('create_workflow_name', 'agent')
297
+ .addEdge('create_workflow_name', 'create_plan')
182
298
  .addEdge('delete_messages', langgraph_1.END)
183
299
  .addEdge('compact_messages', langgraph_1.END)
184
300
  .addConditionalEdges('agent', shouldContinue);
@@ -206,7 +322,7 @@ class WorkflowBuilderAgent {
206
322
  this.validateMessageLength(payload.message);
207
323
  const { agent, threadConfig, streamConfig } = this.setupAgentAndConfigs(payload, userId, abortSignal);
208
324
  try {
209
- const stream = await this.createAgentStream(payload, streamConfig, agent);
325
+ const stream = await this.createAgentStream(payload, streamConfig, agent, threadConfig);
210
326
  yield* this.processAgentStream(stream, agent, threadConfig);
211
327
  }
212
328
  catch (error) {
@@ -240,7 +356,19 @@ class WorkflowBuilderAgent {
240
356
  };
241
357
  return { agent, threadConfig, streamConfig };
242
358
  }
243
- async createAgentStream(payload, streamConfig, agent) {
359
+ async createAgentStream(payload, streamConfig, agent, threadConfig) {
360
+ const currentState = await agent.getState(threadConfig);
361
+ const interruptedTask = currentState.tasks.find((task) => task.interrupts && task.interrupts.length > 0);
362
+ if (interruptedTask) {
363
+ const action = payload.message.trim() === constants_1.PLAN_APPROVAL_MESSAGE ? 'approve' : 'adjust';
364
+ const resumeCommand = new langgraph_1.Command({
365
+ resume: {
366
+ action,
367
+ feedback: action === 'adjust' ? payload.message : undefined,
368
+ },
369
+ });
370
+ return await agent.stream(resumeCommand, streamConfig);
371
+ }
244
372
  return await agent.stream({
245
373
  messages: [new messages_1.HumanMessage({ content: payload.message })],
246
374
  workflowJSON: this.getDefaultWorkflowJSON(payload),
@@ -318,7 +446,7 @@ class WorkflowBuilderAgent {
318
446
  const messages = checkpoint.checkpoint.channel_values?.messages ?? [];
319
447
  sessions.push({
320
448
  sessionId: threadId,
321
- messages: (0, stream_processor_1.formatMessages)(messages),
449
+ messages: (0, stream_processor_1.formatMessages)(messages, this.getBuilderTools()),
322
450
  lastUpdated: checkpoint.checkpoint.ts,
323
451
  });
324
452
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,23 @@ export declare const WorkflowState: import("@langchain/langgraph").AnnotationRoo
5
5
  messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
6
6
  workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
7
7
  workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
8
+ workflowPlan: import("@langchain/langgraph").BinaryOperatorAggregate<{
9
+ intro: string;
10
+ plan: {
11
+ nodeType: string;
12
+ reasoning: string;
13
+ nodeName: string;
14
+ }[];
15
+ } | null, {
16
+ intro: string;
17
+ plan: {
18
+ nodeType: string;
19
+ reasoning: string;
20
+ nodeName: string;
21
+ }[];
22
+ } | null>;
23
+ planStatus: import("@langchain/langgraph").BinaryOperatorAggregate<"pending" | "approved" | "rejected" | null, "pending" | "approved" | "rejected" | null>;
24
+ planFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
8
25
  workflowContext: import("@langchain/langgraph").BinaryOperatorAggregate<{
9
26
  executionSchema?: import("n8n-workflow").NodeExecutionSchema[];
10
27
  currentWorkflow?: Partial<import("n8n-workflow").IWorkflowBase>;
@@ -47,6 +47,18 @@ exports.WorkflowState = langgraph_1.Annotation.Root({
47
47
  reducer: operationsReducer,
48
48
  default: () => [],
49
49
  }),
50
+ workflowPlan: (0, langgraph_1.Annotation)({
51
+ reducer: (x, y) => y ?? x,
52
+ default: () => null,
53
+ }),
54
+ planStatus: (0, langgraph_1.Annotation)({
55
+ reducer: (x, y) => y ?? x,
56
+ default: () => null,
57
+ }),
58
+ planFeedback: (0, langgraph_1.Annotation)({
59
+ reducer: (x, y) => y ?? x,
60
+ default: () => null,
61
+ }),
50
62
  workflowContext: (0, langgraph_1.Annotation)({
51
63
  reducer: (x, y) => y ?? x,
52
64
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../src/workflow-state.ts"],"names":[],"mappings":";;;AAoCA,8DAsBC;AAzDD,uDAAwD;AACxD,oDAAwE;AASxE,SAAS,iBAAiB,CACzB,OAAmC,EACnC,MAA8C;IAE9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,IAAI,EAAE,CAAC;IACtB,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAGD,SAAgB,yBAAyB,CAAC,eAAuB;IAChE,OAAO,CAAC,OAAsB,EAAiB,EAAE;QAEhD,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,GAAG,YAAY,uBAAY,EAAE,CAAC;gBACjC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC,CAAC,CAAC;QAGH,IAAI,mBAAmB,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACnD,OAAO,OAAO,CAAC;QAChB,CAAC;QAGD,MAAM,sBAAsB,GAC3B,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QAGnE,OAAO,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC,CAAC;AACH,CAAC;AAEY,QAAA,aAAa,GAAG,sBAAU,CAAC,IAAI,CAAC;IAC5C,QAAQ,EAAE,IAAA,sBAAU,EAAgB;QACnC,OAAO,EAAE,gCAAoB;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAIF,YAAY,EAAE,IAAA,sBAAU,EAAiB;QACxC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACzD,CAAC;IAEF,kBAAkB,EAAE,IAAA,sBAAU,EAA6B;QAC1D,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAA6C;QACvE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KACzB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAS;QACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;KACtB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"workflow-state.js","sourceRoot":"","sources":["../src/workflow-state.ts"],"names":[],"mappings":";;;AAqCA,8DAsBC;AA1DD,uDAAwD;AACxD,oDAAwE;AAUxE,SAAS,iBAAiB,CACzB,OAAmC,EACnC,MAA8C;IAE9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,OAAO,IAAI,EAAE,CAAC;IACtB,CAAC;IAGD,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;QAC9C,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACX,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;AACxC,CAAC;AAGD,SAAgB,yBAAyB,CAAC,eAAuB;IAChE,OAAO,CAAC,OAAsB,EAAiB,EAAE;QAEhD,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAC9B,IAAI,GAAG,YAAY,uBAAY,EAAE,CAAC;gBACjC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACF,CAAC,CAAC,CAAC;QAGH,IAAI,mBAAmB,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACnD,OAAO,OAAO,CAAC;QAChB,CAAC;QAGD,MAAM,sBAAsB,GAC3B,mBAAmB,CAAC,mBAAmB,CAAC,MAAM,GAAG,eAAe,CAAC,CAAC;QAGnE,OAAO,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC9C,CAAC,CAAC;AACH,CAAC;AAEY,QAAA,aAAa,GAAG,sBAAU,CAAC,IAAI,CAAC;IAC5C,QAAQ,EAAE,IAAA,sBAAU,EAAgB;QACnC,OAAO,EAAE,gCAAoB;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAIF,YAAY,EAAE,IAAA,sBAAU,EAAiB;QACxC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACzD,CAAC;IAEF,kBAAkB,EAAE,IAAA,sBAAU,EAA6B;QAC1D,OAAO,EAAE,iBAAiB;QAC1B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAEF,YAAY,EAAE,IAAA,sBAAU,EAAsB;QAC7C,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAEF,UAAU,EAAE,IAAA,sBAAU,EAA6C;QAClE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAEF,YAAY,EAAE,IAAA,sBAAU,EAAgB;QACvC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAEF,eAAe,EAAE,IAAA,sBAAU,EAA6C;QACvE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KACzB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAS;QACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO;KACtB,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/ai-workflow-builder",
3
- "version": "0.19.0",
3
+ "version": "0.20.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -23,20 +23,21 @@
23
23
  "@langchain/openai": "0.6.7",
24
24
  "@n8n_io/ai-assistant-sdk": "1.15.0",
25
25
  "langsmith": "^0.3.45",
26
+ "lodash": "4.17.21",
26
27
  "picocolors": "1.0.1",
27
28
  "zod": "3.25.67",
28
- "@n8n/backend-common": "^0.19.0",
29
+ "@n8n/backend-common": "^0.20.0",
29
30
  "@n8n/di": "0.9.0",
30
- "@n8n/config": "1.52.0",
31
- "n8n-workflow": "1.106.0"
31
+ "n8n-workflow": "1.107.0",
32
+ "@n8n/config": "1.53.0"
32
33
  },
33
34
  "devDependencies": {
34
35
  "@types/cli-progress": "^3.11.5",
35
- "p-limit": "^3.1.0",
36
36
  "cli-progress": "^3.12.0",
37
37
  "cli-table3": "^0.6.3",
38
38
  "jest-mock-extended": "^3.0.4",
39
39
  "madge": "^8.0.0",
40
+ "p-limit": "^3.1.0",
40
41
  "@n8n/typescript-config": "1.3.0"
41
42
  },
42
43
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,4 +0,0 @@
1
- import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
- import { SystemMessage } from '@langchain/core/messages';
3
- export declare const plannerPrompt: SystemMessage;
4
- export declare const plannerChain: (llm: BaseChatModel) => import("@langchain/core/runnables").Runnable<any, string[], import("@langchain/core/runnables").RunnableConfig<Record<string, any>>>;
@@ -1,87 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.plannerChain = exports.plannerPrompt = void 0;
4
- const messages_1 = require("@langchain/core/messages");
5
- const prompts_1 = require("@langchain/core/prompts");
6
- const tools_1 = require("@langchain/core/tools");
7
- const zod_1 = require("zod");
8
- const errors_1 = require("../errors");
9
- exports.plannerPrompt = new messages_1.SystemMessage(`You are a Workflow Planner for n8n, a platform that helps users automate processes across different services and APIs.
10
-
11
- ## Your Task
12
- Convert user requests into clear, sequential workflow steps that can be implemented with n8n nodes. ONLY include steps that are explicitly stated or directly implied in the user request.
13
-
14
- ## Guidelines
15
- 1. Analyze the user request to understand their end goal and required process
16
- 2. Break down the automation into logical steps based on complexity - simpler workflows need fewer steps, complex ones may need more
17
- 3. Focus ONLY on actions mentioned directly in the user prompt
18
- 4. Create steps that can be mapped to n8n nodes later
19
- 5. Order steps sequentially from trigger to final action
20
- 6. Be specific about data transformations needed ONLY if mentioned in the request
21
- 7. NEVER add extra steps like storing data or sending notifications unless explicitly requested
22
- 8. Only recommend raw HTTP requests if you think there isn't a suitable n8n node
23
-
24
- ## CRITICAL REQUIREMENTS
25
- - DO NOT add any steps not directly mentioned or implied in the user request
26
- - DO NOT assume the user wants to store data in a database unless explicitly stated
27
- - DO NOT assume the user wants to send notifications or emails unless explicitly stated
28
- - DO NOT add any "nice to have" steps that aren't clearly part of the user's request
29
- - Keep the workflow EXACTLY focused on what was requested, nothing more
30
-
31
- ## Output Format
32
- Return ONLY a JSON object with this structure:
33
- \`\`\`json
34
- {
35
- "steps": [
36
- "[Brief action-oriented description]",
37
- "[Brief action-oriented description]",
38
- ...
39
- ]
40
- }
41
- \`\`\`
42
-
43
- ## Examples of Good Step Descriptions
44
- - "Trigger when a new email arrives in Gmail inbox"
45
- - "Filter emails to only include those with attachments"
46
- - "Extract data from CSV attachments"
47
- - "Transform data to required format for the API"
48
- - "Send HTTP request to external API with extracted data"
49
- - "Post success message to Slack channel"
50
-
51
- IMPORTANT: Do not include HTML tags, markdown formatting, or explanations outside the JSON.`);
52
- const planSchema = zod_1.z.object({
53
- steps: zod_1.z
54
- .array(zod_1.z
55
- .string()
56
- .describe('A clear, action-oriented description of a single workflow step. Do not include "Step N" or similar, just the action'))
57
- .min(1)
58
- .describe('An ordered list of workflow steps that, when implemented, will fulfill the user request. Each step should be concise, action-oriented, and implementable with n8n nodes.'),
59
- });
60
- const generatePlanTool = new tools_1.DynamicStructuredTool({
61
- name: 'generate_plan',
62
- description: 'Convert a user workflow request into a logical sequence of clear, achievable steps that can be implemented with n8n nodes.',
63
- schema: planSchema,
64
- func: async (input) => {
65
- return { steps: input.steps };
66
- },
67
- });
68
- const humanTemplate = '{prompt}';
69
- const chatPrompt = prompts_1.ChatPromptTemplate.fromMessages([
70
- exports.plannerPrompt,
71
- prompts_1.HumanMessagePromptTemplate.fromTemplate(humanTemplate),
72
- ]);
73
- const plannerChain = (llm) => {
74
- if (!llm.bindTools) {
75
- throw new errors_1.LLMServiceError("LLM doesn't support binding tools", { llmModel: llm._llmType() });
76
- }
77
- return chatPrompt
78
- .pipe(llm.bindTools([generatePlanTool], {
79
- tool_choice: generatePlanTool.name,
80
- }))
81
- .pipe((x) => {
82
- const toolCall = x.tool_calls?.[0];
83
- return (toolCall?.args).steps;
84
- });
85
- };
86
- exports.plannerChain = plannerChain;
87
- //# sourceMappingURL=planner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"planner.js","sourceRoot":"","sources":["../../src/chains/planner.ts"],"names":[],"mappings":";;;AAEA,uDAAyD;AACzD,qDAAyF;AACzF,iDAA8D;AAC9D,6BAAwB;AAExB,sCAA4C;AAE/B,QAAA,aAAa,GAAG,IAAI,wBAAa,CAC7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FA0C2F,CAC3F,CAAC;AAEF,MAAM,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IAC3B,KAAK,EAAE,OAAC;SACN,KAAK,CACL,OAAC;SACC,MAAM,EAAE;SACR,QAAQ,CACR,qHAAqH,CACrH,CACF;SACA,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACR,0KAA0K,CAC1K;CACF,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG,IAAI,6BAAqB,CAAC;IAClD,IAAI,EAAE,eAAe;IACrB,WAAW,EACV,4HAA4H;IAC7H,MAAM,EAAE,UAAU;IAClB,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;CACD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,UAAU,CAAC;AACjC,MAAM,UAAU,GAAG,4BAAkB,CAAC,YAAY,CAAC;IAClD,qBAAa;IACb,oCAA0B,CAAC,YAAY,CAAC,aAAa,CAAC;CACtD,CAAC,CAAC;AAEI,MAAM,YAAY,GAAG,CAAC,GAAkB,EAAE,EAAE;IAClD,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QACpB,MAAM,IAAI,wBAAe,CAAC,mCAAmC,EAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,UAAU;SACf,IAAI,CACJ,GAAG,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,EAAE;QACjC,WAAW,EAAE,gBAAgB,CAAC,IAAI;KAClC,CAAC,CACF;SACA,IAAI,CAAC,CAAC,CAAiB,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,QAAQ,EAAE,IAAmC,CAAA,CAAC,KAAK,CAAC;IAC7D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAfW,QAAA,YAAY,gBAevB"}