@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.
- package/dist/agents/planner.agent.d.ts +1 -0
- package/dist/agents/planner.agent.js +1 -0
- package/dist/agents/planner.agent.js.map +1 -1
- package/dist/agents/responder.agent.d.ts +16 -6
- package/dist/agents/responder.agent.js +19 -8
- package/dist/agents/responder.agent.js.map +1 -1
- package/dist/agents/supervisor.agent.d.ts +8 -5
- package/dist/agents/supervisor.agent.js +37 -21
- package/dist/agents/supervisor.agent.js.map +1 -1
- package/dist/ai-workflow-builder-agent.service.d.ts +12 -4
- package/dist/ai-workflow-builder-agent.service.js +102 -51
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/assistant/assistant-handler.d.ts +23 -0
- package/dist/assistant/assistant-handler.js +265 -0
- package/dist/assistant/assistant-handler.js.map +1 -0
- package/dist/assistant/index.d.ts +2 -0
- package/dist/assistant/index.js +6 -0
- package/dist/assistant/index.js.map +1 -0
- package/dist/assistant/types.d.ts +83 -0
- package/dist/assistant/types.js +3 -0
- package/dist/assistant/types.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -1
- package/dist/code-builder/code-builder-agent.d.ts +31 -0
- package/dist/code-builder/code-builder-agent.js +463 -0
- package/dist/code-builder/code-builder-agent.js.map +1 -0
- package/dist/code-builder/code-workflow-builder.d.ts +34 -0
- package/dist/code-builder/code-workflow-builder.js +80 -0
- package/dist/code-builder/code-workflow-builder.js.map +1 -0
- package/dist/code-builder/constants.d.ts +62 -0
- package/dist/code-builder/constants.js +83 -0
- package/dist/code-builder/constants.js.map +1 -0
- package/dist/code-builder/engines/code-builder-node-search-engine.d.ts +19 -0
- package/dist/code-builder/engines/code-builder-node-search-engine.js +236 -0
- package/dist/code-builder/engines/code-builder-node-search-engine.js.map +1 -0
- package/dist/code-builder/handlers/agent-iteration-handler.d.ts +36 -0
- package/dist/code-builder/handlers/agent-iteration-handler.js +78 -0
- package/dist/code-builder/handlers/agent-iteration-handler.js.map +1 -0
- package/dist/code-builder/handlers/auto-finalize-handler.d.ts +29 -0
- package/dist/code-builder/handlers/auto-finalize-handler.js +50 -0
- package/dist/code-builder/handlers/auto-finalize-handler.js.map +1 -0
- package/dist/code-builder/handlers/chat-setup-handler.d.ts +57 -0
- package/dist/code-builder/handlers/chat-setup-handler.js +147 -0
- package/dist/code-builder/handlers/chat-setup-handler.js.map +1 -0
- package/dist/code-builder/handlers/final-response-handler.d.ts +29 -0
- package/dist/code-builder/handlers/final-response-handler.js +75 -0
- package/dist/code-builder/handlers/final-response-handler.js.map +1 -0
- package/dist/code-builder/handlers/parse-validate-handler.d.ts +17 -0
- package/dist/code-builder/handlers/parse-validate-handler.js +116 -0
- package/dist/code-builder/handlers/parse-validate-handler.js.map +1 -0
- package/dist/code-builder/handlers/session-chat-handler.d.ts +30 -0
- package/dist/code-builder/handlers/session-chat-handler.js +96 -0
- package/dist/code-builder/handlers/session-chat-handler.js.map +1 -0
- package/dist/code-builder/handlers/text-editor-handler.d.ts +19 -0
- package/dist/code-builder/handlers/text-editor-handler.js +230 -0
- package/dist/code-builder/handlers/text-editor-handler.js.map +1 -0
- package/dist/code-builder/handlers/text-editor-tool-handler.d.ts +44 -0
- package/dist/code-builder/handlers/text-editor-tool-handler.js +145 -0
- package/dist/code-builder/handlers/text-editor-tool-handler.js.map +1 -0
- package/dist/code-builder/handlers/text-editor.types.d.ts +68 -0
- package/dist/code-builder/handlers/text-editor.types.js +68 -0
- package/dist/code-builder/handlers/text-editor.types.js.map +1 -0
- package/dist/code-builder/handlers/tool-dispatch-handler.d.ts +47 -0
- package/dist/code-builder/handlers/tool-dispatch-handler.js +287 -0
- package/dist/code-builder/handlers/tool-dispatch-handler.js.map +1 -0
- package/dist/code-builder/handlers/validate-tool-handler.d.ts +33 -0
- package/dist/code-builder/handlers/validate-tool-handler.js +101 -0
- package/dist/code-builder/handlers/validate-tool-handler.js.map +1 -0
- package/dist/code-builder/index.d.ts +5 -0
- package/dist/code-builder/index.js +10 -0
- package/dist/code-builder/index.js.map +1 -0
- package/dist/code-builder/prompts/index.d.ts +22 -0
- package/dist/code-builder/prompts/index.js +830 -0
- package/dist/code-builder/prompts/index.js.map +1 -0
- package/dist/code-builder/state/warning-tracker.d.ts +9 -0
- package/dist/code-builder/state/warning-tracker.js +28 -0
- package/dist/code-builder/state/warning-tracker.js.map +1 -0
- package/dist/code-builder/tools/ask-assistant.tool.d.ts +12 -0
- package/dist/code-builder/tools/ask-assistant.tool.js +16 -0
- package/dist/code-builder/tools/ask-assistant.tool.js.map +1 -0
- package/dist/code-builder/tools/build-workflow.tool.d.ts +12 -0
- package/dist/code-builder/tools/build-workflow.tool.js +16 -0
- package/dist/code-builder/tools/build-workflow.tool.js.map +1 -0
- package/dist/code-builder/tools/code-builder-get.tool.d.ts +61 -0
- package/dist/code-builder/tools/code-builder-get.tool.js +399 -0
- package/dist/code-builder/tools/code-builder-get.tool.js.map +1 -0
- package/dist/code-builder/tools/code-builder-search.tool.d.ts +15 -0
- package/dist/code-builder/tools/code-builder-search.tool.js +338 -0
- package/dist/code-builder/tools/code-builder-search.tool.js.map +1 -0
- package/dist/code-builder/tools/get-suggested-nodes.tool.d.ts +14 -0
- package/dist/code-builder/tools/get-suggested-nodes.tool.js +89 -0
- package/dist/code-builder/tools/get-suggested-nodes.tool.js.map +1 -0
- package/dist/code-builder/tools/suggested-nodes-data.d.ts +11 -0
- package/dist/code-builder/tools/suggested-nodes-data.js +236 -0
- package/dist/code-builder/tools/suggested-nodes-data.js.map +1 -0
- package/dist/code-builder/triage.agent.d.ts +48 -0
- package/dist/code-builder/triage.agent.js +253 -0
- package/dist/code-builder/triage.agent.js.map +1 -0
- package/dist/code-builder/types.d.ts +51 -0
- package/dist/code-builder/types.js +3 -0
- package/dist/code-builder/types.js.map +1 -0
- package/dist/code-builder/utils/code-builder-session.d.ts +25 -0
- package/dist/code-builder/utils/code-builder-session.js +186 -0
- package/dist/code-builder/utils/code-builder-session.js.map +1 -0
- package/dist/code-builder/utils/content-extractors.d.ts +5 -0
- package/dist/code-builder/utils/content-extractors.js +88 -0
- package/dist/code-builder/utils/content-extractors.js.map +1 -0
- package/dist/code-builder/utils/discriminator-utils.d.ts +22 -0
- package/dist/code-builder/utils/discriminator-utils.js +85 -0
- package/dist/code-builder/utils/discriminator-utils.js.map +1 -0
- package/dist/code-builder/utils/extract-code.d.ts +3 -0
- package/dist/code-builder/utils/extract-code.js +23 -0
- package/dist/code-builder/utils/extract-code.js.map +1 -0
- package/dist/code-builder/utils/format-warnings.d.ts +3 -0
- package/dist/code-builder/utils/format-warnings.js +12 -0
- package/dist/code-builder/utils/format-warnings.js.map +1 -0
- package/dist/code-builder/utils/llm-response-processor.d.ts +15 -0
- package/dist/code-builder/utils/llm-response-processor.js +38 -0
- package/dist/code-builder/utils/llm-response-processor.js.map +1 -0
- package/dist/code-builder/utils/node-diff.d.ts +13 -0
- package/dist/code-builder/utils/node-diff.js +22 -0
- package/dist/code-builder/utils/node-diff.js.map +1 -0
- package/dist/code-builder/utils/node-type-parser.d.ts +18 -0
- package/dist/code-builder/utils/node-type-parser.js +67 -0
- package/dist/code-builder/utils/node-type-parser.js.map +1 -0
- package/dist/constants.d.ts +3 -0
- package/dist/constants.js +4 -1
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +8 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-config.js +1 -1
- package/dist/llm-config.js.map +1 -1
- package/dist/multi-agent-workflow-subgraphs.d.ts +103 -12
- package/dist/multi-agent-workflow-subgraphs.js +158 -51
- package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
- package/dist/parent-graph-state.d.ts +9 -0
- package/dist/parent-graph-state.js +8 -0
- package/dist/parent-graph-state.js.map +1 -1
- package/dist/prompts/agents/builder.prompt.d.ts +1 -0
- package/dist/prompts/agents/builder.prompt.js +86 -4
- package/dist/prompts/agents/builder.prompt.js.map +1 -1
- package/dist/prompts/agents/planner.prompt.d.ts +1 -0
- package/dist/prompts/agents/planner.prompt.js +2 -1
- package/dist/prompts/agents/planner.prompt.js.map +1 -1
- package/dist/prompts/agents/responder.prompt.d.ts +4 -1
- package/dist/prompts/agents/responder.prompt.js +72 -1
- package/dist/prompts/agents/responder.prompt.js.map +1 -1
- package/dist/prompts/agents/supervisor.prompt.d.ts +3 -1
- package/dist/prompts/agents/supervisor.prompt.js +133 -13
- package/dist/prompts/agents/supervisor.prompt.js.map +1 -1
- package/dist/prompts/builder/prompt-builder.js +13 -5
- package/dist/prompts/builder/prompt-builder.js.map +1 -1
- package/dist/prompts/builder/types.d.ts +2 -1
- package/dist/prompts/shared/deictic-resolution.d.ts +14 -0
- package/dist/prompts/shared/deictic-resolution.js +142 -0
- package/dist/prompts/shared/deictic-resolution.js.map +1 -0
- package/dist/session-manager.service.d.ts +15 -5
- package/dist/session-manager.service.js +265 -74
- package/dist/session-manager.service.js.map +1 -1
- package/dist/subgraphs/builder.subgraph.d.ts +29 -0
- package/dist/subgraphs/builder.subgraph.js +32 -6
- package/dist/subgraphs/builder.subgraph.js.map +1 -1
- package/dist/subgraphs/discovery.subgraph.d.ts +8 -0
- package/dist/subgraphs/discovery.subgraph.js +23 -0
- package/dist/subgraphs/discovery.subgraph.js.map +1 -1
- package/dist/tools/add-node.tool.d.ts +4 -4
- package/dist/tools/builder-tools.js +6 -1
- package/dist/tools/builder-tools.js.map +1 -1
- package/dist/tools/introspect.tool.d.ts +34 -0
- package/dist/tools/introspect.tool.js +125 -0
- package/dist/tools/introspect.tool.js.map +1 -0
- package/dist/tools/submit-questions.tool.d.ts +8 -8
- package/dist/types/coordination.d.ts +8 -2
- package/dist/types/coordination.js +5 -0
- package/dist/types/coordination.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/session-storage.d.ts +11 -0
- package/dist/types/session-storage.js +3 -0
- package/dist/types/session-storage.js.map +1 -0
- package/dist/types/streaming.d.ts +20 -1
- package/dist/utils/cache-control/helpers.d.ts +6 -0
- package/dist/utils/cache-control/helpers.js +42 -22
- package/dist/utils/cache-control/helpers.js.map +1 -1
- package/dist/utils/cache-control/index.d.ts +1 -1
- package/dist/utils/cache-control/index.js +3 -1
- package/dist/utils/cache-control/index.js.map +1 -1
- package/dist/utils/context-builders.d.ts +2 -0
- package/dist/utils/context-builders.js +57 -0
- package/dist/utils/context-builders.js.map +1 -1
- package/dist/utils/coordination-log.d.ts +5 -2
- package/dist/utils/coordination-log.js +14 -0
- package/dist/utils/coordination-log.js.map +1 -1
- package/dist/utils/error-sanitizer.d.ts +1 -0
- package/dist/utils/error-sanitizer.js +39 -0
- package/dist/utils/error-sanitizer.js.map +1 -0
- package/dist/utils/resource-operation-extractor.d.ts +12 -2
- package/dist/utils/resource-operation-extractor.js +12 -4
- package/dist/utils/resource-operation-extractor.js.map +1 -1
- package/dist/utils/state-modifier.d.ts +1 -1
- package/dist/utils/state-modifier.js +15 -19
- package/dist/utils/state-modifier.js.map +1 -1
- package/dist/utils/stream-processor.js +29 -8
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/subgraph-helpers.d.ts +2 -0
- package/dist/utils/subgraph-helpers.js +34 -1
- package/dist/utils/subgraph-helpers.js.map +1 -1
- package/dist/utils/thread-id.d.ts +1 -0
- package/dist/utils/thread-id.js +10 -0
- package/dist/utils/thread-id.js.map +1 -0
- package/dist/utils/token-usage-tracking-handler.d.ts +14 -0
- package/dist/utils/token-usage-tracking-handler.js +55 -0
- package/dist/utils/token-usage-tracking-handler.js.map +1 -0
- package/dist/validation/types.d.ts +3 -1
- package/dist/validation/types.js +11 -0
- package/dist/validation/types.js.map +1 -1
- package/dist/validation/utils/expressions.js +1 -1
- package/dist/validation/utils/expressions.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +29 -4
- package/dist/workflow-builder-agent.js +162 -5
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.d.ts +6 -0
- 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
|
|
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
|
|
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":"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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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"}
|
package/dist/workflow-state.d.ts
CHANGED
|
@@ -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.
|
|
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.
|
|
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/
|
|
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
|
-
"
|
|
34
|
-
"n8n-
|
|
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",
|