@n8n/ai-workflow-builder 1.0.2-exp.0 → 1.0.2
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/responder.agent.d.ts +0 -1
- package/dist/agents/responder.agent.js +0 -7
- package/dist/agents/responder.agent.js.map +1 -1
- package/dist/agents/supervisor.agent.d.ts +0 -1
- package/dist/agents/supervisor.agent.js +0 -5
- package/dist/agents/supervisor.agent.js.map +1 -1
- package/dist/ai-workflow-builder-agent.service.d.ts +1 -2
- package/dist/ai-workflow-builder-agent.service.js +5 -10
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/prompts/prompt-builder.d.ts +0 -1
- package/dist/chains/prompts/prompt-builder.js +0 -12
- package/dist/chains/prompts/prompt-builder.js.map +1 -1
- package/dist/chains/prompts/prompt-config.js +0 -1
- package/dist/chains/prompts/prompt-config.js.map +1 -1
- package/dist/constants.d.ts +0 -2
- package/dist/constants.js +1 -3
- package/dist/constants.js.map +1 -1
- package/dist/multi-agent-workflow-subgraphs.d.ts +1 -38
- package/dist/multi-agent-workflow-subgraphs.js +2 -34
- package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
- package/dist/parent-graph-state.d.ts +0 -4
- package/dist/parent-graph-state.js +1 -14
- package/dist/parent-graph-state.js.map +1 -1
- package/dist/subgraphs/builder.subgraph.d.ts +0 -2
- package/dist/subgraphs/builder.subgraph.js +1 -63
- package/dist/subgraphs/builder.subgraph.js.map +1 -1
- package/dist/subgraphs/configurator.subgraph.d.ts +0 -2
- package/dist/subgraphs/configurator.subgraph.js +0 -30
- package/dist/subgraphs/configurator.subgraph.js.map +1 -1
- package/dist/subgraphs/discovery.subgraph.d.ts +0 -18
- package/dist/subgraphs/discovery.subgraph.js +16 -88
- package/dist/subgraphs/discovery.subgraph.js.map +1 -1
- package/dist/tools/best-practices/content-generation.js +2 -38
- package/dist/tools/best-practices/content-generation.js.map +1 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/coordination.d.ts +2 -8
- package/dist/types/coordination.js +0 -4
- package/dist/types/coordination.js.map +1 -1
- package/dist/types/discovery-types.d.ts +0 -2
- package/dist/utils/coordination-log.d.ts +1 -2
- package/dist/utils/coordination-log.js.map +1 -1
- package/dist/utils/stream-processor.js +30 -2
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/subgraph-helpers.d.ts +0 -3
- package/dist/utils/subgraph-helpers.js +0 -23
- package/dist/utils/subgraph-helpers.js.map +1 -1
- package/dist/validation/checks/connections.js +16 -9
- package/dist/validation/checks/connections.js.map +1 -1
- package/dist/validation/checks/tools.js +10 -0
- package/dist/validation/checks/tools.js.map +1 -1
- package/dist/validation/types.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +2 -3
- package/dist/workflow-builder-agent.js +7 -12
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.js +14 -3
- package/dist/workflow-state.js.map +1 -1
- package/package.json +2 -2
- package/dist/chains/prompts/examples/basic/switch-node-examples.d.ts +0 -1
- package/dist/chains/prompts/examples/basic/switch-node-examples.js +0 -128
- package/dist/chains/prompts/examples/basic/switch-node-examples.js.map +0 -1
- package/dist/chains/prompts/node-types/switch-node.d.ts +0 -1
- package/dist/chains/prompts/node-types/switch-node.js +0 -72
- package/dist/chains/prompts/node-types/switch-node.js.map +0 -1
- package/dist/utils/state-modifier.d.ts +0 -32
- package/dist/utils/state-modifier.js +0 -112
- package/dist/utils/state-modifier.js.map +0 -1
- package/dist/utils/state-reducers.d.ts +0 -4
- package/dist/utils/state-reducers.js +0 -25
- package/dist/utils/state-reducers.js.map +0 -1
- package/dist/validation/utils/node-type-map.d.ts +0 -8
- package/dist/validation/utils/node-type-map.js +0 -50
- package/dist/validation/utils/node-type-map.js.map +0 -1
|
@@ -5,7 +5,6 @@ export declare class ParameterUpdatePromptBuilder {
|
|
|
5
5
|
private static hasSystemMessageParameters;
|
|
6
6
|
private static isSetNode;
|
|
7
7
|
private static isIfNode;
|
|
8
|
-
private static isSwitchNode;
|
|
9
8
|
private static isHttpRequestNode;
|
|
10
9
|
private static isToolNode;
|
|
11
10
|
private static needsResourceLocatorGuide;
|
|
@@ -10,11 +10,9 @@ const tool_node_examples_1 = require("./examples/advanced/tool-node-examples");
|
|
|
10
10
|
const if_node_examples_1 = require("./examples/basic/if-node-examples");
|
|
11
11
|
const set_node_examples_1 = require("./examples/basic/set-node-examples");
|
|
12
12
|
const simple_updates_1 = require("./examples/basic/simple-updates");
|
|
13
|
-
const switch_node_examples_1 = require("./examples/basic/switch-node-examples");
|
|
14
13
|
const http_request_1 = require("./node-types/http-request");
|
|
15
14
|
const if_node_1 = require("./node-types/if-node");
|
|
16
15
|
const set_node_1 = require("./node-types/set-node");
|
|
17
|
-
const switch_node_1 = require("./node-types/switch-node");
|
|
18
16
|
const tool_nodes_1 = require("./node-types/tool-nodes");
|
|
19
17
|
const resource_locator_1 = require("./parameter-types/resource-locator");
|
|
20
18
|
const system_message_1 = require("./parameter-types/system-message");
|
|
@@ -35,9 +33,6 @@ class ParameterUpdatePromptBuilder {
|
|
|
35
33
|
else if (this.isIfNode(context.nodeType)) {
|
|
36
34
|
sections.push(if_node_1.IF_NODE_GUIDE);
|
|
37
35
|
}
|
|
38
|
-
else if (this.isSwitchNode(context.nodeType)) {
|
|
39
|
-
sections.push(switch_node_1.SWITCH_NODE_GUIDE);
|
|
40
|
-
}
|
|
41
36
|
else if (this.isHttpRequestNode(context.nodeType)) {
|
|
42
37
|
sections.push(http_request_1.HTTP_REQUEST_GUIDE);
|
|
43
38
|
}
|
|
@@ -88,10 +83,6 @@ class ParameterUpdatePromptBuilder {
|
|
|
88
83
|
const category = (0, prompt_config_1.getNodeTypeCategory)(nodeType);
|
|
89
84
|
return category === 'if';
|
|
90
85
|
}
|
|
91
|
-
static isSwitchNode(nodeType) {
|
|
92
|
-
const category = (0, prompt_config_1.getNodeTypeCategory)(nodeType);
|
|
93
|
-
return category === 'switch';
|
|
94
|
-
}
|
|
95
86
|
static isHttpRequestNode(nodeType) {
|
|
96
87
|
const category = (0, prompt_config_1.getNodeTypeCategory)(nodeType);
|
|
97
88
|
return category === 'httpRequest';
|
|
@@ -121,9 +112,6 @@ class ParameterUpdatePromptBuilder {
|
|
|
121
112
|
else if (this.isIfNode(context.nodeType)) {
|
|
122
113
|
examples.push(if_node_examples_1.IF_NODE_EXAMPLES);
|
|
123
114
|
}
|
|
124
|
-
else if (this.isSwitchNode(context.nodeType)) {
|
|
125
|
-
examples.push(switch_node_examples_1.SWITCH_NODE_EXAMPLES);
|
|
126
|
-
}
|
|
127
115
|
if (context.hasResourceLocatorParams) {
|
|
128
116
|
examples.push(resource_locator_examples_1.RESOURCE_LOCATOR_EXAMPLES);
|
|
129
117
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/chains/prompts/prompt-builder.ts"],"names":[],"mappings":";;;AAEA,4DAAyD;AACzD,gEAA6D;AAC7D,8DAA2D;AAC3D,wDAAqD;AACrD,6FAA0F;AAC1F,+EAA4E;AAC5E,wEAAqE;AACrE,0EAAuE;AACvE,oEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/chains/prompts/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,6 @@ exports.DEFAULT_PROMPT_CONFIG = {
|
|
|
8
8
|
nodeTypePatterns: {
|
|
9
9
|
set: ['n8n-nodes-base.set', 'set'],
|
|
10
10
|
if: ['n8n-nodes-base.if', 'if', 'filter'],
|
|
11
|
-
switch: ['n8n-nodes-base.switch', 'switch'],
|
|
12
11
|
httpRequest: ['n8n-nodes-base.httpRequest', 'httprequest', 'webhook', 'n8n-nodes-base.webhook'],
|
|
13
12
|
tool: ['Tool', '.tool'],
|
|
14
13
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-config.js","sourceRoot":"","sources":["../../../src/chains/prompts/prompt-config.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"prompt-config.js","sourceRoot":"","sources":["../../../src/chains/prompts/prompt-config.ts"],"names":[],"mappings":";;;AAiCA,kDAkBC;AAKD,4DAMC;AAKD,oDAMC;AAvEY,QAAA,qBAAqB,GAAqB;IACtD,gBAAgB,EAAE;QACjB,GAAG,EAAE,CAAC,oBAAoB,EAAE,KAAK,CAAC;QAClC,EAAE,EAAE,CAAC,mBAAmB,EAAE,IAAI,EAAE,QAAQ,CAAC;QACzC,WAAW,EAAE,CAAC,4BAA4B,EAAE,aAAa,EAAE,SAAS,EAAE,wBAAwB,CAAC;QAC/F,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;KACvB;IAED,iBAAiB,EAAE;QAClB,eAAe,EAAE;YAChB,SAAS;YACT,MAAM;YACN,MAAM;YACN,UAAU;YACV,OAAO;YACP,QAAQ;YACR,UAAU;YACV,OAAO;YACP,MAAM;YACN,OAAO;SACP;QACD,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC;KAC1F;IAED,WAAW,EAAE,CAAC;IACd,iBAAiB,EAAE,IAAI;CACvB,CAAC;AAKF,SAAgB,mBAAmB,CAClC,QAAgB,EAChB,SAA2B,6BAAqB;IAEhD,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IAEzC,KAAK,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5E,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC;YAC3E,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAGD,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,OAAO,MAAM,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC;AAKD,SAAgB,wBAAwB,CACvC,OAAiB,EACjB,SAA2B,6BAAqB;IAEhD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAClG,CAAC;AAKD,SAAgB,oBAAoB,CACnC,OAAiB,EACjB,SAA2B,6BAAqB;IAEhD,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;IACpD,OAAO,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;AAClG,CAAC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -10,5 +10,3 @@ export declare const MAX_NODE_EXAMPLE_CHARS: number;
|
|
|
10
10
|
export declare const MAX_BUILDER_ITERATIONS = 30;
|
|
11
11
|
export declare const MAX_CONFIGURATOR_ITERATIONS = 30;
|
|
12
12
|
export declare const MAX_DISCOVERY_ITERATIONS = 50;
|
|
13
|
-
export declare const MAX_MULTI_AGENT_STREAM_ITERATIONS: number;
|
|
14
|
-
export declare const MAX_SINGLE_AGENT_STREAM_ITERATIONS = 50;
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.MAX_DISCOVERY_ITERATIONS = exports.MAX_CONFIGURATOR_ITERATIONS = exports.MAX_BUILDER_ITERATIONS = exports.MAX_NODE_EXAMPLE_CHARS = exports.AVG_CHARS_PER_TOKEN_ANTHROPIC = exports.MAX_WORKFLOW_LENGTH_TOKENS = exports.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS = exports.MAX_PARAMETER_VALUE_LENGTH = exports.MAX_INPUT_TOKENS = exports.MAX_OUTPUT_TOKENS = exports.MAX_TOTAL_TOKENS = exports.MAX_AI_BUILDER_PROMPT_LENGTH = void 0;
|
|
4
4
|
exports.MAX_AI_BUILDER_PROMPT_LENGTH = 5000;
|
|
5
5
|
exports.MAX_TOTAL_TOKENS = 200_000;
|
|
6
6
|
exports.MAX_OUTPUT_TOKENS = 16_000;
|
|
@@ -13,6 +13,4 @@ exports.MAX_NODE_EXAMPLE_CHARS = 5000 * exports.AVG_CHARS_PER_TOKEN_ANTHROPIC;
|
|
|
13
13
|
exports.MAX_BUILDER_ITERATIONS = 30;
|
|
14
14
|
exports.MAX_CONFIGURATOR_ITERATIONS = 30;
|
|
15
15
|
exports.MAX_DISCOVERY_ITERATIONS = 50;
|
|
16
|
-
exports.MAX_MULTI_AGENT_STREAM_ITERATIONS = exports.MAX_BUILDER_ITERATIONS + exports.MAX_CONFIGURATOR_ITERATIONS + exports.MAX_DISCOVERY_ITERATIONS;
|
|
17
|
-
exports.MAX_SINGLE_AGENT_STREAM_ITERATIONS = 50;
|
|
18
16
|
//# sourceMappingURL=constants.js.map
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAIa,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAKpC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAC3B,QAAA,gBAAgB,GAAG,wBAAgB,GAAG,yBAAiB,GAAG,KAAK,CAAC;AAMhE,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAQpC,QAAA,qCAAqC,GAAG,wBAAgB,GAAG,MAAM,CAAC;AAMlE,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAMpC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AAOpC,QAAA,sBAAsB,GAAG,IAAI,GAAG,qCAA6B,CAAC;AAM9D,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,2BAA2B,GAAG,EAAE,CAAC;AACjC,QAAA,wBAAwB,GAAG,EAAE,CAAC
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAIa,QAAA,4BAA4B,GAAG,IAAI,CAAC;AAKpC,QAAA,gBAAgB,GAAG,OAAO,CAAC;AAC3B,QAAA,iBAAiB,GAAG,MAAM,CAAC;AAC3B,QAAA,gBAAgB,GAAG,wBAAgB,GAAG,yBAAiB,GAAG,KAAK,CAAC;AAMhE,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAQpC,QAAA,qCAAqC,GAAG,wBAAgB,GAAG,MAAM,CAAC;AAMlE,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAMpC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AAOpC,QAAA,sBAAsB,GAAG,IAAI,GAAG,qCAA6B,CAAC;AAM9D,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAC5B,QAAA,2BAA2B,GAAG,EAAE,CAAC;AACjC,QAAA,wBAAwB,GAAG,EAAE,CAAC"}
|
|
@@ -2,7 +2,6 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
|
|
|
2
2
|
import { type MemorySaver } from '@langchain/langgraph';
|
|
3
3
|
import type { Logger } from '@n8n/backend-common';
|
|
4
4
|
import type { INodeTypeDescription } from 'n8n-workflow';
|
|
5
|
-
import type { BuilderFeatureFlags } from './workflow-builder-agent';
|
|
6
5
|
export interface MultiAgentSubgraphConfig {
|
|
7
6
|
parsedNodeTypes: INodeTypeDescription[];
|
|
8
7
|
llmSimpleTask: BaseChatModel;
|
|
@@ -10,8 +9,6 @@ export interface MultiAgentSubgraphConfig {
|
|
|
10
9
|
logger?: Logger;
|
|
11
10
|
instanceUrl?: string;
|
|
12
11
|
checkpointer?: MemorySaver;
|
|
13
|
-
autoCompactThresholdTokens?: number;
|
|
14
|
-
featureFlags?: BuilderFeatureFlags;
|
|
15
12
|
}
|
|
16
13
|
export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgentSubgraphConfig): import("@langchain/langgraph").CompiledStateGraph<{
|
|
17
14
|
messages: import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[];
|
|
@@ -26,9 +23,6 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
|
|
|
26
23
|
discoveryContext: import("./types/discovery-types").DiscoveryContext | null;
|
|
27
24
|
workflowOperations: import("./types").WorkflowOperation[];
|
|
28
25
|
coordinationLog: import("./types/coordination").CoordinationLogEntry[];
|
|
29
|
-
previousSummary: string;
|
|
30
|
-
templateIds: number[];
|
|
31
|
-
nodeConfigurations: import("./types").NodeConfigurationsMap;
|
|
32
26
|
}, {
|
|
33
27
|
messages?: import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[] | undefined;
|
|
34
28
|
workflowJSON?: import("./types").SimpleWorkflow | undefined;
|
|
@@ -42,10 +36,7 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
|
|
|
42
36
|
discoveryContext?: import("./types/discovery-types").DiscoveryContext | null | undefined;
|
|
43
37
|
workflowOperations?: import("./types").WorkflowOperation[] | undefined;
|
|
44
38
|
coordinationLog?: import("./types/coordination").CoordinationLogEntry[] | undefined;
|
|
45
|
-
|
|
46
|
-
templateIds?: number[] | undefined;
|
|
47
|
-
nodeConfigurations?: import("./types").NodeConfigurationsMap | undefined;
|
|
48
|
-
}, "responder" | "supervisor" | "create_workflow_name" | "configurator_subgraph" | "discovery_subgraph" | "builder_subgraph" | "delete_messages" | "compact_messages" | "process_operations" | "__start__" | "cleanup_dangling" | "check_state", {
|
|
39
|
+
}, "responder" | "supervisor" | "configurator_subgraph" | "discovery_subgraph" | "builder_subgraph" | "process_operations" | "__start__", {
|
|
49
40
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
|
|
50
41
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").SimpleWorkflow, import("./types").SimpleWorkflow>;
|
|
51
42
|
workflowContext: import("@langchain/langgraph").BinaryOperatorAggregate<{
|
|
@@ -63,9 +54,6 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
|
|
|
63
54
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/discovery-types").DiscoveryContext | null, import("./types/discovery-types").DiscoveryContext | null>;
|
|
64
55
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").WorkflowOperation[], import("./types").WorkflowOperation[]>;
|
|
65
56
|
coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/coordination").CoordinationLogEntry[], import("./types/coordination").CoordinationLogEntry[]>;
|
|
66
|
-
previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
67
|
-
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
68
|
-
nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").NodeConfigurationsMap, import("./types").NodeConfigurationsMap>;
|
|
69
57
|
}, {
|
|
70
58
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], import("@langchain/core/messages").BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
|
|
71
59
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").SimpleWorkflow, import("./types").SimpleWorkflow>;
|
|
@@ -84,9 +72,6 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
|
|
|
84
72
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/discovery-types").DiscoveryContext | null, import("./types/discovery-types").DiscoveryContext | null>;
|
|
85
73
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").WorkflowOperation[], import("./types").WorkflowOperation[]>;
|
|
86
74
|
coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types/coordination").CoordinationLogEntry[], import("./types/coordination").CoordinationLogEntry[]>;
|
|
87
|
-
previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
88
|
-
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
89
|
-
nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<import("./types").NodeConfigurationsMap, import("./types").NodeConfigurationsMap>;
|
|
90
75
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
91
76
|
supervisor: {
|
|
92
77
|
nextPhase: "responder" | "discovery" | "builder" | "configurator";
|
|
@@ -94,28 +79,6 @@ export declare function createMultiAgentWorkflowWithSubgraphs(config: MultiAgent
|
|
|
94
79
|
responder: {
|
|
95
80
|
messages: import("@langchain/core/messages").AIMessage<import("@langchain/core/messages").MessageStructure>[];
|
|
96
81
|
};
|
|
97
|
-
check_state: {
|
|
98
|
-
nextPhase: import("./utils/state-modifier").StateModificationAction;
|
|
99
|
-
};
|
|
100
|
-
cleanup_dangling: {
|
|
101
|
-
messages: import("@langchain/core/messages").RemoveMessage[];
|
|
102
|
-
};
|
|
103
|
-
compact_messages: {
|
|
104
|
-
previousSummary: string;
|
|
105
|
-
messages: import("@langchain/core/messages").BaseMessage[];
|
|
106
|
-
coordinationLog: import("./types/coordination").CoordinationLogEntry[];
|
|
107
|
-
};
|
|
108
|
-
delete_messages: {
|
|
109
|
-
messages: import("@langchain/core/messages").RemoveMessage[];
|
|
110
|
-
workflowJSON: import("./types").SimpleWorkflow;
|
|
111
|
-
previousSummary: string;
|
|
112
|
-
discoveryContext: null;
|
|
113
|
-
coordinationLog: import("./types/coordination").CoordinationLogEntry[];
|
|
114
|
-
workflowOperations: [];
|
|
115
|
-
};
|
|
116
|
-
create_workflow_name: {
|
|
117
|
-
workflowJSON: import("./types").SimpleWorkflow;
|
|
118
|
-
};
|
|
119
82
|
discovery_subgraph: Partial<Record<string, unknown>>;
|
|
120
83
|
builder_subgraph: Partial<Record<string, unknown>>;
|
|
121
84
|
configurator_subgraph: Partial<Record<string, unknown>>;
|
|
@@ -13,7 +13,6 @@ const discovery_subgraph_1 = require("./subgraphs/discovery.subgraph");
|
|
|
13
13
|
const coordination_1 = require("./types/coordination");
|
|
14
14
|
const coordination_log_1 = require("./utils/coordination-log");
|
|
15
15
|
const operations_processor_1 = require("./utils/operations-processor");
|
|
16
|
-
const state_modifier_1 = require("./utils/state-modifier");
|
|
17
16
|
function routeToNode(next) {
|
|
18
17
|
const nodeMapping = {
|
|
19
18
|
responder: 'responder',
|
|
@@ -60,7 +59,7 @@ function createSubgraphNodeHandler(subgraph, compiledGraph, name, logger, recurs
|
|
|
60
59
|
};
|
|
61
60
|
}
|
|
62
61
|
function createMultiAgentWorkflowWithSubgraphs(config) {
|
|
63
|
-
const { parsedNodeTypes, llmComplexTask, logger, instanceUrl, checkpointer
|
|
62
|
+
const { parsedNodeTypes, llmComplexTask, logger, instanceUrl, checkpointer } = config;
|
|
64
63
|
const supervisorAgent = new supervisor_agent_1.SupervisorAgent({ llm: llmComplexTask });
|
|
65
64
|
const responderAgent = new responder_agent_1.ResponderAgent({ llm: llmComplexTask });
|
|
66
65
|
const discoverySubgraph = new discovery_subgraph_1.DiscoverySubgraph();
|
|
@@ -70,7 +69,6 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
|
|
|
70
69
|
parsedNodeTypes,
|
|
71
70
|
llm: llmComplexTask,
|
|
72
71
|
logger,
|
|
73
|
-
featureFlags,
|
|
74
72
|
});
|
|
75
73
|
const compiledBuilder = builderSubgraph.create({ parsedNodeTypes, llm: llmComplexTask, logger });
|
|
76
74
|
const compiledConfigurator = configuratorSubgraph.create({
|
|
@@ -85,7 +83,6 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
|
|
|
85
83
|
messages: state.messages,
|
|
86
84
|
workflowJSON: state.workflowJSON,
|
|
87
85
|
coordinationLog: state.coordinationLog,
|
|
88
|
-
previousSummary: state.previousSummary,
|
|
89
86
|
});
|
|
90
87
|
return {
|
|
91
88
|
nextPhase: routing.next,
|
|
@@ -97,7 +94,6 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
|
|
|
97
94
|
coordinationLog: state.coordinationLog,
|
|
98
95
|
discoveryContext: state.discoveryContext,
|
|
99
96
|
workflowJSON: state.workflowJSON,
|
|
100
|
-
previousSummary: state.previousSummary,
|
|
101
97
|
});
|
|
102
98
|
return {
|
|
103
99
|
messages: [response],
|
|
@@ -110,41 +106,13 @@ function createMultiAgentWorkflowWithSubgraphs(config) {
|
|
|
110
106
|
workflowOperations: [],
|
|
111
107
|
};
|
|
112
108
|
})
|
|
113
|
-
.addNode('check_state', (state) => ({
|
|
114
|
-
nextPhase: (0, state_modifier_1.determineStateAction)(state, autoCompactThresholdTokens),
|
|
115
|
-
}))
|
|
116
|
-
.addNode('cleanup_dangling', (state) => (0, state_modifier_1.handleCleanupDangling)(state.messages, logger))
|
|
117
|
-
.addNode('compact_messages', async (state) => {
|
|
118
|
-
const isAutoCompact = state.messages[state.messages.length - 1]?.content !== '/compact';
|
|
119
|
-
return await (0, state_modifier_1.handleCompactMessages)(state.messages, state.previousSummary ?? '', llmComplexTask, isAutoCompact);
|
|
120
|
-
})
|
|
121
|
-
.addNode('delete_messages', (state) => (0, state_modifier_1.handleDeleteMessages)(state.messages))
|
|
122
|
-
.addNode('create_workflow_name', async (state) => await (0, state_modifier_1.handleCreateWorkflowName)(state.messages, state.workflowJSON, llmComplexTask, logger))
|
|
123
109
|
.addNode('discovery_subgraph', createSubgraphNodeHandler(discoverySubgraph, compiledDiscovery, 'discovery_subgraph', logger, constants_1.MAX_DISCOVERY_ITERATIONS))
|
|
124
110
|
.addNode('builder_subgraph', createSubgraphNodeHandler(builderSubgraph, compiledBuilder, 'builder_subgraph', logger, constants_1.MAX_BUILDER_ITERATIONS))
|
|
125
111
|
.addNode('configurator_subgraph', createSubgraphNodeHandler(configuratorSubgraph, compiledConfigurator, 'configurator_subgraph', logger, constants_1.MAX_CONFIGURATOR_ITERATIONS))
|
|
126
112
|
.addEdge('discovery_subgraph', 'process_operations')
|
|
127
113
|
.addEdge('builder_subgraph', 'process_operations')
|
|
128
114
|
.addEdge('configurator_subgraph', 'process_operations')
|
|
129
|
-
.addEdge(langgraph_1.START, '
|
|
130
|
-
.addConditionalEdges('check_state', (state) => {
|
|
131
|
-
const routes = {
|
|
132
|
-
cleanup_dangling: 'cleanup_dangling',
|
|
133
|
-
compact_messages: 'compact_messages',
|
|
134
|
-
delete_messages: 'delete_messages',
|
|
135
|
-
create_workflow_name: 'create_workflow_name',
|
|
136
|
-
auto_compact_messages: 'compact_messages',
|
|
137
|
-
continue: 'supervisor',
|
|
138
|
-
};
|
|
139
|
-
return routes[state.nextPhase] ?? 'supervisor';
|
|
140
|
-
})
|
|
141
|
-
.addEdge('cleanup_dangling', 'check_state')
|
|
142
|
-
.addEdge('delete_messages', 'responder')
|
|
143
|
-
.addEdge('create_workflow_name', 'supervisor')
|
|
144
|
-
.addConditionalEdges('compact_messages', (state) => {
|
|
145
|
-
const hasMessages = state.messages.length > 0;
|
|
146
|
-
return hasMessages ? 'check_state' : 'responder';
|
|
147
|
-
})
|
|
115
|
+
.addEdge(langgraph_1.START, 'supervisor')
|
|
148
116
|
.addConditionalEdges('supervisor', (state) => routeToNode(state.nextPhase))
|
|
149
117
|
.addConditionalEdges('process_operations', (state) => routeToNode((0, coordination_log_1.getNextPhaseFromLog)(state.coordinationLog)))
|
|
150
118
|
.addEdge('responder', langgraph_1.END)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-agent-workflow-subgraphs.js","sourceRoot":"","sources":["../src/multi-agent-workflow-subgraphs.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"multi-agent-workflow-subgraphs.js","sourceRoot":"","sources":["../src/multi-agent-workflow-subgraphs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
2
2
|
import type { CoordinationLogEntry } from './types/coordination';
|
|
3
3
|
import type { DiscoveryContext } from './types/discovery-types';
|
|
4
|
-
import type { NodeConfigurationsMap } from './types/tools';
|
|
5
4
|
import type { SimpleWorkflow, WorkflowOperation } from './types/workflow';
|
|
6
5
|
export declare const ParentGraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
7
6
|
messages: import("@langchain/langgraph").BinaryOperatorAggregate<BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[], BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[]>;
|
|
@@ -21,7 +20,4 @@ export declare const ParentGraphState: import("@langchain/langgraph").Annotation
|
|
|
21
20
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
22
21
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[], WorkflowOperation[]>;
|
|
23
22
|
coordinationLog: import("@langchain/langgraph").BinaryOperatorAggregate<CoordinationLogEntry[], CoordinationLogEntry[]>;
|
|
24
|
-
previousSummary: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
25
|
-
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
26
|
-
nodeConfigurations: import("@langchain/langgraph").BinaryOperatorAggregate<NodeConfigurationsMap, NodeConfigurationsMap>;
|
|
27
23
|
}>;
|
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ParentGraphState = void 0;
|
|
4
4
|
const langgraph_1 = require("@langchain/langgraph");
|
|
5
|
-
const state_reducers_1 = require("./utils/state-reducers");
|
|
6
5
|
exports.ParentGraphState = langgraph_1.Annotation.Root({
|
|
7
6
|
messages: (0, langgraph_1.Annotation)({
|
|
8
|
-
reducer:
|
|
7
|
+
reducer: (x, y) => x.concat(y),
|
|
9
8
|
default: () => [],
|
|
10
9
|
}),
|
|
11
10
|
workflowJSON: (0, langgraph_1.Annotation)({
|
|
@@ -31,17 +30,5 @@ exports.ParentGraphState = langgraph_1.Annotation.Root({
|
|
|
31
30
|
reducer: (x, y) => x.concat(y),
|
|
32
31
|
default: () => [],
|
|
33
32
|
}),
|
|
34
|
-
previousSummary: (0, langgraph_1.Annotation)({
|
|
35
|
-
reducer: (x, y) => y ?? x,
|
|
36
|
-
default: () => '',
|
|
37
|
-
}),
|
|
38
|
-
templateIds: (0, langgraph_1.Annotation)({
|
|
39
|
-
reducer: state_reducers_1.appendArrayReducer,
|
|
40
|
-
default: () => [],
|
|
41
|
-
}),
|
|
42
|
-
nodeConfigurations: (0, langgraph_1.Annotation)({
|
|
43
|
-
reducer: state_reducers_1.nodeConfigurationsReducer,
|
|
44
|
-
default: () => ({}),
|
|
45
|
-
}),
|
|
46
33
|
});
|
|
47
34
|
//# sourceMappingURL=parent-graph-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parent-graph-state.js","sourceRoot":"","sources":["../src/parent-graph-state.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"parent-graph-state.js","sourceRoot":"","sources":["../src/parent-graph-state.ts"],"names":[],"mappings":";;;AACA,oDAAkD;AAarC,QAAA,gBAAgB,GAAG,sBAAU,CAAC,IAAI,CAAC;IAE/C,QAAQ,EAAE,IAAA,sBAAU,EAAgB;QACnC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,YAAY,EAAE,IAAA,sBAAU,EAAiB;QACxC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;KACzD,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAA6C;QACvE,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;KACzB,CAAC;IAGF,SAAS,EAAE,IAAA,sBAAU,EAAS;QAC7B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,gBAAgB,EAAE,IAAA,sBAAU,EAA0B;QACrD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI;KACnB,CAAC;IAGF,kBAAkB,EAAE,IAAA,sBAAU,EAAsB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAyB;QACnD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;CACF,CAAC,CAAC"}
|
|
@@ -98,8 +98,6 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
98
98
|
tools: {
|
|
99
99
|
messages?: BaseMessage[];
|
|
100
100
|
workflowOperations?: WorkflowOperation[] | null;
|
|
101
|
-
templateIds?: number[];
|
|
102
|
-
nodeConfigurations?: import("..").NodeConfigurationsMap;
|
|
103
101
|
};
|
|
104
102
|
}, unknown, unknown>;
|
|
105
103
|
transformInput(parentState: typeof ParentGraphState.State): {
|
|
@@ -33,7 +33,6 @@ STEP 3: VALIDATE (REQUIRED)
|
|
|
33
33
|
- After ALL nodes and connections are created, call validate_structure
|
|
34
34
|
- This step is MANDATORY - you cannot finish without it
|
|
35
35
|
- If validation finds issues (missing trigger, invalid connections), fix them and validate again
|
|
36
|
-
- MAXIMUM 3 VALIDATION ATTEMPTS: After 3 calls to validate_structure, proceed to respond regardless of remaining issues
|
|
37
36
|
|
|
38
37
|
STEP 4: RESPOND TO USER
|
|
39
38
|
- Only after validation passes, provide your brief summary
|
|
@@ -62,12 +61,6 @@ Placement rules:
|
|
|
62
61
|
For AI-generated structured data, prefer Structured Output Parser nodes over Code nodes.
|
|
63
62
|
For binary file data, use Extract From File node to extract content from files before processing.
|
|
64
63
|
Use Code nodes only for custom business logic beyond parsing.
|
|
65
|
-
|
|
66
|
-
STRUCTURED OUTPUT PARSER RULE:
|
|
67
|
-
When Discovery results include Structured Output Parser:
|
|
68
|
-
1. Create the Structured Output Parser node
|
|
69
|
-
2. Set AI Agent's hasOutputParser: true in connectionParameters
|
|
70
|
-
3. Connect: Structured Output Parser → AI Agent (ai_outputParser connection)
|
|
71
64
|
</data_parsing_strategy>
|
|
72
65
|
|
|
73
66
|
<proactive_design>
|
|
@@ -93,19 +86,9 @@ ALWAYS check node details and set connectionParameters explicitly.
|
|
|
93
86
|
|
|
94
87
|
CONNECTION PARAMETERS EXAMPLES:
|
|
95
88
|
- Static nodes (HTTP Request, Set, Code): reasoning="Static inputs/outputs", parameters={{}}
|
|
96
|
-
- AI Agent with
|
|
89
|
+
- AI Agent with parser: reasoning="hasOutputParser creates additional input", parameters={{ hasOutputParser: true }}
|
|
97
90
|
- Vector Store insert: reasoning="Insert mode requires document input", parameters={{ mode: "insert" }}
|
|
98
91
|
- Document Loader custom: reasoning="Custom mode enables text splitter input", parameters={{ textSplittingMode: "custom" }}
|
|
99
|
-
- Switch with routing rules: reasoning="Switch needs N outputs, creating N rules.values entries with outputKeys", parameters={{ mode: "rules", rules: {{ values: [...] }} }} - see <switch_node_pattern> for full structure
|
|
100
|
-
|
|
101
|
-
<structured_output_parser_guidance>
|
|
102
|
-
WHEN TO SET hasOutputParser: true on AI Agent:
|
|
103
|
-
- Discovery found Structured Output Parser node → MUST set hasOutputParser: true
|
|
104
|
-
- AI output will be used in conditions (IF/Switch nodes checking $json.field)
|
|
105
|
-
- AI output will be formatted/displayed (HTML emails, reports with specific sections)
|
|
106
|
-
- AI output will be stored in database/data tables with specific fields
|
|
107
|
-
- AI is classifying, scoring, or extracting specific data fields
|
|
108
|
-
</structured_output_parser_guidance>
|
|
109
92
|
|
|
110
93
|
<node_connections_understanding>
|
|
111
94
|
n8n connections flow from SOURCE (output) to TARGET (input).
|
|
@@ -153,51 +136,6 @@ Common mistake to avoid:
|
|
|
153
136
|
- Document Loader is an AI sub-node that gives Vector Store document processing capability
|
|
154
137
|
</rag_workflow_pattern>
|
|
155
138
|
|
|
156
|
-
<switch_node_pattern>
|
|
157
|
-
For Switch nodes with multiple routing paths:
|
|
158
|
-
- The number of outputs is determined by the number of entries in rules.values[]
|
|
159
|
-
- You MUST create the rules.values[] array with placeholder entries for each output branch
|
|
160
|
-
- Each entry needs: conditions structure (with empty leftValue/rightValue) + renameOutput: true + descriptive outputKey
|
|
161
|
-
- Configurator will fill in the actual condition values later
|
|
162
|
-
- Use descriptive node names like "Route by Amount" or "Route by Status"
|
|
163
|
-
|
|
164
|
-
Example connectionParameters for 3-way routing:
|
|
165
|
-
{{
|
|
166
|
-
"mode": "rules",
|
|
167
|
-
"rules": {{
|
|
168
|
-
"values": [
|
|
169
|
-
{{
|
|
170
|
-
"conditions": {{
|
|
171
|
-
"options": {{ "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }},
|
|
172
|
-
"conditions": [{{ "leftValue": "", "rightValue": "", "operator": {{ "type": "string", "operation": "equals" }} }}],
|
|
173
|
-
"combinator": "and"
|
|
174
|
-
}},
|
|
175
|
-
"renameOutput": true,
|
|
176
|
-
"outputKey": "Output 1 Name"
|
|
177
|
-
}},
|
|
178
|
-
{{
|
|
179
|
-
"conditions": {{
|
|
180
|
-
"options": {{ "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }},
|
|
181
|
-
"conditions": [{{ "leftValue": "", "rightValue": "", "operator": {{ "type": "string", "operation": "equals" }} }}],
|
|
182
|
-
"combinator": "and"
|
|
183
|
-
}},
|
|
184
|
-
"renameOutput": true,
|
|
185
|
-
"outputKey": "Output 2 Name"
|
|
186
|
-
}},
|
|
187
|
-
{{
|
|
188
|
-
"conditions": {{
|
|
189
|
-
"options": {{ "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }},
|
|
190
|
-
"conditions": [{{ "leftValue": "", "rightValue": "", "operator": {{ "type": "string", "operation": "equals" }} }}],
|
|
191
|
-
"combinator": "and"
|
|
192
|
-
}},
|
|
193
|
-
"renameOutput": true,
|
|
194
|
-
"outputKey": "Output 3 Name"
|
|
195
|
-
}}
|
|
196
|
-
]
|
|
197
|
-
}}
|
|
198
|
-
}}
|
|
199
|
-
</switch_node_pattern>
|
|
200
|
-
|
|
201
139
|
<connection_type_examples>
|
|
202
140
|
**Main Connections** (regular data flow):
|
|
203
141
|
- Trigger → HTTP Request → Set → Email
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/builder.subgraph.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAE7D,oDAA8D;AAI9D,qCAA2C;AAG3C,6DAAoD;AAEpD,0DAA2D;AAC3D,oEAAqE;AACrE,4EAA6E;AAC7E,gEAAiE;AACjE,8EAA+E;AAE/E,wDAA8D;AAG9D,0DAAmE;AACnE,gEAKmC;AACnC,wEAAkE;AAClE,gEAImC;AAKnC,MAAM,cAAc,GAAG
|
|
1
|
+
{"version":3,"file":"builder.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/builder.subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,8 +107,6 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
107
107
|
tools: {
|
|
108
108
|
messages?: BaseMessage[];
|
|
109
109
|
workflowOperations?: WorkflowOperation[] | null;
|
|
110
|
-
templateIds?: number[];
|
|
111
|
-
nodeConfigurations?: import("..").NodeConfigurationsMap;
|
|
112
110
|
};
|
|
113
111
|
}, unknown, unknown>;
|
|
114
112
|
transformInput(parentState: typeof ParentGraphState.State): {
|
|
@@ -28,7 +28,6 @@ STEP 2: VALIDATE (REQUIRED)
|
|
|
28
28
|
- After ALL configurations complete, call validate_configuration
|
|
29
29
|
- This step is MANDATORY - you cannot finish without it
|
|
30
30
|
- If validation finds issues, fix them and validate again
|
|
31
|
-
- MAXIMUM 3 VALIDATION ATTEMPTS: After 3 calls to validate_configuration, proceed to respond regardless of remaining issues
|
|
32
31
|
|
|
33
32
|
STEP 3: RESPOND TO USER
|
|
34
33
|
- Only after validation passes, provide your response
|
|
@@ -64,7 +63,6 @@ CRITICAL PARAMETERS TO ALWAYS SET:
|
|
|
64
63
|
- Set node: Fields to set with values
|
|
65
64
|
- Code node: The actual code to execute
|
|
66
65
|
- IF node: Conditions to check
|
|
67
|
-
- Switch node: Configure rules.values[] with conditions for each output branch (uses same filter structure as IF node)
|
|
68
66
|
- Document Loader: dataType parameter ('binary' for files like PDF, 'json' for JSON data)
|
|
69
67
|
- AI nodes: Prompts, models, configurations
|
|
70
68
|
- Tool nodes: Use $fromAI for dynamic recipient/subject/message fields
|
|
@@ -75,34 +73,6 @@ Defaults are traps that cause runtime failures. Examples:
|
|
|
75
73
|
- HTTP Request defaults to GET but APIs often need POST
|
|
76
74
|
- Vector Store mode affects available connections - set explicitly (retrieve-as-tool when using with AI Agent)
|
|
77
75
|
|
|
78
|
-
<switch_node_configuration>
|
|
79
|
-
Switch nodes require configuring rules.values[] array - each entry creates one output:
|
|
80
|
-
|
|
81
|
-
Structure per rule:
|
|
82
|
-
{{
|
|
83
|
-
"conditions": {{
|
|
84
|
-
"options": {{ "caseSensitive": true, "leftValue": "", "typeValidation": "strict" }},
|
|
85
|
-
"conditions": [
|
|
86
|
-
{{
|
|
87
|
-
"leftValue": "={{{{ $json.fieldName }}}}",
|
|
88
|
-
"rightValue": <value>,
|
|
89
|
-
"operator": {{ "type": "number|string", "operation": "lt|gt|equals|etc" }}
|
|
90
|
-
}}
|
|
91
|
-
],
|
|
92
|
-
"combinator": "and"
|
|
93
|
-
}},
|
|
94
|
-
"renameOutput": true,
|
|
95
|
-
"outputKey": "Descriptive Label"
|
|
96
|
-
}}
|
|
97
|
-
|
|
98
|
-
For numeric ranges (e.g., $100-$1000):
|
|
99
|
-
- Use TWO conditions with combinator: "and"
|
|
100
|
-
- First: gte (greater than or equal)
|
|
101
|
-
- Second: lte (less than or equal)
|
|
102
|
-
|
|
103
|
-
Always set renameOutput: true and provide descriptive outputKey labels.
|
|
104
|
-
</switch_node_configuration>
|
|
105
|
-
|
|
106
76
|
<response_format>
|
|
107
77
|
After validation passes, provide a concise summary:
|
|
108
78
|
- List any placeholders requiring user configuration (e.g., "URL placeholder needs actual endpoint")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurator.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/configurator.subgraph.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAG7D,oDAA8D;AAI9D,qCAA2C;AAE3C,6DAAoD;AAEpD,8EAA8E;AAC9E,sFAAsF;AACtF,sFAAuF;AAEvF,wDAAmE;AAEnE,kDAAmD;AAEnD,0DAAmE;AACnE,gEAImC;AACnC,wEAAkE;AAClE,gEAImC;AAMnC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"configurator.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/configurator.subgraph.ts"],"names":[],"mappings":"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"}
|