@n8n/ai-workflow-builder 1.8.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (224) hide show
  1. package/dist/agents/planner.agent.d.ts +1 -0
  2. package/dist/agents/planner.agent.js +1 -0
  3. package/dist/agents/planner.agent.js.map +1 -1
  4. package/dist/agents/responder.agent.d.ts +16 -6
  5. package/dist/agents/responder.agent.js +19 -8
  6. package/dist/agents/responder.agent.js.map +1 -1
  7. package/dist/agents/supervisor.agent.d.ts +8 -5
  8. package/dist/agents/supervisor.agent.js +37 -21
  9. package/dist/agents/supervisor.agent.js.map +1 -1
  10. package/dist/ai-workflow-builder-agent.service.d.ts +12 -4
  11. package/dist/ai-workflow-builder-agent.service.js +102 -51
  12. package/dist/ai-workflow-builder-agent.service.js.map +1 -1
  13. package/dist/assistant/assistant-handler.d.ts +23 -0
  14. package/dist/assistant/assistant-handler.js +265 -0
  15. package/dist/assistant/assistant-handler.js.map +1 -0
  16. package/dist/assistant/index.d.ts +2 -0
  17. package/dist/assistant/index.js +6 -0
  18. package/dist/assistant/index.js.map +1 -0
  19. package/dist/assistant/types.d.ts +83 -0
  20. package/dist/assistant/types.js +3 -0
  21. package/dist/assistant/types.js.map +1 -0
  22. package/dist/build.tsbuildinfo +1 -1
  23. package/dist/code-builder/code-builder-agent.d.ts +31 -0
  24. package/dist/code-builder/code-builder-agent.js +463 -0
  25. package/dist/code-builder/code-builder-agent.js.map +1 -0
  26. package/dist/code-builder/code-workflow-builder.d.ts +34 -0
  27. package/dist/code-builder/code-workflow-builder.js +80 -0
  28. package/dist/code-builder/code-workflow-builder.js.map +1 -0
  29. package/dist/code-builder/constants.d.ts +62 -0
  30. package/dist/code-builder/constants.js +83 -0
  31. package/dist/code-builder/constants.js.map +1 -0
  32. package/dist/code-builder/engines/code-builder-node-search-engine.d.ts +19 -0
  33. package/dist/code-builder/engines/code-builder-node-search-engine.js +236 -0
  34. package/dist/code-builder/engines/code-builder-node-search-engine.js.map +1 -0
  35. package/dist/code-builder/handlers/agent-iteration-handler.d.ts +36 -0
  36. package/dist/code-builder/handlers/agent-iteration-handler.js +78 -0
  37. package/dist/code-builder/handlers/agent-iteration-handler.js.map +1 -0
  38. package/dist/code-builder/handlers/auto-finalize-handler.d.ts +29 -0
  39. package/dist/code-builder/handlers/auto-finalize-handler.js +50 -0
  40. package/dist/code-builder/handlers/auto-finalize-handler.js.map +1 -0
  41. package/dist/code-builder/handlers/chat-setup-handler.d.ts +57 -0
  42. package/dist/code-builder/handlers/chat-setup-handler.js +147 -0
  43. package/dist/code-builder/handlers/chat-setup-handler.js.map +1 -0
  44. package/dist/code-builder/handlers/final-response-handler.d.ts +29 -0
  45. package/dist/code-builder/handlers/final-response-handler.js +75 -0
  46. package/dist/code-builder/handlers/final-response-handler.js.map +1 -0
  47. package/dist/code-builder/handlers/parse-validate-handler.d.ts +17 -0
  48. package/dist/code-builder/handlers/parse-validate-handler.js +116 -0
  49. package/dist/code-builder/handlers/parse-validate-handler.js.map +1 -0
  50. package/dist/code-builder/handlers/session-chat-handler.d.ts +30 -0
  51. package/dist/code-builder/handlers/session-chat-handler.js +96 -0
  52. package/dist/code-builder/handlers/session-chat-handler.js.map +1 -0
  53. package/dist/code-builder/handlers/text-editor-handler.d.ts +19 -0
  54. package/dist/code-builder/handlers/text-editor-handler.js +230 -0
  55. package/dist/code-builder/handlers/text-editor-handler.js.map +1 -0
  56. package/dist/code-builder/handlers/text-editor-tool-handler.d.ts +44 -0
  57. package/dist/code-builder/handlers/text-editor-tool-handler.js +145 -0
  58. package/dist/code-builder/handlers/text-editor-tool-handler.js.map +1 -0
  59. package/dist/code-builder/handlers/text-editor.types.d.ts +68 -0
  60. package/dist/code-builder/handlers/text-editor.types.js +68 -0
  61. package/dist/code-builder/handlers/text-editor.types.js.map +1 -0
  62. package/dist/code-builder/handlers/tool-dispatch-handler.d.ts +47 -0
  63. package/dist/code-builder/handlers/tool-dispatch-handler.js +287 -0
  64. package/dist/code-builder/handlers/tool-dispatch-handler.js.map +1 -0
  65. package/dist/code-builder/handlers/validate-tool-handler.d.ts +33 -0
  66. package/dist/code-builder/handlers/validate-tool-handler.js +101 -0
  67. package/dist/code-builder/handlers/validate-tool-handler.js.map +1 -0
  68. package/dist/code-builder/index.d.ts +5 -0
  69. package/dist/code-builder/index.js +10 -0
  70. package/dist/code-builder/index.js.map +1 -0
  71. package/dist/code-builder/prompts/index.d.ts +22 -0
  72. package/dist/code-builder/prompts/index.js +830 -0
  73. package/dist/code-builder/prompts/index.js.map +1 -0
  74. package/dist/code-builder/state/warning-tracker.d.ts +9 -0
  75. package/dist/code-builder/state/warning-tracker.js +28 -0
  76. package/dist/code-builder/state/warning-tracker.js.map +1 -0
  77. package/dist/code-builder/tools/ask-assistant.tool.d.ts +12 -0
  78. package/dist/code-builder/tools/ask-assistant.tool.js +16 -0
  79. package/dist/code-builder/tools/ask-assistant.tool.js.map +1 -0
  80. package/dist/code-builder/tools/build-workflow.tool.d.ts +12 -0
  81. package/dist/code-builder/tools/build-workflow.tool.js +16 -0
  82. package/dist/code-builder/tools/build-workflow.tool.js.map +1 -0
  83. package/dist/code-builder/tools/code-builder-get.tool.d.ts +61 -0
  84. package/dist/code-builder/tools/code-builder-get.tool.js +399 -0
  85. package/dist/code-builder/tools/code-builder-get.tool.js.map +1 -0
  86. package/dist/code-builder/tools/code-builder-search.tool.d.ts +15 -0
  87. package/dist/code-builder/tools/code-builder-search.tool.js +338 -0
  88. package/dist/code-builder/tools/code-builder-search.tool.js.map +1 -0
  89. package/dist/code-builder/tools/get-suggested-nodes.tool.d.ts +14 -0
  90. package/dist/code-builder/tools/get-suggested-nodes.tool.js +89 -0
  91. package/dist/code-builder/tools/get-suggested-nodes.tool.js.map +1 -0
  92. package/dist/code-builder/tools/suggested-nodes-data.d.ts +11 -0
  93. package/dist/code-builder/tools/suggested-nodes-data.js +236 -0
  94. package/dist/code-builder/tools/suggested-nodes-data.js.map +1 -0
  95. package/dist/code-builder/triage.agent.d.ts +48 -0
  96. package/dist/code-builder/triage.agent.js +253 -0
  97. package/dist/code-builder/triage.agent.js.map +1 -0
  98. package/dist/code-builder/types.d.ts +51 -0
  99. package/dist/code-builder/types.js +3 -0
  100. package/dist/code-builder/types.js.map +1 -0
  101. package/dist/code-builder/utils/code-builder-session.d.ts +25 -0
  102. package/dist/code-builder/utils/code-builder-session.js +186 -0
  103. package/dist/code-builder/utils/code-builder-session.js.map +1 -0
  104. package/dist/code-builder/utils/content-extractors.d.ts +5 -0
  105. package/dist/code-builder/utils/content-extractors.js +88 -0
  106. package/dist/code-builder/utils/content-extractors.js.map +1 -0
  107. package/dist/code-builder/utils/discriminator-utils.d.ts +22 -0
  108. package/dist/code-builder/utils/discriminator-utils.js +85 -0
  109. package/dist/code-builder/utils/discriminator-utils.js.map +1 -0
  110. package/dist/code-builder/utils/extract-code.d.ts +3 -0
  111. package/dist/code-builder/utils/extract-code.js +23 -0
  112. package/dist/code-builder/utils/extract-code.js.map +1 -0
  113. package/dist/code-builder/utils/format-warnings.d.ts +3 -0
  114. package/dist/code-builder/utils/format-warnings.js +12 -0
  115. package/dist/code-builder/utils/format-warnings.js.map +1 -0
  116. package/dist/code-builder/utils/llm-response-processor.d.ts +15 -0
  117. package/dist/code-builder/utils/llm-response-processor.js +38 -0
  118. package/dist/code-builder/utils/llm-response-processor.js.map +1 -0
  119. package/dist/code-builder/utils/node-diff.d.ts +13 -0
  120. package/dist/code-builder/utils/node-diff.js +22 -0
  121. package/dist/code-builder/utils/node-diff.js.map +1 -0
  122. package/dist/code-builder/utils/node-type-parser.d.ts +18 -0
  123. package/dist/code-builder/utils/node-type-parser.js +67 -0
  124. package/dist/code-builder/utils/node-type-parser.js.map +1 -0
  125. package/dist/constants.d.ts +3 -0
  126. package/dist/constants.js +4 -1
  127. package/dist/constants.js.map +1 -1
  128. package/dist/index.d.ts +5 -1
  129. package/dist/index.js +8 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/llm-config.js +1 -1
  132. package/dist/llm-config.js.map +1 -1
  133. package/dist/multi-agent-workflow-subgraphs.d.ts +103 -12
  134. package/dist/multi-agent-workflow-subgraphs.js +158 -51
  135. package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
  136. package/dist/parent-graph-state.d.ts +9 -0
  137. package/dist/parent-graph-state.js +8 -0
  138. package/dist/parent-graph-state.js.map +1 -1
  139. package/dist/prompts/agents/builder.prompt.d.ts +1 -0
  140. package/dist/prompts/agents/builder.prompt.js +86 -4
  141. package/dist/prompts/agents/builder.prompt.js.map +1 -1
  142. package/dist/prompts/agents/planner.prompt.d.ts +1 -0
  143. package/dist/prompts/agents/planner.prompt.js +2 -1
  144. package/dist/prompts/agents/planner.prompt.js.map +1 -1
  145. package/dist/prompts/agents/responder.prompt.d.ts +4 -1
  146. package/dist/prompts/agents/responder.prompt.js +72 -1
  147. package/dist/prompts/agents/responder.prompt.js.map +1 -1
  148. package/dist/prompts/agents/supervisor.prompt.d.ts +3 -1
  149. package/dist/prompts/agents/supervisor.prompt.js +133 -13
  150. package/dist/prompts/agents/supervisor.prompt.js.map +1 -1
  151. package/dist/prompts/builder/prompt-builder.js +13 -5
  152. package/dist/prompts/builder/prompt-builder.js.map +1 -1
  153. package/dist/prompts/builder/types.d.ts +2 -1
  154. package/dist/prompts/shared/deictic-resolution.d.ts +14 -0
  155. package/dist/prompts/shared/deictic-resolution.js +142 -0
  156. package/dist/prompts/shared/deictic-resolution.js.map +1 -0
  157. package/dist/session-manager.service.d.ts +15 -5
  158. package/dist/session-manager.service.js +265 -74
  159. package/dist/session-manager.service.js.map +1 -1
  160. package/dist/subgraphs/builder.subgraph.d.ts +29 -0
  161. package/dist/subgraphs/builder.subgraph.js +32 -6
  162. package/dist/subgraphs/builder.subgraph.js.map +1 -1
  163. package/dist/subgraphs/discovery.subgraph.d.ts +8 -0
  164. package/dist/subgraphs/discovery.subgraph.js +23 -0
  165. package/dist/subgraphs/discovery.subgraph.js.map +1 -1
  166. package/dist/tools/add-node.tool.d.ts +4 -4
  167. package/dist/tools/builder-tools.js +6 -1
  168. package/dist/tools/builder-tools.js.map +1 -1
  169. package/dist/tools/introspect.tool.d.ts +34 -0
  170. package/dist/tools/introspect.tool.js +125 -0
  171. package/dist/tools/introspect.tool.js.map +1 -0
  172. package/dist/tools/submit-questions.tool.d.ts +8 -8
  173. package/dist/types/coordination.d.ts +8 -2
  174. package/dist/types/coordination.js +5 -0
  175. package/dist/types/coordination.js.map +1 -1
  176. package/dist/types/index.d.ts +2 -0
  177. package/dist/types/index.js +1 -0
  178. package/dist/types/index.js.map +1 -1
  179. package/dist/types/session-storage.d.ts +11 -0
  180. package/dist/types/session-storage.js +3 -0
  181. package/dist/types/session-storage.js.map +1 -0
  182. package/dist/types/streaming.d.ts +20 -1
  183. package/dist/utils/cache-control/helpers.d.ts +6 -0
  184. package/dist/utils/cache-control/helpers.js +42 -22
  185. package/dist/utils/cache-control/helpers.js.map +1 -1
  186. package/dist/utils/cache-control/index.d.ts +1 -1
  187. package/dist/utils/cache-control/index.js +3 -1
  188. package/dist/utils/cache-control/index.js.map +1 -1
  189. package/dist/utils/context-builders.d.ts +2 -0
  190. package/dist/utils/context-builders.js +57 -0
  191. package/dist/utils/context-builders.js.map +1 -1
  192. package/dist/utils/coordination-log.d.ts +5 -2
  193. package/dist/utils/coordination-log.js +14 -0
  194. package/dist/utils/coordination-log.js.map +1 -1
  195. package/dist/utils/error-sanitizer.d.ts +1 -0
  196. package/dist/utils/error-sanitizer.js +39 -0
  197. package/dist/utils/error-sanitizer.js.map +1 -0
  198. package/dist/utils/resource-operation-extractor.d.ts +12 -2
  199. package/dist/utils/resource-operation-extractor.js +12 -4
  200. package/dist/utils/resource-operation-extractor.js.map +1 -1
  201. package/dist/utils/state-modifier.d.ts +1 -1
  202. package/dist/utils/state-modifier.js +15 -19
  203. package/dist/utils/state-modifier.js.map +1 -1
  204. package/dist/utils/stream-processor.js +29 -8
  205. package/dist/utils/stream-processor.js.map +1 -1
  206. package/dist/utils/subgraph-helpers.d.ts +2 -0
  207. package/dist/utils/subgraph-helpers.js +34 -1
  208. package/dist/utils/subgraph-helpers.js.map +1 -1
  209. package/dist/utils/thread-id.d.ts +1 -0
  210. package/dist/utils/thread-id.js +10 -0
  211. package/dist/utils/thread-id.js.map +1 -0
  212. package/dist/utils/token-usage-tracking-handler.d.ts +14 -0
  213. package/dist/utils/token-usage-tracking-handler.js +55 -0
  214. package/dist/utils/token-usage-tracking-handler.js.map +1 -0
  215. package/dist/validation/types.d.ts +3 -1
  216. package/dist/validation/types.js +11 -0
  217. package/dist/validation/types.js.map +1 -1
  218. package/dist/validation/utils/expressions.js +1 -1
  219. package/dist/validation/utils/expressions.js.map +1 -1
  220. package/dist/workflow-builder-agent.d.ts +29 -4
  221. package/dist/workflow-builder-agent.js +162 -5
  222. package/dist/workflow-builder-agent.js.map +1 -1
  223. package/dist/workflow-state.d.ts +6 -0
  224. package/package.json +10 -6
@@ -5,9 +5,14 @@ const messages_1 = require("@langchain/core/messages");
5
5
  const langgraph_1 = require("@langchain/langgraph");
6
6
  const n8n_workflow_1 = require("n8n-workflow");
7
7
  const constants_1 = require("./constants");
8
+ const planner_agent_1 = require("./agents/planner.agent");
9
+ const code_builder_1 = require("./code-builder");
10
+ const triage_agent_1 = require("./code-builder/triage.agent");
11
+ const code_builder_session_1 = require("./code-builder/utils/code-builder-session");
8
12
  const errors_1 = require("./errors");
9
13
  const multi_agent_workflow_subgraphs_1 = require("./multi-agent-workflow-subgraphs");
10
14
  const session_manager_service_1 = require("./session-manager.service");
15
+ const error_sanitizer_1 = require("./utils/error-sanitizer");
11
16
  const stream_processor_1 = require("./utils/stream-processor");
12
17
  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.';
13
18
  const WORKFLOW_TOO_COMPLEX_ERROR = 'Workflow generation stopped: The AI reached the maximum number of steps while building your workflow. This usually means the workflow design became too complex or got stuck in a loop while trying to create the nodes and connections.';
@@ -20,7 +25,10 @@ class WorkflowBuilderAgent {
20
25
  instanceUrl;
21
26
  runMetadata;
22
27
  onGenerationSuccess;
28
+ nodeDefinitionDirs;
23
29
  resourceLocatorCallback;
30
+ onTelemetryEvent;
31
+ assistantHandler;
24
32
  sessionFeatureFlags;
25
33
  constructor(config) {
26
34
  this.parsedNodeTypes = config.parsedNodeTypes;
@@ -31,7 +39,10 @@ class WorkflowBuilderAgent {
31
39
  this.instanceUrl = config.instanceUrl;
32
40
  this.runMetadata = config.runMetadata;
33
41
  this.onGenerationSuccess = config.onGenerationSuccess;
42
+ this.nodeDefinitionDirs = config.nodeDefinitionDirs;
34
43
  this.resourceLocatorCallback = config.resourceLocatorCallback;
44
+ this.onTelemetryEvent = config.onTelemetryEvent;
45
+ this.assistantHandler = config.assistantHandler;
35
46
  }
36
47
  createWorkflow(featureFlags) {
37
48
  return (0, multi_agent_workflow_subgraphs_1.createMultiAgentWorkflowWithSubgraphs)({
@@ -43,6 +54,7 @@ class WorkflowBuilderAgent {
43
54
  featureFlags,
44
55
  onGenerationSuccess: this.onGenerationSuccess,
45
56
  resourceLocatorCallback: this.resourceLocatorCallback,
57
+ assistantHandler: this.assistantHandler,
46
58
  });
47
59
  }
48
60
  async getState(workflowId, userId) {
@@ -58,11 +70,144 @@ class WorkflowBuilderAgent {
58
70
  connections: {},
59
71
  });
60
72
  }
61
- async *chat(payload, userId, abortSignal, externalCallbacks) {
73
+ async *chat(payload, userId, abortSignal, externalCallbacks, historicalMessages) {
62
74
  this.validateMessageLength(payload.message);
75
+ const useCodeWorkflowBuilder = payload.featureFlags?.codeBuilder ?? false;
76
+ if (useCodeWorkflowBuilder) {
77
+ const usePlanMode = payload.featureFlags?.planMode === true;
78
+ if (payload.resumeData && payload.resumeInterrupt?.type === 'plan') {
79
+ const decision = (0, planner_agent_1.parsePlanDecision)(payload.resumeData);
80
+ if (decision.action === 'approve') {
81
+ this.logger?.debug('Plan approved, routing to CodeWorkflowBuilder with plan', {
82
+ userId,
83
+ });
84
+ const codePayload = {
85
+ ...payload,
86
+ planOutput: payload.resumeInterrupt.plan,
87
+ resumeData: undefined,
88
+ resumeInterrupt: undefined,
89
+ };
90
+ yield* this.runCodeWorkflowBuilder(codePayload, userId, abortSignal);
91
+ return;
92
+ }
93
+ this.logger?.debug('Plan modify/reject, resuming multi-agent system', {
94
+ userId,
95
+ action: decision.action,
96
+ });
97
+ yield* this.runMultiAgentSystem(payload, userId, abortSignal, externalCallbacks, historicalMessages);
98
+ return;
99
+ }
100
+ if (usePlanMode && payload.mode === 'plan') {
101
+ this.logger?.debug('Plan mode with code builder, routing to multi-agent for planning', {
102
+ userId,
103
+ });
104
+ yield* this.runMultiAgentSystem(payload, userId, abortSignal, externalCallbacks, historicalMessages);
105
+ return;
106
+ }
107
+ const isMergeAskBuildEnabled = payload.featureFlags?.mergeAskBuild === true;
108
+ if (isMergeAskBuildEnabled && this.assistantHandler) {
109
+ this.logger?.debug('Routing through triage agent', { userId });
110
+ yield* this.runTriageAgent(payload, userId, abortSignal);
111
+ }
112
+ else {
113
+ this.logger?.debug('Routing to code workflow builder', { userId });
114
+ yield* this.runCodeWorkflowBuilder(payload, userId, abortSignal);
115
+ }
116
+ return;
117
+ }
118
+ this.logger?.debug('Routing to legacy multi-agent system', { userId });
119
+ yield* this.runMultiAgentSystem(payload, userId, abortSignal, externalCallbacks, historicalMessages);
120
+ }
121
+ async *runCodeWorkflowBuilder(payload, userId, abortSignal) {
122
+ const codeWorkflowBuilder = new code_builder_1.CodeWorkflowBuilder({
123
+ llm: this.stageLLMs.builder,
124
+ nodeTypes: this.parsedNodeTypes,
125
+ logger: this.logger,
126
+ nodeDefinitionDirs: this.nodeDefinitionDirs,
127
+ checkpointer: this.checkpointer,
128
+ onGenerationSuccess: this.onGenerationSuccess,
129
+ callbacks: this.tracer ? [this.tracer] : undefined,
130
+ runMetadata: {
131
+ ...this.runMetadata,
132
+ userMessageId: payload.id,
133
+ workflowId: payload.workflowContext?.currentWorkflow?.id,
134
+ },
135
+ onTelemetryEvent: this.onTelemetryEvent,
136
+ generatePinData: payload.featureFlags?.pinData ?? true,
137
+ });
138
+ yield* codeWorkflowBuilder.chat(payload, userId ?? 'unknown', abortSignal);
139
+ }
140
+ async *runTriageAgent(payload, userId, abortSignal) {
141
+ const workflowId = payload.workflowContext?.currentWorkflow?.id;
142
+ const resolvedUserId = userId ?? 'unknown';
143
+ let session;
144
+ let threadId;
145
+ if (workflowId) {
146
+ threadId = (0, code_builder_session_1.generateCodeBuilderThreadId)(workflowId, resolvedUserId);
147
+ session = await (0, code_builder_session_1.loadCodeBuilderSession)(this.checkpointer, threadId);
148
+ }
149
+ const triageAgent = new triage_agent_1.TriageAgent({
150
+ llm: this.stageLLMs.builder,
151
+ assistantHandler: this.assistantHandler,
152
+ buildWorkflow: (p, u, s) => this.runCodeWorkflowBuilder(p, u, s),
153
+ logger: this.logger,
154
+ });
155
+ const lastEntry = session?.conversationEntries?.at(-1);
156
+ const sdkSessionId = lastEntry?.type === 'assistant-exchange' ? session?.sdkSessionId : undefined;
157
+ const gen = triageAgent.run({
158
+ payload,
159
+ userId: resolvedUserId,
160
+ abortSignal,
161
+ sdkSessionId,
162
+ conversationHistory: session?.conversationEntries,
163
+ });
164
+ const { outcome, collectedText } = yield* this.drainTriageGenerator(gen);
165
+ if (session && threadId) {
166
+ await this.saveTriageOutcome(session, threadId, payload.message, outcome, collectedText);
167
+ }
168
+ }
169
+ async *drainTriageGenerator(gen) {
170
+ const collectedText = [];
171
+ let iterResult = await gen.next();
172
+ while (!iterResult.done) {
173
+ yield iterResult.value;
174
+ for (const msg of iterResult.value.messages ?? []) {
175
+ if (msg.type === 'message' && 'text' in msg) {
176
+ collectedText.push(msg.text);
177
+ }
178
+ }
179
+ iterResult = await gen.next();
180
+ }
181
+ return { outcome: iterResult.value, collectedText };
182
+ }
183
+ async saveTriageOutcome(session, threadId, userMessage, outcome, collectedText) {
184
+ if (outcome.assistantSummary) {
185
+ session.conversationEntries.push({
186
+ type: 'assistant-exchange',
187
+ userQuery: userMessage,
188
+ assistantSummary: outcome.assistantSummary,
189
+ });
190
+ session.sdkSessionId = outcome.sdkSessionId;
191
+ }
192
+ if (outcome.buildExecuted) {
193
+ if (outcome.assistantSummary) {
194
+ await (0, code_builder_session_1.saveCodeBuilderSession)(this.checkpointer, threadId, session);
195
+ }
196
+ return;
197
+ }
198
+ if (!outcome.assistantSummary) {
199
+ session.conversationEntries.push({
200
+ type: 'plan',
201
+ userQuery: userMessage,
202
+ plan: collectedText.join('\n'),
203
+ });
204
+ }
205
+ await (0, code_builder_session_1.saveCodeBuilderSession)(this.checkpointer, threadId, session);
206
+ }
207
+ async *runMultiAgentSystem(payload, userId, abortSignal, externalCallbacks, historicalMessages) {
63
208
  const { agent, threadConfig, streamConfig } = this.setupAgentAndConfigs(payload, userId, abortSignal, externalCallbacks);
64
209
  try {
65
- const stream = await this.createAgentStream(payload, streamConfig, agent);
210
+ const stream = await this.createAgentStream(payload, streamConfig, agent, historicalMessages);
66
211
  yield* this.processAgentStream(stream, agent, threadConfig);
67
212
  }
68
213
  catch (error) {
@@ -88,20 +233,22 @@ class WorkflowBuilderAgent {
88
233
  const threadConfig = {
89
234
  configurable: {
90
235
  thread_id: threadId,
236
+ userId,
91
237
  },
92
238
  };
239
+ const callbacks = externalCallbacks ?? (this.tracer ? [this.tracer] : undefined);
93
240
  const streamConfig = {
94
241
  ...threadConfig,
95
242
  streamMode: ['updates', 'custom'],
96
243
  recursionLimit: constants_1.MAX_MULTI_AGENT_STREAM_ITERATIONS,
97
244
  signal: abortSignal,
98
- callbacks: externalCallbacks ?? (this.tracer ? [this.tracer] : undefined),
245
+ callbacks,
99
246
  metadata: this.runMetadata,
100
247
  subgraphs: true,
101
248
  };
102
249
  return { agent, threadConfig, streamConfig };
103
250
  }
104
- async createAgentStream(payload, streamConfig, agent) {
251
+ async createAgentStream(payload, streamConfig, agent, historicalMessages) {
105
252
  const additionalKwargs = {};
106
253
  if (payload.versionId)
107
254
  additionalKwargs.versionId = payload.versionId;
@@ -110,12 +257,14 @@ class WorkflowBuilderAgent {
110
257
  if (payload.resumeData !== undefined)
111
258
  additionalKwargs.resumeData = payload.resumeData;
112
259
  const humanMessage = new messages_1.HumanMessage({
260
+ id: payload.id,
113
261
  content: payload.message,
114
262
  additional_kwargs: additionalKwargs,
115
263
  });
116
264
  const workflowJSON = this.getDefaultWorkflowJSON(payload);
117
265
  const workflowContext = payload.workflowContext;
118
266
  const mode = payload.mode ?? 'build';
267
+ const messages = [...(historicalMessages ?? []), humanMessage];
119
268
  const stream = payload.resumeData
120
269
  ? await agent.stream(new langgraph_1.Command({
121
270
  resume: payload.resumeData,
@@ -137,7 +286,7 @@ class WorkflowBuilderAgent {
137
286
  },
138
287
  }), streamConfig)
139
288
  : await agent.stream({
140
- messages: [humanMessage],
289
+ messages,
141
290
  workflowJSON,
142
291
  workflowOperations: [],
143
292
  workflowContext,
@@ -150,6 +299,11 @@ class WorkflowBuilderAgent {
150
299
  if (invalidRequestErrorMessage) {
151
300
  throw new errors_1.ValidationError(invalidRequestErrorMessage);
152
301
  }
302
+ if (this.isLlmQuotaOrRateLimitError(error)) {
303
+ throw new n8n_workflow_1.OperationalError((0, error_sanitizer_1.sanitizeLlmErrorMessage)(error), {
304
+ cause: error instanceof Error ? error : undefined,
305
+ });
306
+ }
153
307
  throw error;
154
308
  }
155
309
  async *processAgentStream(stream, agent, threadConfig) {
@@ -194,6 +348,9 @@ class WorkflowBuilderAgent {
194
348
  'status' in error &&
195
349
  error.status === 401);
196
350
  }
351
+ isLlmQuotaOrRateLimitError(error) {
352
+ return !!error && typeof error === 'object' && 'status' in error && error.status === 429;
353
+ }
197
354
  getInvalidRequestError(error) {
198
355
  if (error instanceof Error &&
199
356
  'error' in error &&
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":";;;AAGA,uDAAmE;AAInE,oDAAoE;AAEpE,+CAMsB;AAEtB,2CAA8F;AAE9F,qCAA2C;AAC3C,qFAAyF;AACzF,uEAAkE;AAIlE,+DAAmF;AAGnF,MAAM,yBAAyB,GAC9B,uIAAuI,CAAC;AAEzI,MAAM,0BAA0B,GAC/B,0OAA0O,CAAC;AAuE5O,MAAa,oBAAoB;IACxB,YAAY,CAAc;IAC1B,eAAe,CAAyB;IACxC,SAAS,CAAY;IACrB,MAAM,CAAU;IAChB,MAAM,CAAmB;IACzB,WAAW,CAAU;IACrB,WAAW,CAA2B;IACtC,mBAAmB,CAAuB;IAC1C,uBAAuB,CAA2B;IAElD,mBAAmB,CAAuB;IAElD,YAAY,MAAkC;QAC7C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,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,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACtC,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACtD,IAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC,uBAAuB,CAAC;IAC/D,CAAC;IAMO,cAAc,CAAC,YAAkC;QACxD,OAAO,IAAA,sEAAqC,EAAC;YAC5C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY;YACZ,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACrD,CAAC,CAAC;IACJ,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,CACV,OAAoB,EACpB,MAAe,EACf,WAAyB,EACzB,iBAA6B;QAE7B,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,EACX,iBAAiB,CACjB,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,CAC3B,OAAoB,EACpB,MAAe,EACf,WAAyB,EACzB,iBAA6B;QAI7B,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACvD,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;QACjD,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAAmB,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC;QACpF,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,6CAAiC;YACjD,MAAM,EAAE,WAAW;YAGnB,SAAS,EAAE,iBAAiB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,QAAQ,EAAE,IAAI,CAAC,WAAW;YAE1B,SAAS,EAAE,IAAI;SACf,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,gBAAgB,GAA4B,EAAE,CAAC;QACrD,IAAI,OAAO,CAAC,SAAS;YAAE,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACtE,IAAI,OAAO,CAAC,EAAE;YAAE,gBAAgB,CAAC,SAAS,GAAG,OAAO,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,CAAC,UAAU,KAAK,SAAS;YAAE,gBAAgB,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QAEvF,MAAM,YAAY,GAAG,IAAI,uBAAY,CAAC;YACrC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,iBAAiB,EAAE,gBAAgB;SACnC,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAEhD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC;QAErC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU;YAChC,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAClB,IAAI,mBAAO,CAAC;gBACX,MAAM,EAAE,OAAO,CAAC,UAAU;gBAC1B,MAAM,EAAE;oBACP,QAAQ,EAAE;wBACT,GAAG,CAAC,OAAO,CAAC,eAAe;4BAC1B,CAAC,CAAC;gCACA,IAAI,oBAAS,CAAC;oCACb,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,CAAC;oCAChD,iBAAiB,EAAE,EAAE,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,IAAI,EAAE;iCAChE,CAAC;6BACF;4BACF,CAAC,CAAC,EAAE,CAAC;wBACN,YAAY;qBACZ;oBACD,YAAY;oBACZ,eAAe;oBACf,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC/C;aACD,CAAC,EACF,YAAY,CACZ;YACF,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,CAClB;gBACC,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxB,YAAY;gBACZ,kBAAkB,EAAE,EAAE;gBACtB,eAAe;gBACf,IAAI;aACJ,EACD,YAAY,CACZ,CAAC;QAMJ,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;YAEhB,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,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC;QAGD,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,MAAM,IAAI,+BAAgB,CAAC,0BAA0B,CAAC,CAAC;QACxD,CAAC;QAGD,MAAM,KAAK,CAAC;IACb,CAAC;IAUO,mBAAmB,CAAC,KAAc;QACzC,MAAM,6BAA6B,GAAG,sBAAsB,CAAC;QAE7D,OAAO,CACN,CAAC,CAAC,KAAK;YACP,OAAO,KAAK,KAAK,QAAQ;YACzB,eAAe,IAAI,KAAK;YACxB,KAAK,CAAC,aAAa,KAAK,6BAA6B;YACrD,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,CACpB,CAAC;IACH,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;oBAEF,IAAI,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC7E,OAAO,yBAAyB,CAAC;oBAClC,CAAC;oBAED,OAAO,YAAY,CAAC,OAAO,CAAC;gBAC7B,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AArTD,oDAqTC"}
1
+ {"version":3,"file":"workflow-builder-agent.js","sourceRoot":"","sources":["../src/workflow-builder-agent.ts"],"names":[],"mappings":"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"}
@@ -10,11 +10,17 @@ export declare const WorkflowState: import("@langchain/langgraph").AnnotationRoo
10
10
  currentWorkflow?: Partial<import("n8n-workflow").IWorkflowBase>;
11
11
  executionData?: import("n8n-workflow").IRunExecutionData["resultData"];
12
12
  expressionValues?: Record<string, import("./workflow-builder-agent").ExpressionValue[]>;
13
+ valuesExcluded?: boolean;
14
+ pinnedNodes?: string[];
15
+ selectedNodes?: import("@n8n/api-types").SelectedNodeContext[];
13
16
  } | undefined, {
14
17
  executionSchema?: import("n8n-workflow").NodeExecutionSchema[];
15
18
  currentWorkflow?: Partial<import("n8n-workflow").IWorkflowBase>;
16
19
  executionData?: import("n8n-workflow").IRunExecutionData["resultData"];
17
20
  expressionValues?: Record<string, import("./workflow-builder-agent").ExpressionValue[]>;
21
+ valuesExcluded?: boolean;
22
+ pinnedNodes?: string[];
23
+ selectedNodes?: import("@n8n/api-types").SelectedNodeContext[];
18
24
  } | undefined>;
19
25
  workflowValidation: import("@langchain/langgraph").BinaryOperatorAggregate<ProgrammaticEvaluationResult | null, ProgrammaticEvaluationResult | null>;
20
26
  validationHistory: import("@langchain/langgraph").BinaryOperatorAggregate<TelemetryValidationStatus[], TelemetryValidationStatus[]>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/ai-workflow-builder",
3
- "version": "1.8.1",
3
+ "version": "1.10.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "src/index.ts",
6
6
  "types": "dist/index.d.ts",
@@ -24,15 +24,17 @@
24
24
  "langchain": "1.2.3",
25
25
  "@n8n_io/ai-assistant-sdk": "1.20.0",
26
26
  "csv-parse": "5.5.0",
27
- "langsmith": "^0.4.2",
27
+ "langsmith": "^0.4.6",
28
28
  "lodash": "4.17.23",
29
29
  "picocolors": "1.0.1",
30
30
  "zod": "3.25.67",
31
- "@n8n/backend-common": "1.8.1",
31
+ "@n8n/api-types": "1.10.0",
32
+ "@n8n/config": "2.9.0",
33
+ "@n8n/utils": "1.25.0",
34
+ "@n8n/backend-common": "1.10.0",
32
35
  "@n8n/di": "0.10.0",
33
- "@n8n/utils": "1.24.0",
34
- "n8n-workflow": "2.8.0",
35
- "@n8n/config": "2.7.1"
36
+ "n8n-workflow": "2.10.0",
37
+ "@n8n/workflow-sdk": "0.3.0"
36
38
  },
37
39
  "devDependencies": {
38
40
  "@types/cli-progress": "^3.11.5",
@@ -60,6 +62,7 @@
60
62
  "build:with-cli": "pnpm build && pnpm --filter=n8n build",
61
63
  "format": "biome format --write src",
62
64
  "format:check": "biome ci src",
65
+ "export:nodes": "../../../packages/cli/bin/n8n export:nodes --output ./evaluations/nodes.json",
63
66
  "test": "jest",
64
67
  "test:unit": "jest --config=jest.config.unit.js",
65
68
  "test:integration": "jest --config=jest.config.integration.js",
@@ -84,6 +87,7 @@
84
87
  "eval:langsmith": "tsx evaluations/cli/index.ts --backend langsmith",
85
88
  "eval:pairwise": "tsx evaluations/cli/index.ts --suite pairwise",
86
89
  "eval:pairwise:langsmith": "tsx evaluations/cli/index.ts --suite pairwise --backend langsmith",
90
+ "eval:introspection": "tsx evaluations/cli/index.ts --suite introspection --agent multi-agent",
87
91
  "workflow:mermaid": "tsx scripts/workflow-to-mermaid.ts",
88
92
  "python:check": "cd evaluations/programmatic/python && just check",
89
93
  "python:test": "cd evaluations/programmatic/python && just test",