@n8n/ai-workflow-builder 0.32.1 → 0.33.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 (124) hide show
  1. package/dist/agents/responder.agent.d.ts +20 -0
  2. package/dist/agents/responder.agent.js +95 -0
  3. package/dist/agents/responder.agent.js.map +1 -0
  4. package/dist/agents/supervisor.agent.d.ts +30 -0
  5. package/dist/agents/supervisor.agent.js +99 -0
  6. package/dist/agents/supervisor.agent.js.map +1 -0
  7. package/dist/ai-workflow-builder-agent.service.js +4 -0
  8. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  9. package/dist/build.tsbuildinfo +1 -1
  10. package/dist/constants.d.ts +4 -0
  11. package/dist/constants.js +5 -1
  12. package/dist/constants.js.map +1 -1
  13. package/dist/llm-config.d.ts +1 -0
  14. package/dist/llm-config.js +20 -1
  15. package/dist/llm-config.js.map +1 -1
  16. package/dist/multi-agent-workflow-subgraphs.d.ts +85 -0
  17. package/dist/multi-agent-workflow-subgraphs.js +121 -0
  18. package/dist/multi-agent-workflow-subgraphs.js.map +1 -0
  19. package/dist/parent-graph-state.d.ts +23 -0
  20. package/dist/parent-graph-state.js +34 -0
  21. package/dist/parent-graph-state.js.map +1 -0
  22. package/dist/subgraphs/builder.subgraph.d.ts +120 -0
  23. package/dist/subgraphs/builder.subgraph.js +322 -0
  24. package/dist/subgraphs/builder.subgraph.js.map +1 -0
  25. package/dist/subgraphs/configurator.subgraph.d.ts +130 -0
  26. package/dist/subgraphs/configurator.subgraph.js +242 -0
  27. package/dist/subgraphs/configurator.subgraph.js.map +1 -0
  28. package/dist/subgraphs/discovery.subgraph.d.ts +140 -0
  29. package/dist/subgraphs/discovery.subgraph.js +415 -0
  30. package/dist/subgraphs/discovery.subgraph.js.map +1 -0
  31. package/dist/subgraphs/subgraph-interface.d.ts +23 -0
  32. package/dist/subgraphs/subgraph-interface.js +7 -0
  33. package/dist/subgraphs/subgraph-interface.js.map +1 -0
  34. package/dist/tools/builder-tools.d.ts +5 -2
  35. package/dist/tools/builder-tools.js +15 -25
  36. package/dist/tools/builder-tools.js.map +1 -1
  37. package/dist/tools/get-best-practices.tool.d.ts +1 -1
  38. package/dist/tools/get-workflow-examples.tool.d.ts +34 -0
  39. package/dist/tools/get-workflow-examples.tool.js +172 -0
  40. package/dist/tools/get-workflow-examples.tool.js.map +1 -0
  41. package/dist/tools/node-details.tool.d.ts +4 -4
  42. package/dist/tools/node-details.tool.js +30 -2
  43. package/dist/tools/node-details.tool.js.map +1 -1
  44. package/dist/tools/node-search.tool.d.ts +1 -1
  45. package/dist/tools/prompts/main-agent.prompt.d.ts +4 -0
  46. package/dist/tools/prompts/main-agent.prompt.js +113 -57
  47. package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
  48. package/dist/tools/utils/markdown-workflow.utils.d.ts +14 -0
  49. package/dist/tools/utils/markdown-workflow.utils.js +174 -0
  50. package/dist/tools/utils/markdown-workflow.utils.js.map +1 -0
  51. package/dist/tools/utils/test/workflows/ai-assistant.workflow.d.ts +2 -0
  52. package/dist/tools/utils/test/workflows/ai-assistant.workflow.js +541 -0
  53. package/dist/tools/utils/test/workflows/ai-assistant.workflow.js.map +1 -0
  54. package/dist/tools/validate-configuration.tool.d.ts +4 -0
  55. package/dist/tools/validate-configuration.tool.js +70 -0
  56. package/dist/tools/validate-configuration.tool.js.map +1 -0
  57. package/dist/tools/validate-structure.tool.d.ts +4 -0
  58. package/dist/tools/validate-structure.tool.js +66 -0
  59. package/dist/tools/validate-structure.tool.js.map +1 -0
  60. package/dist/tools/web/templates.d.ts +7 -0
  61. package/dist/tools/web/templates.js +71 -0
  62. package/dist/tools/web/templates.js.map +1 -0
  63. package/dist/types/coordination.d.ts +36 -0
  64. package/dist/types/coordination.js +19 -0
  65. package/dist/types/coordination.js.map +1 -0
  66. package/dist/types/discovery-types.d.ts +12 -0
  67. package/dist/types/discovery-types.js +3 -0
  68. package/dist/types/discovery-types.js.map +1 -0
  69. package/dist/types/index.d.ts +1 -0
  70. package/dist/types/index.js +15 -0
  71. package/dist/types/index.js.map +1 -1
  72. package/dist/types/langchain.d.ts +1 -0
  73. package/dist/types/langchain.js +8 -0
  74. package/dist/types/langchain.js.map +1 -1
  75. package/dist/types/tools.d.ts +20 -0
  76. package/dist/types/web/templates.d.ts +44 -0
  77. package/dist/types/web/templates.js +37 -0
  78. package/dist/types/web/templates.js.map +1 -0
  79. package/dist/utils/cache-control/helpers.d.ts +1 -0
  80. package/dist/utils/cache-control/helpers.js +36 -0
  81. package/dist/utils/cache-control/helpers.js.map +1 -1
  82. package/dist/utils/cache-control/index.d.ts +1 -1
  83. package/dist/utils/cache-control/index.js +2 -1
  84. package/dist/utils/cache-control/index.js.map +1 -1
  85. package/dist/utils/context-builders.d.ts +10 -0
  86. package/dist/utils/context-builders.js +71 -0
  87. package/dist/utils/context-builders.js.map +1 -0
  88. package/dist/utils/coordination-log.d.ts +14 -0
  89. package/dist/utils/coordination-log.js +75 -0
  90. package/dist/utils/coordination-log.js.map +1 -0
  91. package/dist/utils/operations-processor.d.ts +4 -2
  92. package/dist/utils/operations-processor.js.map +1 -1
  93. package/dist/utils/stream-processor.d.ts +6 -2
  94. package/dist/utils/stream-processor.js +164 -81
  95. package/dist/utils/stream-processor.js.map +1 -1
  96. package/dist/utils/subgraph-helpers.d.ts +13 -0
  97. package/dist/utils/subgraph-helpers.js +95 -0
  98. package/dist/utils/subgraph-helpers.js.map +1 -0
  99. package/dist/utils/token-usage.js +4 -1
  100. package/dist/utils/token-usage.js.map +1 -1
  101. package/dist/utils/tool-executor.js +55 -38
  102. package/dist/utils/tool-executor.js.map +1 -1
  103. package/dist/utils/workflow-validation.js +1 -0
  104. package/dist/utils/workflow-validation.js.map +1 -1
  105. package/dist/validation/checks/index.d.ts +2 -1
  106. package/dist/validation/checks/index.js +3 -1
  107. package/dist/validation/checks/index.js.map +1 -1
  108. package/dist/validation/checks/nodes.d.ts +4 -0
  109. package/dist/validation/checks/nodes.js +36 -0
  110. package/dist/validation/checks/nodes.js.map +1 -0
  111. package/dist/validation/checks/trigger.js +0 -6
  112. package/dist/validation/checks/trigger.js.map +1 -1
  113. package/dist/validation/programmatic.js +2 -0
  114. package/dist/validation/programmatic.js.map +1 -1
  115. package/dist/validation/types.d.ts +5 -1
  116. package/dist/validation/types.js +8 -0
  117. package/dist/validation/types.js.map +1 -1
  118. package/dist/workflow-builder-agent.d.ts +8 -0
  119. package/dist/workflow-builder-agent.js +38 -9
  120. package/dist/workflow-builder-agent.js.map +1 -1
  121. package/dist/workflow-state.d.ts +4 -2
  122. package/dist/workflow-state.js +20 -0
  123. package/dist/workflow-state.js.map +1 -1
  124. package/package.json +9 -8
@@ -5,6 +5,48 @@ const messages_1 = require("@langchain/core/messages");
5
5
  const tools_1 = require("@langchain/core/tools");
6
6
  const langgraph_1 = require("@langchain/langgraph");
7
7
  const errors_1 = require("../errors");
8
+ function isArray(value) {
9
+ return Array.isArray(value);
10
+ }
11
+ function collectArrayFromUpdates(updates, key) {
12
+ const result = [];
13
+ for (const update of updates) {
14
+ const value = update[key];
15
+ if (isArray(value)) {
16
+ for (const item of value) {
17
+ result.push(item);
18
+ }
19
+ }
20
+ }
21
+ return result;
22
+ }
23
+ function mergeNodeConfigurations(updates) {
24
+ const merged = {};
25
+ for (const update of updates) {
26
+ if (update.nodeConfigurations && typeof update.nodeConfigurations === 'object') {
27
+ for (const [nodeType, configs] of Object.entries(update.nodeConfigurations)) {
28
+ if (!merged[nodeType]) {
29
+ merged[nodeType] = [];
30
+ }
31
+ merged[nodeType].push(...configs);
32
+ }
33
+ }
34
+ }
35
+ return merged;
36
+ }
37
+ function createToolErrorMessage(toolName, toolCallId, error) {
38
+ const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
39
+ const isParsingError = error instanceof tools_1.ToolInputParsingException || errorMessage.includes('expected schema');
40
+ const errorContent = isParsingError
41
+ ? `Invalid input for tool ${toolName}: ${errorMessage}`
42
+ : `Tool ${toolName} failed: ${errorMessage}`;
43
+ return new messages_1.ToolMessage({
44
+ content: errorContent,
45
+ tool_call_id: toolCallId,
46
+ name: toolName,
47
+ additional_kwargs: { error: true },
48
+ });
49
+ }
8
50
  async function executeToolsInParallel(options) {
9
51
  const { state, toolMap } = options;
10
52
  const lastMessage = state.messages.at(-1);
@@ -35,21 +77,7 @@ async function executeToolsInParallel(options) {
35
77
  return result;
36
78
  }
37
79
  catch (error) {
38
- const errorMessage = error instanceof Error ? error.message : 'Unknown error occurred';
39
- let errorContent;
40
- if (error instanceof tools_1.ToolInputParsingException ||
41
- errorMessage.includes('expected schema')) {
42
- errorContent = `Invalid input for tool ${toolCall.name}: ${errorMessage}`;
43
- }
44
- else {
45
- errorContent = `Tool ${toolCall.name} failed: ${errorMessage}`;
46
- }
47
- return new messages_1.ToolMessage({
48
- content: errorContent,
49
- tool_call_id: toolCall.id ?? '',
50
- name: toolCall.name,
51
- additional_kwargs: { error: true },
52
- });
80
+ return createToolErrorMessage(toolCall.name, toolCall.id ?? '', error);
53
81
  }
54
82
  }));
55
83
  const allMessages = [];
@@ -65,29 +93,12 @@ async function executeToolsInParallel(options) {
65
93
  allMessages.push(result);
66
94
  }
67
95
  });
68
- stateUpdates.forEach((update) => {
69
- if (update.messages && Array.isArray(update.messages)) {
70
- allMessages.push(...update.messages);
71
- }
72
- });
73
- const allOperations = [];
74
- for (const update of stateUpdates) {
75
- if (update.workflowOperations && Array.isArray(update.workflowOperations)) {
76
- allOperations.push(...update.workflowOperations);
77
- }
78
- }
79
- const allTechniqueCategories = [];
80
- for (const update of stateUpdates) {
81
- if (update.techniqueCategories && Array.isArray(update.techniqueCategories)) {
82
- allTechniqueCategories.push(...update.techniqueCategories);
83
- }
84
- }
85
- const allValidationHistory = [];
86
- for (const update of stateUpdates) {
87
- if (update.validationHistory && Array.isArray(update.validationHistory)) {
88
- allValidationHistory.push(...update.validationHistory);
89
- }
90
- }
96
+ allMessages.push(...collectArrayFromUpdates(stateUpdates, 'messages'));
97
+ const allOperations = collectArrayFromUpdates(stateUpdates, 'workflowOperations');
98
+ const allTechniqueCategories = collectArrayFromUpdates(stateUpdates, 'techniqueCategories');
99
+ const allValidationHistory = collectArrayFromUpdates(stateUpdates, 'validationHistory');
100
+ const allNodeConfigurations = mergeNodeConfigurations(stateUpdates);
101
+ const allTemplateIds = collectArrayFromUpdates(stateUpdates, 'templateIds');
91
102
  const finalUpdate = {
92
103
  messages: allMessages,
93
104
  };
@@ -100,6 +111,12 @@ async function executeToolsInParallel(options) {
100
111
  if (allValidationHistory.length > 0) {
101
112
  finalUpdate.validationHistory = allValidationHistory;
102
113
  }
114
+ if (Object.keys(allNodeConfigurations).length > 0) {
115
+ finalUpdate.nodeConfigurations = allNodeConfigurations;
116
+ }
117
+ if (allTemplateIds.length > 0) {
118
+ finalUpdate.templateIds = allTemplateIds;
119
+ }
103
120
  return finalUpdate;
104
121
  }
105
122
  //# sourceMappingURL=tool-executor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/utils/tool-executor.ts"],"names":[],"mappings":";;AAgCA,wDAuIC;AAtKD,uDAAoE;AACpE,iDAAkE;AAClE,oDAAiD;AAEjD,sCAAmE;AA2B5D,KAAK,UAAU,sBAAsB,CAC3C,OAA4B;IAE5B,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACnC,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1C,IAAI,CAAC,WAAW,IAAI,CAAC,IAAA,sBAAW,EAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,KAAK,GAAG,IAAI,2BAAkB,CACnC,0DAA0D,CAC1D,CAAC;QACF,MAAM,KAAK,CAAC;IACb,CAAC;IAED,MAAM,SAAS,GAAG,WAAW,CAAC;IAC9B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,IAAI,2BAAkB,CAAC,gCAAgC,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC;IACb,CAAC;IAGD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CACpC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;QAC3C,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACxC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,MAAM,IAAI,2BAAkB,CAAC,QAAQ,QAAQ,CAAC,IAAI,YAAY,EAAE;oBAC/D,QAAQ,EAAE,QAAQ,CAAC,IAAI;iBACvB,CAAC,CAAC;YACJ,CAAC;YACD,MAAM,MAAM,GAAY,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE;gBAC9D,QAAQ,EAAE;oBACT,EAAE,EAAE,QAAQ,CAAC,EAAE;oBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;iBACzB;aACD,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAGhB,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;YAGvF,IAAI,YAAoB,CAAC;YACzB,IACC,KAAK,YAAY,iCAAyB;gBAC1C,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACvC,CAAC;gBACF,YAAY,GAAG,0BAA0B,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACP,YAAY,GAAG,QAAQ,QAAQ,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC;YAChE,CAAC;YAGD,OAAO,IAAI,sBAAW,CAAC;gBACtB,OAAO,EAAE,YAAY;gBACrB,YAAY,EAAE,QAAQ,CAAC,EAAE,IAAI,EAAE;gBAC/B,IAAI,EAAE,QAAQ,CAAC,IAAI;gBAEnB,iBAAiB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;aAClC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC,CAAC,CACF,CAAC;IAGF,MAAM,WAAW,GAAkB,EAAE,CAAC;IACtC,MAAM,YAAY,GAA+C,EAAE,CAAC;IAEpE,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC9B,IAAI,IAAA,qBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YAEvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAA6C,CAAC;YACpE,IAAI,MAAM,EAAE,CAAC;gBACZ,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;aAAM,CAAC;YAEP,WAAW,CAAC,IAAI,CAAC,MAAqB,CAAC,CAAC;QACzC,CAAC;IACF,CAAC,CAAC,CAAC;IAGH,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,IAAI,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtC,CAAC;IACF,CAAC,CAAC,CAAC;IAGH,MAAM,aAAa,GAAwB,EAAE,CAAC;IAE9C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC3E,aAAa,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAClD,CAAC;IACF,CAAC;IAGD,MAAM,sBAAsB,GAAa,EAAE,CAAC;IAE5C,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,mBAAmB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC7E,sBAAsB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC5D,CAAC;IACF,CAAC;IAGD,MAAM,oBAAoB,GAAkE,EAAE,CAAC;IAE/F,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,iBAAiB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzE,oBAAoB,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAGD,MAAM,WAAW,GAAwC;QACxD,QAAQ,EAAE,WAAW;KACrB,CAAC;IAEF,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,kBAAkB,GAAG,aAAa,CAAC;IAChD,CAAC;IAED,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,mBAAmB,GAAG,sBAAsB,CAAC;IAC1D,CAAC;IAED,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,WAAW,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IACtD,CAAC;IAED,OAAO,WAAW,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../src/utils/tool-executor.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ function formatWorkflowValidation(validation) {
21
21
  const violationLines = formatViolationsByCategory([
22
22
  ['Connections', validation.connections],
23
23
  ['Trigger', validation.trigger],
24
+ ['Nodes', validation.nodes],
24
25
  ['Agent Prompt', validation.agentPrompt],
25
26
  ['Tools', validation.tools],
26
27
  ['From AI', validation.fromAi],
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-validation.js","sourceRoot":"","sources":["../../src/utils/workflow-validation.ts"],"names":[],"mappings":";;AAmBA,4DAsBC;AAvCD,SAAS,0BAA0B,CAClC,UAAoD;IAEpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,SAAS;QAEjC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAgB,wBAAwB,CAAC,UAA2C;IACnF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,mGAAmG,CAAC;IAC5G,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,0BAA0B,CAAC;QACjD,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC;QACvC,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;QAC/B,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;QACxC,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC;QAC3B,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"workflow-validation.js","sourceRoot":"","sources":["../../src/utils/workflow-validation.ts"],"names":[],"mappings":";;AAmBA,4DAuBC;AAxCD,SAAS,0BAA0B,CAClC,UAAoD;IAEpD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,UAAU,EAAE,CAAC;QAC7C,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,SAAS;QAEjC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACvB,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC;AAED,SAAgB,wBAAwB,CAAC,UAA2C;IACnF,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,OAAO,mGAAmG,CAAC;IAC5G,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,8BAA8B,CAAC,CAAC;IAEzD,MAAM,cAAc,GAAG,0BAA0B,CAAC;QACjD,CAAC,aAAa,EAAE,UAAU,CAAC,WAAW,CAAC;QACvC,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC;QAC/B,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC;QAC3B,CAAC,cAAc,EAAE,UAAU,CAAC,WAAW,CAAC;QACxC,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC;QAC3B,CAAC,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC;KAC9B,CAAC,CAAC;IAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IAClD,CAAC;SAAM,CAAC;QACP,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export { validateAgentPrompt } from './agent-prompt';
2
2
  export { validateConnections } from './connections';
3
3
  export { validateFromAi } from './from-ai';
4
+ export { validateNodes } from './nodes';
4
5
  export { validateTools } from './tools';
5
- export { validateTrigger, type TriggerEvaluationResult, } from './trigger';
6
+ export { validateTrigger, type TriggerEvaluationResult } from './trigger';
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTrigger = exports.validateTools = exports.validateFromAi = exports.validateConnections = exports.validateAgentPrompt = void 0;
3
+ exports.validateTrigger = exports.validateTools = exports.validateNodes = exports.validateFromAi = exports.validateConnections = exports.validateAgentPrompt = void 0;
4
4
  var agent_prompt_1 = require("./agent-prompt");
5
5
  Object.defineProperty(exports, "validateAgentPrompt", { enumerable: true, get: function () { return agent_prompt_1.validateAgentPrompt; } });
6
6
  var connections_1 = require("./connections");
7
7
  Object.defineProperty(exports, "validateConnections", { enumerable: true, get: function () { return connections_1.validateConnections; } });
8
8
  var from_ai_1 = require("./from-ai");
9
9
  Object.defineProperty(exports, "validateFromAi", { enumerable: true, get: function () { return from_ai_1.validateFromAi; } });
10
+ var nodes_1 = require("./nodes");
11
+ Object.defineProperty(exports, "validateNodes", { enumerable: true, get: function () { return nodes_1.validateNodes; } });
10
12
  var tools_1 = require("./tools");
11
13
  Object.defineProperty(exports, "validateTools", { enumerable: true, get: function () { return tools_1.validateTools; } });
12
14
  var trigger_1 = require("./trigger");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/checks/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,qCAGmB;AAFlB,0GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validation/checks/index.ts"],"names":[],"mappings":";;;AAAA,+CAAqD;AAA5C,mHAAA,mBAAmB,OAAA;AAC5B,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAC5B,qCAA2C;AAAlC,yGAAA,cAAc,OAAA;AACvB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,qCAA0E;AAAjE,0GAAA,eAAe,OAAA"}
@@ -0,0 +1,4 @@
1
+ import type { INodeTypeDescription } from 'n8n-workflow';
2
+ import type { SimpleWorkflow } from '../../types';
3
+ import type { ProgrammaticViolation } from '../types';
4
+ export declare function validateNodes(workflow: SimpleWorkflow, nodeTypes: INodeTypeDescription[]): ProgrammaticViolation[];
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateNodes = validateNodes;
4
+ function validateNodes(workflow, nodeTypes) {
5
+ const violations = [];
6
+ if (!workflow.nodes || workflow.nodes.length === 0) {
7
+ violations.push({
8
+ name: 'workflow-has-no-nodes',
9
+ type: 'critical',
10
+ description: 'Workflow has no nodes',
11
+ pointsDeducted: 50,
12
+ });
13
+ return violations;
14
+ }
15
+ const nodeCountByType = new Map();
16
+ for (const node of workflow.nodes) {
17
+ const currentCount = nodeCountByType.get(node.type) ?? 0;
18
+ nodeCountByType.set(node.type, currentCount + 1);
19
+ }
20
+ for (const [nodeTypeName, count] of nodeCountByType) {
21
+ const nodeType = nodeTypes.find((type) => type.name === nodeTypeName);
22
+ if (!nodeType?.maxNodes) {
23
+ continue;
24
+ }
25
+ if (count > nodeType.maxNodes) {
26
+ violations.push({
27
+ name: 'workflow-exceeds-max-nodes-limit',
28
+ type: 'critical',
29
+ description: `Workflow can only have ${nodeType.maxNodes} ${nodeType.displayName} node(s), but found ${count}`,
30
+ pointsDeducted: 50,
31
+ });
32
+ }
33
+ }
34
+ return violations;
35
+ }
36
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../src/validation/checks/nodes.ts"],"names":[],"mappings":";;AAMA,sCA0CC;AA1CD,SAAgB,aAAa,CAC5B,QAAwB,EACxB,SAAiC;IAEjC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;YACzB,SAAS;QACV,CAAC;QAED,IAAI,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/B,UAAU,CAAC,IAAI,CAAC;gBACf,IAAI,EAAE,kCAAkC;gBACxC,IAAI,EAAE,UAAU;gBAChB,WAAW,EAAE,0BAA0B,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,uBAAuB,KAAK,EAAE;gBAC9G,cAAc,EAAE,EAAE;aAClB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -6,12 +6,6 @@ function validateTrigger(workflow, nodeTypes) {
6
6
  const violations = [];
7
7
  const triggerNodes = [];
8
8
  if (!workflow.nodes || workflow.nodes.length === 0) {
9
- violations.push({
10
- name: 'workflow-has-no-nodes',
11
- type: 'critical',
12
- description: 'Workflow has no nodes',
13
- pointsDeducted: 50,
14
- });
15
9
  return violations;
16
10
  }
17
11
  for (const node of workflow.nodes) {
@@ -1 +1 @@
1
- {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/validation/checks/trigger.ts"],"names":[],"mappings":";;AAaA,0CA0CC;AA5CD,MAAM,aAAa,GAAG,CAAC,QAA8B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE7F,SAAgB,eAAe,CAC9B,QAAwB,EACxB,SAAiC;IAEjC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,UAAU,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,uBAAuB;YAC7B,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,uBAAuB;YACpC,cAAc,EAAE,EAAE;SAClB,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,SAAS;QACV,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iEAAiE;YAC9E,cAAc,EAAE,EAAE;SAClB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"trigger.js","sourceRoot":"","sources":["../../../src/validation/checks/trigger.ts"],"names":[],"mappings":";;AAaA,0CAmCC;AArCD,MAAM,aAAa,GAAG,CAAC,QAA8B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAE7F,SAAgB,eAAe,CAC9B,QAAwB,EACxB,SAAiC;IAEjC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,IAAI,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,UAAU,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,SAAS;QACV,CAAC;QAED,IAAI,aAAa,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;IAED,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAE3C,IAAI,CAAC,UAAU,EAAE,CAAC;QACjB,UAAU,CAAC,IAAI,CAAC;YACf,IAAI,EAAE,yBAAyB;YAC/B,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,iEAAiE;YAC9E,cAAc,EAAE,EAAE;SAClB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -5,12 +5,14 @@ const checks_1 = require("../validation/checks");
5
5
  function programmaticValidation(input, nodeTypes) {
6
6
  const { generatedWorkflow } = input;
7
7
  const connectionsValidationResult = (0, checks_1.validateConnections)(generatedWorkflow, nodeTypes);
8
+ const nodesValidationResult = (0, checks_1.validateNodes)(generatedWorkflow, nodeTypes);
8
9
  const triggerValidationResult = (0, checks_1.validateTrigger)(generatedWorkflow, nodeTypes);
9
10
  const agentPromptValidationResult = (0, checks_1.validateAgentPrompt)(generatedWorkflow);
10
11
  const toolsValidationResult = (0, checks_1.validateTools)(generatedWorkflow, nodeTypes);
11
12
  const fromAiValidationResult = (0, checks_1.validateFromAi)(generatedWorkflow, nodeTypes);
12
13
  return {
13
14
  connections: connectionsValidationResult,
15
+ nodes: nodesValidationResult,
14
16
  trigger: triggerValidationResult,
15
17
  agentPrompt: agentPromptValidationResult,
16
18
  tools: toolsValidationResult,
@@ -1 +1 @@
1
- {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../src/validation/programmatic.ts"],"names":[],"mappings":";;AAYA,wDAmBC;AA7BD,gDAM6B;AAI7B,SAAgB,sBAAsB,CACrC,KAAkC,EAClC,SAAiC;IAEjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEpC,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,uBAAuB,GAAG,IAAA,wBAAe,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,IAAA,uBAAc,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAE5E,OAAO;QACN,WAAW,EAAE,2BAA2B;QACxC,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,sBAAsB;KAC9B,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../src/validation/programmatic.ts"],"names":[],"mappings":";;AAaA,wDAqBC;AAhCD,gDAO6B;AAI7B,SAAgB,sBAAsB,CACrC,KAAkC,EAClC,SAAiC;IAEjC,MAAM,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAEpC,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IACtF,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,uBAAuB,GAAG,IAAA,wBAAe,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC9E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAC3E,MAAM,qBAAqB,GAAG,IAAA,sBAAa,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,sBAAsB,GAAG,IAAA,uBAAc,EAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC;IAE5E,OAAO;QACN,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,uBAAuB;QAChC,WAAW,EAAE,2BAA2B;QACxC,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,sBAAsB;KAC9B,CAAC;AACH,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { INodeTypeDescription, NodeConnectionType } from 'n8n-workflow';
2
2
  import type { SimpleWorkflow } from '../types';
3
3
  export type ProgrammaticViolationType = 'critical' | 'major' | 'minor';
4
- export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections"];
4
+ export declare const PROGRAMMATIC_VIOLATION_NAMES: readonly ["tool-node-has-no-parameters", "tool-node-static-parameters", "agent-static-prompt", "agent-no-system-prompt", "non-tool-node-uses-fromai", "workflow-has-no-nodes", "workflow-has-no-trigger", "workflow-exceeds-max-nodes-limit", "node-missing-required-input", "node-unsupported-connection-input", "node-merge-single-input", "node-merge-incorrect-num-inputs", "node-merge-missing-input", "sub-node-not-connected", "node-type-not-found", "failed-to-resolve-connections", "workflow-similarity-node-insert", "workflow-similarity-node-delete", "workflow-similarity-node-substitute", "workflow-similarity-edge-insert", "workflow-similarity-edge-delete", "workflow-similarity-edge-substitute", "workflow-similarity-evaluation-failed"];
5
5
  export type ProgrammaticViolationName = (typeof PROGRAMMATIC_VIOLATION_NAMES)[number];
6
6
  export type TelemetryValidationStatus = Record<ProgrammaticViolationName, 'pass' | 'fail'>;
7
7
  export interface ProgrammaticViolation {
@@ -16,6 +16,7 @@ export interface SingleEvaluatorResult {
16
16
  }
17
17
  export interface ProgrammaticChecksResult {
18
18
  connections: ProgrammaticViolation[];
19
+ nodes: ProgrammaticViolation[];
19
20
  trigger: ProgrammaticViolation[];
20
21
  agentPrompt: ProgrammaticViolation[];
21
22
  tools: ProgrammaticViolation[];
@@ -24,15 +25,18 @@ export interface ProgrammaticChecksResult {
24
25
  export interface ProgrammaticEvaluationResult {
25
26
  overallScore: number;
26
27
  connections: SingleEvaluatorResult;
28
+ nodes: SingleEvaluatorResult;
27
29
  trigger: SingleEvaluatorResult;
28
30
  agentPrompt: SingleEvaluatorResult;
29
31
  tools: SingleEvaluatorResult;
30
32
  fromAi: SingleEvaluatorResult;
33
+ similarity: SingleEvaluatorResult | null;
31
34
  }
32
35
  export interface ProgrammaticEvaluationInput {
33
36
  generatedWorkflow: SimpleWorkflow;
34
37
  userPrompt?: string;
35
38
  referenceWorkflow?: SimpleWorkflow;
39
+ referenceWorkflows?: SimpleWorkflow[];
36
40
  }
37
41
  export interface NodeResolvedConnectionTypesInfo {
38
42
  node: SimpleWorkflow['nodes'][0];
@@ -9,6 +9,7 @@ exports.PROGRAMMATIC_VIOLATION_NAMES = [
9
9
  'non-tool-node-uses-fromai',
10
10
  'workflow-has-no-nodes',
11
11
  'workflow-has-no-trigger',
12
+ 'workflow-exceeds-max-nodes-limit',
12
13
  'node-missing-required-input',
13
14
  'node-unsupported-connection-input',
14
15
  'node-merge-single-input',
@@ -17,5 +18,12 @@ exports.PROGRAMMATIC_VIOLATION_NAMES = [
17
18
  'sub-node-not-connected',
18
19
  'node-type-not-found',
19
20
  'failed-to-resolve-connections',
21
+ 'workflow-similarity-node-insert',
22
+ 'workflow-similarity-node-delete',
23
+ 'workflow-similarity-node-substitute',
24
+ 'workflow-similarity-edge-insert',
25
+ 'workflow-similarity-edge-delete',
26
+ 'workflow-similarity-edge-substitute',
27
+ 'workflow-similarity-evaluation-failed',
20
28
  ];
21
29
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAC7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;CACtB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAC7B,6BAA6B;IAC7B,qBAAqB;IACrB,wBAAwB;IACxB,2BAA2B;IAC3B,uBAAuB;IACvB,yBAAyB;IACzB,kCAAkC;IAClC,6BAA6B;IAC7B,mCAAmC;IACnC,yBAAyB;IACzB,iCAAiC;IACjC,0BAA0B;IAC1B,wBAAwB;IACxB,qBAAqB;IACrB,+BAA+B;IAC/B,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,iCAAiC;IACjC,iCAAiC;IACjC,qCAAqC;IACrC,uCAAuC;CAC9B,CAAC"}
@@ -18,12 +18,16 @@ export interface WorkflowBuilderAgentConfig {
18
18
  autoCompactThresholdTokens?: number;
19
19
  instanceUrl?: string;
20
20
  onGenerationSuccess?: () => Promise<void>;
21
+ enableMultiAgent?: boolean;
21
22
  }
22
23
  export interface ExpressionValue {
23
24
  expression: string;
24
25
  resolvedValue: unknown;
25
26
  nodeType?: string;
26
27
  }
28
+ export interface BuilderFeatureFlags {
29
+ templateExamples?: boolean;
30
+ }
27
31
  export interface ChatPayload {
28
32
  message: string;
29
33
  workflowContext?: {
@@ -32,6 +36,7 @@ export interface ChatPayload {
32
36
  executionData?: IRunExecutionData['resultData'];
33
37
  expressionValues?: Record<string, ExpressionValue[]>;
34
38
  };
39
+ featureFlags?: BuilderFeatureFlags;
35
40
  }
36
41
  export declare class WorkflowBuilderAgent {
37
42
  private checkpointer;
@@ -43,8 +48,11 @@ export declare class WorkflowBuilderAgent {
43
48
  private autoCompactThresholdTokens;
44
49
  private instanceUrl?;
45
50
  private onGenerationSuccess?;
51
+ private enableMultiAgent;
46
52
  constructor(config: WorkflowBuilderAgentConfig);
47
53
  private getBuilderTools;
54
+ private createMultiAgentGraph;
55
+ private createLegacyWorkflow;
48
56
  private createWorkflow;
49
57
  getState(workflowId?: string, userId?: string): Promise<TypedStateSnapshot>;
50
58
  private getDefaultWorkflowJSON;
@@ -10,6 +10,7 @@ const trim_workflow_context_1 = require("./utils/trim-workflow-context");
10
10
  const conversation_compact_1 = require("./chains/conversation-compact");
11
11
  const workflow_name_1 = require("./chains/workflow-name");
12
12
  const errors_1 = require("./errors");
13
+ const multi_agent_workflow_subgraphs_1 = require("./multi-agent-workflow-subgraphs");
13
14
  const session_manager_service_1 = require("./session-manager.service");
14
15
  const builder_tools_1 = require("./tools/builder-tools");
15
16
  const main_agent_prompt_1 = require("./tools/prompts/main-agent.prompt");
@@ -79,6 +80,7 @@ class WorkflowBuilderAgent {
79
80
  autoCompactThresholdTokens;
80
81
  instanceUrl;
81
82
  onGenerationSuccess;
83
+ enableMultiAgent;
82
84
  constructor(config) {
83
85
  this.parsedNodeTypes = config.parsedNodeTypes;
84
86
  this.llmSimpleTask = config.llmSimpleTask;
@@ -90,19 +92,34 @@ class WorkflowBuilderAgent {
90
92
  config.autoCompactThresholdTokens ?? constants_1.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS;
91
93
  this.instanceUrl = config.instanceUrl;
92
94
  this.onGenerationSuccess = config.onGenerationSuccess;
95
+ this.enableMultiAgent = config.enableMultiAgent ?? false;
93
96
  }
94
- getBuilderTools() {
97
+ getBuilderTools(featureFlags) {
95
98
  return (0, builder_tools_1.getBuilderTools)({
96
99
  parsedNodeTypes: this.parsedNodeTypes,
97
100
  instanceUrl: this.instanceUrl,
98
101
  llmComplexTask: this.llmComplexTask,
99
102
  logger: this.logger,
103
+ featureFlags,
100
104
  });
101
105
  }
102
- createWorkflow() {
103
- const builderTools = this.getBuilderTools();
106
+ createMultiAgentGraph() {
107
+ return (0, multi_agent_workflow_subgraphs_1.createMultiAgentWorkflowWithSubgraphs)({
108
+ parsedNodeTypes: this.parsedNodeTypes,
109
+ llmSimpleTask: this.llmSimpleTask,
110
+ llmComplexTask: this.llmComplexTask,
111
+ logger: this.logger,
112
+ instanceUrl: this.instanceUrl,
113
+ checkpointer: this.checkpointer,
114
+ });
115
+ }
116
+ createLegacyWorkflow(featureFlags) {
117
+ const builderTools = this.getBuilderTools(featureFlags);
104
118
  const tools = builderTools.map((bt) => bt.tool);
105
119
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
120
+ const mainAgentPrompt = (0, main_agent_prompt_1.createMainAgentPrompt)({
121
+ includeExamplesPhase: featureFlags?.templateExamples === true,
122
+ });
106
123
  const callModel = async (state) => {
107
124
  if (!this.llmSimpleTask) {
108
125
  throw new errors_1.LLMServiceError('LLM not setup');
@@ -113,7 +130,7 @@ class WorkflowBuilderAgent {
113
130
  });
114
131
  }
115
132
  const hasPreviousSummary = state.previousSummary && state.previousSummary !== 'EMPTY';
116
- const prompt = await main_agent_prompt_1.mainAgentPrompt.invoke({
133
+ const prompt = await mainAgentPrompt.invoke({
117
134
  ...state,
118
135
  workflowJSON: (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON),
119
136
  executionData: state.workflowContext?.executionData ?? {},
@@ -138,6 +155,9 @@ class WorkflowBuilderAgent {
138
155
  };
139
156
  const shouldContinue = ({ messages }) => {
140
157
  const lastMessage = messages[messages.length - 1];
158
+ if (!(lastMessage instanceof messages_1.AIMessage)) {
159
+ throw new errors_1.WorkflowStateError('Expected last message to be generated by the AI agent');
160
+ }
141
161
  if (lastMessage.tool_calls?.length) {
142
162
  return 'tools';
143
163
  }
@@ -234,13 +254,20 @@ class WorkflowBuilderAgent {
234
254
  .addEdge('delete_messages', langgraph_1.END)
235
255
  .addEdge('compact_messages', langgraph_1.END)
236
256
  .addConditionalEdges('agent', shouldContinue);
237
- return workflow;
257
+ return workflow.compile({ checkpointer: this.checkpointer });
258
+ }
259
+ createWorkflow(featureFlags) {
260
+ if (this.enableMultiAgent) {
261
+ this.logger?.debug('Using multi-agent supervisor architecture');
262
+ return this.createMultiAgentGraph();
263
+ }
264
+ this.logger?.debug('Using legacy single-agent architecture');
265
+ return this.createLegacyWorkflow(featureFlags);
238
266
  }
239
267
  async getState(workflowId, userId) {
240
268
  const workflow = this.createWorkflow();
241
- const agent = workflow.compile({ checkpointer: this.checkpointer });
242
269
  const threadId = session_manager_service_1.SessionManagerService.generateThreadId(workflowId, userId);
243
- return (await agent.getState({
270
+ return (await workflow.getState({
244
271
  configurable: { thread_id: threadId },
245
272
  }));
246
273
  }
@@ -271,7 +298,7 @@ class WorkflowBuilderAgent {
271
298
  }
272
299
  }
273
300
  setupAgentAndConfigs(payload, userId, abortSignal) {
274
- const agent = this.createWorkflow().compile({ checkpointer: this.checkpointer });
301
+ const agent = this.createWorkflow(payload.featureFlags);
275
302
  const workflowId = payload.workflowContext?.currentWorkflow?.id;
276
303
  const threadId = session_manager_service_1.SessionManagerService.generateThreadId(workflowId, userId);
277
304
  const threadConfig = {
@@ -285,16 +312,18 @@ class WorkflowBuilderAgent {
285
312
  recursionLimit: 50,
286
313
  signal: abortSignal,
287
314
  callbacks: this.tracer ? [this.tracer] : undefined,
315
+ subgraphs: this.enableMultiAgent,
288
316
  };
289
317
  return { agent, threadConfig, streamConfig };
290
318
  }
291
319
  async createAgentStream(payload, streamConfig, agent) {
292
- return await agent.stream({
320
+ const stream = await agent.stream({
293
321
  messages: [new messages_1.HumanMessage({ content: payload.message })],
294
322
  workflowJSON: this.getDefaultWorkflowJSON(payload),
295
323
  workflowOperations: [],
296
324
  workflowContext: payload.workflowContext,
297
325
  }, streamConfig);
326
+ return stream;
298
327
  }
299
328
  handleStreamError(error) {
300
329
  const invalidRequestErrorMessage = this.getInvalidRequestError(error);
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":";;;AA8DA,8CA2CC;AAvGD,uDAAkF;AAIlF,oDAA4E;AAE5E,+CAMsB;AAEtB,2CAIqB;AACrB,yEAAiE;AAEjE,wEAAyE;AACzE,0DAA2D;AAC3D,qCAAgF;AAChF,qFAAyF;AACzF,uEAAkE;AAClE,yDAAwD;AACxD,yEAA0E;AAE1E,2DAIuC;AACvC,qGAA8F;AAC9F,uEAAiE;AACjE,+DAIkC;AAClC,qDAAqE;AACrE,yDAA+D;AAC/D,qDAAiD;AAiBjD,SAAgB,iBAAiB,CAChC,KAAiC,EACjC,0BAAkC;IAOlC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,uBAAY,CAAE,CAAC;IAE9E,IAAI,gBAAgB,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC7C,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC3C,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IAKD,MAAM,YAAY,GAAG,eAAe,EAAE,eAAe,EAAE,IAAI,CAAC;IAC5D,MAAM,WAAW,GAAG,eAAe,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC;IACzE,MAAM,aAAa,GAAG,CAAC,YAAY,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjF,IAAI,aAAa,IAAI,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,sBAAsB,CAAC;IAC/B,CAAC;IAED,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAG1D,MAAM,eAAe,GAAG,IAAA,4CAA8B,EAAC;QACtD,GAAG,QAAQ;QAEX,IAAI,uBAAY,CAAC,uBAAuB,CAAC;KACzC,CAAC,CAAC;IACH,IAAI,eAAe,GAAG,0BAA0B,EAAE,CAAC;QAClD,OAAO,uBAAuB,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAiC;IAC5D,MAAM,eAAe,GAAG,IAAA,wCAAgB,EAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,EAAE,aAAa,IAAI,EAAE,CAAC;IACjE,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE,CAAC;IACrE,MAAM,eAAe,GAAG;QACvB,EAAE;QACF,yBAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAC/B,0BAA0B;QAC1B,8BAA8B;QAC9B,gHAAgH;QAChH,8DAA8D;QAC9D,+BAA+B;QAC/B,EAAE;QACF,qCAAqC;QACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;QAC7B,sCAAsC;QACtC,EAAE;QACF,mCAAmC;QACnC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;QAC/B,oCAAoC;KACpC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,OAAO,eAAe,CAAC;AACxB,CAAC;AAyCD,MAAa,oBAAoB;IACxB,YAAY,CAAc;IAC1B,eAAe,CAAyB;IACxC,aAAa,CAAgB;IAC7B,cAAc,CAAgB;IAC9B,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,0BAA0B,CAAS;IACnC,WAAW,CAAU;IACrB,mBAAmB,CAAuB;IAC1C,gBAAgB,CAAU;IAElC,YAAY,MAAkC;QAC7C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC5C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,0BAA0B;YAC9B,MAAM,CAAC,0BAA0B,IAAI,iDAAqC,CAAC;QAC5E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,KAAK,CAAC;IAC1D,CAAC;IAEO,eAAe,CAAC,YAAkC;QACzD,OAAO,IAAA,+BAAe,EAAC;YACtB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,YAAY;SACZ,CAAC,CAAC;IACJ,CAAC;IAMO,qBAAqB;QAC5B,OAAO,IAAA,sEAAqC,EAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAC/B,CAAC,CAAC;IACJ,CAAC;IAKO,oBAAoB,CAAC,YAAkC;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAGxD,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;QAGhD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;QAGhE,MAAM,eAAe,GAAG,IAAA,yCAAqB,EAAC;YAC7C,oBAAoB,EAAE,YAAY,EAAE,gBAAgB,KAAK,IAAI;SAC7D,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,KAAK,EAAE,KAAiC,EAAE,EAAE;YAC7D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,wBAAe,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;gBACxD,MAAM,IAAI,wBAAe,CAAC,4BAA4B,EAAE;oBACvD,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE;iBACvC,CAAC,CAAC;YACJ,CAAC;YAED,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,eAAe,KAAK,OAAO,CAAC;YAEtF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,CAAC;gBAC3C,GAAG,KAAK;gBACR,YAAY,EAAE,IAAA,wCAAgB,EAAC,KAAK,CAAC,YAAY,CAAC;gBAClD,aAAa,EAAE,KAAK,CAAC,eAAe,EAAE,aAAa,IAAI,EAAE;gBACzD,eAAe,EAAE,KAAK,CAAC,eAAe,EAAE,eAAe,IAAI,EAAE;gBAC7D,mBAAmB,EAAE,KAAK,CAAC,eAAe,EAAE,gBAAgB;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,eAAe,EAAE,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;aAChE,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;YAMlD,MAAM,eAAe,GAAG,IAAA,oCAA0B,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAA,mCAAyB,EAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAC5D,IAAA,kCAAwB,EAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YAE5E,MAAM,eAAe,GAAG,IAAA,4CAA8B,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAExE,IAAI,eAAe,GAAG,4BAAgB,EAAE,CAAC;gBACxC,MAAM,IAAI,2BAAkB,CAC3B,uIAAuI,CACvI,CAAC;YACH,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE1E,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC;QAEF,MAAM,yBAAyB,GAAG,CAAC,KAAiC,EAAE,EAAE;YACvE,OAAO,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAClE,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG,CAAC,EAAE,QAAQ,EAA8B,EAAE,EAAE;YACnE,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,CAAC,WAAW,YAAY,oBAAS,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,2BAAkB,CAAC,uDAAuD,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;gBACpC,OAAO,OAAO,CAAC;YAChB,CAAC;YAGD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC9B,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;oBAChE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gDAAgD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAChF,CAAC,CAAC,CAAC;YACJ,CAAC;YACD,OAAO,eAAG,CAAC;QACZ,CAAC,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAiC,EAAE,EAAE;YACtE,OAAO,MAAM,IAAA,sCAAsB,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,SAAS,cAAc,CAAC,KAAiC;YACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;YAChC,MAAM,WAAW,GAAwC;gBACxD,kBAAkB,EAAE,IAAI;gBACxB,eAAe,EAAE,EAAE;gBACnB,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,wBAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAG,EAAE,CAAC,CAAC,IAAI,EAAE;gBACrE,YAAY,EAAE;oBACb,KAAK,EAAE,EAAE;oBACT,WAAW,EAAE,EAAE;oBACf,IAAI,EAAE,EAAE;iBACR;aACD,CAAC;YAEF,OAAO,WAAW,CAAC;QACpB,CAAC;QAQD,MAAM,cAAc,GAAG,KAAK,EAAE,KAAiC,EAAE,EAAE;YAClE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,wBAAe,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;YAC5C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAiB,CAAC;YACvE,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,KAAK,UAAU,CAAC;YAE9D,MAAM,iBAAiB,GAAG,MAAM,IAAA,+CAAwB,EACvD,IAAI,CAAC,aAAa,EAClB,QAAQ,EACR,eAAe,CACf,CAAC;YAOF,OAAO;gBACN,eAAe,EAAE,iBAAiB,CAAC,YAAY;gBAC/C,QAAQ,EAAE;oBACT,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,wBAAa,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAG,EAAE,CAAC,CAAC;oBACxD,IAAI,uBAAY,CAAC,0CAA0C,CAAC;oBAC5D,IAAI,oBAAS,CAAC,6CAA6C,CAAC;oBAC5D,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnF;aACD,CAAC;QACH,CAAC,CAAC;QAKF,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAiC,EAAE,EAAE;YACtE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACzB,MAAM,IAAI,wBAAe,CAAC,eAAe,CAAC,CAAC;YAC5C,CAAC;YAED,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;YAEzC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,uBAAY,EAAE,CAAC;gBAClE,MAAM,cAAc,GAAG,QAAQ,CAAC,CAAC,CAAwB,CAAC;gBAE1D,IAAI,OAAO,cAAc,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChD,IAAI,CAAC,MAAM,EAAE,KAAK,CACjB,4EAA4E,CAC5E,CAAC;oBACF,OAAO,EAAE,CAAC;gBACX,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,iCAAiB,EAAC,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;gBAErF,OAAO;oBACN,YAAY,EAAE;wBACb,GAAG,YAAY;wBACf,IAAI;qBACJ;iBACD,CAAC;YACH,CAAC;YAED,OAAO,EAAE,CAAC;QACX,CAAC,CAAC;QAMF,MAAM,wBAAwB,GAAG,CAAC,KAAiC,EAAE,EAAE;YACtE,MAAM,gBAAgB,GAAG,IAAA,qEAA+B,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAEzE,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,yCAAyC,EAAE;oBAC5D,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACnD,CAAC,CAAC;YACJ,CAAC;YAED,OAAO;gBACN,QAAQ,EAAE,gBAAgB;aAC1B,CAAC;QACH,CAAC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,sBAAU,CAAC,8BAAa,CAAC;aAC5C,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;aAC3B,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC;aACpC,OAAO,CAAC,oBAAoB,EAAE,wCAAiB,CAAC;aAChD,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC;aAC1C,OAAO,CAAC,kBAAkB,EAAE,cAAc,CAAC;aAC3C,OAAO,CAAC,uBAAuB,EAAE,cAAc,CAAC;aAChD,OAAO,CAAC,sBAAsB,EAAE,kBAAkB,CAAC;aACnD,OAAO,CAAC,6BAA6B,EAAE,wBAAwB,CAAC;aAChE,OAAO,CAAC,WAAW,EAAE,6BAA6B,CAAC;aACnD,mBAAmB,CAAC,6BAA6B,EAAE,yBAAyB,CAAC;aAC7E,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC;aACtC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC;aACtC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC;aACzC,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;aACxC,OAAO,CAAC,iBAAiB,EAAE,eAAG,CAAC;aAC/B,OAAO,CAAC,kBAAkB,EAAE,eAAG,CAAC;aAChC,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAE/C,OAAO,QAAQ,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IAKO,cAAc,CAAC,YAAkC;QACxD,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACrC,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC7D,OAAO,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAmB,EAAE,MAAe;QAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,+CAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,CAAC,MAAM,QAAQ,CAAC,QAAQ,CAAC;YAC/B,YAAY,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SACrC,CAAC,CAAuB,CAAC;IAC3B,CAAC;IAEO,sBAAsB,CAAC,OAAoB;QAClD,OAAO,CACL,OAAO,CAAC,eAAe,EAAE,eAAkC,IAAI;YAC/D,KAAK,EAAE,EAAE;YACT,WAAW,EAAE,EAAE;SACf,CACD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,CAAC,IAAI,CAAC,OAAoB,EAAE,MAAe,EAAE,WAAyB;QAC3E,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE5C,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,oBAAoB,CACtE,OAAO,EACP,MAAM,EACN,WAAW,CACX,CAAC;QAEF,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;YAC1E,KAAK,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAEO,qBAAqB,CAAC,OAAe;QAC5C,IAAI,OAAO,CAAC,MAAM,GAAG,wCAA4B,EAAE,CAAC;YACnD,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gCAAgC,EAAE;gBACnD,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,SAAS,EAAE,wCAA4B;aACvC,CAAC,CAAC;YAEH,MAAM,IAAI,wBAAe,CACxB,qCAAqC,wCAA4B,aAAa,CAC9E,CAAC;QACH,CAAC;IACF,CAAC;IAEO,oBAAoB,CAAC,OAAoB,EAAE,MAAe,EAAE,WAAyB;QAC5F,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,OAAO,CAAC,eAAe,EAAE,eAAe,EAAE,EAAE,CAAC;QAGhE,MAAM,QAAQ,GAAG,+CAAqB,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAmB;YACpC,YAAY,EAAE;gBACb,SAAS,EAAE,QAAQ;aACnB;SACD,CAAC;QACF,MAAM,YAAY,GAAG;YACpB,GAAG,YAAY;YACf,UAAU,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAU;YAC1C,cAAc,EAAE,EAAE;YAClB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;YAElD,SAAS,EAAE,IAAI,CAAC,gBAAgB;SAChC,CAAC;QAEF,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;IAC9C,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC9B,OAAoB,EACpB,YAA4B,EAC5B,KAA6C;QAE7C,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAChC;YACC,QAAQ,EAAE,CAAC,IAAI,uBAAY,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAC1D,YAAY,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAClD,kBAAkB,EAAE,EAAE;YACtB,eAAe,EAAE,OAAO,CAAC,eAAe;SACxC,EACD,YAAY,CACZ,CAAC;QAMF,OAAO,MAAoC,CAAC;IAC7C,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACvC,MAAM,0BAA0B,GAAG,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC;QACtE,IAAI,0BAA0B,EAAE,CAAC;YAChC,MAAM,IAAI,wBAAe,CAAC,0BAA0B,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,CAAC,kBAAkB,CAChC,MAA0D,EAC1D,KAA6C,EAC7C,YAA4B;QAE5B,IAAI,CAAC;YACJ,MAAM,eAAe,GAAG,IAAA,wCAAqB,EAAC,MAAM,CAAC,CAAC;YACtD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,eAAe,EAAE,CAAC;gBAC5C,MAAM,MAAM,CAAC;YACd,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,sBAAsB,CACnC,KAAc,EACd,KAA6C,EAC7C,YAA4B;QAE5B,IACC,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,SAAS,IAAI,KAAK;YAClB,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ;YAEjC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAC3C,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,MAAM,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,QAE5D,CAAC;YAGF,MAAM,gBAAgB,GAAG,IAAI,oBAAS,CAAC;gBACtC,OAAO,EAAE,cAAc;gBACvB,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;aACvB,CAAC,CAAC;YAEH,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;YACrF,OAAO;QACR,CAAC;QAGD,IAAI,KAAK,YAAY,+BAAmB,EAAE,CAAC;YAC1C,MAAM,IAAI,+BAAgB,CACzB,0OAA0O,CAC1O,CAAC;QACH,CAAC;QAGD,MAAM,KAAK,CAAC;IACb,CAAC;IAEO,sBAAsB,CAAC,KAAc;QAC5C,IACC,KAAK,YAAY,KAAK;YACtB,OAAO,IAAI,KAAK;YAChB,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ;YAC/B,KAAK,CAAC,KAAK,EACV,CAAC;YACF,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;YAC/B,IAAI,OAAO,IAAI,UAAU,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACvF,MAAM,YAAY,GAAG,UAAU,CAAC,KAAK,CAAC;gBACtC,IACC,MAAM,IAAI,YAAY;oBACtB,YAAY,CAAC,IAAI,KAAK,uBAAuB;oBAC7C,SAAS,IAAI,YAAY;oBACzB,OAAO,YAAY,CAAC,OAAO,KAAK,QAAQ,EACvC,CAAC;oBACF,OAAO,YAAY,CAAC,OAAO,CAAC;gBAC7B,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AA3cD,oDA2cC"}
@@ -1,9 +1,9 @@
1
1
  import type { BaseMessage } from '@langchain/core/messages';
2
- import type { SimpleWorkflow, WorkflowOperation } from './types';
2
+ import type { NodeConfigurationsMap, SimpleWorkflow, WorkflowOperation } from './types';
3
3
  import type { ProgrammaticEvaluationResult, TelemetryValidationStatus } from './validation/types';
4
4
  export declare function createTrimMessagesReducer(maxUserMessages: number): (current: BaseMessage[]) => BaseMessage[];
5
5
  export declare const WorkflowState: import("@langchain/langgraph").AnnotationRoot<{
6
- messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage[], BaseMessage[]>;
6
+ 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>[]>;
7
7
  workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
8
8
  workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
9
9
  workflowContext: import("@langchain/langgraph").BinaryOperatorAggregate<{
@@ -21,4 +21,6 @@ export declare const WorkflowState: import("@langchain/langgraph").AnnotationRoo
21
21
  validationHistory: import("@langchain/langgraph").BinaryOperatorAggregate<TelemetryValidationStatus[], TelemetryValidationStatus[]>;
22
22
  techniqueCategories: import("@langchain/langgraph").BinaryOperatorAggregate<string[], string[]>;
23
23
  previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
24
+ nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<NodeConfigurationsMap, NodeConfigurationsMap>;
25
+ templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
24
26
  }>;
@@ -66,5 +66,25 @@ exports.WorkflowState = langgraph_1.Annotation.Root({
66
66
  reducer: (x, y) => y ?? x,
67
67
  default: () => 'EMPTY',
68
68
  }),
69
+ nodeConfigurations: (0, langgraph_1.Annotation)({
70
+ reducer: (current, update) => {
71
+ if (!update || Object.keys(update).length === 0) {
72
+ return current;
73
+ }
74
+ const merged = { ...current };
75
+ for (const [nodeType, configs] of Object.entries(update)) {
76
+ if (!merged[nodeType]) {
77
+ merged[nodeType] = [];
78
+ }
79
+ merged[nodeType] = [...merged[nodeType], ...configs];
80
+ }
81
+ return merged;
82
+ },
83
+ default: () => ({}),
84
+ }),
85
+ templateIds: (0, langgraph_1.Annotation)({
86
+ reducer: (current, update) => (update && update.length > 0 ? [...current, ...update] : current),
87
+ default: () => [],
88
+ }),
69
89
  });
70
90
  //# sourceMappingURL=workflow-state.js.map