@n8n/ai-workflow-builder 0.19.0 → 0.21.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/workflow-planner-agent.d.ts +58 -0
- package/dist/agents/workflow-planner-agent.js +269 -0
- package/dist/agents/workflow-planner-agent.js.map +1 -0
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/parameter-updater.js +0 -2
- package/dist/chains/parameter-updater.js.map +1 -1
- package/dist/constants.d.ts +7 -0
- package/dist/constants.js +8 -1
- package/dist/constants.js.map +1 -1
- package/dist/errors/index.d.ts +7 -0
- package/dist/errors/index.js +16 -1
- package/dist/errors/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/llm-config.js +2 -1
- package/dist/llm-config.js.map +1 -1
- package/dist/tools/add-node.tool.d.ts +38 -34
- package/dist/tools/add-node.tool.js +17 -2
- package/dist/tools/add-node.tool.js.map +1 -1
- package/dist/tools/connect-nodes.tool.d.ts +29 -26
- package/dist/tools/connect-nodes.tool.js +7 -2
- package/dist/tools/connect-nodes.tool.js.map +1 -1
- package/dist/tools/get-node-parameter.tool.d.ts +18 -0
- package/dist/tools/get-node-parameter.tool.js +109 -0
- package/dist/tools/get-node-parameter.tool.js.map +1 -0
- package/dist/tools/helpers/progress.d.ts +1 -1
- package/dist/tools/helpers/progress.js +14 -2
- package/dist/tools/helpers/progress.js.map +1 -1
- package/dist/tools/helpers/validation.d.ts +1 -0
- package/dist/tools/helpers/validation.js +13 -0
- package/dist/tools/helpers/validation.js.map +1 -1
- package/dist/tools/node-details.tool.d.ts +20 -17
- package/dist/tools/node-details.tool.js +7 -2
- package/dist/tools/node-details.tool.js.map +1 -1
- package/dist/tools/node-search.tool.d.ts +54 -45
- package/dist/tools/node-search.tool.js +7 -2
- package/dist/tools/node-search.tool.js.map +1 -1
- package/dist/tools/prompts/main-agent.prompt.d.ts +2 -0
- package/dist/tools/prompts/main-agent.prompt.js +93 -42
- package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
- package/dist/tools/remove-node.tool.d.ts +14 -11
- package/dist/tools/remove-node.tool.js +7 -2
- package/dist/tools/remove-node.tool.js.map +1 -1
- package/dist/tools/update-node-parameters.tool.d.ts +19 -16
- package/dist/tools/update-node-parameters.tool.js +21 -4
- package/dist/tools/update-node-parameters.tool.js.map +1 -1
- package/dist/types/index.d.ts +8 -8
- package/dist/types/index.js +0 -22
- package/dist/types/index.js.map +1 -1
- package/dist/types/langchain.d.ts +2 -0
- package/dist/types/langchain.js +7 -0
- package/dist/types/langchain.js.map +1 -0
- package/dist/types/messages.d.ts +1 -7
- package/dist/types/streaming.d.ts +6 -1
- package/dist/types/tools.d.ts +8 -1
- package/dist/utils/stream-processor.d.ts +7 -1
- package/dist/utils/stream-processor.js +121 -63
- package/dist/utils/stream-processor.js.map +1 -1
- package/dist/utils/token-usage.d.ts +3 -0
- package/dist/utils/token-usage.js +27 -0
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/utils/trim-workflow-context.d.ts +2 -0
- package/dist/utils/trim-workflow-context.js +53 -0
- package/dist/utils/trim-workflow-context.js.map +1 -0
- package/dist/workflow-builder-agent.d.ts +1 -0
- package/dist/workflow-builder-agent.js +136 -8
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.d.ts +17 -0
- package/dist/workflow-state.js +12 -0
- package/dist/workflow-state.js.map +1 -1
- package/package.json +6 -5
- package/dist/chains/planner.d.ts +0 -4
- package/dist/chains/planner.js +0 -87
- package/dist/chains/planner.js.map +0 -1
|
@@ -64,7 +64,6 @@ const createParameterUpdaterChain = (llm, options, logger) => {
|
|
|
64
64
|
{
|
|
65
65
|
type: 'text',
|
|
66
66
|
text: systemPromptContent,
|
|
67
|
-
cache_control: { type: 'ephemeral' },
|
|
68
67
|
},
|
|
69
68
|
],
|
|
70
69
|
});
|
|
@@ -75,7 +74,6 @@ const createParameterUpdaterChain = (llm, options, logger) => {
|
|
|
75
74
|
{
|
|
76
75
|
type: 'text',
|
|
77
76
|
text: nodeDefinitionPrompt,
|
|
78
|
-
cache_control: { type: 'ephemeral' },
|
|
79
77
|
},
|
|
80
78
|
{
|
|
81
79
|
type: 'text',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-updater.js","sourceRoot":"","sources":["../../src/chains/parameter-updater.ts"],"names":[],"mappings":";;;AACA,uDAAyD;AACzD,qDAAyF;AAEzF,6BAAwB;AAExB,sCAA4C;AAE5C,yDAA2D;AAC3D,6DAAwE;AAE3D,QAAA,gBAAgB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACP,UAAU,EAAE,OAAC;SACX,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,CACR,4LAA4L,CAC5L;CACF,CAAC;KACD,QAAQ,CACR,+UAA+U,CAC/U,CAAC;AAEH,MAAM,oBAAoB,GAAG;;;;8BAIC,CAAC;AAE/B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mHAwBqF,CAAC;AAK7G,MAAM,2BAA2B,GAAG,CAC1C,GAAkB,EAClB,OAAgC,EAChC,MAAe,EACd,EAAE;IACH,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAe,CAAC,0CAA0C,EAAE;YACrE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM,mBAAmB,GAAG,6CAA4B,CAAC,iBAAiB,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,wBAAwB,EAAE,6CAA4B,CAAC,4BAA4B,CAClF,OAAO,CAAC,cAAc,CACtB;KACD,CAAC,CAAC;IAGH,MAAM,aAAa,GAAG,6CAA4B,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvF,MAAM,EAAE,KAAK,CAAC,mCAAmC,aAAa,SAAS,CAAC,CAAC;IAGzE,MAAM,YAAY,GAAG,IAAI,wBAAa,CAAC;QACtC,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;
|
|
1
|
+
{"version":3,"file":"parameter-updater.js","sourceRoot":"","sources":["../../src/chains/parameter-updater.ts"],"names":[],"mappings":";;;AACA,uDAAyD;AACzD,qDAAyF;AAEzF,6BAAwB;AAExB,sCAA4C;AAE5C,yDAA2D;AAC3D,6DAAwE;AAE3D,QAAA,gBAAgB,GAAG,OAAC;KAC/B,MAAM,CAAC;IACP,UAAU,EAAE,OAAC;SACX,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,CACR,4LAA4L,CAC5L;CACF,CAAC;KACD,QAAQ,CACR,+UAA+U,CAC/U,CAAC;AAEH,MAAM,oBAAoB,GAAG;;;;8BAIC,CAAC;AAE/B,MAAM,qBAAqB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mHAwBqF,CAAC;AAK7G,MAAM,2BAA2B,GAAG,CAC1C,GAAkB,EAClB,OAAgC,EAChC,MAAe,EACd,EAAE;IACH,IAAI,OAAO,GAAG,CAAC,oBAAoB,KAAK,UAAU,EAAE,CAAC;QACpD,MAAM,IAAI,wBAAe,CAAC,0CAA0C,EAAE;YACrE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE;SACxB,CAAC,CAAC;IACJ,CAAC;IAGD,MAAM,mBAAmB,GAAG,6CAA4B,CAAC,iBAAiB,CAAC;QAC1E,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;QAC1C,wBAAwB,EAAE,6CAA4B,CAAC,4BAA4B,CAClF,OAAO,CAAC,cAAc,CACtB;KACD,CAAC,CAAC;IAGH,MAAM,aAAa,GAAG,6CAA4B,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IACvF,MAAM,EAAE,KAAK,CAAC,mCAAmC,aAAa,SAAS,CAAC,CAAC;IAGzE,MAAM,YAAY,GAAG,IAAI,wBAAa,CAAC;QACtC,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;aACzB;SACD;KACD,CAAC,CAAC;IACH,MAAM,qBAAqB,GAAG,4BAAkB,CAAC,YAAY,CAAC;QAC7D;YACC,OAAO;YACP;gBACC;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,oBAAoB;iBAC1B;gBACD;oBACC,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,gCAAiB;iBACvB;aACD;SACD;KACD,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,oCAA0B,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,4BAAkB,CAAC,YAAY,CAAC;QAC9C,YAAY;QACZ,qBAAqB;QACrB,sBAAsB;KACtB,CAAC,CAAC;IACH,MAAM,uBAAuB,GAAG,GAAG,CAAC,oBAAoB,CAAC,wBAAgB,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAEhE,OAAO,kBAAkB,CAAC;AAC3B,CAAC,CAAC;AA7DW,QAAA,2BAA2B,+BA6DtC"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -1,2 +1,9 @@
|
|
|
1
1
|
export declare const MAX_AI_BUILDER_PROMPT_LENGTH = 1000;
|
|
2
|
+
export declare const MAX_TOTAL_TOKENS = 200000;
|
|
3
|
+
export declare const MAX_OUTPUT_TOKENS = 16000;
|
|
4
|
+
export declare const MAX_INPUT_TOKENS: number;
|
|
5
|
+
export declare const MAX_PARAMETER_VALUE_LENGTH = 30000;
|
|
2
6
|
export declare const DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS = 20000;
|
|
7
|
+
export declare const MAX_WORKFLOW_LENGTH_TOKENS = 30000;
|
|
8
|
+
export declare const AVG_CHARS_PER_TOKEN_ANTHROPIC = 2.5;
|
|
9
|
+
export declare const PLAN_APPROVAL_MESSAGE = "Proceed with the plan";
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS = exports.MAX_AI_BUILDER_PROMPT_LENGTH = void 0;
|
|
3
|
+
exports.PLAN_APPROVAL_MESSAGE = 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 = 1000;
|
|
5
|
+
exports.MAX_TOTAL_TOKENS = 200_000;
|
|
6
|
+
exports.MAX_OUTPUT_TOKENS = 16_000;
|
|
7
|
+
exports.MAX_INPUT_TOKENS = exports.MAX_TOTAL_TOKENS - exports.MAX_OUTPUT_TOKENS - 10_000;
|
|
8
|
+
exports.MAX_PARAMETER_VALUE_LENGTH = 30_000;
|
|
5
9
|
exports.DEFAULT_AUTO_COMPACT_THRESHOLD_TOKENS = 20_000;
|
|
10
|
+
exports.MAX_WORKFLOW_LENGTH_TOKENS = 30_000;
|
|
11
|
+
exports.AVG_CHARS_PER_TOKEN_ANTHROPIC = 2.5;
|
|
12
|
+
exports.PLAN_APPROVAL_MESSAGE = 'Proceed with the plan';
|
|
6
13
|
//# 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":";;;
|
|
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,MAAM,CAAC;AAMjE,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAMpC,QAAA,qCAAqC,GAAG,MAAM,CAAC;AAM/C,QAAA,0BAA0B,GAAG,MAAM,CAAC;AAMpC,QAAA,6BAA6B,GAAG,GAAG,CAAC;AAEpC,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
|
package/dist/errors/index.d.ts
CHANGED
|
@@ -35,6 +35,13 @@ export declare class ParameterUpdateError extends OperationalError {
|
|
|
35
35
|
parameter?: string;
|
|
36
36
|
});
|
|
37
37
|
}
|
|
38
|
+
export declare class ParameterTooLargeError extends OperationalError {
|
|
39
|
+
constructor(message: string, options?: OperationalErrorOptions & {
|
|
40
|
+
nodeId?: string;
|
|
41
|
+
parameter?: string;
|
|
42
|
+
maxSize?: number;
|
|
43
|
+
});
|
|
44
|
+
}
|
|
38
45
|
export declare class WorkflowStateError extends UnexpectedError {
|
|
39
46
|
constructor(message: string, options?: UnexpectedErrorOptions);
|
|
40
47
|
}
|
package/dist/errors/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ToolExecutionError = exports.WorkflowStateError = exports.ParameterUpdateError = exports.ValidationError = exports.LLMServiceError = exports.ConnectionError = exports.NodeTypeNotFoundError = exports.NodeNotFoundError = exports.AiWorkflowBuilderError = void 0;
|
|
3
|
+
exports.ToolExecutionError = exports.WorkflowStateError = exports.ParameterTooLargeError = exports.ParameterUpdateError = exports.ValidationError = exports.LLMServiceError = exports.ConnectionError = exports.NodeTypeNotFoundError = exports.NodeNotFoundError = exports.AiWorkflowBuilderError = void 0;
|
|
4
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
5
5
|
class AiWorkflowBuilderError extends Error {
|
|
6
6
|
constructor(message, options) {
|
|
@@ -97,6 +97,21 @@ class ParameterUpdateError extends n8n_workflow_1.OperationalError {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
exports.ParameterUpdateError = ParameterUpdateError;
|
|
100
|
+
class ParameterTooLargeError extends n8n_workflow_1.OperationalError {
|
|
101
|
+
constructor(message, options) {
|
|
102
|
+
super(message, {
|
|
103
|
+
...options,
|
|
104
|
+
tags: {
|
|
105
|
+
...options?.tags,
|
|
106
|
+
nodeId: options?.nodeId,
|
|
107
|
+
parameter: options?.parameter,
|
|
108
|
+
maxSize: options?.maxSize,
|
|
109
|
+
},
|
|
110
|
+
shouldReport: false,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.ParameterTooLargeError = ParameterTooLargeError;
|
|
100
115
|
class WorkflowStateError extends n8n_workflow_1.UnexpectedError {
|
|
101
116
|
constructor(message, options) {
|
|
102
117
|
super(message, {
|
package/dist/errors/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -15,6 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./ai-workflow-builder-agent.service"), exports);
|
|
18
|
-
__exportStar(require("./types"), exports);
|
|
19
18
|
__exportStar(require("./workflow-state"), exports);
|
|
20
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAoD;AAEpD,mDAAiC"}
|
package/dist/llm-config.js
CHANGED
|
@@ -34,6 +34,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.anthropicClaudeSonnet4 = exports.gpt41 = exports.gpt41mini = exports.o4mini = void 0;
|
|
37
|
+
const constants_1 = require("./constants");
|
|
37
38
|
const o4mini = async (config) => {
|
|
38
39
|
const { ChatOpenAI } = await Promise.resolve().then(() => __importStar(require('@langchain/openai')));
|
|
39
40
|
return new ChatOpenAI({
|
|
@@ -80,7 +81,7 @@ const anthropicClaudeSonnet4 = async (config) => {
|
|
|
80
81
|
model: 'claude-sonnet-4-20250514',
|
|
81
82
|
apiKey: config.apiKey,
|
|
82
83
|
temperature: 0,
|
|
83
|
-
maxTokens:
|
|
84
|
+
maxTokens: constants_1.MAX_OUTPUT_TOKENS,
|
|
84
85
|
anthropicApiUrl: config.baseUrl,
|
|
85
86
|
clientOptions: {
|
|
86
87
|
defaultHeaders: config.headers,
|
package/dist/llm-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../src/llm-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"llm-config.js","sourceRoot":"","sources":["../src/llm-config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAgD;AAQzC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IACzD,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACzD,OAAO,IAAI,UAAU,CAAC;QACrB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,aAAa,EAAE;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,OAAO;SAC9B;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,MAAM,UAUjB;AAEK,MAAM,SAAS,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IAC5D,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACzD,OAAO,IAAI,UAAU,CAAC;QACrB,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,CAAC,CAAC;QACb,aAAa,EAAE;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,OAAO;SAC9B;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,SAAS,aAYpB;AAEK,MAAM,KAAK,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IACxD,MAAM,EAAE,UAAU,EAAE,GAAG,wDAAa,mBAAmB,GAAC,CAAC;IACzD,OAAO,IAAI,UAAU,CAAC;QACrB,KAAK,EAAE,oBAAoB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,GAAG;QAChB,SAAS,EAAE,CAAC,CAAC;QACb,aAAa,EAAE;YACd,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,cAAc,EAAE,MAAM,CAAC,OAAO;SAC9B;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,KAAK,SAYhB;AAEK,MAAM,sBAAsB,GAAG,KAAK,EAAE,MAAyB,EAAE,EAAE;IACzE,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;IAC/D,OAAO,IAAI,aAAa,CAAC;QACxB,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,6BAAiB;QAC5B,eAAe,EAAE,MAAM,CAAC,OAAO;QAC/B,aAAa,EAAE;YACd,cAAc,EAAE,MAAM,CAAC,OAAO;SAC9B;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC"}
|
|
@@ -20,37 +20,41 @@ export declare const nodeCreationSchema: z.ZodObject<{
|
|
|
20
20
|
[k: string]: unknown;
|
|
21
21
|
};
|
|
22
22
|
}>;
|
|
23
|
-
export declare function createAddNodeTool(nodeTypes: INodeTypeDescription[]):
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}, "
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
23
|
+
export declare function createAddNodeTool(nodeTypes: INodeTypeDescription[]): {
|
|
24
|
+
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
25
|
+
nodeType: z.ZodString;
|
|
26
|
+
name: z.ZodString;
|
|
27
|
+
connectionParametersReasoning: z.ZodString;
|
|
28
|
+
connectionParameters: z.ZodObject<{}, "passthrough", z.ZodTypeAny, z.objectOutputType<{}, z.ZodTypeAny, "passthrough">, z.objectInputType<{}, z.ZodTypeAny, "passthrough">>;
|
|
29
|
+
}, "strip", z.ZodTypeAny, {
|
|
30
|
+
nodeType: string;
|
|
31
|
+
name: string;
|
|
32
|
+
connectionParametersReasoning: string;
|
|
33
|
+
connectionParameters: {} & {
|
|
34
|
+
[k: string]: unknown;
|
|
35
|
+
};
|
|
36
|
+
}, {
|
|
37
|
+
nodeType: string;
|
|
38
|
+
name: string;
|
|
39
|
+
connectionParametersReasoning: string;
|
|
40
|
+
connectionParameters: {} & {
|
|
41
|
+
[k: string]: unknown;
|
|
42
|
+
};
|
|
43
|
+
}>, {
|
|
44
|
+
nodeType: string;
|
|
45
|
+
name: string;
|
|
46
|
+
connectionParametersReasoning: string;
|
|
47
|
+
connectionParameters: {} & {
|
|
48
|
+
[k: string]: unknown;
|
|
49
|
+
};
|
|
50
|
+
}, {
|
|
51
|
+
nodeType: string;
|
|
52
|
+
name: string;
|
|
53
|
+
connectionParametersReasoning: string;
|
|
54
|
+
connectionParameters: {} & {
|
|
55
|
+
[k: string]: unknown;
|
|
56
|
+
};
|
|
57
|
+
}, import("@langchain/langgraph").Command<unknown>>;
|
|
58
|
+
displayTitle: string;
|
|
59
|
+
getCustomDisplayTitle: (input: Record<string, unknown>) => string;
|
|
60
|
+
};
|
|
@@ -12,6 +12,7 @@ const progress_1 = require("./helpers/progress");
|
|
|
12
12
|
const response_1 = require("./helpers/response");
|
|
13
13
|
const state_1 = require("./helpers/state");
|
|
14
14
|
const validation_1 = require("./helpers/validation");
|
|
15
|
+
const DISPLAY_TITLE = 'Adding nodes';
|
|
15
16
|
exports.nodeCreationSchema = zod_1.z.object({
|
|
16
17
|
nodeType: zod_1.z.string().describe('The type of node to add (e.g., n8n-nodes-base.httpRequest)'),
|
|
17
18
|
name: zod_1.z
|
|
@@ -36,9 +37,18 @@ function buildResponseMessage(addedNode, nodeTypes) {
|
|
|
36
37
|
const nodeTypeInfo = nodeType && (0, node_helpers_1.isSubNode)(nodeType) ? ' (sub-node)' : '';
|
|
37
38
|
return `Successfully added "${addedNode.name}" (${addedNode.displayName ?? addedNode.type})${nodeTypeInfo} with ID ${addedNode.id}`;
|
|
38
39
|
}
|
|
40
|
+
function getCustomNodeTitle(input, nodeTypes) {
|
|
41
|
+
if ('nodeType' in input && typeof input['nodeType'] === 'string') {
|
|
42
|
+
const nodeType = nodeTypes.find((type) => type.name === input.nodeType);
|
|
43
|
+
if (nodeType) {
|
|
44
|
+
return `Adding ${nodeType.displayName} node`;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return 'Adding node';
|
|
48
|
+
}
|
|
39
49
|
function createAddNodeTool(nodeTypes) {
|
|
40
|
-
|
|
41
|
-
const reporter = (0, progress_1.createProgressReporter)(config, 'add_nodes');
|
|
50
|
+
const dynamicTool = (0, tools_1.tool)(async (input, config) => {
|
|
51
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'add_nodes', DISPLAY_TITLE, getCustomNodeTitle(input, nodeTypes));
|
|
42
52
|
try {
|
|
43
53
|
const validatedInput = exports.nodeCreationSchema.parse(input);
|
|
44
54
|
const { nodeType, name, connectionParametersReasoning, connectionParameters } = validatedInput;
|
|
@@ -132,5 +142,10 @@ CONNECTION PARAMETERS (NEVER rely on defaults - always set explicitly):
|
|
|
132
142
|
Think through the connectionParametersReasoning FIRST, then set connectionParameters based on your reasoning. If a parameter affects connections, SET IT EXPLICITLY.`,
|
|
133
143
|
schema: exports.nodeCreationSchema,
|
|
134
144
|
});
|
|
145
|
+
return {
|
|
146
|
+
tool: dynamicTool,
|
|
147
|
+
displayTitle: DISPLAY_TITLE,
|
|
148
|
+
getCustomDisplayTitle: (input) => getCustomNodeTitle(input, nodeTypes),
|
|
149
|
+
};
|
|
135
150
|
}
|
|
136
151
|
//# sourceMappingURL=add-node.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-node.tool.js","sourceRoot":"","sources":["../../src/tools/add-node.tool.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"add-node.tool.js","sourceRoot":"","sources":["../../src/tools/add-node.tool.ts"],"names":[],"mappings":";;;AAsFA,8CA0IC;AAhOD,iDAA6C;AAE7C,6BAAwB;AAExB,sCAAmE;AACnE,qEAAqF;AACrF,2EAAuE;AACvE,wDAAkD;AAClD,iDAA4D;AAC5D,iDAAgF;AAChF,2CAA0F;AAC1F,qDAAoD;AAIpD,MAAM,aAAa,GAAG,cAAc,CAAC;AAKxB,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IAC3F,IAAI,EAAE,OAAC;SACL,MAAM,EAAE;SACR,QAAQ,CAAC,oFAAoF,CAAC;IAChG,6BAA6B,EAAE,OAAC;SAC9B,MAAM,EAAE;SACR,QAAQ,CACR,gVAAgV,CAChV;IACF,oBAAoB,EAAE,OAAC;SACrB,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,CACR,iPAAiP,CACjP;CACF,CAAC,CAAC;AAKH,SAAS,UAAU,CAClB,QAA8B,EAC9B,UAAkB,EAClB,aAAsB,EACtB,SAAiC,EACjC,oBAAsC;IAGtC,MAAM,QAAQ,GAAG,UAAU,IAAI,QAAQ,CAAC,QAAQ,EAAE,IAAI,IAAI,QAAQ,CAAC,WAAW,CAAC;IAC/E,MAAM,UAAU,GAAG,IAAA,wCAAkB,EAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IAG/D,MAAM,QAAQ,GAAG,IAAA,8CAAqB,EAAC,aAAa,EAAE,IAAA,wBAAS,EAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAGtF,OAAO,IAAA,wCAAkB,EAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,CAAC,CAAC;AACjF,CAAC;AAKD,SAAS,oBAAoB,CAAC,SAAoB,EAAE,SAAiC;IACpF,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,QAAQ,IAAI,IAAA,wBAAS,EAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,OAAO,uBAAuB,SAAS,CAAC,IAAI,MAAM,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,IAAI,YAAY,YAAY,SAAS,CAAC,EAAE,EAAE,CAAC;AACrI,CAAC;AAED,SAAS,kBAAkB,CAC1B,KAA8B,EAC9B,SAAiC;IAEjC,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClE,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,QAAQ,EAAE,CAAC;YACd,OAAO,UAAU,QAAQ,CAAC,WAAW,OAAO,CAAC;QAC9C,CAAC;IACF,CAAC;IAGD,OAAO,aAAa,CAAC;AACtB,CAAC;AAKD,SAAgB,iBAAiB,CAAC,SAAiC;IAClE,MAAM,WAAW,GAAG,IAAA,YAAI,EACvB,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAA,iCAAsB,EACtC,MAAM,EACN,WAAW,EACX,aAAa,EACb,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CACpC,CAAC;QAEF,IAAI,CAAC;YAEJ,MAAM,cAAc,GAAG,0BAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,6BAA6B,EAAE,oBAAoB,EAAE,GAC5E,cAAc,CAAC;YAGhB,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAG/B,MAAM,KAAK,GAAG,IAAA,wBAAgB,GAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;YAG3C,QAAQ,CAAC,QAAQ,CAAC,UAAU,IAAI,KAAK,6BAA6B,GAAG,CAAC,CAAC;YAGvE,MAAM,YAAY,GAAG,IAAA,yBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YACvD,IAAI,CAAC,YAAY,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,IAAI,8BAAqB,CAAC,QAAQ,CAAC,CAAC;gBACtD,MAAM,KAAK,GAAG;oBACb,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,EAAE,QAAQ,EAAE;iBACrB,CAAC;gBACF,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACtB,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAC3C,CAAC;YAGD,MAAM,OAAO,GAAG,UAAU,CACzB,YAAY,EACZ,IAAI,EACJ,QAAQ,CAAC,KAAK,EACd,SAAS,EACT,oBAAuC,CACvC,CAAC;YAGF,MAAM,aAAa,GAAc;gBAChC,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,YAAY,CAAC,WAAW;gBACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC9B,CAAC;YAGF,MAAM,OAAO,GAAG,oBAAoB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;YAG/D,MAAM,MAAM,GAAkB;gBAC7B,SAAS,EAAE,aAAa;gBACxB,OAAO;aACP,CAAC;YACF,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAG1B,MAAM,YAAY,GAAG,IAAA,yBAAiB,EAAC,OAAO,CAAC,CAAC;YAChD,OAAO,IAAA,gCAAqB,EAAC,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC7D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAEhB,IAAI,SAAoB,CAAC;YAEzB,IAAI,KAAK,YAAY,OAAC,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,eAAe,GAAG,IAAI,wBAAe,CAAC,0BAA0B,EAAE;oBACvE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;oBACtC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;iBAC/B,CAAC,CAAC;gBACH,SAAS,GAAG;oBACX,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,SAAS,GAAG;oBACX,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;oBAC1E,IAAI,EAAE,iBAAiB;iBACvB,CAAC;YACH,CAAC;YAED,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAA,8BAAmB,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC,EACD;QACC,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qKA8BqJ;QAClK,MAAM,EAAE,0BAAkB;KAC1B,CACD,CAAC;IAEF,OAAO;QACN,IAAI,EAAE,WAAW;QACjB,YAAY,EAAE,aAAa;QAC3B,qBAAqB,EAAE,CAAC,KAA8B,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC;KAC/F,CAAC;AACH,CAAC"}
|
|
@@ -17,29 +17,32 @@ export declare const nodeConnectionSchema: z.ZodObject<{
|
|
|
17
17
|
sourceOutputIndex?: number | undefined;
|
|
18
18
|
targetInputIndex?: number | undefined;
|
|
19
19
|
}>;
|
|
20
|
-
export declare function createConnectNodesTool(nodeTypes: INodeTypeDescription[], logger?: Logger):
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
20
|
+
export declare function createConnectNodesTool(nodeTypes: INodeTypeDescription[], logger?: Logger): {
|
|
21
|
+
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
22
|
+
sourceNodeId: z.ZodString;
|
|
23
|
+
targetNodeId: z.ZodString;
|
|
24
|
+
sourceOutputIndex: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
targetInputIndex: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
}, "strip", z.ZodTypeAny, {
|
|
27
|
+
sourceNodeId: string;
|
|
28
|
+
targetNodeId: string;
|
|
29
|
+
sourceOutputIndex?: number | undefined;
|
|
30
|
+
targetInputIndex?: number | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
sourceNodeId: string;
|
|
33
|
+
targetNodeId: string;
|
|
34
|
+
sourceOutputIndex?: number | undefined;
|
|
35
|
+
targetInputIndex?: number | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
sourceNodeId: string;
|
|
38
|
+
targetNodeId: string;
|
|
39
|
+
sourceOutputIndex?: number | undefined;
|
|
40
|
+
targetInputIndex?: number | undefined;
|
|
41
|
+
}, {
|
|
42
|
+
sourceNodeId: string;
|
|
43
|
+
targetNodeId: string;
|
|
44
|
+
sourceOutputIndex?: number | undefined;
|
|
45
|
+
targetInputIndex?: number | undefined;
|
|
46
|
+
}, import("@langchain/langgraph").Command<unknown>>;
|
|
47
|
+
displayTitle: string;
|
|
48
|
+
};
|
|
@@ -27,8 +27,9 @@ exports.nodeConnectionSchema = zod_1.z.object({
|
|
|
27
27
|
.describe('The index of the input to connect to (default: 0)'),
|
|
28
28
|
});
|
|
29
29
|
function createConnectNodesTool(nodeTypes, logger) {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
const DISPLAY_TITLE = 'Connecting nodes';
|
|
31
|
+
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
32
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'connect_nodes', DISPLAY_TITLE);
|
|
32
33
|
try {
|
|
33
34
|
const validatedInput = exports.nodeConnectionSchema.parse(input);
|
|
34
35
|
reporter.start(validatedInput);
|
|
@@ -219,5 +220,9 @@ CONNECTION EXAMPLES:
|
|
|
219
220
|
- HTTP Request → Set (detects main)`,
|
|
220
221
|
schema: exports.nodeConnectionSchema,
|
|
221
222
|
});
|
|
223
|
+
return {
|
|
224
|
+
tool: dynamicTool,
|
|
225
|
+
displayTitle: DISPLAY_TITLE,
|
|
226
|
+
};
|
|
222
227
|
}
|
|
223
228
|
//# sourceMappingURL=connect-nodes.tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-nodes.tool.js","sourceRoot":"","sources":["../../src/tools/connect-nodes.tool.ts"],"names":[],"mappings":";;;AAkDA,
|
|
1
|
+
{"version":3,"file":"connect-nodes.tool.js","sourceRoot":"","sources":["../../src/tools/connect-nodes.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Logger } from '@n8n/backend-common';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
export declare function createGetNodeParameterTool(logger?: Logger): {
|
|
4
|
+
tool: import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
5
|
+
nodeId: z.ZodString;
|
|
6
|
+
path: z.ZodString;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
nodeId: string;
|
|
9
|
+
path: string;
|
|
10
|
+
}, {
|
|
11
|
+
nodeId: string;
|
|
12
|
+
path: string;
|
|
13
|
+
}>, unknown, {
|
|
14
|
+
nodeId: string;
|
|
15
|
+
path: string;
|
|
16
|
+
}, import("@langchain/langgraph").Command<unknown>>;
|
|
17
|
+
displayTitle: string;
|
|
18
|
+
};
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createGetNodeParameterTool = createGetNodeParameterTool;
|
|
7
|
+
const tools_1 = require("@langchain/core/tools");
|
|
8
|
+
const get_1 = __importDefault(require("lodash/get"));
|
|
9
|
+
const zod_1 = require("zod");
|
|
10
|
+
const constants_1 = require("../constants");
|
|
11
|
+
const helpers_1 = require("../tools/helpers");
|
|
12
|
+
const errors_1 = require("../errors");
|
|
13
|
+
const progress_1 = require("./helpers/progress");
|
|
14
|
+
const response_1 = require("./helpers/response");
|
|
15
|
+
const validation_1 = require("./helpers/validation");
|
|
16
|
+
const getNodeParameterSchema = zod_1.z.object({
|
|
17
|
+
nodeId: zod_1.z.string().describe('The ID of the node to extract parameter value'),
|
|
18
|
+
path: zod_1.z
|
|
19
|
+
.string()
|
|
20
|
+
.describe('Path to the specific parameter to extract, e.g., "url" or "options.baseUrl"'),
|
|
21
|
+
});
|
|
22
|
+
function extractParameterValue(node, path) {
|
|
23
|
+
const nodeParameters = node.parameters;
|
|
24
|
+
return (0, get_1.default)(nodeParameters, path);
|
|
25
|
+
}
|
|
26
|
+
function formatNodeParameter(path, value) {
|
|
27
|
+
const parts = [];
|
|
28
|
+
parts.push('<node_parameter>');
|
|
29
|
+
parts.push('<parameter_path>');
|
|
30
|
+
parts.push(path);
|
|
31
|
+
parts.push('</parameter_path>');
|
|
32
|
+
parts.push('<parameter_value>');
|
|
33
|
+
if (typeof value === 'string') {
|
|
34
|
+
parts.push(value);
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
parts.push(JSON.stringify(value, null, 2));
|
|
38
|
+
}
|
|
39
|
+
parts.push('</parameter_value>');
|
|
40
|
+
parts.push('</node_parameter>');
|
|
41
|
+
return parts.join('\n');
|
|
42
|
+
}
|
|
43
|
+
function createGetNodeParameterTool(logger) {
|
|
44
|
+
const DISPLAY_TITLE = 'Getting node parameter';
|
|
45
|
+
const dynamicTool = (0, tools_1.tool)((input, config) => {
|
|
46
|
+
const reporter = (0, progress_1.createProgressReporter)(config, 'get_node_parameter', DISPLAY_TITLE);
|
|
47
|
+
try {
|
|
48
|
+
const validatedInput = getNodeParameterSchema.parse(input);
|
|
49
|
+
const { nodeId, path } = validatedInput;
|
|
50
|
+
reporter.start(validatedInput);
|
|
51
|
+
logger?.debug(`Looking up parameter ${path} for ${nodeId}...`);
|
|
52
|
+
(0, progress_1.reportProgress)(reporter, `Looking up parameter ${path} for ${nodeId}...`);
|
|
53
|
+
const state = (0, helpers_1.getWorkflowState)();
|
|
54
|
+
const workflow = (0, helpers_1.getCurrentWorkflow)(state);
|
|
55
|
+
const node = (0, validation_1.validateNodeExists)(nodeId, workflow.nodes);
|
|
56
|
+
if (!node) {
|
|
57
|
+
logger?.debug(`Node with ID ${nodeId} not found`);
|
|
58
|
+
const error = (0, validation_1.createNodeNotFoundError)(nodeId);
|
|
59
|
+
reporter.error(error);
|
|
60
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
61
|
+
}
|
|
62
|
+
const parameterValue = extractParameterValue(node, path);
|
|
63
|
+
if (parameterValue === undefined) {
|
|
64
|
+
logger?.debug(`Parameter path ${path} not found in node ${node.name}`);
|
|
65
|
+
const error = new errors_1.ValidationError(`Parameter path "${path}" not found in node "${node.name}"`, {
|
|
66
|
+
extra: { nodeId, path },
|
|
67
|
+
});
|
|
68
|
+
reporter.error(error);
|
|
69
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
70
|
+
}
|
|
71
|
+
logger?.debug(`Parameter value for path ${path} in node ${node.name} retrieved`);
|
|
72
|
+
const formattedParameterValue = formatNodeParameter(path, parameterValue);
|
|
73
|
+
if (formattedParameterValue.length > constants_1.MAX_PARAMETER_VALUE_LENGTH) {
|
|
74
|
+
const error = (0, helpers_1.createNodeParameterTooLargeError)(nodeId, path, constants_1.MAX_PARAMETER_VALUE_LENGTH);
|
|
75
|
+
reporter.error(error);
|
|
76
|
+
return (0, response_1.createErrorResponse)(config, error);
|
|
77
|
+
}
|
|
78
|
+
const output = {
|
|
79
|
+
message: 'Parameter value retrieved successfully',
|
|
80
|
+
};
|
|
81
|
+
reporter.complete(output);
|
|
82
|
+
return (0, response_1.createSuccessResponse)(config, formattedParameterValue);
|
|
83
|
+
}
|
|
84
|
+
catch (error) {
|
|
85
|
+
if (error instanceof zod_1.z.ZodError) {
|
|
86
|
+
const validationError = new errors_1.ValidationError('Invalid input parameters', {
|
|
87
|
+
extra: { errors: error.errors },
|
|
88
|
+
});
|
|
89
|
+
reporter.error(validationError);
|
|
90
|
+
return (0, response_1.createErrorResponse)(config, validationError);
|
|
91
|
+
}
|
|
92
|
+
const toolError = new errors_1.ToolExecutionError(error instanceof Error ? error.message : 'Unknown error occurred', {
|
|
93
|
+
toolName: 'get_node_parameter',
|
|
94
|
+
cause: error instanceof Error ? error : undefined,
|
|
95
|
+
});
|
|
96
|
+
reporter.error(toolError);
|
|
97
|
+
return (0, response_1.createErrorResponse)(config, toolError);
|
|
98
|
+
}
|
|
99
|
+
}, {
|
|
100
|
+
name: 'get_node_parameter',
|
|
101
|
+
description: 'Get the value of a specific parameter of a specific node. Use this ONLY to retrieve parameters omitted in the workflow JSON context because of the size.',
|
|
102
|
+
schema: getNodeParameterSchema,
|
|
103
|
+
});
|
|
104
|
+
return {
|
|
105
|
+
tool: dynamicTool,
|
|
106
|
+
displayTitle: DISPLAY_TITLE,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=get-node-parameter.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-node-parameter.tool.js","sourceRoot":"","sources":["../../src/tools/get-node-parameter.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ToolRunnableConfig } from '@langchain/core/tools';
|
|
2
2
|
import type { LangGraphRunnableConfig } from '@langchain/langgraph';
|
|
3
3
|
import type { ToolError, ProgressReporter, BatchReporter } from '../../types/tools';
|
|
4
|
-
export declare function createProgressReporter<TToolName extends string = string>(config: ToolRunnableConfig & LangGraphRunnableConfig, toolName: TToolName): ProgressReporter;
|
|
4
|
+
export declare function createProgressReporter<TToolName extends string = string>(config: ToolRunnableConfig & LangGraphRunnableConfig, toolName: TToolName, displayTitle: string, customTitle?: string): ProgressReporter;
|
|
5
5
|
export declare function reportStart<T>(reporter: ProgressReporter, input: T): void;
|
|
6
6
|
export declare function reportProgress(reporter: ProgressReporter, message: string, data?: Record<string, unknown>): void;
|
|
7
7
|
export declare function reportComplete<T>(reporter: ProgressReporter, output: T): void;
|
|
@@ -6,16 +6,22 @@ exports.reportProgress = reportProgress;
|
|
|
6
6
|
exports.reportComplete = reportComplete;
|
|
7
7
|
exports.reportError = reportError;
|
|
8
8
|
exports.createBatchProgressReporter = createBatchProgressReporter;
|
|
9
|
-
function createProgressReporter(config, toolName) {
|
|
9
|
+
function createProgressReporter(config, toolName, displayTitle, customTitle) {
|
|
10
10
|
const toolCallId = config.toolCall?.id;
|
|
11
|
+
let customDisplayTitle = customTitle;
|
|
11
12
|
const emit = (message) => {
|
|
12
13
|
config.writer?.(message);
|
|
13
14
|
};
|
|
14
|
-
const start = (input) => {
|
|
15
|
+
const start = (input, options) => {
|
|
16
|
+
if (options?.customDisplayTitle) {
|
|
17
|
+
customDisplayTitle = options.customDisplayTitle;
|
|
18
|
+
}
|
|
15
19
|
emit({
|
|
16
20
|
type: 'tool',
|
|
17
21
|
toolName,
|
|
18
22
|
toolCallId,
|
|
23
|
+
displayTitle,
|
|
24
|
+
customDisplayTitle,
|
|
19
25
|
status: 'running',
|
|
20
26
|
updates: [
|
|
21
27
|
{
|
|
@@ -30,6 +36,8 @@ function createProgressReporter(config, toolName) {
|
|
|
30
36
|
type: 'tool',
|
|
31
37
|
toolName,
|
|
32
38
|
toolCallId,
|
|
39
|
+
displayTitle,
|
|
40
|
+
customDisplayTitle,
|
|
33
41
|
status: 'running',
|
|
34
42
|
updates: [
|
|
35
43
|
{
|
|
@@ -44,6 +52,8 @@ function createProgressReporter(config, toolName) {
|
|
|
44
52
|
type: 'tool',
|
|
45
53
|
toolName,
|
|
46
54
|
toolCallId,
|
|
55
|
+
displayTitle,
|
|
56
|
+
customDisplayTitle,
|
|
47
57
|
status: 'completed',
|
|
48
58
|
updates: [
|
|
49
59
|
{
|
|
@@ -58,6 +68,8 @@ function createProgressReporter(config, toolName) {
|
|
|
58
68
|
type: 'tool',
|
|
59
69
|
toolName,
|
|
60
70
|
toolCallId,
|
|
71
|
+
displayTitle,
|
|
72
|
+
customDisplayTitle,
|
|
61
73
|
status: 'error',
|
|
62
74
|
updates: [
|
|
63
75
|
{
|