@n8n/ai-workflow-builder 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (238) hide show
  1. package/dist/agents/responder.agent.d.ts +1 -0
  2. package/dist/agents/responder.agent.js +9 -33
  3. package/dist/agents/responder.agent.js.map +1 -1
  4. package/dist/agents/supervisor.agent.d.ts +1 -0
  5. package/dist/agents/supervisor.agent.js +7 -38
  6. package/dist/agents/supervisor.agent.js.map +1 -1
  7. package/dist/ai-workflow-builder-agent.service.d.ts +2 -1
  8. package/dist/ai-workflow-builder-agent.service.js +18 -12
  9. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  10. package/dist/build.tsbuildinfo +1 -1
  11. package/dist/chains/conversation-compact.js +2 -13
  12. package/dist/chains/conversation-compact.js.map +1 -1
  13. package/dist/chains/parameter-updater.js +21 -7
  14. package/dist/chains/parameter-updater.js.map +1 -1
  15. package/dist/chains/prompt-categorization.js +3 -81
  16. package/dist/chains/prompt-categorization.js.map +1 -1
  17. package/dist/chains/workflow-name.js +2 -10
  18. package/dist/chains/workflow-name.js.map +1 -1
  19. package/dist/constants.d.ts +2 -0
  20. package/dist/constants.js +3 -1
  21. package/dist/constants.js.map +1 -1
  22. package/dist/multi-agent-workflow-subgraphs.d.ts +38 -1
  23. package/dist/multi-agent-workflow-subgraphs.js +34 -2
  24. package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
  25. package/dist/parent-graph-state.d.ts +4 -0
  26. package/dist/parent-graph-state.js +14 -1
  27. package/dist/parent-graph-state.js.map +1 -1
  28. package/dist/prompts/agents/builder.prompt.d.ts +1 -0
  29. package/dist/prompts/agents/builder.prompt.js +242 -0
  30. package/dist/prompts/agents/builder.prompt.js.map +1 -0
  31. package/dist/prompts/agents/configurator.prompt.d.ts +2 -0
  32. package/dist/prompts/agents/configurator.prompt.js +125 -0
  33. package/dist/prompts/agents/configurator.prompt.js.map +1 -0
  34. package/dist/prompts/agents/discovery.prompt.d.ts +11 -0
  35. package/dist/prompts/agents/discovery.prompt.js +259 -0
  36. package/dist/prompts/agents/discovery.prompt.js.map +1 -0
  37. package/dist/prompts/agents/responder.prompt.d.ts +1 -0
  38. package/dist/prompts/agents/responder.prompt.js +41 -0
  39. package/dist/prompts/agents/responder.prompt.js.map +1 -0
  40. package/dist/prompts/agents/supervisor.prompt.d.ts +1 -0
  41. package/dist/prompts/agents/supervisor.prompt.js +43 -0
  42. package/dist/prompts/agents/supervisor.prompt.js.map +1 -0
  43. package/dist/prompts/builder/index.d.ts +2 -0
  44. package/dist/prompts/builder/index.js +7 -0
  45. package/dist/prompts/builder/index.js.map +1 -0
  46. package/dist/prompts/builder/prompt-builder.d.ts +17 -0
  47. package/dist/prompts/builder/prompt-builder.js +147 -0
  48. package/dist/prompts/builder/prompt-builder.js.map +1 -0
  49. package/dist/prompts/builder/types.d.ts +22 -0
  50. package/dist/prompts/builder/types.js +3 -0
  51. package/dist/prompts/builder/types.js.map +1 -0
  52. package/dist/prompts/chains/categorization.prompt.d.ts +43 -0
  53. package/dist/prompts/chains/categorization.prompt.js +86 -0
  54. package/dist/prompts/chains/categorization.prompt.js.map +1 -0
  55. package/dist/prompts/chains/compact.prompt.d.ts +2 -0
  56. package/dist/prompts/chains/compact.prompt.js +16 -0
  57. package/dist/prompts/chains/compact.prompt.js.map +1 -0
  58. package/dist/prompts/chains/parameter-updater/examples/if-node.d.ts +2 -0
  59. package/dist/{chains/prompts/examples/basic/if-node-examples.js → prompts/chains/parameter-updater/examples/if-node.js} +6 -3
  60. package/dist/prompts/chains/parameter-updater/examples/if-node.js.map +1 -0
  61. package/dist/prompts/chains/parameter-updater/examples/index.d.ts +6 -0
  62. package/dist/prompts/chains/parameter-updater/examples/index.js +16 -0
  63. package/dist/prompts/chains/parameter-updater/examples/index.js.map +1 -0
  64. package/dist/prompts/chains/parameter-updater/examples/resource-locator.d.ts +2 -0
  65. package/dist/{chains/prompts/examples/advanced/resource-locator-examples.js → prompts/chains/parameter-updater/examples/resource-locator.js} +7 -3
  66. package/dist/prompts/chains/parameter-updater/examples/resource-locator.js.map +1 -0
  67. package/dist/prompts/chains/parameter-updater/examples/set-node.d.ts +2 -0
  68. package/dist/{chains/prompts/examples/basic/set-node-examples.js → prompts/chains/parameter-updater/examples/set-node.js} +6 -3
  69. package/dist/prompts/chains/parameter-updater/examples/set-node.js.map +1 -0
  70. package/dist/prompts/chains/parameter-updater/examples/simple-updates.d.ts +2 -0
  71. package/dist/{chains/prompts/examples/basic → prompts/chains/parameter-updater/examples}/simple-updates.js +8 -5
  72. package/dist/prompts/chains/parameter-updater/examples/simple-updates.js.map +1 -0
  73. package/dist/prompts/chains/parameter-updater/examples/switch-node.d.ts +2 -0
  74. package/dist/prompts/chains/parameter-updater/examples/switch-node.js +131 -0
  75. package/dist/prompts/chains/parameter-updater/examples/switch-node.js.map +1 -0
  76. package/dist/prompts/chains/parameter-updater/examples/tool-nodes.d.ts +2 -0
  77. package/dist/{chains/prompts/examples/advanced/tool-node-examples.js → prompts/chains/parameter-updater/examples/tool-nodes.js} +6 -3
  78. package/dist/prompts/chains/parameter-updater/examples/tool-nodes.js.map +1 -0
  79. package/dist/prompts/chains/parameter-updater/guides/gmail.d.ts +2 -0
  80. package/dist/prompts/chains/parameter-updater/guides/gmail.js +28 -0
  81. package/dist/prompts/chains/parameter-updater/guides/gmail.js.map +1 -0
  82. package/dist/prompts/chains/parameter-updater/guides/http-request.d.ts +2 -0
  83. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/http-request.js +34 -8
  84. package/dist/prompts/chains/parameter-updater/guides/http-request.js.map +1 -0
  85. package/dist/prompts/chains/parameter-updater/guides/if-node.d.ts +2 -0
  86. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/if-node.js +6 -5
  87. package/dist/prompts/chains/parameter-updater/guides/if-node.js.map +1 -0
  88. package/dist/prompts/chains/parameter-updater/guides/index.d.ts +9 -0
  89. package/dist/prompts/chains/parameter-updater/guides/index.js +22 -0
  90. package/dist/prompts/chains/parameter-updater/guides/index.js.map +1 -0
  91. package/dist/prompts/chains/parameter-updater/guides/resource-locator.d.ts +2 -0
  92. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/resource-locator.js +6 -2
  93. package/dist/prompts/chains/parameter-updater/guides/resource-locator.js.map +1 -0
  94. package/dist/prompts/chains/parameter-updater/guides/set-node.d.ts +2 -0
  95. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/set-node.js +5 -2
  96. package/dist/prompts/chains/parameter-updater/guides/set-node.js.map +1 -0
  97. package/dist/prompts/chains/parameter-updater/guides/switch-node.d.ts +2 -0
  98. package/dist/prompts/chains/parameter-updater/guides/switch-node.js +75 -0
  99. package/dist/prompts/chains/parameter-updater/guides/switch-node.js.map +1 -0
  100. package/dist/prompts/chains/parameter-updater/guides/system-message.d.ts +2 -0
  101. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/system-message.js +25 -4
  102. package/dist/prompts/chains/parameter-updater/guides/system-message.js.map +1 -0
  103. package/dist/prompts/chains/parameter-updater/guides/text-fields.d.ts +2 -0
  104. package/dist/{chains/prompts/parameter-types → prompts/chains/parameter-updater/guides}/text-fields.js +11 -2
  105. package/dist/prompts/chains/parameter-updater/guides/text-fields.js.map +1 -0
  106. package/dist/prompts/chains/parameter-updater/guides/tool-nodes.d.ts +2 -0
  107. package/dist/{chains/prompts/node-types → prompts/chains/parameter-updater/guides}/tool-nodes.js +5 -2
  108. package/dist/prompts/chains/parameter-updater/guides/tool-nodes.js.map +1 -0
  109. package/dist/prompts/chains/parameter-updater/index.d.ts +8 -0
  110. package/dist/prompts/chains/parameter-updater/index.js +35 -0
  111. package/dist/prompts/chains/parameter-updater/index.js.map +1 -0
  112. package/dist/prompts/chains/parameter-updater/instance-url.d.ts +1 -0
  113. package/dist/{chains/prompts → prompts/chains/parameter-updater}/instance-url.js +5 -6
  114. package/dist/prompts/chains/parameter-updater/instance-url.js.map +1 -0
  115. package/dist/{chains/prompts/base/core-instructions.d.ts → prompts/chains/parameter-updater/parameter-updater.prompt.d.ts} +3 -0
  116. package/dist/{chains/prompts/base/core-instructions.js → prompts/chains/parameter-updater/parameter-updater.prompt.js} +25 -2
  117. package/dist/prompts/chains/parameter-updater/parameter-updater.prompt.js.map +1 -0
  118. package/dist/prompts/chains/parameter-updater/registry.d.ts +4 -0
  119. package/dist/prompts/chains/parameter-updater/registry.js +65 -0
  120. package/dist/prompts/chains/parameter-updater/registry.js.map +1 -0
  121. package/dist/prompts/chains/parameter-updater/types.d.ts +18 -0
  122. package/dist/prompts/chains/parameter-updater/types.js +3 -0
  123. package/dist/prompts/chains/parameter-updater/types.js.map +1 -0
  124. package/dist/prompts/chains/parameter-updater/utils.d.ts +2 -0
  125. package/dist/prompts/chains/parameter-updater/utils.js +16 -0
  126. package/dist/prompts/chains/parameter-updater/utils.js.map +1 -0
  127. package/dist/prompts/chains/workflow-name.prompt.d.ts +2 -0
  128. package/dist/prompts/chains/workflow-name.prompt.js +11 -0
  129. package/dist/prompts/chains/workflow-name.prompt.js.map +1 -0
  130. package/dist/prompts/index.d.ts +12 -0
  131. package/dist/prompts/index.js +50 -0
  132. package/dist/prompts/index.js.map +1 -0
  133. package/dist/{tools/prompts/main-agent.prompt.js → prompts/legacy-agent.prompt.js} +14 -31
  134. package/dist/prompts/legacy-agent.prompt.js.map +1 -0
  135. package/dist/subgraphs/builder.subgraph.d.ts +2 -0
  136. package/dist/subgraphs/builder.subgraph.js +2 -163
  137. package/dist/subgraphs/builder.subgraph.js.map +1 -1
  138. package/dist/subgraphs/configurator.subgraph.d.ts +2 -0
  139. package/dist/subgraphs/configurator.subgraph.js +3 -84
  140. package/dist/subgraphs/configurator.subgraph.js.map +1 -1
  141. package/dist/subgraphs/discovery.subgraph.d.ts +18 -0
  142. package/dist/subgraphs/discovery.subgraph.js +28 -220
  143. package/dist/subgraphs/discovery.subgraph.js.map +1 -1
  144. package/dist/tools/add-node.tool.js +1 -1
  145. package/dist/tools/best-practices/chatbot.js +6 -7
  146. package/dist/tools/best-practices/chatbot.js.map +1 -1
  147. package/dist/tools/best-practices/content-generation.js +38 -2
  148. package/dist/tools/best-practices/content-generation.js.map +1 -1
  149. package/dist/tools/best-practices/data-transformation.js +17 -22
  150. package/dist/tools/best-practices/data-transformation.js.map +1 -1
  151. package/dist/tools/best-practices/index.js +2 -1
  152. package/dist/tools/best-practices/index.js.map +1 -1
  153. package/dist/types/config.d.ts +2 -0
  154. package/dist/types/coordination.d.ts +8 -2
  155. package/dist/types/coordination.js +4 -0
  156. package/dist/types/coordination.js.map +1 -1
  157. package/dist/types/discovery-types.d.ts +2 -0
  158. package/dist/utils/coordination-log.d.ts +2 -1
  159. package/dist/utils/coordination-log.js.map +1 -1
  160. package/dist/utils/state-modifier.d.ts +32 -0
  161. package/dist/utils/state-modifier.js +112 -0
  162. package/dist/utils/state-modifier.js.map +1 -0
  163. package/dist/utils/state-reducers.d.ts +4 -0
  164. package/dist/utils/state-reducers.js +25 -0
  165. package/dist/utils/state-reducers.js.map +1 -0
  166. package/dist/utils/stream-processor.js +2 -30
  167. package/dist/utils/stream-processor.js.map +1 -1
  168. package/dist/utils/subgraph-helpers.d.ts +3 -0
  169. package/dist/utils/subgraph-helpers.js +23 -0
  170. package/dist/utils/subgraph-helpers.js.map +1 -1
  171. package/dist/validation/checks/connections.js +9 -16
  172. package/dist/validation/checks/connections.js.map +1 -1
  173. package/dist/validation/checks/credentials.d.ts +3 -0
  174. package/dist/validation/checks/credentials.js +125 -0
  175. package/dist/validation/checks/credentials.js.map +1 -0
  176. package/dist/validation/checks/index.d.ts +1 -0
  177. package/dist/validation/checks/index.js +3 -1
  178. package/dist/validation/checks/index.js.map +1 -1
  179. package/dist/validation/checks/tools.js +0 -10
  180. package/dist/validation/checks/tools.js.map +1 -1
  181. package/dist/validation/programmatic.js +2 -0
  182. package/dist/validation/programmatic.js.map +1 -1
  183. package/dist/validation/types.d.ts +4 -1
  184. package/dist/validation/types.js +2 -0
  185. package/dist/validation/types.js.map +1 -1
  186. package/dist/validation/utils/node-type-map.d.ts +8 -0
  187. package/dist/validation/utils/node-type-map.js +50 -0
  188. package/dist/validation/utils/node-type-map.js.map +1 -0
  189. package/dist/workflow-builder-agent.d.ts +7 -3
  190. package/dist/workflow-builder-agent.js +24 -15
  191. package/dist/workflow-builder-agent.js.map +1 -1
  192. package/dist/workflow-state.js +3 -14
  193. package/dist/workflow-state.js.map +1 -1
  194. package/package.json +8 -7
  195. package/dist/chains/prompts/base/common-patterns.d.ts +0 -1
  196. package/dist/chains/prompts/base/common-patterns.js +0 -13
  197. package/dist/chains/prompts/base/common-patterns.js.map +0 -1
  198. package/dist/chains/prompts/base/core-instructions.js.map +0 -1
  199. package/dist/chains/prompts/base/expression-rules.d.ts +0 -1
  200. package/dist/chains/prompts/base/expression-rules.js +0 -15
  201. package/dist/chains/prompts/base/expression-rules.js.map +0 -1
  202. package/dist/chains/prompts/base/output-format.d.ts +0 -1
  203. package/dist/chains/prompts/base/output-format.js +0 -7
  204. package/dist/chains/prompts/base/output-format.js.map +0 -1
  205. package/dist/chains/prompts/examples/advanced/resource-locator-examples.d.ts +0 -1
  206. package/dist/chains/prompts/examples/advanced/resource-locator-examples.js.map +0 -1
  207. package/dist/chains/prompts/examples/advanced/tool-node-examples.d.ts +0 -1
  208. package/dist/chains/prompts/examples/advanced/tool-node-examples.js.map +0 -1
  209. package/dist/chains/prompts/examples/basic/if-node-examples.d.ts +0 -1
  210. package/dist/chains/prompts/examples/basic/if-node-examples.js.map +0 -1
  211. package/dist/chains/prompts/examples/basic/set-node-examples.d.ts +0 -1
  212. package/dist/chains/prompts/examples/basic/set-node-examples.js.map +0 -1
  213. package/dist/chains/prompts/examples/basic/simple-updates.d.ts +0 -1
  214. package/dist/chains/prompts/examples/basic/simple-updates.js.map +0 -1
  215. package/dist/chains/prompts/instance-url.d.ts +0 -1
  216. package/dist/chains/prompts/instance-url.js.map +0 -1
  217. package/dist/chains/prompts/node-types/http-request.d.ts +0 -1
  218. package/dist/chains/prompts/node-types/http-request.js.map +0 -1
  219. package/dist/chains/prompts/node-types/if-node.d.ts +0 -1
  220. package/dist/chains/prompts/node-types/if-node.js.map +0 -1
  221. package/dist/chains/prompts/node-types/set-node.d.ts +0 -1
  222. package/dist/chains/prompts/node-types/set-node.js.map +0 -1
  223. package/dist/chains/prompts/node-types/tool-nodes.d.ts +0 -1
  224. package/dist/chains/prompts/node-types/tool-nodes.js.map +0 -1
  225. package/dist/chains/prompts/parameter-types/resource-locator.d.ts +0 -1
  226. package/dist/chains/prompts/parameter-types/resource-locator.js.map +0 -1
  227. package/dist/chains/prompts/parameter-types/system-message.d.ts +0 -1
  228. package/dist/chains/prompts/parameter-types/system-message.js.map +0 -1
  229. package/dist/chains/prompts/parameter-types/text-fields.d.ts +0 -1
  230. package/dist/chains/prompts/parameter-types/text-fields.js.map +0 -1
  231. package/dist/chains/prompts/prompt-builder.d.ts +0 -15
  232. package/dist/chains/prompts/prompt-builder.js +0 -140
  233. package/dist/chains/prompts/prompt-builder.js.map +0 -1
  234. package/dist/chains/prompts/prompt-config.d.ts +0 -5
  235. package/dist/chains/prompts/prompt-config.js +0 -52
  236. package/dist/chains/prompts/prompt-config.js.map +0 -1
  237. package/dist/tools/prompts/main-agent.prompt.js.map +0 -1
  238. /package/dist/{tools/prompts/main-agent.prompt.d.ts → prompts/legacy-agent.prompt.d.ts} +0 -0
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateCredentials = validateCredentials;
4
+ const CREDENTIAL_FIELD_PATTERNS = [
5
+ /api[_-]?key/i,
6
+ /access[_-]?token/i,
7
+ /auth[_-]?token/i,
8
+ /bearer[_-]?token/i,
9
+ /secret[_-]?key/i,
10
+ /private[_-]?key/i,
11
+ /client[_-]?secret/i,
12
+ /password/i,
13
+ /credentials?/i,
14
+ /^token$/i,
15
+ /^secret$/i,
16
+ /^auth$/i,
17
+ ];
18
+ const SENSITIVE_HEADERS = new Set([
19
+ 'authorization',
20
+ 'x-api-key',
21
+ 'x-auth-token',
22
+ 'x-access-token',
23
+ 'api-key',
24
+ 'apikey',
25
+ ]);
26
+ function isCredentialFieldName(name) {
27
+ return CREDENTIAL_FIELD_PATTERNS.some((pattern) => pattern.test(name));
28
+ }
29
+ function isSensitiveHeader(headerName) {
30
+ return SENSITIVE_HEADERS.has(headerName.toLowerCase());
31
+ }
32
+ function isExpression(value) {
33
+ if (typeof value !== 'string')
34
+ return false;
35
+ return value.startsWith('={{') || value.startsWith('=');
36
+ }
37
+ function isParameterArray(arr) {
38
+ return (Array.isArray(arr) &&
39
+ arr.every((item) => typeof item === 'object' && item !== null && !Array.isArray(item)));
40
+ }
41
+ function isParametersContainer(value) {
42
+ if (typeof value !== 'object' || value === null)
43
+ return false;
44
+ const obj = value;
45
+ return !('parameters' in obj) || isParameterArray(obj.parameters);
46
+ }
47
+ function isAssignmentsContainer(value) {
48
+ if (typeof value !== 'object' || value === null)
49
+ return false;
50
+ const obj = value;
51
+ return !('assignments' in obj) || isParameterArray(obj.assignments);
52
+ }
53
+ function getHeaderParameters(parameters) {
54
+ const headerParams = parameters.headerParameters;
55
+ if (!isParametersContainer(headerParams))
56
+ return [];
57
+ return headerParams.parameters ?? [];
58
+ }
59
+ function getQueryParameters(parameters) {
60
+ const queryParams = parameters.queryParameters;
61
+ if (!isParametersContainer(queryParams))
62
+ return [];
63
+ return queryParams.parameters ?? [];
64
+ }
65
+ function getSetNodeAssignments(parameters) {
66
+ const assignments = parameters.assignments;
67
+ if (!isAssignmentsContainer(assignments))
68
+ return [];
69
+ return assignments.assignments ?? [];
70
+ }
71
+ function hasHardcodedCredentialValue(param) {
72
+ return Boolean(param.value) && !isExpression(param.value);
73
+ }
74
+ function validateHttpRequestNode(node, violations) {
75
+ const params = node.parameters ?? {};
76
+ for (const header of getHeaderParameters(params)) {
77
+ if (header.name && isSensitiveHeader(header.name) && hasHardcodedCredentialValue(header)) {
78
+ violations.push({
79
+ name: 'http-request-hardcoded-credentials',
80
+ type: 'major',
81
+ description: `HTTP Request node "${node.name}" has a hardcoded value for sensitive header "${header.name}". Use n8n credentials instead (e.g., httpHeaderAuth, httpBearerAuth).`,
82
+ pointsDeducted: 20,
83
+ });
84
+ }
85
+ }
86
+ for (const param of getQueryParameters(params)) {
87
+ if (param.name && isCredentialFieldName(param.name) && hasHardcodedCredentialValue(param)) {
88
+ violations.push({
89
+ name: 'http-request-hardcoded-credentials',
90
+ type: 'major',
91
+ description: `HTTP Request node "${node.name}" has a hardcoded value for credential-like query parameter "${param.name}". Use n8n credentials instead (e.g., httpQueryAuth).`,
92
+ pointsDeducted: 20,
93
+ });
94
+ }
95
+ }
96
+ }
97
+ function validateSetNode(node, violations) {
98
+ const params = node.parameters ?? {};
99
+ for (const assignment of getSetNodeAssignments(params)) {
100
+ if (assignment.name && isCredentialFieldName(assignment.name)) {
101
+ violations.push({
102
+ name: 'set-node-credential-field',
103
+ type: 'major',
104
+ description: `Set node "${node.name}" has a field named "${assignment.name}" which appears to be storing credentials. Credentials should be stored securely using n8n's credential system, not in workflow data.`,
105
+ pointsDeducted: 20,
106
+ });
107
+ }
108
+ }
109
+ }
110
+ function validateCredentials(workflow) {
111
+ const violations = [];
112
+ if (!workflow.nodes || workflow.nodes.length === 0) {
113
+ return violations;
114
+ }
115
+ for (const node of workflow.nodes) {
116
+ if (node.type === 'n8n-nodes-base.httpRequest') {
117
+ validateHttpRequestNode(node, violations);
118
+ }
119
+ else if (node.type === 'n8n-nodes-base.set') {
120
+ validateSetNode(node, violations);
121
+ }
122
+ }
123
+ return violations;
124
+ }
125
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../../src/validation/checks/credentials.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { validateAgentPrompt } from './agent-prompt';
2
2
  export { validateConnections } from './connections';
3
+ export { validateCredentials } from './credentials';
3
4
  export { validateFromAi } from './from-ai';
4
5
  export { validateNodes } from './nodes';
5
6
  export { validateTools } from './tools';
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateTrigger = exports.validateTools = exports.validateNodes = exports.validateFromAi = exports.validateConnections = exports.validateAgentPrompt = void 0;
3
+ exports.validateTrigger = exports.validateTools = exports.validateNodes = exports.validateFromAi = exports.validateCredentials = 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
+ var credentials_1 = require("./credentials");
9
+ Object.defineProperty(exports, "validateCredentials", { enumerable: true, get: function () { return credentials_1.validateCredentials; } });
8
10
  var from_ai_1 = require("./from-ai");
9
11
  Object.defineProperty(exports, "validateFromAi", { enumerable: true, get: function () { return from_ai_1.validateFromAi; } });
10
12
  var nodes_1 = require("./nodes");
@@ -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,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,qCAA0E;AAAjE,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,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"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateTools = validateTools;
4
- const expressions_1 = require("../utils/expressions");
5
4
  const is_tool_1 = require("../utils/is-tool");
6
5
  const toolsWithoutParameters = [
7
6
  '@n8n/n8n-nodes-langchain.toolCalculator',
@@ -29,15 +28,6 @@ function validateTools(workflow, nodeTypes) {
29
28
  description: `Tool node "${node.name}" has no parameters set.`,
30
29
  pointsDeducted: 20,
31
30
  });
32
- continue;
33
- }
34
- if (!(0, expressions_1.nodeParametersContainExpression)(node.parameters)) {
35
- violations.push({
36
- name: 'tool-node-static-parameters',
37
- type: 'major',
38
- description: `Tool node "${node.name}" has no expressions in its parameters. This likely means it is not using dynamic input.`,
39
- pointsDeducted: 20,
40
- });
41
31
  }
42
32
  }
43
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/validation/checks/tools.ts"],"names":[],"mappings":";;AAiBA,sCAuCC;AAnDD,sDAAuE;AACvE,8CAA0C;AAE1C,MAAM,sBAAsB,GAAG;IAC9B,yCAAyC;IACzC,0CAA0C;IAC1C,8CAA8C;IAC9C,wCAAwC;IACxC,wCAAwC;IACxC,sCAAsC;CACtC,CAAC;AAEF,SAAgB,aAAa,CAC5B,QAAwB,EACxB,SAAiC;IAEjC,MAAM,UAAU,GAAwC,EAAE,CAAC;IAE3D,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;QACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,SAAS;QACV,CAAC;QAED,IAAI,IAAA,gBAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,cAAc,IAAI,CAAC,IAAI,0BAA0B;oBAC9D,cAAc,EAAE,EAAE;iBAClB,CAAC,CAAC;gBACH,SAAS;YACV,CAAC;YAED,IAAI,CAAC,IAAA,6CAA+B,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,UAAU,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,cAAc,IAAI,CAAC,IAAI,0FAA0F;oBAC9H,cAAc,EAAE,EAAE;iBAClB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/validation/checks/tools.ts"],"names":[],"mappings":";;AAgBA,sCA6BC;AAxCD,8CAA0C;AAE1C,MAAM,sBAAsB,GAAG;IAC9B,yCAAyC;IACzC,0CAA0C;IAC1C,8CAA8C;IAC9C,wCAAwC;IACxC,wCAAwC;IACxC,sCAAsC;CACtC,CAAC;AAEF,SAAgB,aAAa,CAC5B,QAAwB,EACxB,SAAiC;IAEjC,MAAM,UAAU,GAAwC,EAAE,CAAC;IAE3D,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;QACnE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,SAAS;QACV,CAAC;QAED,IAAI,IAAA,gBAAM,EAAC,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnE,UAAU,CAAC,IAAI,CAAC;oBACf,IAAI,EAAE,6BAA6B;oBACnC,IAAI,EAAE,OAAO;oBACb,WAAW,EAAE,cAAc,IAAI,CAAC,IAAI,0BAA0B;oBAC9D,cAAc,EAAE,EAAE;iBAClB,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -10,6 +10,7 @@ function programmaticValidation(input, nodeTypes) {
10
10
  const agentPromptValidationResult = (0, checks_1.validateAgentPrompt)(generatedWorkflow);
11
11
  const toolsValidationResult = (0, checks_1.validateTools)(generatedWorkflow, nodeTypes);
12
12
  const fromAiValidationResult = (0, checks_1.validateFromAi)(generatedWorkflow, nodeTypes);
13
+ const credentialsValidationResult = (0, checks_1.validateCredentials)(generatedWorkflow);
13
14
  return {
14
15
  connections: connectionsValidationResult,
15
16
  nodes: nodesValidationResult,
@@ -17,6 +18,7 @@ function programmaticValidation(input, nodeTypes) {
17
18
  agentPrompt: agentPromptValidationResult,
18
19
  tools: toolsValidationResult,
19
20
  fromAi: fromAiValidationResult,
21
+ credentials: credentialsValidationResult,
20
22
  };
21
23
  }
22
24
  //# sourceMappingURL=programmatic.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"programmatic.js","sourceRoot":"","sources":["../../src/validation/programmatic.ts"],"names":[],"mappings":";;AAcA,wDAuBC;AAnCD,gDAQ6B;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;IAC5E,MAAM,2BAA2B,GAAG,IAAA,4BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAE3E,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;QAC9B,WAAW,EAAE,2BAA2B;KACxC,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", "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"];
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", "http-request-hardcoded-credentials", "set-node-credential-field"];
5
5
  export type ProgrammaticViolationName = (typeof PROGRAMMATIC_VIOLATION_NAMES)[number];
6
6
  export type TelemetryValidationStatus = Record<ProgrammaticViolationName, 'pass' | 'fail'>;
7
7
  export interface ProgrammaticViolation {
@@ -21,6 +21,7 @@ export interface ProgrammaticChecksResult {
21
21
  agentPrompt: ProgrammaticViolation[];
22
22
  tools: ProgrammaticViolation[];
23
23
  fromAi: ProgrammaticViolation[];
24
+ credentials: ProgrammaticViolation[];
24
25
  }
25
26
  export interface ProgrammaticEvaluationResult {
26
27
  overallScore: number;
@@ -30,6 +31,7 @@ export interface ProgrammaticEvaluationResult {
30
31
  agentPrompt: SingleEvaluatorResult;
31
32
  tools: SingleEvaluatorResult;
32
33
  fromAi: SingleEvaluatorResult;
34
+ credentials: SingleEvaluatorResult;
33
35
  similarity: SingleEvaluatorResult | null;
34
36
  }
35
37
  export interface ProgrammaticEvaluationInput {
@@ -37,6 +39,7 @@ export interface ProgrammaticEvaluationInput {
37
39
  userPrompt?: string;
38
40
  referenceWorkflow?: SimpleWorkflow;
39
41
  referenceWorkflows?: SimpleWorkflow[];
42
+ preset?: 'strict' | 'standard' | 'lenient';
40
43
  }
41
44
  export interface NodeResolvedConnectionTypesInfo {
42
45
  node: SimpleWorkflow['nodes'][0];
@@ -25,5 +25,7 @@ exports.PROGRAMMATIC_VIOLATION_NAMES = [
25
25
  'workflow-similarity-edge-delete',
26
26
  'workflow-similarity-edge-substitute',
27
27
  'workflow-similarity-evaluation-failed',
28
+ 'http-request-hardcoded-credentials',
29
+ 'set-node-credential-field',
28
30
  ];
29
31
  //# 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,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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/validation/types.ts"],"names":[],"mappings":";;;AAMa,QAAA,4BAA4B,GAAG;IAC3C,6BAA6B;IAE7B,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;IACvC,oCAAoC;IACpC,2BAA2B;CAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { INodeTypeDescription } from 'n8n-workflow';
2
+ import type { SimpleWorkflow } from '../../types';
3
+ export declare function createNodeTypeMap(nodeTypes: INodeTypeDescription[]): Map<string, INodeTypeDescription>;
4
+ export declare function getNodeTypeForNode(node: SimpleWorkflow['nodes'][number], nodeTypeMap: Map<string, INodeTypeDescription>, nodeTypesByName: Map<string, INodeTypeDescription>): INodeTypeDescription | undefined;
5
+ export declare function createNodeTypeMaps(nodeTypes: INodeTypeDescription[]): {
6
+ nodeTypeMap: Map<string, INodeTypeDescription>;
7
+ nodeTypesByName: Map<string, INodeTypeDescription>;
8
+ };
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createNodeTypeMap = createNodeTypeMap;
4
+ exports.getNodeTypeForNode = getNodeTypeForNode;
5
+ exports.createNodeTypeMaps = createNodeTypeMaps;
6
+ function getNodeTypeVersions(nodeType) {
7
+ const version = nodeType.version;
8
+ if (typeof version === 'number') {
9
+ return [version];
10
+ }
11
+ if (Array.isArray(version) && version.length > 0 && typeof version[0] === 'number') {
12
+ return version;
13
+ }
14
+ return [1];
15
+ }
16
+ function getDefaultVersion(nodeType) {
17
+ const defaultVersion = nodeType.defaultVersion;
18
+ if (typeof defaultVersion === 'number') {
19
+ return defaultVersion;
20
+ }
21
+ const versions = getNodeTypeVersions(nodeType);
22
+ return Math.max(...versions);
23
+ }
24
+ function createNodeTypeMap(nodeTypes) {
25
+ return new Map(nodeTypes.flatMap((nodeType) => {
26
+ const versions = getNodeTypeVersions(nodeType);
27
+ return versions.map((version) => [`${nodeType.name}-${version}`, nodeType]);
28
+ }));
29
+ }
30
+ function resolveNodeVersion(node, nodeTypesByName) {
31
+ if (node.typeVersion !== undefined) {
32
+ return node.typeVersion;
33
+ }
34
+ const nodeType = nodeTypesByName.get(node.type);
35
+ if (nodeType) {
36
+ return getDefaultVersion(nodeType);
37
+ }
38
+ return 1;
39
+ }
40
+ function getNodeTypeForNode(node, nodeTypeMap, nodeTypesByName) {
41
+ const version = resolveNodeVersion(node, nodeTypesByName);
42
+ return nodeTypeMap.get(`${node.type}-${version}`);
43
+ }
44
+ function createNodeTypeMaps(nodeTypes) {
45
+ const nodeTypesArray = Array.from(nodeTypes);
46
+ const nodeTypeMap = createNodeTypeMap(nodeTypesArray);
47
+ const nodeTypesByName = new Map(nodeTypesArray.map((type) => [type.name, type]));
48
+ return { nodeTypeMap, nodeTypesByName };
49
+ }
50
+ //# sourceMappingURL=node-type-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node-type-map.js","sourceRoot":"","sources":["../../../src/validation/utils/node-type-map.ts"],"names":[],"mappings":";;AA+CA,8CASC;AA4BD,gDAOC;AAQD,gDAYC;AArGD,SAAS,mBAAmB,CAAC,QAA8B;IAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpF,OAAO,OAAO,CAAC;IAChB,CAAC;IAGD,OAAO,CAAC,CAAC,CAAC,CAAC;AACZ,CAAC;AAOD,SAAS,iBAAiB,CAAC,QAA8B;IACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;IAE/C,IAAI,OAAO,cAAc,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAQD,SAAgB,iBAAiB,CAChC,SAAiC;IAEjC,OAAO,IAAI,GAAG,CACb,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC9B,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,IAAI,IAAI,OAAO,EAAE,EAAE,QAAQ,CAAU,CAAC,CAAC;IACtF,CAAC,CAAC,CACF,CAAC;AACH,CAAC;AAQD,SAAS,kBAAkB,CAC1B,IAAqC,EACrC,eAAkD;IAElD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,CAAC,CAAC;AACV,CAAC;AAMD,SAAgB,kBAAkB,CACjC,IAAqC,EACrC,WAA8C,EAC9C,eAAkD;IAElD,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IAC1D,OAAO,WAAW,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC;AACnD,CAAC;AAQD,SAAgB,kBAAkB,CAAC,SAAiC;IAKnE,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACtD,MAAM,eAAe,GAAG,IAAI,GAAG,CAC9B,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAU,CAAC,CACxD,CAAC;IAEF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC;AACzC,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { Callbacks } from '@langchain/core/callbacks/manager';
1
2
  import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
2
3
  import type { LangChainTracer } from '@langchain/core/tracers/tracer_langchain';
3
4
  import type { MemorySaver, StateSnapshot } from '@langchain/langgraph';
@@ -18,7 +19,8 @@ export interface WorkflowBuilderAgentConfig {
18
19
  autoCompactThresholdTokens?: number;
19
20
  instanceUrl?: string;
20
21
  onGenerationSuccess?: () => Promise<void>;
21
- enableMultiAgent?: boolean;
22
+ runMetadata?: Record<string, unknown>;
23
+ featureFlags?: BuilderFeatureFlags;
22
24
  }
23
25
  export interface ExpressionValue {
24
26
  expression: string;
@@ -27,8 +29,10 @@ export interface ExpressionValue {
27
29
  }
28
30
  export interface BuilderFeatureFlags {
29
31
  templateExamples?: boolean;
32
+ multiAgent?: boolean;
30
33
  }
31
34
  export interface ChatPayload {
35
+ id: string;
32
36
  message: string;
33
37
  workflowContext?: {
34
38
  executionSchema?: NodeExecutionSchema[];
@@ -48,7 +52,7 @@ export declare class WorkflowBuilderAgent {
48
52
  private autoCompactThresholdTokens;
49
53
  private instanceUrl?;
50
54
  private onGenerationSuccess?;
51
- private enableMultiAgent;
55
+ private runMetadata?;
52
56
  constructor(config: WorkflowBuilderAgentConfig);
53
57
  private getBuilderTools;
54
58
  private createMultiAgentGraph;
@@ -56,7 +60,7 @@ export declare class WorkflowBuilderAgent {
56
60
  private createWorkflow;
57
61
  getState(workflowId?: string, userId?: string): Promise<TypedStateSnapshot>;
58
62
  private getDefaultWorkflowJSON;
59
- chat(payload: ChatPayload, userId?: string, abortSignal?: AbortSignal): AsyncGenerator<import("./types").StreamOutput, void, unknown>;
63
+ chat(payload: ChatPayload, userId?: string, abortSignal?: AbortSignal, externalCallbacks?: Callbacks): AsyncGenerator<import("./types").StreamOutput, void, unknown>;
60
64
  private validateMessageLength;
61
65
  private setupAgentAndConfigs;
62
66
  private createAgentStream;
@@ -6,6 +6,7 @@ const messages_1 = require("@langchain/core/messages");
6
6
  const langgraph_1 = require("@langchain/langgraph");
7
7
  const n8n_workflow_1 = require("n8n-workflow");
8
8
  const constants_1 = require("./constants");
9
+ const legacy_agent_prompt_1 = require("./prompts/legacy-agent.prompt");
9
10
  const trim_workflow_context_1 = require("./utils/trim-workflow-context");
10
11
  const conversation_compact_1 = require("./chains/conversation-compact");
11
12
  const workflow_name_1 = require("./chains/workflow-name");
@@ -13,7 +14,6 @@ const errors_1 = require("./errors");
13
14
  const multi_agent_workflow_subgraphs_1 = require("./multi-agent-workflow-subgraphs");
14
15
  const session_manager_service_1 = require("./session-manager.service");
15
16
  const builder_tools_1 = require("./tools/builder-tools");
16
- const main_agent_prompt_1 = require("./tools/prompts/main-agent.prompt");
17
17
  const helpers_1 = require("./utils/cache-control/helpers");
18
18
  const cleanup_dangling_tool_call_messages_1 = require("./utils/cleanup-dangling-tool-call-messages");
19
19
  const operations_processor_1 = require("./utils/operations-processor");
@@ -46,6 +46,7 @@ function shouldModifyState(state, autoCompactThresholdTokens) {
46
46
  }
47
47
  return 'agent';
48
48
  }
49
+ const PROMPT_IS_TOO_LARGE_ERROR = 'The current conversation and workflow state is too large to process. Try to simplify your workflow by breaking it into smaller parts.';
49
50
  function getWorkflowContext(state) {
50
51
  const trimmedWorkflow = (0, trim_workflow_context_1.trimWorkflowJSON)(state.workflowJSON);
51
52
  const executionData = state.workflowContext?.executionData ?? {};
@@ -80,7 +81,7 @@ class WorkflowBuilderAgent {
80
81
  autoCompactThresholdTokens;
81
82
  instanceUrl;
82
83
  onGenerationSuccess;
83
- enableMultiAgent;
84
+ runMetadata;
84
85
  constructor(config) {
85
86
  this.parsedNodeTypes = config.parsedNodeTypes;
86
87
  this.llmSimpleTask = config.llmSimpleTask;
@@ -92,7 +93,7 @@ class WorkflowBuilderAgent {
92
93
  config.autoCompactThresholdTokens ?? constants_1.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS;
93
94
  this.instanceUrl = config.instanceUrl;
94
95
  this.onGenerationSuccess = config.onGenerationSuccess;
95
- this.enableMultiAgent = config.enableMultiAgent ?? false;
96
+ this.runMetadata = config.runMetadata;
96
97
  }
97
98
  getBuilderTools(featureFlags) {
98
99
  return (0, builder_tools_1.getBuilderTools)({
@@ -103,7 +104,7 @@ class WorkflowBuilderAgent {
103
104
  featureFlags,
104
105
  });
105
106
  }
106
- createMultiAgentGraph() {
107
+ createMultiAgentGraph(featureFlags) {
107
108
  return (0, multi_agent_workflow_subgraphs_1.createMultiAgentWorkflowWithSubgraphs)({
108
109
  parsedNodeTypes: this.parsedNodeTypes,
109
110
  llmSimpleTask: this.llmSimpleTask,
@@ -111,13 +112,14 @@ class WorkflowBuilderAgent {
111
112
  logger: this.logger,
112
113
  instanceUrl: this.instanceUrl,
113
114
  checkpointer: this.checkpointer,
115
+ featureFlags,
114
116
  });
115
117
  }
116
118
  createLegacyWorkflow(featureFlags) {
117
119
  const builderTools = this.getBuilderTools(featureFlags);
118
120
  const tools = builderTools.map((bt) => bt.tool);
119
121
  const toolMap = new Map(tools.map((tool) => [tool.name, tool]));
120
- const mainAgentPrompt = (0, main_agent_prompt_1.createMainAgentPrompt)({
122
+ const mainAgentPrompt = (0, legacy_agent_prompt_1.createMainAgentPrompt)({
121
123
  includeExamplesPhase: featureFlags?.templateExamples === true,
122
124
  });
123
125
  const callModel = async (state) => {
@@ -145,7 +147,7 @@ class WorkflowBuilderAgent {
145
147
  (0, helpers_1.applyCacheControlMarkers)(prompt.messages, userToolIndices, workflowContext);
146
148
  const estimatedTokens = (0, token_usage_1.estimateTokenCountFromMessages)(prompt.messages);
147
149
  if (estimatedTokens > constants_1.MAX_INPUT_TOKENS) {
148
- throw new errors_1.WorkflowStateError('The current conversation and workflow state is too large to process. Try to simplify your workflow by breaking it into smaller parts.');
150
+ throw new errors_1.WorkflowStateError(PROMPT_IS_TOO_LARGE_ERROR);
149
151
  }
150
152
  const response = await this.llmSimpleTask.bindTools(tools).invoke(prompt);
151
153
  return { messages: [response] };
@@ -155,7 +157,7 @@ class WorkflowBuilderAgent {
155
157
  };
156
158
  const shouldContinue = ({ messages }) => {
157
159
  const lastMessage = messages[messages.length - 1];
158
- if (!(lastMessage instanceof messages_1.AIMessage)) {
160
+ if (!lastMessage || !(0, messages_1.isAIMessage)(lastMessage)) {
159
161
  throw new errors_1.WorkflowStateError('Expected last message to be generated by the AI agent');
160
162
  }
161
163
  if (lastMessage.tool_calls?.length) {
@@ -257,9 +259,10 @@ class WorkflowBuilderAgent {
257
259
  return workflow.compile({ checkpointer: this.checkpointer });
258
260
  }
259
261
  createWorkflow(featureFlags) {
260
- if (this.enableMultiAgent) {
262
+ const useMultiAgent = featureFlags?.multiAgent ?? false;
263
+ if (useMultiAgent) {
261
264
  this.logger?.debug('Using multi-agent supervisor architecture');
262
- return this.createMultiAgentGraph();
265
+ return this.createMultiAgentGraph(featureFlags);
263
266
  }
264
267
  this.logger?.debug('Using legacy single-agent architecture');
265
268
  return this.createLegacyWorkflow(featureFlags);
@@ -277,9 +280,9 @@ class WorkflowBuilderAgent {
277
280
  connections: {},
278
281
  });
279
282
  }
280
- async *chat(payload, userId, abortSignal) {
283
+ async *chat(payload, userId, abortSignal, externalCallbacks) {
281
284
  this.validateMessageLength(payload.message);
282
- const { agent, threadConfig, streamConfig } = this.setupAgentAndConfigs(payload, userId, abortSignal);
285
+ const { agent, threadConfig, streamConfig } = this.setupAgentAndConfigs(payload, userId, abortSignal, externalCallbacks);
283
286
  try {
284
287
  const stream = await this.createAgentStream(payload, streamConfig, agent);
285
288
  yield* this.processAgentStream(stream, agent, threadConfig);
@@ -297,7 +300,7 @@ class WorkflowBuilderAgent {
297
300
  throw new errors_1.ValidationError(`Message exceeds maximum length of ${constants_1.MAX_AI_BUILDER_PROMPT_LENGTH} characters`);
298
301
  }
299
302
  }
300
- setupAgentAndConfigs(payload, userId, abortSignal) {
303
+ setupAgentAndConfigs(payload, userId, abortSignal, externalCallbacks) {
301
304
  const agent = this.createWorkflow(payload.featureFlags);
302
305
  const workflowId = payload.workflowContext?.currentWorkflow?.id;
303
306
  const threadId = session_manager_service_1.SessionManagerService.generateThreadId(workflowId, userId);
@@ -309,10 +312,13 @@ class WorkflowBuilderAgent {
309
312
  const streamConfig = {
310
313
  ...threadConfig,
311
314
  streamMode: ['updates', 'custom'],
312
- recursionLimit: 50,
315
+ recursionLimit: payload.featureFlags?.multiAgent
316
+ ? constants_1.MAX_MULTI_AGENT_STREAM_ITERATIONS
317
+ : constants_1.MAX_SINGLE_AGENT_STREAM_ITERATIONS,
313
318
  signal: abortSignal,
314
- callbacks: this.tracer ? [this.tracer] : undefined,
315
- subgraphs: this.enableMultiAgent,
319
+ callbacks: externalCallbacks ?? (this.tracer ? [this.tracer] : undefined),
320
+ metadata: this.runMetadata,
321
+ subgraphs: payload.featureFlags?.multiAgent ?? false,
316
322
  };
317
323
  return { agent, threadConfig, streamConfig };
318
324
  }
@@ -374,6 +380,9 @@ class WorkflowBuilderAgent {
374
380
  errorDetails.type === 'invalid_request_error' &&
375
381
  'message' in errorDetails &&
376
382
  typeof errorDetails.message === 'string') {
383
+ if (errorDetails.message.toLocaleLowerCase().includes('prompt is too long')) {
384
+ return PROMPT_IS_TOO_LARGE_ERROR;
385
+ }
377
386
  return errorDetails.message;
378
387
  }
379
388
  }
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.WorkflowState = void 0;
4
4
  exports.createTrimMessagesReducer = createTrimMessagesReducer;
5
5
  const messages_1 = require("@langchain/core/messages");
6
6
  const langgraph_1 = require("@langchain/langgraph");
7
+ const state_reducers_1 = require("./utils/state-reducers");
7
8
  function operationsReducer(current, update) {
8
9
  if (update === null) {
9
10
  return [];
@@ -67,23 +68,11 @@ exports.WorkflowState = langgraph_1.Annotation.Root({
67
68
  default: () => 'EMPTY',
68
69
  }),
69
70
  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
- },
71
+ reducer: state_reducers_1.nodeConfigurationsReducer,
83
72
  default: () => ({}),
84
73
  }),
85
74
  templateIds: (0, langgraph_1.Annotation)({
86
- reducer: (current, update) => (update && update.length > 0 ? [...current, ...update] : current),
75
+ reducer: state_reducers_1.appendArrayReducer,
87
76
  default: () => [],
88
77
  }),
89
78
  });