@n8n/ai-workflow-builder 1.1.2 → 1.2.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/ai-workflow-builder-agent.service.d.ts +1 -0
- package/dist/ai-workflow-builder-agent.service.js +3 -0
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/multi-agent-workflow-subgraphs.d.ts +4 -4
- package/dist/multi-agent-workflow-subgraphs.js +7 -1
- package/dist/multi-agent-workflow-subgraphs.js.map +1 -1
- package/dist/parent-graph-state.d.ts +2 -2
- package/dist/parent-graph-state.js +3 -3
- package/dist/parent-graph-state.js.map +1 -1
- package/dist/prompts/agents/builder.prompt.js +88 -16
- package/dist/prompts/agents/builder.prompt.js.map +1 -1
- package/dist/prompts/agents/configurator.prompt.js +21 -3
- package/dist/prompts/agents/configurator.prompt.js.map +1 -1
- package/dist/prompts/agents/discovery.prompt.js +2 -1
- package/dist/prompts/agents/discovery.prompt.js.map +1 -1
- package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.d.ts +2 -0
- package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.js +70 -0
- package/dist/prompts/chains/parameter-updater/guides/embedding-nodes.js.map +1 -0
- package/dist/prompts/chains/parameter-updater/guides/index.d.ts +1 -0
- package/dist/prompts/chains/parameter-updater/guides/index.js +3 -1
- package/dist/prompts/chains/parameter-updater/guides/index.js.map +1 -1
- package/dist/prompts/chains/parameter-updater/registry.js +1 -0
- package/dist/prompts/chains/parameter-updater/registry.js.map +1 -1
- package/dist/session-manager.service.d.ts +1 -0
- package/dist/session-manager.service.js +55 -4
- package/dist/session-manager.service.js.map +1 -1
- package/dist/subgraphs/builder.subgraph.d.ts +11 -1
- package/dist/subgraphs/builder.subgraph.js +13 -1
- package/dist/subgraphs/builder.subgraph.js.map +1 -1
- package/dist/subgraphs/configurator.subgraph.d.ts +11 -1
- package/dist/subgraphs/configurator.subgraph.js +13 -1
- package/dist/subgraphs/configurator.subgraph.js.map +1 -1
- package/dist/subgraphs/discovery.subgraph.d.ts +9 -9
- package/dist/subgraphs/discovery.subgraph.js +6 -8
- package/dist/subgraphs/discovery.subgraph.js.map +1 -1
- package/dist/tools/best-practices/data-extraction.js +11 -1
- package/dist/tools/best-practices/data-extraction.js.map +1 -1
- package/dist/tools/best-practices/document-processing.js +12 -1
- package/dist/tools/best-practices/document-processing.js.map +1 -1
- package/dist/tools/best-practices/scraping-and-research.js +10 -0
- package/dist/tools/best-practices/scraping-and-research.js.map +1 -1
- package/dist/tools/builder-tools.js +1 -1
- package/dist/tools/builder-tools.js.map +1 -1
- package/dist/tools/get-node-examples.tool.d.ts +119 -0
- package/dist/tools/get-node-examples.tool.js +189 -0
- package/dist/tools/get-node-examples.tool.js.map +1 -0
- package/dist/tools/get-workflow-examples.tool.js +8 -42
- package/dist/tools/get-workflow-examples.tool.js.map +1 -1
- package/dist/tools/node-details.tool.d.ts +2 -1
- package/dist/tools/node-details.tool.js +48 -18
- package/dist/tools/node-details.tool.js.map +1 -1
- package/dist/tools/utils/{markdown-workflow.utils.d.ts → mermaid.utils.d.ts} +0 -1
- package/dist/tools/utils/mermaid.utils.js +647 -0
- package/dist/tools/utils/mermaid.utils.js.map +1 -0
- package/dist/tools/utils/node-configuration.utils.d.ts +13 -0
- package/dist/tools/utils/node-configuration.utils.js +75 -0
- package/dist/tools/utils/node-configuration.utils.js.map +1 -0
- package/dist/tools/utils/test/workflows/ai-assistant.workflow.js +1 -0
- package/dist/tools/utils/test/workflows/ai-assistant.workflow.js.map +1 -1
- package/dist/tools/web/templates.d.ts +17 -1
- package/dist/tools/web/templates.js +35 -0
- package/dist/tools/web/templates.js.map +1 -1
- package/dist/types/discovery-types.d.ts +0 -2
- package/dist/types/tools.d.ts +6 -1
- package/dist/types/web/templates.d.ts +1 -0
- package/dist/utils/state-reducers.d.ts +2 -3
- package/dist/utils/state-reducers.js +10 -15
- package/dist/utils/state-reducers.js.map +1 -1
- package/dist/utils/stream-processor.js +10 -1
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/subgraph-helpers.d.ts +2 -2
- package/dist/utils/subgraph-helpers.js +8 -9
- package/dist/utils/subgraph-helpers.js.map +1 -1
- package/dist/utils/tool-executor.js +4 -18
- package/dist/utils/tool-executor.js.map +1 -1
- package/dist/validation/checks/from-ai.js +3 -1
- package/dist/validation/checks/from-ai.js.map +1 -1
- package/dist/validation/checks/nodes.js +10 -2
- package/dist/validation/checks/nodes.js.map +1 -1
- package/dist/validation/checks/tools.js +3 -1
- package/dist/validation/checks/tools.js.map +1 -1
- package/dist/validation/checks/trigger.js +3 -1
- package/dist/validation/checks/trigger.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +1 -0
- package/dist/workflow-builder-agent.js +8 -1
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.d.ts +2 -2
- package/dist/workflow-state.js +4 -4
- package/dist/workflow-state.js.map +1 -1
- package/package.json +5 -5
- package/dist/tools/utils/markdown-workflow.utils.js +0 -174
- package/dist/tools/utils/markdown-workflow.utils.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../src/session-manager.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"session-manager.service.js","sourceRoot":"","sources":["../src/session-manager.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
|
|
|
2
2
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
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';
|
|
5
6
|
import { BaseSubgraph } from './subgraph-interface';
|
|
6
7
|
import type { ParentGraphState } from '../parent-graph-state';
|
|
7
8
|
import type { CoordinationLogEntry } from '../types/coordination';
|
|
8
9
|
import type { DiscoveryContext } from '../types/discovery-types';
|
|
10
|
+
import type { WorkflowMetadata } from '../types/tools';
|
|
9
11
|
import type { SimpleWorkflow, WorkflowOperation } from '../types/workflow';
|
|
10
12
|
export declare const BuilderSubgraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
11
13
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
@@ -24,11 +26,13 @@ export declare const BuilderSubgraphState: import("@langchain/langgraph").Annota
|
|
|
24
26
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
25
27
|
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>[]>;
|
|
26
28
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
29
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
27
30
|
}>;
|
|
28
31
|
export interface BuilderSubgraphConfig {
|
|
29
32
|
parsedNodeTypes: INodeTypeDescription[];
|
|
30
33
|
llm: BaseChatModel;
|
|
31
34
|
logger?: Logger;
|
|
35
|
+
featureFlags?: BuilderFeatureFlags;
|
|
32
36
|
}
|
|
33
37
|
export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig, typeof BuilderSubgraphState.State, typeof ParentGraphState.State> {
|
|
34
38
|
name: string;
|
|
@@ -45,6 +49,7 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
45
49
|
discoveryContext: DiscoveryContext | null;
|
|
46
50
|
messages: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[];
|
|
47
51
|
workflowOperations: WorkflowOperation[] | null;
|
|
52
|
+
cachedTemplates: WorkflowMetadata[];
|
|
48
53
|
}, {
|
|
49
54
|
workflowJSON?: SimpleWorkflow | undefined;
|
|
50
55
|
userRequest?: string | undefined;
|
|
@@ -57,6 +62,7 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
57
62
|
discoveryContext?: DiscoveryContext | null | undefined;
|
|
58
63
|
messages?: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[] | undefined;
|
|
59
64
|
workflowOperations?: WorkflowOperation[] | null | undefined;
|
|
65
|
+
cachedTemplates?: WorkflowMetadata[] | undefined;
|
|
60
66
|
}, "agent" | "tools" | "process_operations" | "__start__", {
|
|
61
67
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
62
68
|
userRequest: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
@@ -74,6 +80,7 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
74
80
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
75
81
|
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>[]>;
|
|
76
82
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
83
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
77
84
|
}, {
|
|
78
85
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
79
86
|
userRequest: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
@@ -91,6 +98,7 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
91
98
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
92
99
|
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>[]>;
|
|
93
100
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
101
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
94
102
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
95
103
|
agent: {
|
|
96
104
|
messages: import("@langchain/core/messages").AIMessageChunk<import("@langchain/core/messages").MessageStructure>[];
|
|
@@ -99,7 +107,7 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
99
107
|
messages?: BaseMessage[];
|
|
100
108
|
workflowOperations?: WorkflowOperation[] | null;
|
|
101
109
|
templateIds?: number[];
|
|
102
|
-
|
|
110
|
+
cachedTemplates?: WorkflowMetadata[];
|
|
103
111
|
};
|
|
104
112
|
}, unknown, unknown>;
|
|
105
113
|
transformInput(parentState: typeof ParentGraphState.State): {
|
|
@@ -113,10 +121,12 @@ export declare class BuilderSubgraph extends BaseSubgraph<BuilderSubgraphConfig,
|
|
|
113
121
|
} | undefined;
|
|
114
122
|
discoveryContext: DiscoveryContext | null;
|
|
115
123
|
messages: import("@langchain/core/messages").HumanMessage<import("@langchain/core/messages").MessageStructure>[];
|
|
124
|
+
cachedTemplates: WorkflowMetadata[];
|
|
116
125
|
};
|
|
117
126
|
transformOutput(subgraphOutput: typeof BuilderSubgraphState.State, _parentState: typeof ParentGraphState.State): {
|
|
118
127
|
workflowJSON: SimpleWorkflow;
|
|
119
128
|
workflowOperations: WorkflowOperation[];
|
|
120
129
|
coordinationLog: CoordinationLogEntry[];
|
|
130
|
+
cachedTemplates: WorkflowMetadata[];
|
|
121
131
|
};
|
|
122
132
|
}
|
|
@@ -8,6 +8,7 @@ const builder_prompt_1 = require("../prompts/agents/builder.prompt");
|
|
|
8
8
|
const subgraph_interface_1 = require("./subgraph-interface");
|
|
9
9
|
const add_node_tool_1 = require("../tools/add-node.tool");
|
|
10
10
|
const connect_nodes_tool_1 = require("../tools/connect-nodes.tool");
|
|
11
|
+
const get_node_examples_tool_1 = require("../tools/get-node-examples.tool");
|
|
11
12
|
const remove_connection_tool_1 = require("../tools/remove-connection.tool");
|
|
12
13
|
const remove_node_tool_1 = require("../tools/remove-node.tool");
|
|
13
14
|
const validate_structure_tool_1 = require("../tools/validate-structure.tool");
|
|
@@ -15,6 +16,7 @@ const coordination_1 = require("../types/coordination");
|
|
|
15
16
|
const cache_control_1 = require("../utils/cache-control");
|
|
16
17
|
const context_builders_1 = require("../utils/context-builders");
|
|
17
18
|
const operations_processor_1 = require("../utils/operations-processor");
|
|
19
|
+
const state_reducers_1 = require("../utils/state-reducers");
|
|
18
20
|
const subgraph_helpers_1 = require("../utils/subgraph-helpers");
|
|
19
21
|
exports.BuilderSubgraphState = langgraph_1.Annotation.Root({
|
|
20
22
|
workflowJSON: (0, langgraph_1.Annotation)({
|
|
@@ -46,18 +48,26 @@ exports.BuilderSubgraphState = langgraph_1.Annotation.Root({
|
|
|
46
48
|
},
|
|
47
49
|
default: () => [],
|
|
48
50
|
}),
|
|
51
|
+
cachedTemplates: (0, langgraph_1.Annotation)({
|
|
52
|
+
reducer: state_reducers_1.cachedTemplatesReducer,
|
|
53
|
+
default: () => [],
|
|
54
|
+
}),
|
|
49
55
|
});
|
|
50
56
|
class BuilderSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
51
57
|
name = 'builder_subgraph';
|
|
52
58
|
description = 'Constructs workflow structure: creating nodes and connections';
|
|
53
59
|
create(config) {
|
|
54
|
-
const
|
|
60
|
+
const includeExamples = config.featureFlags?.templateExamples === true;
|
|
61
|
+
const baseTools = [
|
|
55
62
|
(0, add_node_tool_1.createAddNodeTool)(config.parsedNodeTypes),
|
|
56
63
|
(0, connect_nodes_tool_1.createConnectNodesTool)(config.parsedNodeTypes, config.logger),
|
|
57
64
|
(0, remove_node_tool_1.createRemoveNodeTool)(config.logger),
|
|
58
65
|
(0, remove_connection_tool_1.createRemoveConnectionTool)(config.logger),
|
|
59
66
|
(0, validate_structure_tool_1.createValidateStructureTool)(config.parsedNodeTypes),
|
|
60
67
|
];
|
|
68
|
+
const tools = includeExamples
|
|
69
|
+
? [...baseTools, (0, get_node_examples_tool_1.createGetNodeConnectionExamplesTool)(config.logger)]
|
|
70
|
+
: baseTools;
|
|
61
71
|
const toolMap = new Map(tools.map((bt) => [bt.tool.name, bt.tool]));
|
|
62
72
|
const systemPrompt = prompts_1.ChatPromptTemplate.fromMessages([
|
|
63
73
|
[
|
|
@@ -124,6 +134,7 @@ class BuilderSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
124
134
|
workflowContext: parentState.workflowContext,
|
|
125
135
|
discoveryContext: parentState.discoveryContext,
|
|
126
136
|
messages: [contextMessage],
|
|
137
|
+
cachedTemplates: parentState.cachedTemplates,
|
|
127
138
|
};
|
|
128
139
|
}
|
|
129
140
|
transformOutput(subgraphOutput, _parentState) {
|
|
@@ -154,6 +165,7 @@ class BuilderSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
154
165
|
workflowJSON: subgraphOutput.workflowJSON,
|
|
155
166
|
workflowOperations: subgraphOutput.workflowOperations ?? [],
|
|
156
167
|
coordinationLog: [logEntry],
|
|
168
|
+
cachedTemplates: subgraphOutput.cachedTemplates,
|
|
157
169
|
};
|
|
158
170
|
}
|
|
159
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/builder.subgraph.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAE7D,oDAA8D;AAI9D,qCAA2C;AAC3C,oEAAqE;AAGrE,6DAAoD;AAEpD,0DAA2D;AAC3D,oEAAqE;AACrE,4EAA6E;AAC7E,gEAAiE;AACjE,8EAA+E;AAE/E,wDAA8D;
|
|
1
|
+
{"version":3,"file":"builder.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/builder.subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
|
|
|
2
2
|
import type { BaseMessage } from '@langchain/core/messages';
|
|
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';
|
|
5
6
|
import { BaseSubgraph } from './subgraph-interface';
|
|
6
7
|
import type { ParentGraphState } from '../parent-graph-state';
|
|
7
8
|
import type { CoordinationLogEntry } from '../types/coordination';
|
|
8
9
|
import type { DiscoveryContext } from '../types/discovery-types';
|
|
10
|
+
import type { WorkflowMetadata } from '../types/tools';
|
|
9
11
|
import type { SimpleWorkflow, WorkflowOperation } from '../types/workflow';
|
|
10
12
|
export declare const ConfiguratorSubgraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
11
13
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
@@ -25,12 +27,14 @@ export declare const ConfiguratorSubgraphState: import("@langchain/langgraph").A
|
|
|
25
27
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
26
28
|
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>[]>;
|
|
27
29
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
30
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
28
31
|
}>;
|
|
29
32
|
export interface ConfiguratorSubgraphConfig {
|
|
30
33
|
parsedNodeTypes: INodeTypeDescription[];
|
|
31
34
|
llm: BaseChatModel;
|
|
32
35
|
logger?: Logger;
|
|
33
36
|
instanceUrl?: string;
|
|
37
|
+
featureFlags?: BuilderFeatureFlags;
|
|
34
38
|
}
|
|
35
39
|
export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgraphConfig, typeof ConfiguratorSubgraphState.State, typeof ParentGraphState.State> {
|
|
36
40
|
name: string;
|
|
@@ -51,6 +55,7 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
51
55
|
discoveryContext: DiscoveryContext | null;
|
|
52
56
|
messages: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[];
|
|
53
57
|
workflowOperations: WorkflowOperation[] | null;
|
|
58
|
+
cachedTemplates: WorkflowMetadata[];
|
|
54
59
|
}, {
|
|
55
60
|
workflowJSON?: SimpleWorkflow | undefined;
|
|
56
61
|
workflowContext?: {
|
|
@@ -64,6 +69,7 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
64
69
|
discoveryContext?: DiscoveryContext | null | undefined;
|
|
65
70
|
messages?: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[] | undefined;
|
|
66
71
|
workflowOperations?: WorkflowOperation[] | null | undefined;
|
|
72
|
+
cachedTemplates?: WorkflowMetadata[] | undefined;
|
|
67
73
|
}, "agent" | "tools" | "process_operations" | "__start__", {
|
|
68
74
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
69
75
|
workflowContext: import("@langchain/langgraph").BinaryOperatorAggregate<{
|
|
@@ -82,6 +88,7 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
82
88
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
83
89
|
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>[]>;
|
|
84
90
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
91
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
85
92
|
}, {
|
|
86
93
|
workflowJSON: import("@langchain/langgraph").BinaryOperatorAggregate<SimpleWorkflow, SimpleWorkflow>;
|
|
87
94
|
workflowContext: import("@langchain/langgraph").BinaryOperatorAggregate<{
|
|
@@ -100,6 +107,7 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
100
107
|
discoveryContext: import("@langchain/langgraph").BinaryOperatorAggregate<DiscoveryContext | null, DiscoveryContext | null>;
|
|
101
108
|
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>[]>;
|
|
102
109
|
workflowOperations: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowOperation[] | null, WorkflowOperation[] | null>;
|
|
110
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
103
111
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
104
112
|
agent: {
|
|
105
113
|
messages: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[];
|
|
@@ -108,7 +116,7 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
108
116
|
messages?: BaseMessage[];
|
|
109
117
|
workflowOperations?: WorkflowOperation[] | null;
|
|
110
118
|
templateIds?: number[];
|
|
111
|
-
|
|
119
|
+
cachedTemplates?: WorkflowMetadata[];
|
|
112
120
|
};
|
|
113
121
|
}, unknown, unknown>;
|
|
114
122
|
transformInput(parentState: typeof ParentGraphState.State): {
|
|
@@ -123,10 +131,12 @@ export declare class ConfiguratorSubgraph extends BaseSubgraph<ConfiguratorSubgr
|
|
|
123
131
|
userRequest: string;
|
|
124
132
|
discoveryContext: DiscoveryContext | null;
|
|
125
133
|
messages: import("@langchain/core/messages").HumanMessage<import("@langchain/core/messages").MessageStructure>[];
|
|
134
|
+
cachedTemplates: WorkflowMetadata[];
|
|
126
135
|
};
|
|
127
136
|
transformOutput(subgraphOutput: typeof ConfiguratorSubgraphState.State, _parentState: typeof ParentGraphState.State): {
|
|
128
137
|
workflowJSON: SimpleWorkflow;
|
|
129
138
|
workflowOperations: WorkflowOperation[];
|
|
130
139
|
coordinationLog: CoordinationLogEntry[];
|
|
140
|
+
cachedTemplates: WorkflowMetadata[];
|
|
131
141
|
};
|
|
132
142
|
}
|
|
@@ -6,6 +6,7 @@ const langgraph_1 = require("@langchain/langgraph");
|
|
|
6
6
|
const errors_1 = require("../errors");
|
|
7
7
|
const configurator_prompt_1 = require("../prompts/agents/configurator.prompt");
|
|
8
8
|
const subgraph_interface_1 = require("./subgraph-interface");
|
|
9
|
+
const get_node_examples_tool_1 = require("../tools/get-node-examples.tool");
|
|
9
10
|
const get_node_parameter_tool_1 = require("../tools/get-node-parameter.tool");
|
|
10
11
|
const update_node_parameters_tool_1 = require("../tools/update-node-parameters.tool");
|
|
11
12
|
const validate_configuration_tool_1 = require("../tools/validate-configuration.tool");
|
|
@@ -14,6 +15,7 @@ const langchain_1 = require("../types/langchain");
|
|
|
14
15
|
const cache_control_1 = require("../utils/cache-control");
|
|
15
16
|
const context_builders_1 = require("../utils/context-builders");
|
|
16
17
|
const operations_processor_1 = require("../utils/operations-processor");
|
|
18
|
+
const state_reducers_1 = require("../utils/state-reducers");
|
|
17
19
|
const subgraph_helpers_1 = require("../utils/subgraph-helpers");
|
|
18
20
|
exports.ConfiguratorSubgraphState = langgraph_1.Annotation.Root({
|
|
19
21
|
workflowJSON: (0, langgraph_1.Annotation)({
|
|
@@ -49,6 +51,10 @@ exports.ConfiguratorSubgraphState = langgraph_1.Annotation.Root({
|
|
|
49
51
|
},
|
|
50
52
|
default: () => [],
|
|
51
53
|
}),
|
|
54
|
+
cachedTemplates: (0, langgraph_1.Annotation)({
|
|
55
|
+
reducer: state_reducers_1.cachedTemplatesReducer,
|
|
56
|
+
default: () => [],
|
|
57
|
+
}),
|
|
52
58
|
});
|
|
53
59
|
class ConfiguratorSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
54
60
|
name = 'configurator_subgraph';
|
|
@@ -58,11 +64,15 @@ class ConfiguratorSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
58
64
|
instanceUrl = '';
|
|
59
65
|
create(config) {
|
|
60
66
|
this.instanceUrl = config.instanceUrl ?? '';
|
|
61
|
-
const
|
|
67
|
+
const includeExamples = config.featureFlags?.templateExamples === true;
|
|
68
|
+
const baseTools = [
|
|
62
69
|
(0, update_node_parameters_tool_1.createUpdateNodeParametersTool)(config.parsedNodeTypes, config.llm, config.logger, config.instanceUrl),
|
|
63
70
|
(0, get_node_parameter_tool_1.createGetNodeParameterTool)(),
|
|
64
71
|
(0, validate_configuration_tool_1.createValidateConfigurationTool)(config.parsedNodeTypes),
|
|
65
72
|
];
|
|
73
|
+
const tools = includeExamples
|
|
74
|
+
? [...baseTools, (0, get_node_examples_tool_1.createGetNodeConfigurationExamplesTool)(config.logger)]
|
|
75
|
+
: baseTools;
|
|
66
76
|
this.toolMap = new Map(tools.map((bt) => [bt.tool.name, bt.tool]));
|
|
67
77
|
const systemPromptTemplate = prompts_1.ChatPromptTemplate.fromMessages([
|
|
68
78
|
[
|
|
@@ -130,6 +140,7 @@ class ConfiguratorSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
130
140
|
userRequest,
|
|
131
141
|
discoveryContext: parentState.discoveryContext,
|
|
132
142
|
messages: [contextMessage],
|
|
143
|
+
cachedTemplates: parentState.cachedTemplates,
|
|
133
144
|
};
|
|
134
145
|
}
|
|
135
146
|
transformOutput(subgraphOutput, _parentState) {
|
|
@@ -154,6 +165,7 @@ class ConfiguratorSubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
154
165
|
workflowJSON: subgraphOutput.workflowJSON,
|
|
155
166
|
workflowOperations: subgraphOutput.workflowOperations ?? [],
|
|
156
167
|
coordinationLog: [logEntry],
|
|
168
|
+
cachedTemplates: subgraphOutput.cachedTemplates,
|
|
157
169
|
};
|
|
158
170
|
}
|
|
159
171
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configurator.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/configurator.subgraph.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAG7D,oDAA8D;AAI9D,qCAA2C;AAC3C,8EAAoG;
|
|
1
|
+
{"version":3,"file":"configurator.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/configurator.subgraph.ts"],"names":[],"mappings":";;;AAEA,qDAA6D;AAG7D,oDAA8D;AAI9D,qCAA2C;AAC3C,8EAAoG;AAGpG,6DAAoD;AAEpD,4EAAyF;AACzF,8EAA8E;AAC9E,sFAAsF;AACtF,sFAAuF;AAEvF,wDAAmE;AAEnE,kDAAmD;AAGnD,0DAAmE;AACnE,gEAImC;AACnC,wEAAkE;AAClE,4DAAiE;AACjE,gEAImC;AAKtB,QAAA,yBAAyB,GAAG,sBAAU,CAAC,IAAI,CAAC;IAExD,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,WAAW,EAAE,IAAA,sBAAU,EAAS;QAC/B,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,WAAW,EAAE,IAAA,sBAAU,EAAS;QAC/B,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,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,kBAAkB,EAAE,IAAA,sBAAU,EAA6B;QAC1D,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjB,IAAI,CAAC,KAAK,IAAI;gBAAE,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO,CAAC,IAAI,EAAE,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;IAGF,eAAe,EAAE,IAAA,sBAAU,EAAqB;QAC/C,OAAO,EAAE,uCAAsB;QAC/B,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE;KACjB,CAAC;CACF,CAAC,CAAC;AAUH,MAAa,oBAAqB,SAAQ,iCAIzC;IACA,IAAI,GAAG,uBAAuB,CAAC;IAC/B,WAAW,GAAG,qDAAqD,CAAC;IAE5D,KAAK,CAAY;IACjB,OAAO,CAA+B;IACtC,WAAW,GAAW,EAAE,CAAC;IAEjC,MAAM,CAAC,MAAkC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;QAG5C,MAAM,eAAe,GAAG,MAAM,CAAC,YAAY,EAAE,gBAAgB,KAAK,IAAI,CAAC;QAGvE,MAAM,SAAS,GAAG;YACjB,IAAA,4DAA8B,EAC7B,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,GAAG,EACV,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,CAClB;YACD,IAAA,oDAA0B,GAAE;YAC5B,IAAA,6DAA+B,EAAC,MAAM,CAAC,eAAe,CAAC;SACvD,CAAC;QAGF,MAAM,KAAK,GAAG,eAAe;YAC5B,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,IAAA,+DAAsC,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACvE,CAAC,CAAC,SAAS,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,CAAyB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE3F,MAAM,oBAAoB,GAAG,4BAAkB,CAAC,YAAY,CAAC;YAC5D;gBACC,QAAQ;gBACR;oBACC;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAA,6CAAuB,GAAE;qBAC/B;oBACD;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,yCAAmB;wBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;qBACpC;iBACD;aACD;YACD,CAAC,aAAa,EAAE,YAAY,CAAC;SAC7B,CAAC,CAAC;QAEH,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,KAAK,UAAU,EAAE,CAAC;YAChD,MAAM,IAAI,wBAAe,CAAC,4BAA4B,EAAE;gBACvD,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE;aAC/B,CAAC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAMzF,MAAM,SAAS,GAAG,KAAK,EAAE,KAA6C,EAAE,EAAE;YAEzE,IAAA,yCAAyB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YAG1C,MAAM,QAAQ,GAAY,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;gBACjD,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,EAAE;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC,IAAA,yBAAa,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,wBAAe,CAAC,mDAAmD,CAAC,CAAC;YAChF,CAAC;YAED,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjC,CAAC,CAAC;QAGF,MAAM,QAAQ,GAAG,IAAI,sBAAU,CAAC,iCAAyB,CAAC;aACxD,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC;aAC3B,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,IAAA,uCAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;aAClF,OAAO,CAAC,oBAAoB,EAAE,wCAAiB,CAAC;aAChD,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;aAE7B,mBAAmB,CAAC,OAAO,EAAE,IAAA,+CAA4B,GAAE,CAAC;aAC5D,OAAO,CAAC,OAAO,EAAE,oBAAoB,CAAC;aACtC,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAED,cAAc,CAAC,WAA0C;QACxD,MAAM,WAAW,GAAG,IAAA,qCAAkB,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAG7D,MAAM,YAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,WAAW,EAAE,CAAC;YACjB,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YAC1C,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAChC,CAAC;QAGD,IAAI,WAAW,CAAC,gBAAgB,EAAE,aAAa,EAAE,CAAC;YACjD,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAC/D,CAAC;QAGD,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QACnD,YAAY,CAAC,IAAI,CAAC,IAAA,yCAAsB,EAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;QAGpE,YAAY,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC/C,YAAY,CAAC,IAAI,CAAC,IAAA,6CAA0B,EAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;QAG3E,MAAM,cAAc,GAAG,IAAA,uCAAoB,EAAC,YAAY,CAAC,CAAC;QAE1D,OAAO;YACN,YAAY,EAAE,WAAW,CAAC,YAAY;YACtC,eAAe,EAAE,WAAW,CAAC,eAAe;YAC5C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,WAAW;YACX,gBAAgB,EAAE,WAAW,CAAC,gBAAgB;YAC9C,QAAQ,EAAE,CAAC,cAAc,CAAC;YAC1B,eAAe,EAAE,WAAW,CAAC,eAAe;SAC5C,CAAC;IACH,CAAC;IAED,eAAe,CACd,cAAsD,EACtD,YAA2C;QAG3C,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChF,MAAM,iBAAiB,GACtB,OAAO,WAAW,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC;QAE3F,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QACjE,MAAM,oBAAoB,GACzB,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,iBAAiB,CAAC,QAAQ,CAAC,OAAO,CAAC;YACnC,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;QAG/B,MAAM,QAAQ,GAAyB;YACtC,KAAK,EAAE,cAAc;YACrB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,cAAc,eAAe,QAAQ;YAC9C,MAAM,EAAE,iBAAiB;YACzB,QAAQ,EAAE,IAAA,yCAA0B,EAAC;gBACpC,eAAe;gBACf,oBAAoB;aACpB,CAAC;SACF,CAAC;QAEF,OAAO;YACN,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,kBAAkB,EAAE,cAAc,CAAC,kBAAkB,IAAI,EAAE;YAC3D,eAAe,EAAE,CAAC,QAAQ,CAAC;YAE3B,eAAe,EAAE,cAAc,CAAC,eAAe;SAE/C,CAAC;IACH,CAAC;CACD;AA7KD,oDA6KC"}
|
|
@@ -6,7 +6,7 @@ import type { BuilderFeatureFlags } from '../workflow-builder-agent';
|
|
|
6
6
|
import { BaseSubgraph } from './subgraph-interface';
|
|
7
7
|
import type { ParentGraphState } from '../parent-graph-state';
|
|
8
8
|
import type { CoordinationLogEntry } from '../types/coordination';
|
|
9
|
-
import type {
|
|
9
|
+
import type { WorkflowMetadata } from '../types/tools';
|
|
10
10
|
export declare const DiscoverySubgraphState: import("@langchain/langgraph").AnnotationRoot<{
|
|
11
11
|
userRequest: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
12
12
|
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>[]>;
|
|
@@ -29,7 +29,7 @@ export declare const DiscoverySubgraphState: import("@langchain/langgraph").Anno
|
|
|
29
29
|
}[]>;
|
|
30
30
|
bestPractices: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
31
31
|
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
32
|
-
|
|
32
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
33
33
|
}>;
|
|
34
34
|
export interface DiscoverySubgraphConfig {
|
|
35
35
|
parsedNodeTypes: INodeTypeDescription[];
|
|
@@ -57,7 +57,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
57
57
|
}[];
|
|
58
58
|
bestPractices: string | undefined;
|
|
59
59
|
templateIds: number[];
|
|
60
|
-
|
|
60
|
+
cachedTemplates: WorkflowMetadata[];
|
|
61
61
|
}, {
|
|
62
62
|
userRequest?: string | undefined;
|
|
63
63
|
messages?: BaseMessage<import("@langchain/core/messages").MessageStructure, import("@langchain/core/messages").MessageType>[] | undefined;
|
|
@@ -72,7 +72,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
72
72
|
}[] | undefined;
|
|
73
73
|
bestPractices?: string | undefined;
|
|
74
74
|
templateIds?: number[] | undefined;
|
|
75
|
-
|
|
75
|
+
cachedTemplates?: WorkflowMetadata[] | undefined;
|
|
76
76
|
}, "agent" | "tools" | "__start__" | "format_output", {
|
|
77
77
|
userRequest: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
78
78
|
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>[]>;
|
|
@@ -95,7 +95,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
95
95
|
}[]>;
|
|
96
96
|
bestPractices: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
97
97
|
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
98
|
-
|
|
98
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
99
99
|
}, {
|
|
100
100
|
userRequest: import("@langchain/langgraph").BinaryOperatorAggregate<string, string>;
|
|
101
101
|
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>[]>;
|
|
@@ -118,7 +118,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
118
118
|
}[]>;
|
|
119
119
|
bestPractices: import("@langchain/langgraph").BinaryOperatorAggregate<string | undefined, string | undefined>;
|
|
120
120
|
templateIds: import("@langchain/langgraph").BinaryOperatorAggregate<number[], number[]>;
|
|
121
|
-
|
|
121
|
+
cachedTemplates: import("@langchain/langgraph").BinaryOperatorAggregate<WorkflowMetadata[], WorkflowMetadata[]>;
|
|
122
122
|
}, import("@langchain/langgraph").StateDefinition, {
|
|
123
123
|
agent: {
|
|
124
124
|
messages: AIMessage<import("@langchain/core/messages").MessageStructure>[];
|
|
@@ -127,7 +127,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
127
127
|
messages?: BaseMessage[];
|
|
128
128
|
workflowOperations?: import("..").WorkflowOperation[] | null;
|
|
129
129
|
templateIds?: number[];
|
|
130
|
-
|
|
130
|
+
cachedTemplates?: WorkflowMetadata[];
|
|
131
131
|
};
|
|
132
132
|
}, unknown, unknown>;
|
|
133
133
|
private callAgent;
|
|
@@ -136,6 +136,7 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
136
136
|
transformInput(parentState: typeof ParentGraphState.State): {
|
|
137
137
|
userRequest: string;
|
|
138
138
|
messages: import("@langchain/core/messages").HumanMessage<import("@langchain/core/messages").MessageStructure>[];
|
|
139
|
+
cachedTemplates: WorkflowMetadata[];
|
|
139
140
|
};
|
|
140
141
|
transformOutput(subgraphOutput: typeof DiscoverySubgraphState.State, _parentState: typeof ParentGraphState.State): {
|
|
141
142
|
discoveryContext: {
|
|
@@ -149,10 +150,9 @@ export declare class DiscoverySubgraph extends BaseSubgraph<DiscoverySubgraphCon
|
|
|
149
150
|
}>;
|
|
150
151
|
}[];
|
|
151
152
|
bestPractices: string | undefined;
|
|
152
|
-
nodeConfigurations: NodeConfigurationsMap;
|
|
153
153
|
};
|
|
154
154
|
coordinationLog: CoordinationLogEntry[];
|
|
155
155
|
templateIds: number[];
|
|
156
|
-
|
|
156
|
+
cachedTemplates: WorkflowMetadata[];
|
|
157
157
|
};
|
|
158
158
|
}
|
|
@@ -59,9 +59,9 @@ exports.DiscoverySubgraphState = langgraph_1.Annotation.Root({
|
|
|
59
59
|
reducer: state_reducers_1.appendArrayReducer,
|
|
60
60
|
default: () => [],
|
|
61
61
|
}),
|
|
62
|
-
|
|
63
|
-
reducer: state_reducers_1.
|
|
64
|
-
default: () =>
|
|
62
|
+
cachedTemplates: (0, langgraph_1.Annotation)({
|
|
63
|
+
reducer: state_reducers_1.cachedTemplatesReducer,
|
|
64
|
+
default: () => [],
|
|
65
65
|
}),
|
|
66
66
|
});
|
|
67
67
|
class DiscoverySubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
@@ -76,7 +76,7 @@ class DiscoverySubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
76
76
|
const baseTools = [
|
|
77
77
|
(0, get_best_practices_tool_1.createGetBestPracticesTool)(),
|
|
78
78
|
(0, node_search_tool_1.createNodeSearchTool)(config.parsedNodeTypes),
|
|
79
|
-
(0, node_details_tool_1.createNodeDetailsTool)(config.parsedNodeTypes),
|
|
79
|
+
(0, node_details_tool_1.createNodeDetailsTool)(config.parsedNodeTypes, config.logger),
|
|
80
80
|
];
|
|
81
81
|
const tools = includeExamples
|
|
82
82
|
? [...baseTools, (0, get_workflow_examples_tool_1.createGetWorkflowExamplesTool)(config.logger)]
|
|
@@ -156,7 +156,6 @@ class DiscoverySubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
156
156
|
nodesFound: output.nodesFound,
|
|
157
157
|
bestPractices: bestPracticesTool?.text,
|
|
158
158
|
templateIds: state.templateIds ?? [],
|
|
159
|
-
nodeConfigurations: state.nodeConfigurations ?? {},
|
|
160
159
|
};
|
|
161
160
|
}
|
|
162
161
|
shouldContinue(state) {
|
|
@@ -189,16 +188,15 @@ class DiscoverySubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
189
188
|
return {
|
|
190
189
|
userRequest,
|
|
191
190
|
messages: [contextMessage],
|
|
191
|
+
cachedTemplates: parentState.cachedTemplates,
|
|
192
192
|
};
|
|
193
193
|
}
|
|
194
194
|
transformOutput(subgraphOutput, _parentState) {
|
|
195
195
|
const nodesFound = subgraphOutput.nodesFound || [];
|
|
196
196
|
const templateIds = subgraphOutput.templateIds || [];
|
|
197
|
-
const nodeConfigurations = subgraphOutput.nodeConfigurations || {};
|
|
198
197
|
const discoveryContext = {
|
|
199
198
|
nodesFound,
|
|
200
199
|
bestPractices: subgraphOutput.bestPractices,
|
|
201
|
-
nodeConfigurations,
|
|
202
200
|
};
|
|
203
201
|
const logEntry = {
|
|
204
202
|
phase: 'discovery',
|
|
@@ -215,7 +213,7 @@ class DiscoverySubgraph extends subgraph_interface_1.BaseSubgraph {
|
|
|
215
213
|
discoveryContext,
|
|
216
214
|
coordinationLog: [logEntry],
|
|
217
215
|
templateIds,
|
|
218
|
-
|
|
216
|
+
cachedTemplates: subgraphOutput.cachedTemplates,
|
|
219
217
|
};
|
|
220
218
|
}
|
|
221
219
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/discovery.subgraph.ts"],"names":[],"mappings":";;;AAEA,uDAAuD;AACvD,qDAA6D;AAE7D,iDAAkE;AAClE,oDAAmE;AAGnE,6BAAwB;AAExB,qCAA2C;AAC3C,wEAI2C;AAG3C,6DAAoD;AAEpD,8EAA8E;AAC9E,oFAAoF;AACpF,kEAAmE;AACnE,gEAAiE;AAEjE,wDAAgE;AAEhE,0DAAmE;AACnE,gEAAuF;AACvF,
|
|
1
|
+
{"version":3,"file":"discovery.subgraph.js","sourceRoot":"","sources":["../../src/subgraphs/discovery.subgraph.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,6 +45,12 @@ Leverage AI for unstructured data using nodes like Information Extractor or Summ
|
|
|
45
45
|
|
|
46
46
|
## Recommended Nodes
|
|
47
47
|
|
|
48
|
+
### Loop Over Items (n8n-nodes-base.splitInBatches)
|
|
49
|
+
|
|
50
|
+
Purpose: Looping over a set of items extracted from a data set, for example if pulling a lot of data
|
|
51
|
+
from a Google Sheet or database then looping over the items is required. This node MUST be used
|
|
52
|
+
if the user mentions a large amount of data, it is necessary to batch the data to process all of it.
|
|
53
|
+
|
|
48
54
|
### Extract From File (n8n-nodes-base.extractFromFile)
|
|
49
55
|
|
|
50
56
|
Purpose: Converts binary data from CSV, Excel, PDF, and text files to JSON for processing
|
|
@@ -60,7 +66,11 @@ Purpose: Scrapes data from web pages using CSS selectors
|
|
|
60
66
|
|
|
61
67
|
### Split Out (n8n-nodes-base.splitOut)
|
|
62
68
|
|
|
63
|
-
Purpose: Processes arrays of items individually for sequential operations
|
|
69
|
+
Purpose: Processes arrays of items individually for sequential operations.
|
|
70
|
+
Example: If retrieving a JSON array using a HTTP request, this will return a single item,
|
|
71
|
+
containing that array. If you wish to use a Loop Over Items (n8n-nodes-base.splitInBatches) node]
|
|
72
|
+
then you will need to split out the array into items before looping over it. In a scenario like
|
|
73
|
+
this a split out node MUST be used before looping over the items.
|
|
64
74
|
|
|
65
75
|
### Edit Fields (Set) (n8n-nodes-base.set)
|
|
66
76
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-extraction.js","sourceRoot":"","sources":["../../../src/tools/best-practices/data-extraction.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,MAAa,2BAA2B;IAC9B,SAAS,GAAG,kCAAiB,CAAC,eAAe,CAAC;IAC9C,OAAO,GAAG,OAAO,CAAC;IAEV,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"data-extraction.js","sourceRoot":"","sources":["../../../src/tools/best-practices/data-extraction.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,MAAa,2BAA2B;IAC9B,SAAS,GAAG,kCAAiB,CAAC,eAAe,CAAC;IAC9C,OAAO,GAAG,OAAO,CAAC;IAEV,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4GjC,CAAC;IAED,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;CACD;AArHD,kEAqHC"}
|
|
@@ -61,6 +61,11 @@ For high-volume processing:
|
|
|
61
61
|
- Process files sequentially or in small batches
|
|
62
62
|
- Drop unnecessary binary data after extraction to free memory
|
|
63
63
|
|
|
64
|
+
### File Metadata
|
|
65
|
+
Documents uploaded via a form trigger will have various bits of metadata available - filename, mimetype and size.
|
|
66
|
+
These are accessible using an expression like {{ $json.documents[0].mimetype }} to access each of the document's details.
|
|
67
|
+
Multiple files can be uploaded to a form which is the reason for the documents array.
|
|
68
|
+
|
|
64
69
|
## Text Extraction Strategy
|
|
65
70
|
|
|
66
71
|
Choose extraction method based on document type and content:
|
|
@@ -168,8 +173,14 @@ Configuration: Set appropriate folder and file type filters
|
|
|
168
173
|
**Extract from File (n8n-nodes-base.extractFromFile)**
|
|
169
174
|
Purpose: Extract text from various file formats using format-specific operations
|
|
170
175
|
Critical: ALWAYS check file type first with an IF or Switch before and select the correct operation (Extract from PDF, Extract from MS Excel, etc.)
|
|
176
|
+
Critical: If the user requests handling of multiple file types (PDF, CSV, JSON, etc) then a Switch (n8n-nodes-base.switch) node should be used
|
|
177
|
+
to check the file type before text extraction. Multiple text extraction nodes should be used to handle each of the different file types. For example,
|
|
178
|
+
if the workflow contains a form trigger node which receives a file, then a Switch node MUST be used to split the different options out to different extraction nodes.
|
|
171
179
|
Output: Extracted text is returned under the "text" key in JSON (e.g., access with {{ $json.text }})
|
|
172
|
-
Pitfalls:
|
|
180
|
+
Pitfalls:
|
|
181
|
+
- Returns empty for scanned documents - always check and fallback to OCR; Using wrong operation causes errors
|
|
182
|
+
- If connecting to a document upload form (n8n-nodes-base.formTrigger) use a File field type and then connect it to the extract from file node using the field name.
|
|
183
|
+
For example if creating a form trigger with field "Upload Document" then set the extract from file input binary field to "Upload_Document"
|
|
173
184
|
|
|
174
185
|
**AWS Textract (n8n-nodes-base.awsTextract)**
|
|
175
186
|
Purpose: Advanced OCR with table and form detection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-processing.js","sourceRoot":"","sources":["../../../src/tools/best-practices/document-processing.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,MAAa,+BAA+B;IAClC,SAAS,GAAG,kCAAiB,CAAC,mBAAmB,CAAC;IAClD,OAAO,GAAG,OAAO,CAAC;IAEV,aAAa,GAAG
|
|
1
|
+
{"version":3,"file":"document-processing.js","sourceRoot":"","sources":["../../../src/tools/best-practices/document-processing.ts"],"names":[],"mappings":";;;AACA,2DAA2D;AAE3D,MAAa,+BAA+B;IAClC,SAAS,GAAG,kCAAiB,CAAC,mBAAmB,CAAC;IAClD,OAAO,GAAG,OAAO,CAAC;IAEV,aAAa,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2DAiUyB,CAAC;IAE3D,gBAAgB;QACf,OAAO,IAAI,CAAC,aAAa,CAAC;IAC3B,CAAC;CACD;AA1UD,0EA0UC"}
|
|
@@ -43,6 +43,16 @@ Pitfalls:
|
|
|
43
43
|
Fail" feature
|
|
44
44
|
- Refresh expired tokens, verify API keys, and ensure correct permissions to avoid authentication failures
|
|
45
45
|
|
|
46
|
+
### SerpAPI (@n8n/n8n-nodes-langchain.toolSerpApi)
|
|
47
|
+
|
|
48
|
+
Purpose: Give an agent the ability to search for research materials and fact-checking results that have been retrieved
|
|
49
|
+
from other sources.
|
|
50
|
+
|
|
51
|
+
### Perplexity (n8n-nodes-base.perplexityTool)
|
|
52
|
+
|
|
53
|
+
Purpose: Give an agent the ability to search utilising Perplexity, a powerful tool for finding sources/material for
|
|
54
|
+
generating reports and information.
|
|
55
|
+
|
|
46
56
|
### HTML Extract (n8n-nodes-base.htmlExtract)
|
|
47
57
|
|
|
48
58
|
Purpose: Parses HTML and extracts data using CSS selectors for web scraping
|