@n8n/ai-workflow-builder 1.9.0 → 1.10.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 (71) hide show
  1. package/dist/agents/supervisor.agent.d.ts +8 -5
  2. package/dist/agents/supervisor.agent.js +31 -21
  3. package/dist/agents/supervisor.agent.js.map +1 -1
  4. package/dist/ai-workflow-builder-agent.service.d.ts +6 -2
  5. package/dist/ai-workflow-builder-agent.service.js +30 -7
  6. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  7. package/dist/assistant/assistant-handler.js +31 -15
  8. package/dist/assistant/assistant-handler.js.map +1 -1
  9. package/dist/assistant/types.d.ts +1 -1
  10. package/dist/build.tsbuildinfo +1 -1
  11. package/dist/code-builder/tools/ask-assistant.tool.js +5 -1
  12. package/dist/code-builder/tools/ask-assistant.tool.js.map +1 -1
  13. package/dist/code-builder/tools/build-workflow.tool.js +5 -1
  14. package/dist/code-builder/tools/build-workflow.tool.js.map +1 -1
  15. package/dist/code-builder/triage.agent.js +51 -21
  16. package/dist/code-builder/triage.agent.js.map +1 -1
  17. package/dist/constants.d.ts +1 -0
  18. package/dist/constants.js +2 -1
  19. package/dist/constants.js.map +1 -1
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.js +1 -0
  22. package/dist/index.js.map +1 -1
  23. package/dist/multi-agent-workflow-subgraphs.d.ts +66 -12
  24. package/dist/multi-agent-workflow-subgraphs.js +145 -45
  25. package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
  26. package/dist/parent-graph-state.d.ts +1 -0
  27. package/dist/parent-graph-state.js +4 -0
  28. package/dist/parent-graph-state.js.map +1 -1
  29. package/dist/prompts/agents/supervisor.prompt.d.ts +3 -1
  30. package/dist/prompts/agents/supervisor.prompt.js +85 -13
  31. package/dist/prompts/agents/supervisor.prompt.js.map +1 -1
  32. package/dist/session-manager.service.d.ts +11 -2
  33. package/dist/session-manager.service.js +212 -69
  34. package/dist/session-manager.service.js.map +1 -1
  35. package/dist/subgraphs/builder.subgraph.d.ts +1 -0
  36. package/dist/subgraphs/builder.subgraph.js +2 -0
  37. package/dist/subgraphs/builder.subgraph.js.map +1 -1
  38. package/dist/subgraphs/discovery.subgraph.d.ts +1 -0
  39. package/dist/subgraphs/discovery.subgraph.js +2 -0
  40. package/dist/subgraphs/discovery.subgraph.js.map +1 -1
  41. package/dist/types/coordination.d.ts +8 -2
  42. package/dist/types/coordination.js +5 -0
  43. package/dist/types/coordination.js.map +1 -1
  44. package/dist/types/index.d.ts +2 -0
  45. package/dist/types/index.js +1 -0
  46. package/dist/types/index.js.map +1 -1
  47. package/dist/types/session-storage.d.ts +11 -0
  48. package/dist/types/session-storage.js +3 -0
  49. package/dist/types/session-storage.js.map +1 -0
  50. package/dist/types/streaming.d.ts +14 -1
  51. package/dist/utils/cache-control/helpers.d.ts +6 -0
  52. package/dist/utils/cache-control/helpers.js +13 -0
  53. package/dist/utils/cache-control/helpers.js.map +1 -1
  54. package/dist/utils/cache-control/index.d.ts +1 -1
  55. package/dist/utils/cache-control/index.js +3 -1
  56. package/dist/utils/cache-control/index.js.map +1 -1
  57. package/dist/utils/coordination-log.d.ts +5 -2
  58. package/dist/utils/coordination-log.js +14 -0
  59. package/dist/utils/coordination-log.js.map +1 -1
  60. package/dist/utils/state-modifier.d.ts +1 -1
  61. package/dist/utils/state-modifier.js +15 -19
  62. package/dist/utils/state-modifier.js.map +1 -1
  63. package/dist/utils/stream-processor.js +20 -7
  64. package/dist/utils/stream-processor.js.map +1 -1
  65. package/dist/utils/subgraph-helpers.d.ts +2 -0
  66. package/dist/utils/subgraph-helpers.js +34 -1
  67. package/dist/utils/subgraph-helpers.js.map +1 -1
  68. package/dist/workflow-builder-agent.d.ts +3 -1
  69. package/dist/workflow-builder-agent.js +13 -9
  70. package/dist/workflow-builder-agent.js.map +1 -1
  71. package/package.json +7 -7
@@ -14,6 +14,7 @@ const coordination_log_1 = require("./utils/coordination-log");
14
14
  const error_sanitizer_1 = require("./utils/error-sanitizer");
15
15
  const operations_processor_1 = require("./utils/operations-processor");
16
16
  const state_modifier_1 = require("./utils/state-modifier");
17
+ const subgraph_helpers_1 = require("./utils/subgraph-helpers");
17
18
  function isCoordinationLogEntry(value) {
18
19
  if (typeof value !== 'object' || value === null)
19
20
  return false;
@@ -28,51 +29,45 @@ function routeToNode(next) {
28
29
  responder: 'responder',
29
30
  discovery: 'discovery_subgraph',
30
31
  builder: 'builder_subgraph',
32
+ assistant: 'assistant_subgraph',
31
33
  };
32
34
  return nodeMapping[next] ?? 'responder';
33
35
  }
34
- function createSubgraphNodeHandler(subgraph, compiledGraph, name, logger, recursionLimit) {
36
+ function createSubgraphNodeHandler(phase, execute, logger) {
35
37
  return async (state, config) => {
36
- const extractedPhase = name.replace('_subgraph', '');
37
- if (!(0, coordination_1.isSubgraphPhase)(extractedPhase)) {
38
- throw new Error(`Invalid subgraph phase extracted from name "${name}": "${extractedPhase}"`);
39
- }
40
- const phase = extractedPhase;
41
38
  const startTimestamp = Date.now();
39
+ logger?.debug(`[${phase}_subgraph] Starting ${phase}`);
42
40
  try {
43
- const input = subgraph.transformInput(state);
44
- const invokeConfig = {
45
- ...config,
46
- recursionLimit,
47
- };
48
- const result = await compiledGraph.invoke(input, invokeConfig);
49
- const output = subgraph.transformOutput(result, state);
50
- const inProgressEntry = {
51
- phase,
52
- status: 'in_progress',
53
- timestamp: startTimestamp,
54
- summary: `Starting ${phase}`,
55
- metadata: { phase },
56
- };
57
- const outputLogRaw = Array.isArray(output.coordinationLog) ? output.coordinationLog : [];
58
- const outputCoordinationLog = outputLogRaw.filter(isCoordinationLogEntry);
41
+ const { output, coordinationLog } = await execute(state, config);
42
+ const validLog = coordinationLog.filter(isCoordinationLogEntry);
59
43
  return {
60
44
  ...output,
61
- coordinationLog: [inProgressEntry, ...outputCoordinationLog],
45
+ coordinationLog: [
46
+ {
47
+ phase,
48
+ status: 'in_progress',
49
+ timestamp: startTimestamp,
50
+ summary: `Starting ${phase}`,
51
+ metadata: { phase },
52
+ },
53
+ ...validLog,
54
+ ],
62
55
  };
63
56
  }
64
57
  catch (error) {
65
58
  if ((0, langgraph_1.isGraphInterrupt)(error)) {
66
59
  throw error;
67
60
  }
68
- logger?.error(`[${name}] ERROR:`, { error });
69
- const rawErrorMessage = error instanceof Error ? error.message : `An error occurred in ${name}: ${String(error)}`;
61
+ logger?.error(`[${phase}_subgraph] ERROR:`, { error });
62
+ const rawErrorMessage = error instanceof Error
63
+ ? error.message
64
+ : `An error occurred in ${phase}_subgraph: ${String(error)}`;
70
65
  const userFacingMessage = (0, error_sanitizer_1.sanitizeLlmErrorMessage)(error);
71
66
  return {
72
67
  nextPhase: 'responder',
73
68
  messages: [
74
69
  new messages_1.HumanMessage({
75
- content: `Error in ${name}: ${userFacingMessage}`,
70
+ content: `Error in ${phase}_subgraph: ${userFacingMessage}`,
76
71
  name: 'system_error',
77
72
  }),
78
73
  ],
@@ -99,9 +94,23 @@ function createSubgraphNodeHandler(subgraph, compiledGraph, name, logger, recurs
99
94
  }
100
95
  };
101
96
  }
97
+ function createCompiledSubgraphExecutor(subgraph, compiledGraph, recursionLimit) {
98
+ return async (state, config) => {
99
+ const input = subgraph.transformInput(state);
100
+ const invokeConfig = { ...config, recursionLimit };
101
+ const result = await compiledGraph.invoke(input, invokeConfig);
102
+ const output = subgraph.transformOutput(result, state);
103
+ const outputLogRaw = Array.isArray(output.coordinationLog) ? output.coordinationLog : [];
104
+ return { output, coordinationLog: outputLogRaw };
105
+ };
106
+ }
102
107
  function createMultiAgentWorkflowWithSubgraphs(config) {
103
- const { parsedNodeTypes, stageLLMs, logger, instanceUrl, checkpointer, autoCompactThresholdTokens = constants_1.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS, featureFlags, onGenerationSuccess, resourceLocatorCallback, } = config;
104
- const supervisorAgent = new supervisor_agent_1.SupervisorAgent({ llm: stageLLMs.supervisor });
108
+ const { parsedNodeTypes, stageLLMs, logger, instanceUrl, checkpointer, autoCompactThresholdTokens = constants_1.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS, featureFlags, onGenerationSuccess, resourceLocatorCallback, assistantHandler, } = config;
109
+ const mergeAskBuild = featureFlags?.mergeAskBuild === true && !!assistantHandler;
110
+ const supervisorAgent = new supervisor_agent_1.SupervisorAgent({
111
+ llm: stageLLMs.supervisor,
112
+ mergeAskBuild,
113
+ });
105
114
  const responderAgent = (0, responder_agent_1.createResponderAgent)({
106
115
  llm: stageLLMs.responder,
107
116
  enableIntrospection: featureFlags?.enableIntrospection,
@@ -127,28 +136,56 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
127
136
  });
128
137
  return (new langgraph_1.StateGraph(parent_graph_state_1.ParentGraphState)
129
138
  .addNode('supervisor', async (state, config) => {
139
+ const conversationMessages = (0, subgraph_helpers_1.filterOutSubgraphToolMessages)(state.messages);
130
140
  const routing = await supervisorAgent.invoke({
131
- messages: state.messages,
141
+ messages: conversationMessages,
132
142
  workflowJSON: state.workflowJSON,
133
143
  coordinationLog: state.coordinationLog,
134
144
  previousSummary: state.previousSummary,
135
145
  workflowContext: state.workflowContext,
136
146
  }, config);
147
+ logger?.debug(`[supervisor] Routing to: ${routing.next}`, {
148
+ reasoning: routing.reasoning,
149
+ });
137
150
  return {
138
151
  nextPhase: routing.next,
139
152
  };
140
153
  })
141
154
  .addNode('responder', async (state, config) => {
142
155
  const startTimestamp = Date.now();
156
+ const lastCompletedPhase = (0, coordination_log_1.getLastCompletedPhase)(state.coordinationLog);
157
+ const assistantEntry = lastCompletedPhase === 'assistant'
158
+ ? state.coordinationLog.findLast((e) => e.phase === 'assistant' && e.status === 'completed')
159
+ : undefined;
160
+ if (assistantEntry?.output) {
161
+ logger?.debug('[responder] Forwarding assistant response (no credits consumed)', {
162
+ outputLength: assistantEntry.output.length,
163
+ outputPreview: assistantEntry.output.substring(0, 100),
164
+ });
165
+ return {
166
+ coordinationLog: [
167
+ {
168
+ phase: 'responder',
169
+ status: 'completed',
170
+ timestamp: Date.now(),
171
+ summary: 'Assistant response forwarded (no credits consumed)',
172
+ metadata: (0, coordination_1.createResponderMetadata)({ responseLength: 0 }),
173
+ },
174
+ ],
175
+ };
176
+ }
177
+ const responderMessages = (0, subgraph_helpers_1.filterOutSubgraphToolMessages)(state.messages);
143
178
  const { response, introspectionEvents } = await (0, responder_agent_1.invokeResponderAgent)(responderAgent, {
144
- messages: state.messages,
179
+ messages: responderMessages,
145
180
  coordinationLog: state.coordinationLog,
146
181
  discoveryContext: state.discoveryContext,
147
182
  workflowJSON: state.workflowJSON,
148
183
  workflowContext: state.workflowContext,
149
184
  previousSummary: state.previousSummary,
150
185
  }, config, { enableIntrospection: featureFlags?.enableIntrospection });
151
- if (onGenerationSuccess && !(0, coordination_log_1.hasErrorInLog)(state.coordinationLog)) {
186
+ if (onGenerationSuccess &&
187
+ !(0, coordination_log_1.hasErrorInLog)(state.coordinationLog) &&
188
+ (0, coordination_log_1.hasBuilderPhaseInLog)(state.coordinationLog)) {
152
189
  void Promise.resolve(onGenerationSuccess()).catch((error) => {
153
190
  logger?.warn('Failed to execute onGenerationSuccess callback', { error });
154
191
  });
@@ -206,9 +243,17 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
206
243
  }
207
244
  return { nextPhase: next, planDecision: null };
208
245
  })
209
- .addNode('check_state', (state) => ({
210
- nextPhase: (0, state_modifier_1.determineStateAction)(state, autoCompactThresholdTokens),
211
- }))
246
+ .addNode('check_state', (state) => {
247
+ const action = (0, state_modifier_1.determineStateAction)(state, autoCompactThresholdTokens);
248
+ if (action === 'continue' &&
249
+ featureFlags?.planMode === true &&
250
+ state.mode === 'plan' &&
251
+ !state.planOutput &&
252
+ !mergeAskBuild) {
253
+ return { nextPhase: 'discovery' };
254
+ }
255
+ return { nextPhase: action };
256
+ })
212
257
  .addNode('cleanup_dangling', (state) => (0, state_modifier_1.handleCleanupDangling)(state.messages, logger))
213
258
  .addNode('compact_messages', async (state, config) => {
214
259
  const isAutoCompact = state.messages[state.messages.length - 1]?.content !== '/compact';
@@ -217,39 +262,94 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
217
262
  .addNode('delete_messages', (state) => (0, state_modifier_1.handleDeleteMessages)(state.messages))
218
263
  .addNode('clear_error_state', (state) => (0, state_modifier_1.handleClearErrorState)(state.coordinationLog, logger))
219
264
  .addNode('create_workflow_name', async (state, config) => await (0, state_modifier_1.handleCreateWorkflowName)(state.messages, state.workflowJSON, stageLLMs.responder, logger, config))
220
- .addNode('discovery_subgraph', createSubgraphNodeHandler(discoverySubgraph, compiledDiscovery, 'discovery_subgraph', logger, constants_1.MAX_DISCOVERY_ITERATIONS))
221
- .addNode('builder_subgraph', createSubgraphNodeHandler(builderSubgraph, compiledBuilder, 'builder_subgraph', logger, constants_1.MAX_BUILDER_ITERATIONS))
265
+ .addNode('discovery_subgraph', createSubgraphNodeHandler('discovery', createCompiledSubgraphExecutor(discoverySubgraph, compiledDiscovery, constants_1.MAX_DISCOVERY_ITERATIONS), logger))
266
+ .addNode('builder_subgraph', createSubgraphNodeHandler('builder', createCompiledSubgraphExecutor(builderSubgraph, compiledBuilder, constants_1.MAX_BUILDER_ITERATIONS), logger))
267
+ .addNode('assistant_subgraph', createSubgraphNodeHandler('assistant', async (state, nodeConfig) => {
268
+ if (!assistantHandler) {
269
+ throw new Error('Assistant handler not configured');
270
+ }
271
+ const query = (0, subgraph_helpers_1.extractUserRequest)(state.messages);
272
+ const userId = nodeConfig?.configurable?.userId ?? 'unknown';
273
+ const streamWriter = (0, langgraph_1.getWriter)(nodeConfig);
274
+ let chunksDispatched = 0;
275
+ const writer = (chunk) => {
276
+ if (streamWriter) {
277
+ chunksDispatched++;
278
+ streamWriter(chunk);
279
+ }
280
+ };
281
+ const abortController = new AbortController();
282
+ const timeoutId = setTimeout(() => abortController.abort(), constants_1.ASSISTANT_SDK_TIMEOUT_MS);
283
+ let result;
284
+ try {
285
+ result = await assistantHandler.execute({
286
+ query,
287
+ workflowJSON: state.workflowJSON,
288
+ sdkSessionId: state.sdkSessionId,
289
+ }, userId, writer, abortController.signal);
290
+ }
291
+ finally {
292
+ clearTimeout(timeoutId);
293
+ }
294
+ logger?.debug('[assistant_subgraph] Handler completed', {
295
+ responseTextLength: result.responseText.length,
296
+ sdkSessionId: result.sdkSessionId,
297
+ hasCodeDiff: result.hasCodeDiff,
298
+ suggestionCount: result.suggestionIds.length,
299
+ chunksDispatched,
300
+ });
301
+ return {
302
+ output: {
303
+ messages: [new messages_1.AIMessage({ content: result.responseText })],
304
+ sdkSessionId: result.sdkSessionId,
305
+ },
306
+ coordinationLog: [
307
+ {
308
+ phase: 'assistant',
309
+ status: 'completed',
310
+ timestamp: Date.now(),
311
+ summary: result.summary,
312
+ output: result.responseText,
313
+ metadata: (0, coordination_1.createAssistantMetadata)({
314
+ hasCodeDiff: result.hasCodeDiff,
315
+ suggestionCount: result.suggestionIds.length,
316
+ }),
317
+ },
318
+ ],
319
+ };
320
+ }, logger))
222
321
  .addEdge('discovery_subgraph', 'process_operations')
223
322
  .addEdge('builder_subgraph', 'process_operations')
224
323
  .addEdge('process_operations', 'route_next_phase')
324
+ .addEdge('assistant_subgraph', 'route_next_phase')
225
325
  .addEdge(langgraph_1.START, 'check_state')
226
326
  .addConditionalEdges('check_state', (state) => {
227
327
  const routes = {
228
328
  cleanup_dangling: 'cleanup_dangling',
229
329
  compact_messages: 'compact_messages',
230
330
  delete_messages: 'delete_messages',
231
- create_workflow_name: 'create_workflow_name',
232
331
  auto_compact_messages: 'compact_messages',
233
332
  clear_error_state: 'clear_error_state',
234
333
  continue: 'supervisor',
334
+ discovery: 'create_workflow_name',
235
335
  };
236
- if (state.nextPhase === 'continue' &&
237
- featureFlags?.planMode === true &&
238
- state.mode === 'plan' &&
239
- !state.planOutput) {
240
- return 'discovery_subgraph';
241
- }
242
336
  return routes[state.nextPhase] ?? 'supervisor';
243
337
  })
244
338
  .addEdge('cleanup_dangling', 'check_state')
245
339
  .addEdge('delete_messages', 'responder')
246
340
  .addEdge('clear_error_state', 'check_state')
247
- .addEdge('create_workflow_name', 'supervisor')
341
+ .addConditionalEdges('create_workflow_name', (state) => routeToNode(state.nextPhase))
248
342
  .addConditionalEdges('compact_messages', (state) => {
249
343
  const hasMessages = state.messages.length > 0;
250
344
  return hasMessages ? 'check_state' : 'responder';
251
345
  })
252
- .addConditionalEdges('supervisor', (state) => routeToNode(state.nextPhase))
346
+ .addConditionalEdges('supervisor', (state) => {
347
+ const next = state.nextPhase;
348
+ if (next === 'builder' || next === 'discovery') {
349
+ return 'create_workflow_name';
350
+ }
351
+ return routeToNode(next);
352
+ })
253
353
  .addConditionalEdges('route_next_phase', (state) => routeToNode(state.nextPhase))
254
354
  .addEdge('responder', langgraph_1.END)
255
355
  .compile({ checkpointer }));
@@ -1 +1 @@
1
- {"version":3,"file":"multi-agent-workflow-subgraphs.js","sourceRoot":"","sources":["../src/multi-agent-workflow-subgraphs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"multi-agent-workflow-subgraphs.js","sourceRoot":"","sources":["../src/multi-agent-workflow-subgraphs.ts"],"names":[],"mappings":"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"}
@@ -38,4 +38,5 @@ export declare const ParentGraphState: import("@langchain/langgraph").Annotation
38
38
  planFeedback: import("@langchain/langgraph").BinaryOperatorAggregate<string | null, string | null>;
39
39
  planPrevious: import("@langchain/langgraph").BinaryOperatorAggregate<PlanOutput | null, PlanOutput | null>;
40
40
  introspectionEvents: import("@langchain/langgraph").BinaryOperatorAggregate<IntrospectionEvent[], IntrospectionEvent[]>;
41
+ sdkSessionId: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
41
42
  }>;
@@ -67,5 +67,9 @@ exports.ParentGraphState = langgraph_1.Annotation.Root({
67
67
  reducer: (x, y) => x.concat(y),
68
68
  default: () => [],
69
69
  }),
70
+ sdkSessionId: (0, langgraph_1.Annotation)({
71
+ reducer: (x, y) => y ?? x,
72
+ default: () => undefined,
73
+ }),
70
74
  });
71
75
  //# sourceMappingURL=parent-graph-state.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parent-graph-state.js","sourceRoot":"","sources":["../src/parent-graph-state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parent-graph-state.js","sourceRoot":"","sources":["../src/parent-graph-state.ts"],"names":[],"mappings":"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"}
@@ -1 +1,3 @@
1
- export declare function buildSupervisorPrompt(): string;
1
+ export declare function buildSupervisorPrompt(options?: {
2
+ mergeAskBuild?: boolean;
3
+ }): string;
@@ -4,14 +4,34 @@ exports.buildSupervisorPrompt = buildSupervisorPrompt;
4
4
  const builder_1 = require("../builder");
5
5
  const deictic_resolution_1 = require("../shared/deictic-resolution");
6
6
  const SUPERVISOR_ROLE = 'You are a Supervisor that routes user requests to specialist agents.';
7
- const AVAILABLE_AGENTS = `- discovery: Find n8n nodes for building/modifying workflows
7
+ const AVAILABLE_AGENTS_WITH_ASSISTANT = `- discovery: Find n8n nodes for building/modifying workflows
8
8
  - builder: Create nodes and connections (requires discovery first for new node types) and sets parameters on nodes
9
+ - assistant: Answer pure knowledge questions about errors, debugging, and n8n concepts (NOT for action requests)
9
10
  - responder: Answer questions, confirm completion (TERMINAL)`;
10
- const ROUTING_DECISION_TREE = `1. Is user asking a question or chatting? → responder
11
- Examples: "what does this do?", "explain the workflow", "thanks"
12
- Examples with selected nodes: "what does this node do?", "explain how it works"
11
+ const AVAILABLE_AGENTS_WITHOUT_ASSISTANT = `- discovery: Find n8n nodes for building/modifying workflows
12
+ - builder: Create nodes and connections (requires discovery first for new node types) and sets parameters on nodes
13
+ - responder: Answer questions, confirm completion (TERMINAL)`;
14
+ const ROUTING_DECISION_TREE_WITH_ASSISTANT = `1. Is user asking a conversational question or chatting? → responder
15
+ Examples: "what does this do?", "explain the workflow", "thanks", "what does this node do?"
16
+ Responder explains THIS specific workflow/node using current workflow context.
17
+
18
+ 2. Is user asking a pure KNOWLEDGE QUESTION about errors, credentials, debugging, or n8n concepts? → assistant
19
+ Only route here when the user is asking for information, NOT when they want you to take action.
20
+ Assistant provides general n8n knowledge, credential help, error diagnosis, and best practices.
21
+ Examples: "why is this node failing?", "how do I set up Gmail credentials?", "what does this error mean?", "how does the HTTP Request node work?", "help me debug this"
22
+ Examples with selected nodes: "why is this failing?", "help me fix this error"
23
+
24
+ 3. Does the message contain BOTH a knowledge question AND an action request? → discovery or builder
25
+ When the user asks a question AND requests an action in the same message, always prefer the action path.
26
+ The responder will address the knowledge question when summarizing the build result.
27
+ Examples: "what are Slack credentials? set them up", "how does OAuth work? add it to this node", "explain webhooks and add one to my workflow"
13
28
 
14
- 2. Does the request involve NEW or DIFFERENT node types? → discovery
29
+ 4. Is the user asking you to DO something to the workflow (create, modify, configure, set up nodes)? → discovery or builder
30
+ IMPORTANT: If the message is an action request (imperative/instructional tone), it goes to discovery or builder, NOT assistant.
31
+ Examples: "set them up", "configure the node", "now add a Slack node", "connect these", "do it"
32
+ Continue to steps 5-7 to choose between discovery and builder.
33
+
34
+ 5. Does the request involve NEW or DIFFERENT node types? → discovery
15
35
  Examples:
16
36
  - "Build a workflow that..." (new workflow)
17
37
  - "Use [ServiceB] instead of [ServiceA]" (replacing node type)
@@ -19,18 +39,69 @@ const ROUTING_DECISION_TREE = `1. Is user asking a question or chatting? → res
19
39
  - "Switch from [ServiceA] to [ServiceB]" (swapping services)
20
40
  - "Add something before/after this" (needs discovery to find what to add)
21
41
 
22
- 3. Is the request about connecting/disconnecting existing nodes? → builder
42
+ 6. Is the request about connecting/disconnecting existing nodes? → builder
23
43
  Examples: "Connect node A to node B", "Remove the connection to X"
24
44
  Examples with selected nodes: "connect this to X", "disconnect this", "add X before/after this" (after discovery)
25
45
 
26
- 4. Is the request about changing VALUES in existing nodes? → builder
46
+ 7. Is the request about changing VALUES in existing nodes? → builder
27
47
  Examples:
28
48
  - "Change the URL to https://..."
29
49
  - "Set the timeout to 30 seconds"
30
50
  - "Update the email subject to..."
31
51
  Examples with selected nodes: "change this", "update this", "fix this", "configure this"`;
32
- const KEY_DISTINCTION = `- "Use [ServiceB] instead of [ServiceA]" = REPLACEMENT = discovery (new node type needed)
33
- - "Change the [ServiceA] API key" = CONFIGURATION = builder (same node, different value)`;
52
+ const ROUTING_DECISION_TREE_WITHOUT_ASSISTANT = `1. Is user asking a conversational question or chatting? responder
53
+ Examples: "what does this do?", "explain the workflow", "thanks"
54
+ Examples with selected nodes: "what does this node do?", "explain how it works"
55
+ Responder explains THIS specific workflow/node using current workflow context.
56
+
57
+ 2. Is the user asking you to DO something to the workflow? → discovery or builder
58
+ IMPORTANT: Action requests (imperative/instructional tone) always go to discovery or builder.
59
+ Continue to steps 3-4 to choose between discovery and builder.
60
+
61
+ 3. Does the request involve NEW or DIFFERENT node types? → discovery
62
+ Examples:
63
+ - "Build a workflow that..." (new workflow)
64
+ - "Use [ServiceB] instead of [ServiceA]" (replacing node type)
65
+ - "Add [some integration]" (new integration)
66
+ - "Switch from [ServiceA] to [ServiceB]" (swapping services)
67
+ - "Add something before/after this" (needs discovery to find what to add)
68
+
69
+ 4. Is the request about connecting/disconnecting existing nodes or changing VALUES? → builder
70
+ Examples: "Connect node A to node B", "Remove the connection to X"
71
+ Examples with selected nodes: "connect this to X", "disconnect this", "add X before/after this" (after discovery)
72
+ Value changes: "Change the URL to https://...", "Set the timeout to 30 seconds", "Update the email subject to..."
73
+ Examples with selected nodes: "change this", "update this", "fix this", "configure this"`;
74
+ const KEY_DISTINCTION_WITH_ASSISTANT = `RESPONDER vs ASSISTANT:
75
+ - Responder = explains THIS specific workflow/node using current workflow context
76
+ - Assistant = general n8n knowledge, credential help, error diagnosis, best practices
77
+ - "What does this node do?" = EXPLANATION of current workflow = responder
78
+ - "How does the HTTP Request node work in general?" = KNOWLEDGE = assistant
79
+ - "Is this set up correctly?" / "What's wrong with this?" = DIAGNOSIS = assistant
80
+
81
+ ACTION vs KNOWLEDGE:
82
+ - "Why is this node failing?" = ERROR DEBUG = assistant (needs SDK troubleshooting)
83
+ - "How do I set up OAuth?" = CREDENTIAL HELP = assistant (SDK has credential documentation)
84
+ - "Set up OAuth on this node" = ACTION REQUEST = builder (user wants you to configure, not explain)
85
+ - "Now set them up for this workflow" = ACTION REQUEST = builder (imperative tone = action, not question)
86
+ - "Use [ServiceB] instead of [ServiceA]" = REPLACEMENT = discovery (new node type needed)
87
+ - "Change the [ServiceA] API key" = CONFIGURATION = builder (same node, different value)
88
+
89
+ MIXED INTENT (question + action in same message):
90
+ - "What are Slack credentials? Set them up" = ACTION (builder) — responder will explain credentials in summary
91
+ - "How does OAuth work? Add it to this node" = ACTION (discovery/builder) — responder covers the explanation
92
+ - "Explain webhooks and add one" = ACTION (discovery) — responder addresses the explanation part
93
+ - When in doubt between assistant and action, prefer action — the responder can always explain
94
+
95
+ COMMON PATTERNS:
96
+ - Polite wrappers: "Help me set up X" / "Can you configure this?" / "Could you add a node?" = ACTION = discovery or builder (not assistant)
97
+ - Complaints: "This doesn't work" / "It's broken" / "Something went wrong" = DIAGNOSIS = assistant
98
+ - Implicit actions: "The timeout should be higher" / "This node needs OAuth" = ACTION = builder (implicit "change it")
99
+ - Statements of need: "I need to send emails when X happens" = NEW WORKFLOW = discovery`;
100
+ const KEY_DISTINCTION_WITHOUT_ASSISTANT = `- "What does this workflow do?" = EXPLANATION = responder (generates explanation from current workflow context)
101
+ - "Use [ServiceB] instead of [ServiceA]" = REPLACEMENT = discovery (new node type needed)
102
+ - "Change the [ServiceA] API key" = CONFIGURATION = builder (same node, different value)
103
+ - Polite wrappers: "Help me set up X" / "Can you configure this?" = ACTION = discovery or builder
104
+ - Implicit actions: "The timeout should be higher" = ACTION = builder (implicit "change it")`;
34
105
  const DEICTIC_RESOLUTION = (0, deictic_resolution_1.buildDeicticResolutionPrompt)({
35
106
  conversationContext: '(e.g., a proposed change, an approach, an error, a feature), use that referent.\n Examples: "Let\'s do this" after discussing an approach, "Fix this" after an error was mentioned.',
36
107
  selectedNodes: [
@@ -76,12 +147,13 @@ const DEICTIC_RESOLUTION = (0, deictic_resolution_1.buildDeicticResolutionPrompt
76
147
  const OUTPUT_FORMAT = `- reasoning: One sentence explaining your routing decision
77
148
  - next: Agent name`;
78
149
  const INSTRUCTION = 'Given the conversation above, which agent should act next? Provide your reasoning and selection.';
79
- function buildSupervisorPrompt() {
150
+ function buildSupervisorPrompt(options) {
151
+ const hasAssistant = options?.mergeAskBuild === true;
80
152
  return (0, builder_1.prompt)()
81
153
  .section('role', SUPERVISOR_ROLE)
82
- .section('available_agents', AVAILABLE_AGENTS)
83
- .section('routing_decision_tree', ROUTING_DECISION_TREE)
84
- .section('key_distinction', KEY_DISTINCTION)
154
+ .section('available_agents', hasAssistant ? AVAILABLE_AGENTS_WITH_ASSISTANT : AVAILABLE_AGENTS_WITHOUT_ASSISTANT)
155
+ .section('routing_decision_tree', hasAssistant ? ROUTING_DECISION_TREE_WITH_ASSISTANT : ROUTING_DECISION_TREE_WITHOUT_ASSISTANT)
156
+ .section('key_distinction', hasAssistant ? KEY_DISTINCTION_WITH_ASSISTANT : KEY_DISTINCTION_WITHOUT_ASSISTANT)
85
157
  .section('deictic_resolution', DEICTIC_RESOLUTION)
86
158
  .section('output', OUTPUT_FORMAT)
87
159
  .section('instruction', INSTRUCTION)
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/supervisor.prompt.ts"],"names":[],"mappings":";;AA8FA,sDAUC;AAjGD,wCAAoC;AACpC,qEAA4E;AAE5E,MAAM,eAAe,GAAG,sEAAsE,CAAC;AAE/F,MAAM,gBAAgB,GAAG;;6DAEoC,CAAC;AAE9D,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;4FAqB8D,CAAC;AAG7F,MAAM,eAAe,GAAG;yFACiE,CAAC;AAG1F,MAAM,kBAAkB,GAAG,IAAA,iDAA4B,EAAC;IACvD,mBAAmB,EAClB,uLAAuL;IACxL,aAAa,EAAE;QACd,sDAAsD;QACtD,mDAAmD;QACnD,2DAA2D;QAC3D,mDAAmD;KACnD;IACD,oBAAoB,EAAE;QACrB,2EAA2E;QAC3E,yEAAyE;QACzE,gDAAgD;KAChD;IACD,oBAAoB,EAAE;QACrB,uEAAuE;QACvE,2DAA2D;QAC3D,yDAAyD;KACzD;IACD,wBAAwB,EAAE;QACzB,oDAAoD;QACpD,gEAAgE;KAChE;IACD,cAAc,EAAE;QACf,sEAAsE;QACtE,yDAAyD;KACzD;IACD,gBAAgB,EAAE;QACjB,iDAAiD;QACjD,mDAAmD;QACnD,oEAAoE;KACpE;IACD,qBAAqB,EAAE;QACtB,0EAA0E;QAC1E,gEAAgE;QAChE,6EAA6E;KAC7E;IACD,wBAAwB,EAAE;QACzB,wEAAwE;QACxE,oEAAoE;QACpE,4EAA4E;KAC5E;CACD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG;mBACH,CAAC;AAEpB,MAAM,WAAW,GAChB,kGAAkG,CAAC;AAEpG,SAAgB,qBAAqB;IACpC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;SAChC,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACvD,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SACjD,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;SAChC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC;SACnC,KAAK,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"supervisor.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/supervisor.prompt.ts"],"names":[],"mappings":";;AAwKA,sDAqBC;AAtLD,wCAAoC;AACpC,qEAA4E;AAE5E,MAAM,eAAe,GAAG,sEAAsE,CAAC;AAE/F,MAAM,+BAA+B,GAAG;;;6DAGqB,CAAC;AAE9D,MAAM,kCAAkC,GAAG;;6DAEkB,CAAC;AAE9D,MAAM,oCAAoC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4FAqC+C,CAAC;AAE7F,MAAM,uCAAuC,GAAG;;;;;;;;;;;;;;;;;;;;;4FAqB4C,CAAC;AAG7F,MAAM,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;wFAyBiD,CAAC;AAEzF,MAAM,iCAAiC,GAAG;;;;6FAImD,CAAC;AAG9F,MAAM,kBAAkB,GAAG,IAAA,iDAA4B,EAAC;IACvD,mBAAmB,EAClB,uLAAuL;IACxL,aAAa,EAAE;QACd,sDAAsD;QACtD,mDAAmD;QACnD,2DAA2D;QAC3D,mDAAmD;KACnD;IACD,oBAAoB,EAAE;QACrB,2EAA2E;QAC3E,yEAAyE;QACzE,gDAAgD;KAChD;IACD,oBAAoB,EAAE;QACrB,uEAAuE;QACvE,2DAA2D;QAC3D,yDAAyD;KACzD;IACD,wBAAwB,EAAE;QACzB,oDAAoD;QACpD,gEAAgE;KAChE;IACD,cAAc,EAAE;QACf,sEAAsE;QACtE,yDAAyD;KACzD;IACD,gBAAgB,EAAE;QACjB,iDAAiD;QACjD,mDAAmD;QACnD,oEAAoE;KACpE;IACD,qBAAqB,EAAE;QACtB,0EAA0E;QAC1E,gEAAgE;QAChE,6EAA6E;KAC7E;IACD,wBAAwB,EAAE;QACzB,wEAAwE;QACxE,oEAAoE;QACpE,4EAA4E;KAC5E;CACD,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG;mBACH,CAAC;AAEpB,MAAM,WAAW,GAChB,kGAAkG,CAAC;AAEpG,SAAgB,qBAAqB,CAAC,OAAqC;IAC1E,MAAM,YAAY,GAAG,OAAO,EAAE,aAAa,KAAK,IAAI,CAAC;IAErD,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;SAChC,OAAO,CACP,kBAAkB,EAClB,YAAY,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,CAAC,kCAAkC,CACnF;SACA,OAAO,CACP,uBAAuB,EACvB,YAAY,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,uCAAuC,CAC7F;SACA,OAAO,CACP,iBAAiB,EACjB,YAAY,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,iCAAiC,CACjF;SACA,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SACjD,OAAO,CAAC,QAAQ,EAAE,aAAa,CAAC;SAChC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC;SACnC,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -2,15 +2,18 @@ import { MemorySaver } from '@langchain/langgraph';
2
2
  import { Logger } from '@n8n/backend-common';
3
3
  import type { INodeTypeDescription } from 'n8n-workflow';
4
4
  import type { HITLHistoryEntry, HITLInterruptValue } from './types/planning';
5
- import { Session } from './types/sessions';
5
+ import { ISessionStorage } from './types/session-storage';
6
+ import { LangchainMessage, Session } from './types/sessions';
6
7
  export declare class SessionManagerService {
8
+ private readonly storage?;
7
9
  private readonly logger?;
8
10
  private checkpointer;
9
11
  private nodeTypes;
10
12
  private static readonly HITL_TTL_MS;
11
13
  private pendingHitlByThreadId;
12
14
  private hitlHistoryByThreadId;
13
- constructor(parsedNodeTypes: INodeTypeDescription[], logger?: Logger | undefined);
15
+ constructor(parsedNodeTypes: INodeTypeDescription[], storage?: ISessionStorage | undefined, logger?: Logger | undefined);
16
+ get usesPersistence(): boolean;
14
17
  updateNodeTypes(nodeTypes: INodeTypeDescription[]): void;
15
18
  static generateThreadId(workflowId?: string, userId?: string, agentType?: 'code-builder'): string;
16
19
  getCheckpointer(): MemorySaver;
@@ -28,9 +31,15 @@ export declare class SessionManagerService {
28
31
  private hitlEntryToMessages;
29
32
  private findInsertPosition;
30
33
  private evictExpiredHitl;
34
+ loadSessionMessages(threadId: string): Promise<LangchainMessage[]>;
35
+ saveSessionFromCheckpointer(threadId: string, previousSummary?: string): Promise<void>;
36
+ getPreviousSummary(threadId: string): Promise<string | undefined>;
37
+ clearSession(threadId: string): Promise<void>;
38
+ clearAllSessions(workflowId: string, userId: string): Promise<void>;
31
39
  getSessions(workflowId: string | undefined, userId: string | undefined, agentType?: 'code-builder'): Promise<{
32
40
  sessions: Session[];
33
41
  }>;
42
+ private loadMessagesForTruncation;
34
43
  truncateMessagesAfter(workflowId: string, userId: string | undefined, messageId: string, agentType?: 'code-builder'): Promise<boolean>;
35
44
  private resetCodeBuilderSession;
36
45
  }