@n8n/ai-workflow-builder 1.0.2 → 1.1.1

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 (238) hide show
  1. package/dist/agents/responder.agent.d.ts +1 -0
  2. package/dist/agents/responder.agent.js +9 -33
  3. package/dist/agents/responder.agent.js.map +1 -1
  4. package/dist/agents/supervisor.agent.d.ts +1 -0
  5. package/dist/agents/supervisor.agent.js +7 -38
  6. package/dist/agents/supervisor.agent.js.map +1 -1
  7. package/dist/ai-workflow-builder-agent.service.d.ts +2 -1
  8. package/dist/ai-workflow-builder-agent.service.js +18 -12
  9. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  10. package/dist/build.tsbuildinfo +1 -1
  11. package/dist/chains/conversation-compact.js +2 -13
  12. package/dist/chains/conversation-compact.js.map +1 -1
  13. package/dist/chains/parameter-updater.js +21 -7
  14. package/dist/chains/parameter-updater.js.map +1 -1
  15. package/dist/chains/prompt-categorization.js +3 -81
  16. package/dist/chains/prompt-categorization.js.map +1 -1
  17. package/dist/chains/workflow-name.js +2 -10
  18. package/dist/chains/workflow-name.js.map +1 -1
  19. package/dist/constants.d.ts +2 -0
  20. package/dist/constants.js +3 -1
  21. package/dist/constants.js.map +1 -1
  22. package/dist/multi-agent-workflow-subgraphs.d.ts +38 -1
  23. package/dist/multi-agent-workflow-subgraphs.js +34 -2
  24. package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
  25. package/dist/parent-graph-state.d.ts +4 -0
  26. package/dist/parent-graph-state.js +14 -1
  27. package/dist/parent-graph-state.js.map +1 -1
  28. package/dist/prompts/agents/builder.prompt.d.ts +1 -0
  29. package/dist/prompts/agents/builder.prompt.js +242 -0
  30. package/dist/prompts/agents/builder.prompt.js.map +1 -0
  31. package/dist/prompts/agents/configurator.prompt.d.ts +2 -0
  32. package/dist/prompts/agents/configurator.prompt.js +125 -0
  33. package/dist/prompts/agents/configurator.prompt.js.map +1 -0
  34. package/dist/prompts/agents/discovery.prompt.d.ts +11 -0
  35. package/dist/prompts/agents/discovery.prompt.js +259 -0
  36. package/dist/prompts/agents/discovery.prompt.js.map +1 -0
  37. package/dist/prompts/agents/responder.prompt.d.ts +1 -0
  38. package/dist/prompts/agents/responder.prompt.js +41 -0
  39. package/dist/prompts/agents/responder.prompt.js.map +1 -0
  40. package/dist/prompts/agents/supervisor.prompt.d.ts +1 -0
  41. package/dist/prompts/agents/supervisor.prompt.js +43 -0
  42. package/dist/prompts/agents/supervisor.prompt.js.map +1 -0
  43. package/dist/prompts/builder/index.d.ts +2 -0
  44. package/dist/prompts/builder/index.js +7 -0
  45. package/dist/prompts/builder/index.js.map +1 -0
  46. package/dist/prompts/builder/prompt-builder.d.ts +17 -0
  47. package/dist/prompts/builder/prompt-builder.js +147 -0
  48. package/dist/prompts/builder/prompt-builder.js.map +1 -0
  49. package/dist/prompts/builder/types.d.ts +22 -0
  50. package/dist/prompts/builder/types.js +3 -0
  51. package/dist/prompts/builder/types.js.map +1 -0
  52. package/dist/prompts/chains/categorization.prompt.d.ts +43 -0
  53. package/dist/prompts/chains/categorization.prompt.js +86 -0
  54. package/dist/prompts/chains/categorization.prompt.js.map +1 -0
  55. package/dist/prompts/chains/compact.prompt.d.ts +2 -0
  56. package/dist/prompts/chains/compact.prompt.js +16 -0
  57. package/dist/prompts/chains/compact.prompt.js.map +1 -0
  58. package/dist/prompts/chains/parameter-updater/examples/if-node.d.ts +2 -0
  59. package/dist/{chains/prompts/examples/basic/if-node-examples.js → prompts/chains/parameter-updater/examples/if-node.js} +6 -3
  60. package/dist/prompts/chains/parameter-updater/examples/if-node.js.map +1 -0
  61. package/dist/prompts/chains/parameter-updater/examples/index.d.ts +6 -0
  62. package/dist/prompts/chains/parameter-updater/examples/index.js +16 -0
  63. package/dist/prompts/chains/parameter-updater/examples/index.js.map +1 -0
  64. package/dist/prompts/chains/parameter-updater/examples/resource-locator.d.ts +2 -0
  65. package/dist/{chains/prompts/examples/advanced/resource-locator-examples.js → prompts/chains/parameter-updater/examples/resource-locator.js} +7 -3
  66. package/dist/prompts/chains/parameter-updater/examples/resource-locator.js.map +1 -0
  67. package/dist/prompts/chains/parameter-updater/examples/set-node.d.ts +2 -0
  68. package/dist/{chains/prompts/examples/basic/set-node-examples.js → prompts/chains/parameter-updater/examples/set-node.js} +6 -3
  69. package/dist/prompts/chains/parameter-updater/examples/set-node.js.map +1 -0
  70. package/dist/prompts/chains/parameter-updater/examples/simple-updates.d.ts +2 -0
  71. package/dist/{chains/prompts/examples/basic → prompts/chains/parameter-updater/examples}/simple-updates.js +8 -5
  72. package/dist/prompts/chains/parameter-updater/examples/simple-updates.js.map +1 -0
  73. package/dist/prompts/chains/parameter-updater/examples/switch-node.d.ts +2 -0
  74. package/dist/prompts/chains/parameter-updater/examples/switch-node.js +131 -0
  75. package/dist/prompts/chains/parameter-updater/examples/switch-node.js.map +1 -0
  76. package/dist/prompts/chains/parameter-updater/examples/tool-nodes.d.ts +2 -0
  77. package/dist/{chains/prompts/examples/advanced/tool-node-examples.js → prompts/chains/parameter-updater/examples/tool-nodes.js} +6 -3
  78. package/dist/prompts/chains/parameter-updater/examples/tool-nodes.js.map +1 -0
  79. package/dist/prompts/chains/parameter-updater/guides/gmail.d.ts +2 -0
  80. package/dist/prompts/chains/parameter-updater/guides/gmail.js +28 -0
  81. package/dist/prompts/chains/parameter-updater/guides/gmail.js.map +1 -0
  82. package/dist/prompts/chains/parameter-updater/guides/http-request.d.ts +2 -0
  83. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/http-request.js +34 -8
  84. package/dist/prompts/chains/parameter-updater/guides/http-request.js.map +1 -0
  85. package/dist/prompts/chains/parameter-updater/guides/if-node.d.ts +2 -0
  86. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/if-node.js +6 -5
  87. package/dist/prompts/chains/parameter-updater/guides/if-node.js.map +1 -0
  88. package/dist/prompts/chains/parameter-updater/guides/index.d.ts +9 -0
  89. package/dist/prompts/chains/parameter-updater/guides/index.js +22 -0
  90. package/dist/prompts/chains/parameter-updater/guides/index.js.map +1 -0
  91. package/dist/prompts/chains/parameter-updater/guides/resource-locator.d.ts +2 -0
  92. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/resource-locator.js +6 -2
  93. package/dist/prompts/chains/parameter-updater/guides/resource-locator.js.map +1 -0
  94. package/dist/prompts/chains/parameter-updater/guides/set-node.d.ts +2 -0
  95. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/set-node.js +5 -2
  96. package/dist/prompts/chains/parameter-updater/guides/set-node.js.map +1 -0
  97. package/dist/prompts/chains/parameter-updater/guides/switch-node.d.ts +2 -0
  98. package/dist/prompts/chains/parameter-updater/guides/switch-node.js +75 -0
  99. package/dist/prompts/chains/parameter-updater/guides/switch-node.js.map +1 -0
  100. package/dist/prompts/chains/parameter-updater/guides/system-message.d.ts +2 -0
  101. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/system-message.js +25 -4
  102. package/dist/prompts/chains/parameter-updater/guides/system-message.js.map +1 -0
  103. package/dist/prompts/chains/parameter-updater/guides/text-fields.d.ts +2 -0
  104. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/text-fields.js +11 -2
  105. package/dist/prompts/chains/parameter-updater/guides/text-fields.js.map +1 -0
  106. package/dist/prompts/chains/parameter-updater/guides/tool-nodes.d.ts +2 -0
  107. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/tool-nodes.js +5 -2
  108. package/dist/prompts/chains/parameter-updater/guides/tool-nodes.js.map +1 -0
  109. package/dist/prompts/chains/parameter-updater/index.d.ts +8 -0
  110. package/dist/prompts/chains/parameter-updater/index.js +35 -0
  111. package/dist/prompts/chains/parameter-updater/index.js.map +1 -0
  112. package/dist/prompts/chains/parameter-updater/instance-url.d.ts +1 -0
  113. package/dist/{chains/prompts → prompts/chains/parameter-updater}/instance-url.js +5 -6
  114. package/dist/prompts/chains/parameter-updater/instance-url.js.map +1 -0
  115. package/dist/{chains/prompts/base/core-instructions.d.ts → prompts/chains/parameter-updater/parameter-updater.prompt.d.ts} +3 -0
  116. package/dist/{chains/prompts/base/core-instructions.js → prompts/chains/parameter-updater/parameter-updater.prompt.js} +25 -2
  117. package/dist/prompts/chains/parameter-updater/parameter-updater.prompt.js.map +1 -0
  118. package/dist/prompts/chains/parameter-updater/registry.d.ts +4 -0
  119. package/dist/prompts/chains/parameter-updater/registry.js +65 -0
  120. package/dist/prompts/chains/parameter-updater/registry.js.map +1 -0
  121. package/dist/prompts/chains/parameter-updater/types.d.ts +18 -0
  122. package/dist/prompts/chains/parameter-updater/types.js +3 -0
  123. package/dist/prompts/chains/parameter-updater/types.js.map +1 -0
  124. package/dist/prompts/chains/parameter-updater/utils.d.ts +2 -0
  125. package/dist/prompts/chains/parameter-updater/utils.js +16 -0
  126. package/dist/prompts/chains/parameter-updater/utils.js.map +1 -0
  127. package/dist/prompts/chains/workflow-name.prompt.d.ts +2 -0
  128. package/dist/prompts/chains/workflow-name.prompt.js +11 -0
  129. package/dist/prompts/chains/workflow-name.prompt.js.map +1 -0
  130. package/dist/prompts/index.d.ts +12 -0
  131. package/dist/prompts/index.js +50 -0
  132. package/dist/prompts/index.js.map +1 -0
  133. package/dist/{tools/prompts/main-agent.prompt.js → prompts/legacy-agent.prompt.js} +14 -31
  134. package/dist/prompts/legacy-agent.prompt.js.map +1 -0
  135. package/dist/subgraphs/builder.subgraph.d.ts +2 -0
  136. package/dist/subgraphs/builder.subgraph.js +2 -163
  137. package/dist/subgraphs/builder.subgraph.js.map +1 -1
  138. package/dist/subgraphs/configurator.subgraph.d.ts +2 -0
  139. package/dist/subgraphs/configurator.subgraph.js +3 -84
  140. package/dist/subgraphs/configurator.subgraph.js.map +1 -1
  141. package/dist/subgraphs/discovery.subgraph.d.ts +18 -0
  142. package/dist/subgraphs/discovery.subgraph.js +28 -220
  143. package/dist/subgraphs/discovery.subgraph.js.map +1 -1
  144. package/dist/tools/add-node.tool.js +1 -1
  145. package/dist/tools/best-practices/chatbot.js +6 -7
  146. package/dist/tools/best-practices/chatbot.js.map +1 -1
  147. package/dist/tools/best-practices/content-generation.js +38 -2
  148. package/dist/tools/best-practices/content-generation.js.map +1 -1
  149. package/dist/tools/best-practices/data-transformation.js +17 -22
  150. package/dist/tools/best-practices/data-transformation.js.map +1 -1
  151. package/dist/tools/best-practices/index.js +2 -1
  152. package/dist/tools/best-practices/index.js.map +1 -1
  153. package/dist/types/config.d.ts +2 -0
  154. package/dist/types/coordination.d.ts +8 -2
  155. package/dist/types/coordination.js +4 -0
  156. package/dist/types/coordination.js.map +1 -1
  157. package/dist/types/discovery-types.d.ts +2 -0
  158. package/dist/utils/coordination-log.d.ts +2 -1
  159. package/dist/utils/coordination-log.js.map +1 -1
  160. package/dist/utils/state-modifier.d.ts +32 -0
  161. package/dist/utils/state-modifier.js +112 -0
  162. package/dist/utils/state-modifier.js.map +1 -0
  163. package/dist/utils/state-reducers.d.ts +4 -0
  164. package/dist/utils/state-reducers.js +25 -0
  165. package/dist/utils/state-reducers.js.map +1 -0
  166. package/dist/utils/stream-processor.js +2 -30
  167. package/dist/utils/stream-processor.js.map +1 -1
  168. package/dist/utils/subgraph-helpers.d.ts +3 -0
  169. package/dist/utils/subgraph-helpers.js +23 -0
  170. package/dist/utils/subgraph-helpers.js.map +1 -1
  171. package/dist/validation/checks/connections.js +9 -16
  172. package/dist/validation/checks/connections.js.map +1 -1
  173. package/dist/validation/checks/credentials.d.ts +3 -0
  174. package/dist/validation/checks/credentials.js +125 -0
  175. package/dist/validation/checks/credentials.js.map +1 -0
  176. package/dist/validation/checks/index.d.ts +1 -0
  177. package/dist/validation/checks/index.js +3 -1
  178. package/dist/validation/checks/index.js.map +1 -1
  179. package/dist/validation/checks/tools.js +0 -10
  180. package/dist/validation/checks/tools.js.map +1 -1
  181. package/dist/validation/programmatic.js +2 -0
  182. package/dist/validation/programmatic.js.map +1 -1
  183. package/dist/validation/types.d.ts +4 -1
  184. package/dist/validation/types.js +2 -0
  185. package/dist/validation/types.js.map +1 -1
  186. package/dist/validation/utils/node-type-map.d.ts +8 -0
  187. package/dist/validation/utils/node-type-map.js +50 -0
  188. package/dist/validation/utils/node-type-map.js.map +1 -0
  189. package/dist/workflow-builder-agent.d.ts +7 -3
  190. package/dist/workflow-builder-agent.js +24 -15
  191. package/dist/workflow-builder-agent.js.map +1 -1
  192. package/dist/workflow-state.js +3 -14
  193. package/dist/workflow-state.js.map +1 -1
  194. package/package.json +8 -7
  195. package/dist/chains/prompts/base/common-patterns.d.ts +0 -1
  196. package/dist/chains/prompts/base/common-patterns.js +0 -13
  197. package/dist/chains/prompts/base/common-patterns.js.map +0 -1
  198. package/dist/chains/prompts/base/core-instructions.js.map +0 -1
  199. package/dist/chains/prompts/base/expression-rules.d.ts +0 -1
  200. package/dist/chains/prompts/base/expression-rules.js +0 -15
  201. package/dist/chains/prompts/base/expression-rules.js.map +0 -1
  202. package/dist/chains/prompts/base/output-format.d.ts +0 -1
  203. package/dist/chains/prompts/base/output-format.js +0 -7
  204. package/dist/chains/prompts/base/output-format.js.map +0 -1
  205. package/dist/chains/prompts/examples/advanced/resource-locator-examples.d.ts +0 -1
  206. package/dist/chains/prompts/examples/advanced/resource-locator-examples.js.map +0 -1
  207. package/dist/chains/prompts/examples/advanced/tool-node-examples.d.ts +0 -1
  208. package/dist/chains/prompts/examples/advanced/tool-node-examples.js.map +0 -1
  209. package/dist/chains/prompts/examples/basic/if-node-examples.d.ts +0 -1
  210. package/dist/chains/prompts/examples/basic/if-node-examples.js.map +0 -1
  211. package/dist/chains/prompts/examples/basic/set-node-examples.d.ts +0 -1
  212. package/dist/chains/prompts/examples/basic/set-node-examples.js.map +0 -1
  213. package/dist/chains/prompts/examples/basic/simple-updates.d.ts +0 -1
  214. package/dist/chains/prompts/examples/basic/simple-updates.js.map +0 -1
  215. package/dist/chains/prompts/instance-url.d.ts +0 -1
  216. package/dist/chains/prompts/instance-url.js.map +0 -1
  217. package/dist/chains/prompts/node-types/http-request.d.ts +0 -1
  218. package/dist/chains/prompts/node-types/http-request.js.map +0 -1
  219. package/dist/chains/prompts/node-types/if-node.d.ts +0 -1
  220. package/dist/chains/prompts/node-types/if-node.js.map +0 -1
  221. package/dist/chains/prompts/node-types/set-node.d.ts +0 -1
  222. package/dist/chains/prompts/node-types/set-node.js.map +0 -1
  223. package/dist/chains/prompts/node-types/tool-nodes.d.ts +0 -1
  224. package/dist/chains/prompts/node-types/tool-nodes.js.map +0 -1
  225. package/dist/chains/prompts/parameter-types/resource-locator.d.ts +0 -1
  226. package/dist/chains/prompts/parameter-types/resource-locator.js.map +0 -1
  227. package/dist/chains/prompts/parameter-types/system-message.d.ts +0 -1
  228. package/dist/chains/prompts/parameter-types/system-message.js.map +0 -1
  229. package/dist/chains/prompts/parameter-types/text-fields.d.ts +0 -1
  230. package/dist/chains/prompts/parameter-types/text-fields.js.map +0 -1
  231. package/dist/chains/prompts/prompt-builder.d.ts +0 -15
  232. package/dist/chains/prompts/prompt-builder.js +0 -140
  233. package/dist/chains/prompts/prompt-builder.js.map +0 -1
  234. package/dist/chains/prompts/prompt-config.d.ts +0 -5
  235. package/dist/chains/prompts/prompt-config.js +0 -52
  236. package/dist/chains/prompts/prompt-config.js.map +0 -1
  237. package/dist/tools/prompts/main-agent.prompt.js.map +0 -1
  238. /package/dist/{tools/prompts/main-agent.prompt.d.ts → prompts/legacy-agent.prompt.d.ts} +0 -0
@@ -11,6 +11,7 @@ export interface ResponderContext {
11
11
  coordinationLog: CoordinationLogEntry[];
12
12
  discoveryContext?: DiscoveryContext | null;
13
13
  workflowJSON: SimpleWorkflow;
14
+ previousSummary?: string;
14
15
  }
15
16
  export declare class ResponderAgent {
16
17
  private llm;
@@ -3,46 +3,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ResponderAgent = void 0;
4
4
  const messages_1 = require("@langchain/core/messages");
5
5
  const prompts_1 = require("@langchain/core/prompts");
6
+ const responder_prompt_1 = require("../prompts/agents/responder.prompt");
6
7
  const coordination_log_1 = require("../utils/coordination-log");
7
- const RESPONDER_PROMPT = `You are a helpful AI assistant for n8n workflow automation.
8
-
9
- You have access to context about what has been built, including:
10
- - Discovery results (nodes found)
11
- - Builder output (workflow structure)
12
- - Configuration summary (setup instructions)
13
-
14
- FOR WORKFLOW COMPLETION RESPONSES:
15
- When you receive [Internal Context], synthesize a clean user-facing response:
16
- 1. Summarize what was built in a friendly way
17
- 2. Explain the workflow structure briefly
18
- 3. Include setup instructions if provided
19
- 4. Ask if user wants adjustments
20
-
21
- Example response structure:
22
- "I've created your [workflow type] workflow! Here's what it does:
23
- [Brief explanation of the flow]
24
-
25
- **Setup Required:**
26
- [List any configuration steps from the context]
27
-
28
- Let me know if you'd like to adjust anything."
29
-
30
- FOR QUESTIONS/CONVERSATIONS:
31
- - Be friendly and concise
32
- - Explain n8n capabilities when asked
33
- - Provide practical examples when helpful
34
-
35
- RESPONSE STYLE:
36
- - Keep responses focused and not overly long
37
- - Use markdown formatting for readability
38
- - Be conversational and helpful`;
39
8
  const systemPrompt = prompts_1.ChatPromptTemplate.fromMessages([
40
9
  [
41
10
  'system',
42
11
  [
43
12
  {
44
13
  type: 'text',
45
- text: RESPONDER_PROMPT,
14
+ text: (0, responder_prompt_1.buildResponderPrompt)(),
46
15
  cache_control: { type: 'ephemeral' },
47
16
  },
48
17
  ],
@@ -56,6 +25,13 @@ class ResponderAgent {
56
25
  }
57
26
  buildContextMessage(context) {
58
27
  const contextParts = [];
28
+ if (context.previousSummary) {
29
+ contextParts.push(`**Previous Conversation Summary:**\n${context.previousSummary}`);
30
+ }
31
+ const stateManagementEntry = context.coordinationLog.find((e) => e.phase === 'state_management');
32
+ if (stateManagementEntry) {
33
+ contextParts.push(`**State Management:** ${stateManagementEntry.summary}`);
34
+ }
59
35
  const errorEntry = (0, coordination_log_1.getErrorEntry)(context.coordinationLog);
60
36
  if (errorEntry) {
61
37
  contextParts.push(`**Error:** An error occurred in the ${errorEntry.phase} phase: ${errorEntry.summary}`);
@@ -1 +1 @@
1
- {"version":3,"file":"responder.agent.js","sourceRoot":"","sources":["../../src/agents/responder.agent.ts"],"names":[],"mappings":";;;AAEA,uDAAwD;AACxD,qDAA6D;AAK7D,gEAAmG;AAQnG,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA+BO,CAAC;AAEjC,MAAM,YAAY,GAAG,4BAAkB,CAAC,YAAY,CAAC;IACpD;QACC,QAAQ;QACR;YACC;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;SACD;KACD;IACD,CAAC,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC,CAAC;AA0BH,MAAa,cAAc;IAClB,GAAG,CAAgB;IAE3B,YAAY,MAA4B;QACvC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,CAAC;IAKO,mBAAmB,CAAC,OAAyB;QACpD,MAAM,YAAY,GAAa,EAAE,CAAC;QAGlC,MAAM,UAAU,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1D,IAAI,UAAU,EAAE,CAAC;YAChB,YAAY,CAAC,IAAI,CAChB,uCAAuC,UAAU,CAAC,KAAK,WAAW,UAAU,CAAC,OAAO,EAAE,CACtF,CAAC;YACF,YAAY,CAAC,IAAI,CAChB,mGAAmG,CACnG,CAAC;QACH,CAAC;QAGD,IAAI,OAAO,CAAC,gBAAgB,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;YACjD,YAAY,CAAC,IAAI,CAChB,wBAAwB,OAAO,CAAC,gBAAgB,CAAC,UAAU,CAAC,MAAM,iBAAiB,CACnF,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,IAAA,mCAAgB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChE,IAAI,aAAa,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAC;QACpD,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC9C,YAAY,CAAC,IAAI,CAAC,iBAAiB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;QACvF,CAAC;QAGD,MAAM,kBAAkB,GAAG,IAAA,wCAAqB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAC1E,IAAI,kBAAkB,EAAE,CAAC;YACxB,YAAY,CAAC,IAAI,CAAC,uBAAuB,kBAAkB,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,uBAAY,CAAC;YACvB,OAAO,EAAE,yDAAyD,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;SAC7F,CAAC,CAAC;IACJ,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,OAAyB;QACrC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1C,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,cAAc;YACpC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEpB,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAc,CAAC;IACxE,CAAC;CACD;AAnED,wCAmEC"}
1
+ {"version":3,"file":"responder.agent.js","sourceRoot":"","sources":["../../src/agents/responder.agent.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export interface SupervisorContext {
21
21
  messages: BaseMessage[];
22
22
  workflowJSON: SimpleWorkflow;
23
23
  coordinationLog: CoordinationLogEntry[];
24
+ previousSummary?: string;
24
25
  }
25
26
  export declare class SupervisorAgent {
26
27
  private llm;
@@ -4,52 +4,16 @@ exports.SupervisorAgent = exports.supervisorRoutingSchema = void 0;
4
4
  const messages_1 = require("@langchain/core/messages");
5
5
  const prompts_1 = require("@langchain/core/prompts");
6
6
  const zod_1 = require("zod");
7
+ const supervisor_prompt_1 = require("../prompts/agents/supervisor.prompt");
7
8
  const context_builders_1 = require("../utils/context-builders");
8
9
  const coordination_log_1 = require("../utils/coordination-log");
9
- const SUPERVISOR_PROMPT = `You are a Supervisor that routes user requests to specialist agents.
10
-
11
- AVAILABLE AGENTS:
12
- - discovery: Find n8n nodes for building/modifying workflows
13
- - builder: Create nodes and connections (requires discovery first for new node types)
14
- - configurator: Set parameters on EXISTING nodes (no structural changes)
15
- - responder: Answer questions, confirm completion (TERMINAL)
16
-
17
- ROUTING DECISION TREE:
18
-
19
- 1. Is user asking a question or chatting? → responder
20
- Examples: "what does this do?", "explain the workflow", "thanks"
21
-
22
- 2. Does the request involve NEW or DIFFERENT node types? → discovery
23
- Examples:
24
- - "Build a workflow that..." (new workflow)
25
- - "Use [ServiceB] instead of [ServiceA]" (replacing node type)
26
- - "Add [some integration]" (new integration)
27
- - "Switch from [ServiceA] to [ServiceB]" (swapping services)
28
-
29
- 3. Is the request about connecting/disconnecting existing nodes? → builder
30
- Examples: "Connect node A to node B", "Remove the connection to X"
31
-
32
- 4. Is the request about changing VALUES in existing nodes? → configurator
33
- Examples:
34
- - "Change the URL to https://..."
35
- - "Set the timeout to 30 seconds"
36
- - "Update the email subject to..."
37
-
38
- KEY DISTINCTION:
39
- - "Use [ServiceB] instead of [ServiceA]" = REPLACEMENT = discovery (new node type needed)
40
- - "Change the [ServiceA] API key" = CONFIGURATION = configurator (same node, different value)
41
-
42
- OUTPUT:
43
- - reasoning: One sentence explaining your routing decision
44
- - next: Agent name`;
45
10
  const systemPrompt = prompts_1.ChatPromptTemplate.fromMessages([
46
11
  [
47
12
  'system',
48
13
  [
49
14
  {
50
15
  type: 'text',
51
- text: SUPERVISOR_PROMPT +
52
- '\n\nGiven the conversation above, which agent should act next? Provide your reasoning and selection.',
16
+ text: (0, supervisor_prompt_1.buildSupervisorPrompt)(),
53
17
  cache_control: { type: 'ephemeral' },
54
18
  },
55
19
  ],
@@ -69,6 +33,11 @@ class SupervisorAgent {
69
33
  }
70
34
  buildContextMessage(context) {
71
35
  const contextParts = [];
36
+ if (context.previousSummary) {
37
+ contextParts.push('<previous_conversation_summary>');
38
+ contextParts.push(context.previousSummary);
39
+ contextParts.push('</previous_conversation_summary>');
40
+ }
72
41
  if (context.workflowJSON.nodes.length > 0) {
73
42
  contextParts.push('<workflow_summary>');
74
43
  contextParts.push((0, context_builders_1.buildWorkflowSummary)(context.workflowJSON));
@@ -1 +1 @@
1
- {"version":3,"file":"supervisor.agent.js","sourceRoot":"","sources":["../../src/agents/supervisor.agent.ts"],"names":[],"mappings":";;;AAEA,uDAAwD;AACxD,qDAA6D;AAC7D,6BAAwB;AAIxB,gEAAiE;AACjE,gEAAqE;AAQrE,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAmCP,CAAC;AAEpB,MAAM,YAAY,GAAG,4BAAkB,CAAC,YAAY,CAAC;IACpD;QACC,QAAQ;QACR;YACC;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EACH,iBAAiB;oBACjB,sGAAsG;gBACvG,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;SACD;KACD;IACD,CAAC,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC,CAAC;AAKU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACxF,IAAI,EAAE,OAAC;SACL,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;SAC3D,QAAQ,CAAC,wBAAwB,CAAC;CACpC,CAAC,CAAC;AA0BH,MAAa,eAAe;IACnB,GAAG,CAAgB;IAE3B,YAAY,MAA6B;QACxC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,CAAC;IAKO,mBAAmB,CAAC,OAA0B;QACrD,MAAM,YAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,IAAA,uCAAoB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9D,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QAGD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,IAAA,2CAAwB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,OAA0B;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAC9B,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,+BAAuB,EAAE;YACtD,IAAI,EAAE,kBAAkB;SACxB,CAAC,CACF,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,cAAc;YACpC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEpB,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACzD,CAAC;CACD;AAnDD,0CAmDC"}
1
+ {"version":3,"file":"supervisor.agent.js","sourceRoot":"","sources":["../../src/agents/supervisor.agent.ts"],"names":[],"mappings":";;;AAEA,uDAAwD;AACxD,qDAA6D;AAC7D,6BAAwB;AAExB,0EAA2E;AAI3E,gEAAiE;AACjE,gEAAqE;AAErE,MAAM,YAAY,GAAG,4BAAkB,CAAC,YAAY,CAAC;IACpD;QACC,QAAQ;QACR;YACC;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAA,yCAAqB,GAAE;gBAC7B,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;SACD;KACD;IACD,CAAC,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC,CAAC;AAKU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;IACxF,IAAI,EAAE,OAAC;SACL,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;SAC3D,QAAQ,CAAC,wBAAwB,CAAC;CACpC,CAAC,CAAC;AA4BH,MAAa,eAAe;IACnB,GAAG,CAAgB;IAE3B,YAAY,MAA6B;QACxC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;IACvB,CAAC;IAKO,mBAAmB,CAAC,OAA0B;QACrD,MAAM,YAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YACrD,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACvD,CAAC;QAGD,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,IAAA,uCAAoB,EAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YAC9D,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QAGD,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACxC,YAAY,CAAC,IAAI,CAAC,IAAA,2CAAwB,EAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;YACrE,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,OAAO,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACjE,CAAC;IAKD,KAAK,CAAC,MAAM,CAAC,OAA0B;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAC9B,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC,+BAAuB,EAAE;YACtD,IAAI,EAAE,kBAAkB;SACxB,CAAC,CACF,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACzD,MAAM,cAAc,GAAG,cAAc;YACpC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,QAAQ,EAAE,cAAc,CAAC;YACvC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEpB,OAAO,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IACzD,CAAC;CACD;AA1DD,0CA0DC"}
@@ -9,11 +9,12 @@ export declare class AiWorkflowBuilderService {
9
9
  private readonly logger?;
10
10
  private readonly instanceId?;
11
11
  private readonly instanceUrl?;
12
+ private readonly n8nVersion?;
12
13
  private readonly onCreditsUpdated?;
13
14
  private readonly onTelemetryEvent?;
14
15
  private readonly parsedNodeTypes;
15
16
  private sessionManager;
16
- constructor(parsedNodeTypes: INodeTypeDescription[], client?: AiAssistantClient | undefined, logger?: Logger | undefined, instanceId?: string | undefined, instanceUrl?: string | undefined, onCreditsUpdated?: OnCreditsUpdated | undefined, onTelemetryEvent?: OnTelemetryEvent | undefined);
17
+ constructor(parsedNodeTypes: INodeTypeDescription[], client?: AiAssistantClient | undefined, logger?: Logger | undefined, instanceId?: string | undefined, instanceUrl?: string | undefined, n8nVersion?: string | undefined, onCreditsUpdated?: OnCreditsUpdated | undefined, onTelemetryEvent?: OnTelemetryEvent | undefined);
17
18
  private static getAnthropicClaudeModel;
18
19
  private getApiProxyAuthHeaders;
19
20
  private setupModels;
@@ -30,15 +30,17 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
30
30
  logger;
31
31
  instanceId;
32
32
  instanceUrl;
33
+ n8nVersion;
33
34
  onCreditsUpdated;
34
35
  onTelemetryEvent;
35
36
  parsedNodeTypes;
36
37
  sessionManager;
37
- constructor(parsedNodeTypes, client, logger, instanceId, instanceUrl, onCreditsUpdated, onTelemetryEvent) {
38
+ constructor(parsedNodeTypes, client, logger, instanceId, instanceUrl, n8nVersion, onCreditsUpdated, onTelemetryEvent) {
38
39
  this.client = client;
39
40
  this.logger = logger;
40
41
  this.instanceId = instanceId;
41
42
  this.instanceUrl = instanceUrl;
43
+ this.n8nVersion = n8nVersion;
42
44
  this.onCreditsUpdated = onCreditsUpdated;
43
45
  this.onTelemetryEvent = onTelemetryEvent;
44
46
  this.parsedNodeTypes = this.filterNodeTypes(parsedNodeTypes);
@@ -54,18 +56,18 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
54
56
  },
55
57
  });
56
58
  }
57
- async getApiProxyAuthHeaders(user) {
59
+ async getApiProxyAuthHeaders(user, userMessageId) {
58
60
  (0, assert_1.default)(this.client);
59
- const authResponse = await this.client.getBuilderApiProxyToken(user);
61
+ const authResponse = await this.client.getBuilderApiProxyToken(user, { userMessageId });
60
62
  const authHeaders = {
61
63
  Authorization: `${authResponse.tokenType} ${authResponse.accessToken}`,
62
64
  };
63
65
  return authHeaders;
64
66
  }
65
- async setupModels(user) {
67
+ async setupModels(user, userMessageId) {
66
68
  try {
67
69
  if (this.client) {
68
- const authHeaders = await this.getApiProxyAuthHeaders(user);
70
+ const authHeaders = await this.getApiProxyAuthHeaders(user, userMessageId);
69
71
  const baseUrl = this.client.getApiProxyBaseUrl();
70
72
  const anthropicClaude = await AiWorkflowBuilderService_1.getAnthropicClaudeModel({
71
73
  baseUrl: baseUrl + '/anthropic',
@@ -122,14 +124,13 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
122
124
  };
123
125
  });
124
126
  }
125
- async getAgent(user) {
126
- const { anthropicClaude, tracingClient, authHeaders } = await this.setupModels(user);
127
+ async getAgent(user, userMessageId, featureFlags) {
128
+ const { anthropicClaude, tracingClient, authHeaders } = await this.setupModels(user, userMessageId);
127
129
  const agent = new workflow_builder_agent_1.WorkflowBuilderAgent({
128
130
  parsedNodeTypes: this.parsedNodeTypes,
129
131
  llmSimpleTask: anthropicClaude,
130
132
  llmComplexTask: anthropicClaude,
131
133
  logger: this.logger,
132
- enableMultiAgent: process.env.N8N_ENABLE_MULTI_AGENT === 'true',
133
134
  checkpointer: this.sessionManager.getCheckpointer(),
134
135
  tracer: tracingClient
135
136
  ? new tracer_langchain_1.LangChainTracer({ client: tracingClient, projectName: 'n8n-workflow-builder' })
@@ -138,6 +139,10 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
138
139
  onGenerationSuccess: async () => {
139
140
  await this.onGenerationSuccess(user, authHeaders);
140
141
  },
142
+ runMetadata: {
143
+ n8nVersion: this.n8nVersion,
144
+ featureFlags: featureFlags ?? {},
145
+ },
141
146
  });
142
147
  return agent;
143
148
  }
@@ -159,7 +164,7 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
159
164
  }
160
165
  }
161
166
  async *chat(payload, user, abortSignal) {
162
- const agent = await this.getAgent(user);
167
+ const agent = await this.getAgent(user, payload.id, payload.featureFlags);
163
168
  const userId = user?.id?.toString();
164
169
  const workflowId = payload.workflowContext?.currentWorkflow?.id;
165
170
  for await (const output of agent.chat(payload, userId, abortSignal)) {
@@ -167,14 +172,14 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
167
172
  }
168
173
  if (this.onTelemetryEvent && userId) {
169
174
  try {
170
- await this.trackBuilderReplyTelemetry(agent, workflowId, userId);
175
+ await this.trackBuilderReplyTelemetry(agent, workflowId, userId, payload.id);
171
176
  }
172
177
  catch (error) {
173
178
  this.logger?.error('Failed to track builder reply telemetry', { error });
174
179
  }
175
180
  }
176
181
  }
177
- async trackBuilderReplyTelemetry(agent, workflowId, userId) {
182
+ async trackBuilderReplyTelemetry(agent, workflowId, userId, userMessageId) {
178
183
  if (!this.onTelemetryEvent)
179
184
  return;
180
185
  const state = await agent.getState(workflowId, userId);
@@ -201,6 +206,7 @@ let AiWorkflowBuilderService = AiWorkflowBuilderService_1 = class AiWorkflowBuil
201
206
  ...(state.values.templateIds.length > 0 && {
202
207
  templates_selected: state.values.templateIds,
203
208
  }),
209
+ user_message_id: userMessageId,
204
210
  };
205
211
  this.onTelemetryEvent('Builder replied to user message', properties);
206
212
  }
@@ -222,6 +228,6 @@ exports.AiWorkflowBuilderService = AiWorkflowBuilderService;
222
228
  exports.AiWorkflowBuilderService = AiWorkflowBuilderService = AiWorkflowBuilderService_1 = __decorate([
223
229
  (0, di_1.Service)(),
224
230
  __metadata("design:paramtypes", [Array, ai_assistant_sdk_1.AiAssistantClient,
225
- backend_common_1.Logger, String, String, Function, Function])
231
+ backend_common_1.Logger, String, String, String, Function, Function])
226
232
  ], AiWorkflowBuilderService);
227
233
  //# sourceMappingURL=ai-workflow-builder-agent.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-workflow-builder-agent.service.js","sourceRoot":"","sources":["../src/ai-workflow-builder-agent.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ai-workflow-builder-agent.service.js","sourceRoot":"","sources":["../src/ai-workflow-builder-agent.service.ts"],"names":[],"mappings":"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"}