@n8n/ai-workflow-builder 1.1.2 → 1.2.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 (93) hide show
  1. package/dist/ai-workflow-builder-agent.service.d.ts +1 -0
  2. package/dist/ai-workflow-builder-agent.service.js +3 -0
  3. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/multi-agent-workflow-subgraphs.d.ts +4 -4
  6. package/dist/multi-agent-workflow-subgraphs.js +7 -1
  7. package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
  8. package/dist/parent-graph-state.d.ts +2 -2
  9. package/dist/parent-graph-state.js +3 -3
  10. package/dist/parent-graph-state.js.map +1 -1
  11. package/dist/prompts/agents/builder.prompt.js +88 -16
  12. package/dist/prompts/agents/builder.prompt.js.map +1 -1
  13. package/dist/prompts/agents/configurator.prompt.js +21 -3
  14. package/dist/prompts/agents/configurator.prompt.js.map +1 -1
  15. package/dist/prompts/agents/discovery.prompt.js +2 -1
  16. package/dist/prompts/agents/discovery.prompt.js.map +1 -1
  17. package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.d.ts +2 -0
  18. package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.js +70 -0
  19. package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.js.map +1 -0
  20. package/dist/prompts/chains/parameter-updater/guides/index.d.ts +1 -0
  21. package/dist/prompts/chains/parameter-updater/guides/index.js +3 -1
  22. package/dist/prompts/chains/parameter-updater/guides/index.js.map +1 -1
  23. package/dist/prompts/chains/parameter-updater/registry.js +1 -0
  24. package/dist/prompts/chains/parameter-updater/registry.js.map +1 -1
  25. package/dist/session-manager.service.d.ts +1 -0
  26. package/dist/session-manager.service.js +55 -4
  27. package/dist/session-manager.service.js.map +1 -1
  28. package/dist/subgraphs/builder.subgraph.d.ts +11 -1
  29. package/dist/subgraphs/builder.subgraph.js +13 -1
  30. package/dist/subgraphs/builder.subgraph.js.map +1 -1
  31. package/dist/subgraphs/configurator.subgraph.d.ts +11 -1
  32. package/dist/subgraphs/configurator.subgraph.js +13 -1
  33. package/dist/subgraphs/configurator.subgraph.js.map +1 -1
  34. package/dist/subgraphs/discovery.subgraph.d.ts +9 -9
  35. package/dist/subgraphs/discovery.subgraph.js +6 -8
  36. package/dist/subgraphs/discovery.subgraph.js.map +1 -1
  37. package/dist/tools/best-practices/data-extraction.js +11 -1
  38. package/dist/tools/best-practices/data-extraction.js.map +1 -1
  39. package/dist/tools/best-practices/document-processing.js +12 -1
  40. package/dist/tools/best-practices/document-processing.js.map +1 -1
  41. package/dist/tools/best-practices/scraping-and-research.js +10 -0
  42. package/dist/tools/best-practices/scraping-and-research.js.map +1 -1
  43. package/dist/tools/builder-tools.js +1 -1
  44. package/dist/tools/builder-tools.js.map +1 -1
  45. package/dist/tools/get-node-examples.tool.d.ts +119 -0
  46. package/dist/tools/get-node-examples.tool.js +189 -0
  47. package/dist/tools/get-node-examples.tool.js.map +1 -0
  48. package/dist/tools/get-workflow-examples.tool.js +8 -42
  49. package/dist/tools/get-workflow-examples.tool.js.map +1 -1
  50. package/dist/tools/node-details.tool.d.ts +2 -1
  51. package/dist/tools/node-details.tool.js +48 -18
  52. package/dist/tools/node-details.tool.js.map +1 -1
  53. package/dist/tools/utils/{markdown-workflow.utils.d.ts → mermaid.utils.d.ts} +0 -1
  54. package/dist/tools/utils/mermaid.utils.js +647 -0
  55. package/dist/tools/utils/mermaid.utils.js.map +1 -0
  56. package/dist/tools/utils/node-configuration.utils.d.ts +13 -0
  57. package/dist/tools/utils/node-configuration.utils.js +75 -0
  58. package/dist/tools/utils/node-configuration.utils.js.map +1 -0
  59. package/dist/tools/utils/test/workflows/ai-assistant.workflow.js +1 -0
  60. package/dist/tools/utils/test/workflows/ai-assistant.workflow.js.map +1 -1
  61. package/dist/tools/web/templates.d.ts +17 -1
  62. package/dist/tools/web/templates.js +35 -0
  63. package/dist/tools/web/templates.js.map +1 -1
  64. package/dist/types/discovery-types.d.ts +0 -2
  65. package/dist/types/tools.d.ts +6 -1
  66. package/dist/types/web/templates.d.ts +1 -0
  67. package/dist/utils/state-reducers.d.ts +2 -3
  68. package/dist/utils/state-reducers.js +10 -15
  69. package/dist/utils/state-reducers.js.map +1 -1
  70. package/dist/utils/stream-processor.js +10 -1
  71. package/dist/utils/stream-processor.js.map +1 -1
  72. package/dist/utils/subgraph-helpers.d.ts +2 -2
  73. package/dist/utils/subgraph-helpers.js +8 -9
  74. package/dist/utils/subgraph-helpers.js.map +1 -1
  75. package/dist/utils/tool-executor.js +4 -18
  76. package/dist/utils/tool-executor.js.map +1 -1
  77. package/dist/validation/checks/from-ai.js +3 -1
  78. package/dist/validation/checks/from-ai.js.map +1 -1
  79. package/dist/validation/checks/nodes.js +10 -2
  80. package/dist/validation/checks/nodes.js.map +1 -1
  81. package/dist/validation/checks/tools.js +3 -1
  82. package/dist/validation/checks/tools.js.map +1 -1
  83. package/dist/validation/checks/trigger.js +3 -1
  84. package/dist/validation/checks/trigger.js.map +1 -1
  85. package/dist/workflow-builder-agent.d.ts +1 -0
  86. package/dist/workflow-builder-agent.js +8 -1
  87. package/dist/workflow-builder-agent.js.map +1 -1
  88. package/dist/workflow-state.d.ts +2 -2
  89. package/dist/workflow-state.js +4 -4
  90. package/dist/workflow-state.js.map +1 -1
  91. package/package.json +5 -5
  92. package/dist/tools/utils/markdown-workflow.utils.js +0 -174
  93. package/dist/tools/utils/markdown-workflow.utils.js.map +0 -1
@@ -28,7 +28,7 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
28
28
  coordinationLog: import("./types/coordination").CoordinationLogEntry[];
29
29
  previousSummary: string;
30
30
  templateIds: number[];
31
- nodeConfigurations: import("./types").NodeConfigurationsMap;
31
+ cachedTemplates: import("./types").WorkflowMetadata[];
32
32
  }, {
33
33
  messages?: import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[] | undefined;
34
34
  workflowJSON?: import("./types").SimpleWorkflow | undefined;
@@ -44,7 +44,7 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
44
44
  coordinationLog?: import("./types/coordination").CoordinationLogEntry[] | undefined;
45
45
  previousSummary?: string | undefined;
46
46
  templateIds?: number[] | undefined;
47
- nodeConfigurations?: import("./types").NodeConfigurationsMap | undefined;
47
+ cachedTemplates?: import("./types").WorkflowMetadata[] | undefined;
48
48
  }, "responder" | "supervisor" | "create_workflow_name" | "configurator_subgraph" | "discovery_subgraph" | "builder_subgraph" | "delete_messages" | "compact_messages" | "process_operations" | "__start__" | "cleanup_dangling" | "check_state", {
49
49
  messages: import("@langchain/langgraph").BinaryOperatorAggregate<import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
50
50
  workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").SimpleWorkflow, import("./types").SimpleWorkflow>;
@@ -65,7 +65,7 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
65
65
  coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/coordination").CoordinationLogEntry[], import("./types/coordination").CoordinationLogEntry[]>;
66
66
  previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
67
67
  templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
68
- nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").NodeConfigurationsMap, import("./types").NodeConfigurationsMap>;
68
+ cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").WorkflowMetadata[], import("./types").WorkflowMetadata[]>;
69
69
  }, {
70
70
  messages: import("@langchain/langgraph").BinaryOperatorAggregate<import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
71
71
  workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").SimpleWorkflow, import("./types").SimpleWorkflow>;
@@ -86,7 +86,7 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
86
86
  coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/coordination").CoordinationLogEntry[], import("./types/coordination").CoordinationLogEntry[]>;
87
87
  previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
88
88
  templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
89
- nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").NodeConfigurationsMap, import("./types").NodeConfigurationsMap>;
89
+ cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").WorkflowMetadata[], import("./types").WorkflowMetadata[]>;
90
90
  }, import("@langchain/langgraph").StateDefinition, {
91
91
  supervisor: {
92
92
  nextPhase: "responder" | "discovery" | "builder" | "configurator";
@@ -72,12 +72,18 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
72
72
  logger,
73
73
  featureFlags,
74
74
  });
75
- const compiledBuilder = builderSubgraph.create({ parsedNodeTypes, llm: llmComplexTask, logger });
75
+ const compiledBuilder = builderSubgraph.create({
76
+ parsedNodeTypes,
77
+ llm: llmComplexTask,
78
+ logger,
79
+ featureFlags,
80
+ });
76
81
  const compiledConfigurator = configuratorSubgraph.create({
77
82
  parsedNodeTypes,
78
83
  llm: llmComplexTask,
79
84
  logger,
80
85
  instanceUrl,
86
+ featureFlags,
81
87
  });
82
88
  return (new langgraph_1.StateGraph(parent_graph_state_1.ParentGraphState)
83
89
  .addNode('supervisor', async (state) => {
@@ -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":";;AAsHA,sFAgLC;AArSD,uDAAwD;AACxD,oDAAgF;AAIhF,8DAA0D;AAC1D,gEAA4D;AAC5D,2CAKqB;AACrB,6DAAwD;AACxD,mEAA+D;AAC/D,6EAAyE;AACzE,uEAAmE;AAGnE,uDAA2D;AAC3D,+DAA+D;AAC/D,uEAAiE;AACjE,2DAMgC;AAOhC,SAAS,WAAW,CAAC,IAAY;IAChC,MAAM,WAAW,GAA2B;QAC3C,SAAS,EAAE,WAAW;QACtB,SAAS,EAAE,oBAAoB;QAC/B,OAAO,EAAE,kBAAkB;QAC3B,YAAY,EAAE,uBAAuB;KACrC,CAAC;IACF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,WAAW,CAAC;AACzC,CAAC;AAiBD,SAAS,yBAAyB,CAGjC,QAAmB,EACnB,aAA8C,EAC9C,IAAY,EACZ,MAAe,EACf,cAAuB;IAEvB,OAAO,KAAK,EAAE,KAAoC,EAAE,EAAE;QACrD,IAAI,CAAC;YACJ,MAAM,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7C,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,cAAc,EAAE,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAEvD,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,EAAE,KAAK,CAAC,IAAI,IAAI,UAAU,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAG3F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAkB,CAAC;YAI7D,OAAO;gBACN,SAAS,EAAE,WAAW;gBACtB,QAAQ,EAAE;oBACT,IAAI,uBAAY,CAAC;wBAChB,OAAO,EAAE,YAAY,IAAI,KAAK,YAAY,EAAE;wBAC5C,IAAI,EAAE,cAAc;qBACpB,CAAC;iBACF;gBACD,eAAe,EAAE;oBAChB;wBACC,KAAK;wBACL,MAAM,EAAE,OAAgB;wBACxB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;wBACrB,OAAO,EAAE,UAAU,YAAY,EAAE;wBACjC,QAAQ,EAAE,IAAA,kCAAmB,EAAC;4BAC7B,cAAc,EAAE,KAAK;4BACrB,YAAY;yBACZ,CAAC;qBACF;iBACD;aACD,CAAC;QACH,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAQD,SAAgB,qCAAqC,CAAC,MAAgC;IACrF,MAAM,EACL,eAAe,EACf,cAAc,EACd,MAAM,EACN,WAAW,EACX,YAAY,EACZ,0BAA0B,GAAG,iDAAqC,EAClE,YAAY,GACZ,GAAG,MAAM,CAAC;IAEX,MAAM,eAAe,GAAG,IAAI,kCAAe,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IACrE,MAAM,cAAc,GAAG,IAAI,gCAAc,CAAC,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;IAGnE,MAAM,iBAAiB,GAAG,IAAI,sCAAiB,EAAE,CAAC;IAClD,MAAM,eAAe,GAAG,IAAI,kCAAe,EAAE,CAAC;IAC9C,MAAM,oBAAoB,GAAG,IAAI,4CAAoB,EAAE,CAAC;IAGxD,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,MAAM,CAAC;QAClD,eAAe;QACf,GAAG,EAAE,cAAc;QACnB,MAAM;QACN,YAAY;KACZ,CAAC,CAAC;IACH,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC;QAC9C,eAAe;QACf,GAAG,EAAE,cAAc;QACnB,MAAM;QACN,YAAY;KACZ,CAAC,CAAC;IACH,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,MAAM,CAAC;QACxD,eAAe;QACf,GAAG,EAAE,cAAc;QACnB,MAAM;QACN,WAAW;QACX,YAAY;KACZ,CAAC,CAAC;IAGH,OAAO,CACN,IAAI,sBAAU,CAAC,qCAAgB,CAAC;SAE9B,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACtC,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;YAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe;SACtC,CAAC,CAAC;QAEH,OAAO;YACN,SAAS,EAAE,OAAO,CAAC,IAAI;SACvB,CAAC;IACH,CAAC,CAAC;SAED,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QACrC,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC;YAC5C,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,eAAe,EAAE,KAAK,CAAC,eAAe;SACtC,CAAC,CAAC;QAEH,OAAO;YACN,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACpB,CAAC;IACH,CAAC,CAAC;SAED,OAAO,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE;QAExC,MAAM,MAAM,GAAG,IAAA,wCAAiB,EAAC,KAAK,CAAC,CAAC;QAExC,OAAO;YACN,GAAG,MAAM;YACT,kBAAkB,EAAE,EAAE;SACtB,CAAC;IACH,CAAC,CAAC;SAED,OAAO,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,SAAS,EAAE,IAAA,qCAAoB,EAAC,KAAK,EAAE,0BAA0B,CAAC;KAClE,CAAC,CAAC;SACF,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,sCAAqB,EAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;SACrF,OAAO,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5C,MAAM,aAAa,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,OAAO,KAAK,UAAU,CAAC;QACxF,OAAO,MAAM,IAAA,sCAAqB,EACjC,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,eAAe,IAAI,EAAE,EAC3B,cAAc,EACd,aAAa,CACb,CAAC;IACH,CAAC,CAAC;SACD,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,qCAAoB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3E,OAAO,CACP,sBAAsB,EACtB,KAAK,EAAE,KAAK,EAAE,EAAE,CACf,MAAM,IAAA,yCAAwB,EAC7B,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,YAAY,EAClB,cAAc,EACd,MAAM,CACN,CACF;SAEA,OAAO,CACP,oBAAoB,EACpB,yBAAyB,CACxB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,EACN,oCAAwB,CACxB,CACD;SACA,OAAO,CACP,kBAAkB,EAClB,yBAAyB,CACxB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,MAAM,EACN,kCAAsB,CACtB,CACD;SACA,OAAO,CACP,uBAAuB,EACvB,yBAAyB,CACxB,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,MAAM,EACN,uCAA2B,CAC3B,CACD;SAEA,OAAO,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;SACnD,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;SACjD,OAAO,CAAC,uBAAuB,EAAE,oBAAoB,CAAC;SAEtD,OAAO,CAAC,iBAAK,EAAE,aAAa,CAAC;SAE7B,mBAAmB,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;QAC7C,MAAM,MAAM,GAA2B;YACtC,gBAAgB,EAAE,kBAAkB;YACpC,gBAAgB,EAAE,kBAAkB;YACpC,eAAe,EAAE,iBAAiB;YAClC,oBAAoB,EAAE,sBAAsB;YAC5C,qBAAqB,EAAE,kBAAkB;YACzC,QAAQ,EAAE,YAAY;SACtB,CAAC;QACF,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,YAAY,CAAC;IAChD,CAAC,CAAC;SAED,OAAO,CAAC,kBAAkB,EAAE,aAAa,CAAC;SAC1C,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC;SACvC,OAAO,CAAC,sBAAsB,EAAE,YAAY,CAAC;SAE7C,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE;QAGlD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,OAAO,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC;IAClD,CAAC,CAAC;SAED,mBAAmB,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;SAE1E,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,KAAK,EAAE,EAAE,CACpD,WAAW,CAAC,IAAA,sCAAmB,EAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CACvD;SAEA,OAAO,CAAC,WAAW,EAAE,eAAG,CAAC;SAEzB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC,CAC3B,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { BaseMessage } from '@langchain/core/messages';
2
2
  import type { CoordinationLogEntry } from './types/coordination';
3
3
  import type { DiscoveryContext } from './types/discovery-types';
4
- import type { NodeConfigurationsMap } from './types/tools';
4
+ import type { WorkflowMetadata } from './types/tools';
5
5
  import type { SimpleWorkflow, WorkflowOperation } from './types/workflow';
6
6
  export declare const ParentGraphState: import("@langchain/langgraph").AnnotationRoot<{
7
7
  messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
@@ -23,5 +23,5 @@ export declare const ParentGraphState: import("@langchain/langgraph").Annotation
23
23
  coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<CoordinationLogEntry[], CoordinationLogEntry[]>;
24
24
  previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
25
25
  templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
26
- nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<NodeConfigurationsMap, NodeConfigurationsMap>;
26
+ cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
27
27
  }>;
@@ -39,9 +39,9 @@ exports.ParentGraphState = langgraph_1.Annotation.Root({
39
39
  reducer: state_reducers_1.appendArrayReducer,
40
40
  default: () => [],
41
41
  }),
42
- nodeConfigurations: (0, langgraph_1.Annotation)({
43
- reducer: state_reducers_1.nodeConfigurationsReducer,
44
- default: () => ({}),
42
+ cachedTemplates: (0, langgraph_1.Annotation)({
43
+ reducer: state_reducers_1.cachedTemplatesReducer,
44
+ default: () => [],
45
45
  }),
46
46
  });
47
47
  //# 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":";;;AACA,oDAAwE;AAMxE,2DAAuF;AAS1E,QAAA,gBAAgB,GAAG,sBAAU,CAAC,IAAI,CAAC;IAE/C,QAAQ,EAAE,IAAA,sBAAU,EAAgB;QACnC,OAAO,EAAE,gCAAoB;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,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;IAGF,eAAe,EAAE,IAAA,sBAAU,EAA6C;QACvE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KACzB,CAAC;IAGF,SAAS,EAAE,IAAA,sBAAU,EAAS;QAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,gBAAgB,EAAE,IAAA,sBAAU,EAA0B;QACrD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAGF,kBAAkB,EAAE,IAAA,sBAAU,EAAsB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAyB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,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,EAAE;KACjB,CAAC;IAGF,WAAW,EAAE,IAAA,sBAAU,EAAW;QACjC,OAAO,EAAE,mCAAkB;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAIF,kBAAkB,EAAE,IAAA,sBAAU,EAAwB;QACrD,OAAO,EAAE,0CAAyB;QAClC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC;KACnB,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"parent-graph-state.js","sourceRoot":"","sources":["../src/parent-graph-state.ts"],"names":[],"mappings":";;;AACA,oDAAwE;AAMxE,2DAAoF;AASvE,QAAA,gBAAgB,GAAG,sBAAU,CAAC,IAAI,CAAC;IAE/C,QAAQ,EAAE,IAAA,sBAAU,EAAgB;QACnC,OAAO,EAAE,gCAAoB;QAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,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;IAGF,eAAe,EAAE,IAAA,sBAAU,EAA6C;QACvE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KACzB,CAAC;IAGF,SAAS,EAAE,IAAA,sBAAU,EAAS;QAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,gBAAgB,EAAE,IAAA,sBAAU,EAA0B;QACrD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAGF,kBAAkB,EAAE,IAAA,sBAAU,EAAsB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAyB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,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,EAAE;KACjB,CAAC;IAGF,WAAW,EAAE,IAAA,sBAAU,EAAW;QACjC,OAAO,EAAE,mCAAkB;QAC3B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAIF,eAAe,EAAE,IAAA,sBAAU,EAAqB;QAC/C,OAAO,EAAE,uCAAsB;QAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;CACF,CAAC,CAAC"}
@@ -76,16 +76,34 @@ const STRUCTURED_OUTPUT_PARSER = `WHEN TO SET hasOutputParser: true on AI Agent:
76
76
  - AI is classifying, scoring, or extracting specific data fields`;
77
77
  const AI_CONNECTIONS = `n8n connections flow from SOURCE (output) to TARGET (input).
78
78
 
79
- Regular data flow: Source node output → Target node input
80
- Example: HTTP Request → Set (HTTP Request is source, Set is target)
79
+ Regular "main" connections flow: Source → Target (data flows forward)
80
+ Example: HTTP Request → Set (HTTP outputs data, Set receives it)
81
81
 
82
- AI sub-nodes PROVIDE capabilities, making them the SOURCE:
82
+ AI CAPABILITY CONNECTIONS are REVERSED in direction:
83
+ Sub-nodes (tools, memory, models) connect TO the AI Agent, NOT from it.
84
+ The sub-node is the SOURCE, the AI Agent is the TARGET.
85
+
86
+ ⚠️ WRONG: AI Agent → Calculator Tool (NEVER do this)
87
+ ✅ CORRECT: Calculator Tool → AI Agent (tool provides capability to agent)
88
+
89
+ When calling connect_nodes for AI sub-nodes:
90
+ - sourceNodeName: The sub-node (tool, memory, model, parser)
91
+ - targetNodeName: The AI Agent (or Vector Store, Document Loader)
92
+ - connectionType: The appropriate ai_* type
93
+
94
+ AI Connection Examples (SOURCE → TARGET [connectionType]):
83
95
  - OpenAI Chat Model → AI Agent [ai_languageModel]
84
96
  - Calculator Tool → AI Agent [ai_tool]
97
+ - HTTP Request Tool → AI Agent [ai_tool]
85
98
  - Window Buffer Memory → AI Agent [ai_memory]
99
+ - Structured Output Parser → AI Agent [ai_outputParser]
86
100
  - Token Splitter → Default Data Loader [ai_textSplitter]
87
101
  - Default Data Loader → Vector Store [ai_document]
88
- - Embeddings OpenAI → Vector Store [ai_embedding]`;
102
+ - Embeddings OpenAI → Vector Store [ai_embedding]
103
+ - Vector Store (retrieve-as-tool mode) → AI Agent [ai_tool]
104
+
105
+ The AI Agent only has ONE "main" output for regular data flow.
106
+ All inputs to the AI Agent come FROM sub-nodes via ai_* connection types.`;
89
107
  const BRANCHING = `If two nodes (B and C) are both connected to the same output of a node (A), both will execute (with the same data). Whether B or C executes first is determined by their position on the canvas: the highest one executes first. Execution happens depth-first, i.e. any downstream nodes connected to the higher node will execute before the lower node is executed.
90
108
  Nodes that route the flow (e.g. if, switch) apply their conditions independently to each input item. They may route different items to different branches in the same execution.`;
91
109
  const MERGING = `If two nodes (A and B) are both connected to the same input of the following node (C), node C will execute TWICE — once with the items from A and once with the items from B. The same goes for any nodes connected to node C. These two executions are called runs and are independent of each other. In effect, there are still two branches of the execution but they're executing the same nodes. No merging of the data between them will occur.
@@ -182,30 +200,83 @@ Example connectionParameters for 3-way routing:
182
200
  ]
183
201
  }}
184
202
  }}`;
185
- const CONNECTION_TYPES = `**Main Connections** (regular data flow):
203
+ const NODE_CONNECTION_EXAMPLES = `<node_connection_examples>
204
+ When connecting nodes with non-standard output patterns, use get_node_connection_examples:
205
+
206
+ Call get_node_connection_examples when:
207
+ - Connecting Loop Over Items (splitInBatches) - has TWO outputs with specific meanings
208
+ - Connecting Switch nodes with multiple outputs
209
+ - Connecting IF nodes with true/false branches
210
+ - Any node where you're unsure about connection patterns
211
+
212
+ Usage:
213
+ - nodeType: "n8n-nodes-base.splitInBatches" (exact node type)
214
+ - Returns mermaid diagrams showing how the node is typically connected
215
+
216
+ CRITICAL for Loop Over Items (splitInBatches):
217
+ This node has TWO outputs that work differently from most nodes:
218
+ - Output 0 (first array element) = "Done" branch - connects to nodes that run AFTER all looping completes
219
+ - Output 1 (second array element) = "Loop" branch - connects to nodes that process each batch during the loop
220
+ This is COUNTERINTUITIVE - the loop processing is on output 1, NOT output 0.
221
+
222
+ When connecting splitInBatches, use sourceOutputIndex to specify which output:
223
+ - sourceOutputIndex: 0 → "Done" branch (post-loop processing, aggregation)
224
+ - sourceOutputIndex: 1 → "Loop" branch (batch processing during loop)
225
+
226
+ Example: Looping over items, processing each batch, then aggregating results:
227
+ - connect_nodes(source: "Loop Over Items", target: "Process Each Batch", sourceOutputIndex: 1) // Loop branch
228
+ - connect_nodes(source: "Loop Over Items", target: "Aggregate Results", sourceOutputIndex: 0) // Done branch
229
+ - connect_nodes(source: "Process Each Batch", target: "Loop Over Items") // Loop back for next batch
230
+ </node_connection_examples>`;
231
+ const CONNECTION_TYPES = `<connection_type_reference>
232
+ CONNECTION TYPES AND DIRECTIONS:
233
+
234
+ **Main Connections** (main) - Regular data flow, source outputs TO target:
186
235
  - Trigger → HTTP Request → Set → Email
236
+ - AI Agent → Email (AI Agent's main output goes to next node)
187
237
 
188
- **AI Language Model Connections** (ai_languageModel):
238
+ **AI Capability Connections** - Sub-nodes connect TO their parent node:
239
+ Remember: Sub-node is SOURCE, Parent is TARGET
240
+
241
+ ai_languageModel - Language model provides LLM capability:
189
242
  - OpenAI Chat Model → AI Agent
243
+ - Anthropic Chat Model → AI Agent
190
244
 
191
- **AI Tool Connections** (ai_tool):
245
+ ai_tool - Tool provides action capability:
192
246
  - Calculator Tool → AI Agent
193
- - AI Agent Tool → AI Agent (for multi-agent systems)
247
+ - HTTP Request Tool → AI Agent
248
+ - Code Tool → AI Agent
249
+ - AI Agent Tool → AI Agent (multi-agent systems)
194
250
 
195
- **AI Document Connections** (ai_document):
196
- - Document LoaderVector Store
251
+ ai_memory - Memory provides conversation history:
252
+ - Window Buffer Memory AI Agent
253
+ - Postgres Chat Memory → AI Agent
197
254
 
198
- **AI Embedding Connections** (ai_embedding):
255
+ ai_outputParser - Parser provides structured output capability:
256
+ - Structured Output Parser → AI Agent
257
+
258
+ ai_document - Document loader provides documents:
259
+ - Default Data Loader → Vector Store
260
+
261
+ ai_embedding - Embeddings provides vector generation:
199
262
  - OpenAI Embeddings → Vector Store
263
+ - Cohere Embeddings → Vector Store
200
264
 
201
- **AI Text Splitter Connections** (ai_textSplitter):
265
+ ai_textSplitter - Splitter provides chunking capability:
202
266
  - Token Text Splitter → Document Loader
267
+ - Recursive Character Text Splitter → Document Loader
203
268
 
204
- **AI Memory Connections** (ai_memory):
205
- - Window Buffer Memory → AI Agent
269
+ ai_vectorStore - Vector store provides retrieval (when used as tool):
270
+ - Vector Store (mode: retrieve-as-tool) → AI Agent [ai_tool]
206
271
 
207
- **AI Vector Store in retrieve-as-tool mode** (ai_tool):
208
- - Vector StoreAI Agent`;
272
+ COMMON MISTAKES TO AVOID:
273
+ AI AgentOpenAI Chat Model (WRONG - model provides TO agent)
274
+ ❌ AI Agent → Calculator Tool (WRONG - tool provides TO agent)
275
+ ❌ AI Agent → Window Buffer Memory (WRONG - memory provides TO agent)
276
+ ✅ OpenAI Chat Model → AI Agent (CORRECT)
277
+ ✅ Calculator Tool → AI Agent (CORRECT)
278
+ ✅ Window Buffer Memory → AI Agent (CORRECT)
279
+ </connection_type_reference>`;
209
280
  const RESTRICTIONS = `- Respond before calling validate_structure
210
281
  - Skip validation even if you think structure is correct
211
282
  - Add commentary between tool calls - execute tools silently
@@ -234,6 +305,7 @@ function buildBuilderPrompt() {
234
305
  .section('agent_node_distinction', AGENT_NODE_DISTINCTION)
235
306
  .section('rag_workflow_pattern', RAG_PATTERN)
236
307
  .section('switch_node_pattern', SWITCH_NODE_PATTERN)
308
+ .section('node_connection_examples', NODE_CONNECTION_EXAMPLES)
237
309
  .section('connection_type_examples', CONNECTION_TYPES)
238
310
  .section('do_not', RESTRICTIONS)
239
311
  .section('response_format', RESPONSE_FORMAT)
@@ -1 +1 @@
1
- {"version":3,"file":"builder.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/builder.prompt.ts"],"names":[],"mappings":";;AAmPA,gDAqBC;AAjQD,wCAAoC;AAEpC,MAAM,YAAY,GAAG,oEAAoE,CAAC;AAE1F,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;mEAoBwC,CAAC;AAEpE,MAAM,aAAa,GAAG;;;;oFAI8D,CAAC;AAErF,MAAM,oBAAoB,GAAG;;;;;;;mCAOM,CAAC;AAEpC,MAAM,YAAY,GAAG;;;;;;;;6EAQwD,CAAC;AAE9E,MAAM,gBAAgB,GAAG;;;;;;;kCAOS,CAAC;AAEnC,MAAM,aAAa,GAAG;;;;;;;mEAO6C,CAAC;AAEpE,MAAM,qBAAqB,GAAG;;;;;4NAK8L,CAAC;AAE7N,MAAM,wBAAwB,GAAG;;;;;iEAKgC,CAAC;AAGlE,MAAM,cAAc,GAAG;;;;;;;;;;;kDAW2B,CAAC;AAEnD,MAAM,SAAS,GAAG;iLAC+J,CAAC;AAElL,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BsB,CAAC;AAEvC,MAAM,sBAAsB,GAAG;;;;;;;;;;;mIAWoG,CAAC;AAEpI,MAAM,WAAW,GAAG;;;;;;;;;;;;2FAYuE,CAAC;AAE5F,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCzB,CAAC;AAEJ,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;0BAuBC,CAAC;AAE3B,MAAM,YAAY,GAAG;;;;;uEAKkD,CAAC;AAExE,MAAM,eAAe,GAAG;;;;yEAIiD,CAAC;AAE1E,SAAgB,kBAAkB;IACjC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;SAC7B,OAAO,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;SAC3D,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC;SACvC,OAAO,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;SAC5D,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC9C,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC/C,OAAO,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;SAChE,OAAO,CAAC,mCAAmC,EAAE,wBAAwB,CAAC;SACtE,OAAO,CAAC,gCAAgC,EAAE,cAAc,CAAC;SACzD,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;SAC/B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAC3B,OAAO,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACzD,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC5C,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACrD,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,KAAK,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"builder.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/builder.prompt.ts"],"names":[],"mappings":";;AA0TA,gDAsBC;AAzUD,wCAAoC;AAEpC,MAAM,YAAY,GAAG,oEAAoE,CAAC;AAE1F,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;mEAoBwC,CAAC;AAEpE,MAAM,aAAa,GAAG;;;;oFAI8D,CAAC;AAErF,MAAM,oBAAoB,GAAG;;;;;;;mCAOM,CAAC;AAEpC,MAAM,YAAY,GAAG;;;;;;;;6EAQwD,CAAC;AAE9E,MAAM,gBAAgB,GAAG;;;;;;;kCAOS,CAAC;AAEnC,MAAM,aAAa,GAAG;;;;;;;mEAO6C,CAAC;AAEpE,MAAM,qBAAqB,GAAG;;;;;4NAK8L,CAAC;AAE7N,MAAM,wBAAwB,GAAG;;;;;iEAKgC,CAAC;AAElE,MAAM,cAAc,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0EA6BmD,CAAC;AAE3E,MAAM,SAAS,GAAG;iLAC+J,CAAC;AAElL,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BsB,CAAC;AAEvC,MAAM,sBAAsB,GAAG;;;;;;;;;;;mIAWoG,CAAC;AAEpI,MAAM,WAAW,GAAG;;;;;;;;;;;;2FAYuE,CAAC;AAE5F,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCzB,CAAC;AAEJ,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA2BL,CAAC;AAE7B,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAgDI,CAAC;AAE9B,MAAM,YAAY,GAAG;;;;;uEAKkD,CAAC;AAExE,MAAM,eAAe,GAAG;;;;yEAIiD,CAAC;AAE1E,SAAgB,kBAAkB;IACjC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC;SAC7B,OAAO,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;SAC3D,OAAO,CAAC,eAAe,EAAE,aAAa,CAAC;SACvC,OAAO,CAAC,6BAA6B,EAAE,oBAAoB,CAAC;SAC5D,OAAO,CAAC,uBAAuB,EAAE,YAAY,CAAC;SAC9C,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,aAAa,CAAC;SAC/C,OAAO,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;SAChE,OAAO,CAAC,mCAAmC,EAAE,wBAAwB,CAAC;SACtE,OAAO,CAAC,gCAAgC,EAAE,cAAc,CAAC;SACzD,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC;SAC/B,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC;SAC3B,OAAO,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACzD,OAAO,CAAC,sBAAsB,EAAE,WAAW,CAAC;SAC5C,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;SAC7D,OAAO,CAAC,0BAA0B,EAAE,gBAAgB,CAAC;SACrD,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -6,18 +6,22 @@ const builder_1 = require("../builder");
6
6
  const CONFIGURATOR_ROLE = 'You are a Configurator Agent specialized in setting up n8n node parameters.';
7
7
  const EXECUTION_SEQUENCE = `You MUST follow these steps IN ORDER. Do not skip any step.
8
8
 
9
- STEP 1: CONFIGURE ALL NODES
9
+ STEP 1: RETRIEVE NODE EXAMPLES
10
+ - Call the get_node_configuration_examples tool for each node type being configured
11
+ - Use the examples to understand how these node types can be configured
12
+
13
+ STEP 2: CONFIGURE ALL NODES
10
14
  - Call update_node_parameters for EVERY node in the workflow
11
15
  - Configure multiple nodes in PARALLEL for efficiency
12
16
  - Do NOT respond with text - START CONFIGURING immediately
13
17
 
14
- STEP 2: VALIDATE (REQUIRED)
18
+ STEP 3: VALIDATE (REQUIRED)
15
19
  - After ALL configurations complete, call validate_configuration
16
20
  - This step is MANDATORY - you cannot finish without it
17
21
  - If validation finds issues, fix them and validate again
18
22
  - MAXIMUM 3 VALIDATION ATTEMPTS: After 3 calls to validate_configuration, proceed to respond regardless of remaining issues
19
23
 
20
- STEP 3: RESPOND TO USER
24
+ STEP 4: RESPOND TO USER
21
25
  - Only after validation passes, provide your response
22
26
 
23
27
  NEVER respond to the user without calling validate_configuration first`;
@@ -88,6 +92,19 @@ For numeric ranges (e.g., $100-$1000):
88
92
  - Second: lte (less than or equal)
89
93
 
90
94
  Always set renameOutput: true and provide descriptive outputKey labels.`;
95
+ const NODE_CONFIGURATION_EXAMPLES = `NODE CONFIGURATION EXAMPLES:
96
+ When configuring complex nodes, use get_node_configuration_examples to see real-world examples from community templates:
97
+
98
+ When to use:
99
+ - Before configuring nodes with complex parameters (HTTP Request, Code, IF, Switch)
100
+ - When you need to understand proper parameter structure for unfamiliar nodes
101
+ - When user requests a specific integration pattern
102
+
103
+ Usage:
104
+ - Call with nodeType: "n8n-nodes-base.httpRequest" (exact node type name)
105
+ - Optionally filter by nodeVersion if needed
106
+ - Examples show proven parameter configurations from community workflows
107
+ - Use as reference for proper parameter structure and values`;
91
108
  const RESPONSE_FORMAT = `After validation passes, provide a concise summary:
92
109
  - List any placeholders requiring user configuration (e.g., "URL placeholder needs actual endpoint")
93
110
  - Note which nodes were configured and key settings applied
@@ -118,6 +135,7 @@ function buildConfiguratorPrompt() {
118
135
  .section('critical_parameters', CRITICAL_PARAMETERS)
119
136
  .section('default_values_warning', DEFAULT_VALUES_WARNING)
120
137
  .section('switch_node_configuration', SWITCH_NODE_CONFIGURATION)
138
+ .section('node_configuration_examples', NODE_CONFIGURATION_EXAMPLES)
121
139
  .section('response_format', RESPONSE_FORMAT)
122
140
  .section('do_not', RESTRICTIONS)
123
141
  .build();
@@ -1 +1 @@
1
- {"version":3,"file":"configurator.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/configurator.prompt.ts"],"names":[],"mappings":";;;AA+HA,0DAcC;AAtID,wCAAoC;AAEpC,MAAM,iBAAiB,GACtB,6EAA6E,CAAC;AAE/E,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;uEAgB4C,CAAC;AAExE,MAAM,uBAAuB,GAAG;;iGAEiE,CAAC;AAElG,MAAM,uBAAuB,GAAG;;;;8CAIc,CAAC;AAE/C,MAAM,gBAAgB,GAAG;;;;;;;;;;;8DAWqC,CAAC;AAE/D,MAAM,qBAAqB,GAAG;;;;;;;;;+DASiC,CAAC;AAEhE,MAAM,mBAAmB,GAAG;;;;;;;uEAO2C,CAAC;AAExE,MAAM,sBAAsB,GAAG;;;+GAGgF,CAAC;AAEhH,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;wEAwBsC,CAAC;AAEzE,MAAM,eAAe,GAAG;;;8GAGsF,CAAC;AAE/G,MAAM,YAAY,GAAG;;6DAEwC,CAAC;AAGjD,QAAA,mBAAmB,GAAG;;;;;;;;;;;CAWlC,CAAC;AAEF,SAAgB,uBAAuB;IACtC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;SAClC,OAAO,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACvD,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACzD,OAAO,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;SAC/D,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,KAAK,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"configurator.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/configurator.prompt.ts"],"names":[],"mappings":";;;AAiJA,0DAeC;AAzJD,wCAAoC;AAEpC,MAAM,iBAAiB,GACtB,6EAA6E,CAAC;AAE/E,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;uEAoB4C,CAAC;AAExE,MAAM,uBAAuB,GAAG;;iGAEiE,CAAC;AAElG,MAAM,uBAAuB,GAAG;;;;8CAIc,CAAC;AAE/C,MAAM,gBAAgB,GAAG;;;;;;;;;;;8DAWqC,CAAC;AAE/D,MAAM,qBAAqB,GAAG;;;;;;;;;+DASiC,CAAC;AAEhE,MAAM,mBAAmB,GAAG;;;;;;;uEAO2C,CAAC;AAExE,MAAM,sBAAsB,GAAG;;;+GAGgF,CAAC;AAEhH,MAAM,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;wEAwBsC,CAAC;AAEzE,MAAM,2BAA2B,GAAG;;;;;;;;;;;;6DAYyB,CAAC;AAE9D,MAAM,eAAe,GAAG;;;8GAGsF,CAAC;AAE/G,MAAM,YAAY,GAAG;;6DAEwC,CAAC;AAGjD,QAAA,mBAAmB,GAAG;;;;;;;;;;;CAWlC,CAAC;AAEF,SAAgB,uBAAuB;IACtC,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,iBAAiB,CAAC;SAClC,OAAO,CAAC,8BAA8B,EAAE,kBAAkB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,yBAAyB,EAAE,uBAAuB,CAAC;SAC3D,OAAO,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAC7C,OAAO,CAAC,uBAAuB,EAAE,qBAAqB,CAAC;SACvD,OAAO,CAAC,qBAAqB,EAAE,mBAAmB,CAAC;SACnD,OAAO,CAAC,wBAAwB,EAAE,sBAAsB,CAAC;SACzD,OAAO,CAAC,2BAA2B,EAAE,yBAAyB,CAAC;SAC/D,OAAO,CAAC,6BAA6B,EAAE,2BAA2B,CAAC;SACnE,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;SAC3C,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -205,7 +205,8 @@ const CRITICAL_RULES = `- NEVER ask clarifying questions
205
205
  - NEVER guess node versions - always use search_nodes to find exact versions
206
206
  - ONLY flag connectionChangingParameters if they appear in <input> or <output> expressions
207
207
  - If no parameters appear in connection expressions, return empty array []
208
- - Output ONLY: nodesFound with {{ nodeName, version, reasoning, connectionChangingParameters }}`;
208
+ - Output ONLY: nodesFound with {{ nodeName, version, reasoning, connectionChangingParameters }}
209
+ - When user specifies a model name (e.g., 'gpt-4.1-mini') try to use this if it is a valid option`;
209
210
  const RESTRICTIONS = `- Output text commentary between tool calls
210
211
  - Include bestPractices or categorization in submit_discovery_results
211
212
  - Flag parameters that don't affect connections
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/discovery.prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.prompt.js","sourceRoot":"","sources":["../../../src/prompts/agents/discovery.prompt.ts"],"names":[],"mappings":";;;AA2HA,kDAIC;AAED,oEAIC;AA2JD,oDAiBC;AA1SD,2DAIgC;AAEhC,wCAAoC;AAGvB,QAAA,sBAAsB,GAG9B;IACJ;QACC,MAAM,EAAE,sFAAsF;QAC9F,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,OAAO;YACzB,kCAAiB,CAAC,kBAAkB;SACpC;KACD;IACD;QACC,MAAM,EAAE,+EAA+E;QACvF,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,iBAAiB;YACnC,kCAAiB,CAAC,YAAY;SAC9B;KACD;IACD;QACC,MAAM,EAAE,iFAAiF;QACzF,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,qBAAqB;YACvC,kCAAiB,CAAC,eAAe;YACjC,kCAAiB,CAAC,aAAa;SAC/B;KACD;IACD;QACC,MAAM,EAAE,iFAAiF;QACzF,UAAU,EAAE;YACX,kCAAiB,CAAC,mBAAmB;YACrC,kCAAiB,CAAC,eAAe;YACjC,kCAAiB,CAAC,mBAAmB;YACrC,kCAAiB,CAAC,UAAU;SAC5B;KACD;IACD;QACC,MAAM,EAAE,sEAAsE;QAC9E,UAAU,EAAE;YACX,kCAAiB,CAAC,mBAAmB;YACrC,kCAAiB,CAAC,aAAa;YAC/B,kCAAiB,CAAC,cAAc;SAChC;KACD;IACD;QACC,MAAM,EAAE,uEAAuE;QAC/E,UAAU,EAAE,CAAC,kCAAiB,CAAC,kBAAkB,EAAE,kCAAiB,CAAC,YAAY,CAAC;KAClF;IACD;QACC,MAAM,EACL,oGAAoG;QACrG,UAAU,EAAE;YACX,kCAAiB,CAAC,qBAAqB;YACvC,kCAAiB,CAAC,MAAM;YACxB,kCAAiB,CAAC,kBAAkB;SACpC;KACD;IACD;QACC,MAAM,EACL,8FAA8F;QAC/F,UAAU,EAAE,CAAC,kCAAiB,CAAC,UAAU,EAAE,kCAAiB,CAAC,UAAU,CAAC;KACxE;IACD;QACC,MAAM,EAAE,sEAAsE;QAC9E,UAAU,EAAE,CAAC,kCAAiB,CAAC,qBAAqB,EAAE,kCAAiB,CAAC,aAAa,CAAC;KACtF;IACD;QACC,MAAM,EAAE,+EAA+E;QACvF,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,mBAAmB;YACrC,kCAAiB,CAAC,kBAAkB;SACpC;KACD;IACD;QACC,MAAM,EAAE,sFAAsF;QAC9F,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,MAAM;YACxB,kCAAiB,CAAC,YAAY;SAC9B;KACD;IACD;QACC,MAAM,EAAE,qEAAqE;QAC7E,UAAU,EAAE;YACX,kCAAiB,CAAC,qBAAqB;YACvC,kCAAiB,CAAC,aAAa;YAC/B,kCAAiB,CAAC,mBAAmB;SACrC;KACD;IACD;QACC,MAAM,EACL,0FAA0F;QAC3F,UAAU,EAAE,CAAC,kCAAiB,CAAC,OAAO,EAAE,kCAAiB,CAAC,cAAc,CAAC;KACzE;IACD;QACC,MAAM,EAAE,qFAAqF;QAC7F,UAAU,EAAE;YACX,kCAAiB,CAAC,UAAU;YAC5B,kCAAiB,CAAC,mBAAmB;YACrC,kCAAiB,CAAC,iBAAiB;SACnC;KACD;CACD,CAAC;AAEF,SAAgB,mBAAmB;IAClC,OAAO,MAAM,CAAC,OAAO,CAAC,qCAAoB,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,OAAO,WAAW,EAAE,CAAC;SAC3D,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAED,SAAgB,4BAA4B;IAC3C,OAAO,8BAAsB;SAC3B,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;SAC1E,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,CAAC;AAMD,MAAM,cAAc,GAAG;;iFAE0D,CAAC;AAElF,MAAM,wBAAwB,GAAG;;;;;;;;2BAQN,CAAC;AAE5B,MAAM,wBAAwB,GAAG;;;;;;;;;;;;;;gDAce,CAAC;AAEjD,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;yDA2B2B,CAAC;AAE1D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;gHAYmF,CAAC;AAEjH,MAAM,kBAAkB,GAAG;;;mEAGwC,CAAC;AAEpE,MAAM,wBAAwB,GAAG;;;;;;;;2FAQ0D,CAAC;AAE5F,MAAM,cAAc,GAAG;;;;;;;;;kGAS2E,CAAC;AAEnG,MAAM,YAAY,GAAG;;;gDAG2B,CAAC;AAEjD,SAAS,0BAA0B,CAAC,OAA+B;IAClE,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEpC,MAAM,KAAK,GAAG;QACb,kEAAkE;QAClE,2CAA2C;QAC3C,2EAA2E;KAC3E,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;IAE/D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA+B;IAC5D,MAAM,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC;IAEpC,MAAM,KAAK,GAAa;QACvB,gFAAgF;QAChF,2EAA2E;KAC3E,CAAC;IAEF,IAAI,eAAe,EAAE,CAAC;QACrB,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAChE,KAAK,CAAC,IAAI,CACT,qEAAqE,eAAe,EAAE,EACtF,4FAA4F,EAC5F,sFAAsF,EACtF;;;+DAG6D,EAC7D,kEAAkE,CAClE,CAAC;IAEF,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAA+B;IACnE,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEnD,OAAO,IAAA,gBAAM,GAAE;SACb,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC;SAC/B,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC;SAC1C,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC;SAChC,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;SAC7D,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;SAC7D,OAAO,CAAC,gCAAgC,EAAE,qBAAqB,CAAC;SAChE,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC;SACrD,OAAO,CAAC,oBAAoB,EAAE,kBAAkB,CAAC;SACjD,OAAO,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;SAC7D,OAAO,CAAC,gBAAgB,EAAE,cAAc,CAAC;SACzC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,KAAK,EAAE,CAAC;AACX,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { NodeTypeGuide } from '../types';
2
+ export declare const EMBEDDING_NODES_GUIDE: NodeTypeGuide;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EMBEDDING_NODES_GUIDE = void 0;
4
+ exports.EMBEDDING_NODES_GUIDE = {
5
+ patterns: ['@n8n/n8n-nodes-langchain.embeddings*'],
6
+ content: `
7
+ ## CRITICAL: Embedding Models vs Chat Models
8
+
9
+ Embedding nodes (nodes with "embeddings" in their type name) MUST use embedding models, NOT chat/language models. Using a chat model in an embedding node will cause the workflow to fail.
10
+
11
+ ### Common Mistake to Avoid
12
+ NEVER configure an embedding node with chat models like:
13
+ - gpt-4, gpt-4o, gpt-4o-mini, gpt-3.5-turbo (OpenAI chat models)
14
+ - claude-3-opus, claude-3-sonnet (Anthropic chat models)
15
+ - gemini-pro, gemini-1.5-pro (Google chat models)
16
+ - llama-3, mixtral (general LLM models)
17
+
18
+ These are language/chat models designed for text generation, NOT for creating embeddings.
19
+
20
+ ### Correct Embedding Models by Provider
21
+
22
+ #### OpenAI Embeddings
23
+ - text-embedding-3-small (RECOMMENDED - default)
24
+ - text-embedding-3-large
25
+ - text-embedding-ada-002 (legacy)
26
+
27
+ #### AWS Bedrock Embeddings
28
+ - amazon.titan-embed-text-v1
29
+ - amazon.titan-embed-text-v2:0
30
+ - cohere.embed-english-v3
31
+ - cohere.embed-multilingual-v3
32
+
33
+ #### Google Gemini Embeddings
34
+ - models/text-embedding-004 (RECOMMENDED - default)
35
+ - models/embedding-001
36
+
37
+ #### Cohere Embeddings
38
+ - embed-english-v3.0 (1024 dimensions)
39
+ - embed-multilingual-v3.0 (1024 dimensions)
40
+ - embed-english-light-v3.0 (384 dimensions)
41
+ - embed-multilingual-light-v3.0 (384 dimensions)
42
+ - embed-english-v2.0 (4096 dimensions)
43
+
44
+ #### Mistral Embeddings
45
+ - mistral-embed (default)
46
+
47
+ #### Ollama Embeddings
48
+ - nomic-embed-text
49
+ - mxbai-embed-large
50
+ - all-minilm
51
+ - snowflake-arctic-embed
52
+
53
+ ### How to Identify Embedding Models
54
+ Embedding model names typically contain:
55
+ - "embed" or "embedding" in the name
56
+ - "e5", "bge", "gte" (common embedding model families)
57
+ - "nomic", "minilm", "arctic" (embedding-specific models)
58
+
59
+ ### Key Rules
60
+ 1. ALWAYS check if the node type contains "embeddings" - if so, use an embedding model
61
+ 2. If the user mentions a chat model (gpt-4, claude, gemini-pro, etc.) for embeddings, do NOT use it
62
+ 3. Suggest the appropriate embedding model from the same provider instead
63
+ 4. When in doubt, use the provider's default embedding model
64
+
65
+ ### Parameter Names
66
+ The model parameter may be named:
67
+ - "model" (OpenAI, Bedrock, Mistral, Ollama, Azure)
68
+ - "modelName" (Google Gemini, Cohere)`,
69
+ };
70
+ //# sourceMappingURL=embedding-nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"embedding-nodes.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/embedding-nodes.ts"],"names":[],"mappings":";;;AAEa,QAAA,qBAAqB,GAAkB;IACnD,QAAQ,EAAE,CAAC,sCAAsC,CAAC;IAClD,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sCA8D4B;CACrC,CAAC"}
@@ -4,6 +4,7 @@ export { SWITCH_NODE_GUIDE } from './switch-node';
4
4
  export { HTTP_REQUEST_GUIDE } from './http-request';
5
5
  export { TOOL_NODES_GUIDE } from './tool-nodes';
6
6
  export { GMAIL_GUIDE } from './gmail';
7
+ export { EMBEDDING_NODES_GUIDE } from './embedding-nodes';
7
8
  export { RESOURCE_LOCATOR_GUIDE } from './resource-locator';
8
9
  export { SYSTEM_MESSAGE_GUIDE } from './system-message';
9
10
  export { TEXT_FIELDS_GUIDE } from './text-fields';
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TEXT_FIELDS_GUIDE = exports.SYSTEM_MESSAGE_GUIDE = exports.RESOURCE_LOCATOR_GUIDE = exports.GMAIL_GUIDE = exports.TOOL_NODES_GUIDE = exports.HTTP_REQUEST_GUIDE = exports.SWITCH_NODE_GUIDE = exports.IF_NODE_GUIDE = exports.SET_NODE_GUIDE = void 0;
3
+ exports.TEXT_FIELDS_GUIDE = exports.SYSTEM_MESSAGE_GUIDE = exports.RESOURCE_LOCATOR_GUIDE = exports.EMBEDDING_NODES_GUIDE = exports.GMAIL_GUIDE = exports.TOOL_NODES_GUIDE = exports.HTTP_REQUEST_GUIDE = exports.SWITCH_NODE_GUIDE = exports.IF_NODE_GUIDE = exports.SET_NODE_GUIDE = void 0;
4
4
  var set_node_1 = require("./set-node");
5
5
  Object.defineProperty(exports, "SET_NODE_GUIDE", { enumerable: true, get: function () { return set_node_1.SET_NODE_GUIDE; } });
6
6
  var if_node_1 = require("./if-node");
@@ -13,6 +13,8 @@ var tool_nodes_1 = require("./tool-nodes");
13
13
  Object.defineProperty(exports, "TOOL_NODES_GUIDE", { enumerable: true, get: function () { return tool_nodes_1.TOOL_NODES_GUIDE; } });
14
14
  var gmail_1 = require("./gmail");
15
15
  Object.defineProperty(exports, "GMAIL_GUIDE", { enumerable: true, get: function () { return gmail_1.GMAIL_GUIDE; } });
16
+ var embedding_nodes_1 = require("./embedding-nodes");
17
+ Object.defineProperty(exports, "EMBEDDING_NODES_GUIDE", { enumerable: true, get: function () { return embedding_nodes_1.EMBEDDING_NODES_GUIDE; } });
16
18
  var resource_locator_1 = require("./resource-locator");
17
19
  Object.defineProperty(exports, "RESOURCE_LOCATOR_GUIDE", { enumerable: true, get: function () { return resource_locator_1.RESOURCE_LOCATOR_GUIDE; } });
18
20
  var system_message_1 = require("./system-message");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/index.ts"],"names":[],"mappings":";;;AACA,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AACzB,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AAGpB,uDAA4D;AAAnD,0HAAA,sBAAsB,OAAA;AAC/B,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/prompts/chains/parameter-updater/guides/index.ts"],"names":[],"mappings":";;;AACA,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,qCAA0C;AAAjC,wGAAA,aAAa,OAAA;AACtB,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA;AAC1B,+CAAoD;AAA3C,kHAAA,kBAAkB,OAAA;AAC3B,2CAAgD;AAAvC,8GAAA,gBAAgB,OAAA;AACzB,iCAAsC;AAA7B,oGAAA,WAAW,OAAA;AACpB,qDAA0D;AAAjD,wHAAA,qBAAqB,OAAA;AAG9B,uDAA4D;AAAnD,0HAAA,sBAAsB,OAAA;AAC/B,mDAAwD;AAA/C,sHAAA,oBAAoB,OAAA;AAC7B,6CAAkD;AAAzC,gHAAA,iBAAiB,OAAA"}
@@ -12,6 +12,7 @@ const guides = [
12
12
  guides_1.HTTP_REQUEST_GUIDE,
13
13
  guides_1.TOOL_NODES_GUIDE,
14
14
  guides_1.GMAIL_GUIDE,
15
+ guides_1.EMBEDDING_NODES_GUIDE,
15
16
  guides_1.RESOURCE_LOCATOR_GUIDE,
16
17
  guides_1.SYSTEM_MESSAGE_GUIDE,
17
18
  guides_1.TEXT_FIELDS_GUIDE,
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/prompts/chains/parameter-updater/registry.ts"],"names":[],"mappings":";;AA4EA,wCAuBC;AAYD,8CAeC;AAQD,kDAeC;AA9ID,yCAOoB;AACpB,qCAUkB;AAUlB,MAAM,MAAM,GAAoB;IAE/B,uBAAc;IACd,sBAAa;IACb,0BAAiB;IACjB,2BAAkB;IAClB,yBAAgB;IAChB,oBAAW;IAEX,+BAAsB;IACtB,6BAAoB;IACpB,0BAAiB;CACjB,CAAC;AAKF,MAAM,QAAQ,GAAuB;IACpC,4BAAiB;IACjB,2BAAgB;IAChB,+BAAoB;IACpB,iCAAsB;IACtB,6BAAkB;IAClB,oCAAyB;CACzB,CAAC;AAiBF,SAAgB,cAAc,CAAC,QAAgB,EAAE,OAAwB;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAG3C,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAGD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAGD,OAAO,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAYD,SAAgB,iBAAiB,CAAC,OAAsB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAE9B,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAGlC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC;AAQD,SAAgB,mBAAmB,CAAC,OAAsB;IACzD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAElC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAGlC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/prompts/chains/parameter-updater/registry.ts"],"names":[],"mappings":";;AA8EA,wCAuBC;AAYD,8CAeC;AAQD,kDAeC;AAhJD,yCAOoB;AACpB,qCAWkB;AAUlB,MAAM,MAAM,GAAoB;IAE/B,uBAAc;IACd,sBAAa;IACb,0BAAiB;IACjB,2BAAkB;IAClB,yBAAgB;IAChB,oBAAW;IACX,8BAAqB;IAErB,+BAAsB;IACtB,6BAAoB;IACpB,0BAAiB;CACjB,CAAC;AAKF,MAAM,QAAQ,GAAuB;IACpC,4BAAiB;IACjB,2BAAgB;IAChB,+BAAoB;IACpB,iCAAsB;IACtB,6BAAkB;IAClB,oCAAyB;CACzB,CAAC;AAiBF,SAAgB,cAAc,CAAC,QAAgB,EAAE,OAAwB;IACxE,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAG3C,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAGD,IAAI,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzC,OAAO,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAGD,OAAO,aAAa,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAYD,SAAgB,iBAAiB,CAAC,OAAsB;IACvD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAE9B,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAGlC,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC;AAQD,SAAgB,mBAAmB,CAAC,OAAsB;IACzD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;QAElC,MAAM,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACxD,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CACzC,CAAC;QACF,IAAI,CAAC,cAAc;YAAE,OAAO,KAAK,CAAC;QAGlC,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC;IACb,CAAC,CAAC,CAAC;AACJ,CAAC"}
@@ -12,4 +12,5 @@ export declare class SessionManagerService {
12
12
  getSessions(workflowId: string | undefined, userId: string | undefined): Promise<{
13
13
  sessions: Session[];
14
14
  }>;
15
+ truncateMessagesAfter(workflowId: string, userId: string | undefined, messageId: string): Promise<boolean>;
15
16
  }
@@ -14,9 +14,9 @@ exports.SessionManagerService = void 0;
14
14
  const langgraph_1 = require("@langchain/langgraph");
15
15
  const backend_common_1 = require("@n8n/backend-common");
16
16
  const di_1 = require("@n8n/di");
17
- const stream_processor_1 = require("./utils/stream-processor");
18
17
  const builder_tools_1 = require("./tools/builder-tools");
19
18
  const sessions_1 = require("./types/sessions");
19
+ const stream_processor_1 = require("./utils/stream-processor");
20
20
  let SessionManagerService = SessionManagerService_1 = class SessionManagerService {
21
21
  parsedNodeTypes;
22
22
  logger;
@@ -50,11 +50,12 @@ let SessionManagerService = SessionManagerService_1 = class SessionManagerServic
50
50
  const messages = (0, sessions_1.isLangchainMessagesArray)(rawMessages)
51
51
  ? rawMessages
52
52
  : [];
53
+ const formattedMessages = (0, stream_processor_1.formatMessages)(messages, (0, builder_tools_1.getBuilderToolsForDisplay)({
54
+ nodeTypes: this.parsedNodeTypes,
55
+ }));
53
56
  sessions.push({
54
57
  sessionId: threadId,
55
- messages: (0, stream_processor_1.formatMessages)(messages, (0, builder_tools_1.getBuilderToolsForDisplay)({
56
- nodeTypes: this.parsedNodeTypes,
57
- })),
58
+ messages: formattedMessages,
58
59
  lastUpdated: checkpoint.checkpoint.ts,
59
60
  });
60
61
  }
@@ -65,6 +66,56 @@ let SessionManagerService = SessionManagerService_1 = class SessionManagerServic
65
66
  }
66
67
  return { sessions };
67
68
  }
69
+ async truncateMessagesAfter(workflowId, userId, messageId) {
70
+ const threadId = SessionManagerService_1.generateThreadId(workflowId, userId);
71
+ const threadConfig = {
72
+ configurable: {
73
+ thread_id: threadId,
74
+ },
75
+ };
76
+ try {
77
+ const checkpointTuple = await this.checkpointer.getTuple(threadConfig);
78
+ if (!checkpointTuple?.checkpoint) {
79
+ this.logger?.debug('No checkpoint found for truncation', { threadId, messageId });
80
+ return false;
81
+ }
82
+ const rawMessages = checkpointTuple.checkpoint.channel_values?.messages;
83
+ if (!(0, sessions_1.isLangchainMessagesArray)(rawMessages)) {
84
+ this.logger?.debug('No valid messages found for truncation', { threadId, messageId });
85
+ return false;
86
+ }
87
+ const msgIndex = rawMessages.findIndex((msg) => msg.additional_kwargs?.messageId === messageId);
88
+ if (msgIndex === -1) {
89
+ this.logger?.debug('Message with messageId not found', { threadId, messageId });
90
+ return false;
91
+ }
92
+ const truncatedMessages = rawMessages.slice(0, msgIndex);
93
+ const updatedCheckpoint = {
94
+ ...checkpointTuple.checkpoint,
95
+ channel_values: {
96
+ ...checkpointTuple.checkpoint.channel_values,
97
+ messages: truncatedMessages,
98
+ },
99
+ };
100
+ const metadata = checkpointTuple.metadata ?? {
101
+ source: 'update',
102
+ step: -1,
103
+ parents: {},
104
+ };
105
+ await this.checkpointer.put(threadConfig, updatedCheckpoint, metadata);
106
+ this.logger?.debug('Messages truncated successfully', {
107
+ threadId,
108
+ messageId,
109
+ originalCount: rawMessages.length,
110
+ newCount: truncatedMessages.length,
111
+ });
112
+ return true;
113
+ }
114
+ catch (error) {
115
+ this.logger?.error('Failed to truncate messages', { threadId, messageId, error });
116
+ return false;
117
+ }
118
+ }
68
119
  };
69
120
  exports.SessionManagerService = SessionManagerService;
70
121
  exports.SessionManagerService = SessionManagerService = SessionManagerService_1 = __decorate([