@n8n/ai-workflow-builder 0.17.1 → 0.19.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 +2 -1
- package/dist/ai-workflow-builder-agent.service.js +6 -3
- package/dist/ai-workflow-builder-agent.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/chains/parameter-updater.js +5 -1
- package/dist/chains/parameter-updater.js.map +1 -1
- package/dist/chains/prompts/instance-url.d.ts +1 -0
- package/dist/chains/prompts/instance-url.js +16 -0
- package/dist/chains/prompts/instance-url.js.map +1 -0
- package/dist/chains/prompts/prompt-builder.js +1 -1
- package/dist/chains/prompts/prompt-builder.js.map +1 -1
- package/dist/chains/workflow-name.d.ts +4 -0
- package/dist/chains/workflow-name.js +30 -0
- package/dist/chains/workflow-name.js.map +1 -0
- package/dist/tools/prompts/main-agent.prompt.js +8 -1
- package/dist/tools/prompts/main-agent.prompt.js.map +1 -1
- package/dist/tools/update-node-parameters.tool.d.ts +1 -1
- package/dist/tools/update-node-parameters.tool.js +38 -34
- package/dist/tools/update-node-parameters.tool.js.map +1 -1
- package/dist/types/workflow.d.ts +4 -1
- package/dist/utils/operations-processor.js +2 -1
- package/dist/utils/operations-processor.js.map +1 -1
- package/dist/utils/token-usage.d.ts +11 -0
- package/dist/utils/token-usage.js.map +1 -1
- package/dist/workflow-builder-agent.d.ts +10 -1
- package/dist/workflow-builder-agent.js +101 -19
- package/dist/workflow-builder-agent.js.map +1 -1
- package/dist/workflow-state.js +1 -1
- package/dist/workflow-state.js.map +1 -1
- package/package.json +12 -11
|
@@ -5,6 +5,7 @@ const messages_1 = require("@langchain/core/messages");
|
|
|
5
5
|
const prompts_1 = require("@langchain/core/prompts");
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const errors_1 = require("../errors");
|
|
8
|
+
const instance_url_1 = require("./prompts/instance-url");
|
|
8
9
|
const prompt_builder_1 = require("./prompts/prompt-builder");
|
|
9
10
|
exports.parametersSchema = zod_1.z
|
|
10
11
|
.object({
|
|
@@ -32,7 +33,6 @@ const workflowContextPrompt = `
|
|
|
32
33
|
{execution_schema}
|
|
33
34
|
</current_execution_nodes_schemas>
|
|
34
35
|
|
|
35
|
-
|
|
36
36
|
<selected_node>
|
|
37
37
|
Name: {node_name}
|
|
38
38
|
Type: {node_type}
|
|
@@ -77,6 +77,10 @@ const createParameterUpdaterChain = (llm, options, logger) => {
|
|
|
77
77
|
text: nodeDefinitionPrompt,
|
|
78
78
|
cache_control: { type: 'ephemeral' },
|
|
79
79
|
},
|
|
80
|
+
{
|
|
81
|
+
type: 'text',
|
|
82
|
+
text: instance_url_1.instanceUrlPrompt,
|
|
83
|
+
},
|
|
80
84
|
],
|
|
81
85
|
],
|
|
82
86
|
]);
|
|
@@ -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,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
|
|
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;gBACzB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;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;oBAC1B,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;iBACpC;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;AA/DW,QAAA,2BAA2B,+BA+DtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const instanceUrlPrompt = "\n<instance_url>\nThe n8n instance base URL is: {instanceUrl}\n\nThis URL is essential for webhook nodes and chat triggers as it provides the base URL for:\n- Webhook URLs that external services need to call\n- Chat trigger URLs for conversational interfaces\n- Any node that requires the full instance URL to generate proper callback URLs\n\nWhen working with webhook or chat trigger nodes, use this URL as the base for constructing proper endpoint URLs.\n</instance_url>\n";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.instanceUrlPrompt = void 0;
|
|
4
|
+
exports.instanceUrlPrompt = `
|
|
5
|
+
<instance_url>
|
|
6
|
+
The n8n instance base URL is: {instanceUrl}
|
|
7
|
+
|
|
8
|
+
This URL is essential for webhook nodes and chat triggers as it provides the base URL for:
|
|
9
|
+
- Webhook URLs that external services need to call
|
|
10
|
+
- Chat trigger URLs for conversational interfaces
|
|
11
|
+
- Any node that requires the full instance URL to generate proper callback URLs
|
|
12
|
+
|
|
13
|
+
When working with webhook or chat trigger nodes, use this URL as the base for constructing proper endpoint URLs.
|
|
14
|
+
</instance_url>
|
|
15
|
+
`;
|
|
16
|
+
//# sourceMappingURL=instance-url.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"instance-url.js","sourceRoot":"","sources":["../../../src/chains/prompts/instance-url.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG;;;;;;;;;;;CAWhC,CAAC"}
|
|
@@ -46,7 +46,7 @@ class ParameterUpdatePromptBuilder {
|
|
|
46
46
|
const examples = this.selectRelevantExamples(context);
|
|
47
47
|
if (examples.length > 0) {
|
|
48
48
|
sections.push('\n## Relevant Examples');
|
|
49
|
-
sections.push(
|
|
49
|
+
sections.push.apply(sections, examples);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
sections.push(output_format_1.OUTPUT_FORMAT);
|
|
@@ -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,4DAA+D;AAC/D,kDAAqD;AACrD,oDAAuD;AACvD,wDAA2D;AAC3D,yEAA4E;AAC5E,+DAAkE;AAClE,mDAIyB;AAGzB,MAAa,4BAA4B;IAIxC,MAAM,CAAC,iBAAiB,CAAC,OAA6B;QACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAa,EAAE,CAAC;QAG9B,QAAQ,CAAC,IAAI,CAAC,qCAAiB,CAAC,CAAC;QACjC,QAAQ,CAAC,IAAI,CAAC,mCAAgB,CAAC,CAAC;QAGhC,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,QAAQ,CAAC,IAAI,CAAC,yBAAc,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,uBAAa,CAAC,CAAC;QAC9B,CAAC;aAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,iCAAkB,CAAC,CAAC;QACnC,CAAC;QAGD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,QAAQ,CAAC,IAAI,CAAC,6BAAgB,CAAC,CAAC;QACjC,CAAC;QAGD,IAAI,OAAO,CAAC,wBAAwB,IAAI,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjF,QAAQ,CAAC,IAAI,CAAC,yCAAsB,CAAC,CAAC;QACvC,CAAC;QAGD,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CAAC,+BAAiB,CAAC,CAAC;QAClC,CAAC;QAGD,QAAQ,CAAC,IAAI,CAAC,iCAAe,CAAC,CAAC;QAG/B,IAAI,OAAO,CAAC,eAAe,KAAK,KAAK,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;YACtD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,QAAQ,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;gBACxC,QAAQ,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/chains/prompts/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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.workflowNameChain = workflowNameChain;
|
|
7
|
+
const prompts_1 = require("@langchain/core/prompts");
|
|
8
|
+
const zod_1 = __importDefault(require("zod"));
|
|
9
|
+
const workflowNamingPromptTemplate = prompts_1.PromptTemplate.fromTemplate(`Based on the initial user prompt, please generate a name for the workflow that captures its essence and purpose.
|
|
10
|
+
|
|
11
|
+
<initial_prompt>
|
|
12
|
+
{initialPrompt}
|
|
13
|
+
</initial_prompt>
|
|
14
|
+
|
|
15
|
+
This name should be concise, descriptive, and suitable for a workflow that automates tasks related to the given prompt. The name should be in a format that is easy to read and understand. Do not include the word "workflow" in the name.
|
|
16
|
+
`);
|
|
17
|
+
async function workflowNameChain(llm, initialPrompt) {
|
|
18
|
+
const nameSchema = zod_1.default.object({
|
|
19
|
+
name: zod_1.default.string().min(10).max(128).describe('Name of the workflow based on the prompt'),
|
|
20
|
+
});
|
|
21
|
+
const modelWithStructure = llm.withStructuredOutput(nameSchema);
|
|
22
|
+
const prompt = await workflowNamingPromptTemplate.invoke({
|
|
23
|
+
initialPrompt,
|
|
24
|
+
});
|
|
25
|
+
const structuredOutput = (await modelWithStructure.invoke(prompt));
|
|
26
|
+
return {
|
|
27
|
+
name: structuredOutput.name,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=workflow-name.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow-name.js","sourceRoot":"","sources":["../../src/chains/workflow-name.ts"],"names":[],"mappings":";;;;;AAeA,8CAiBC;AA/BD,qDAAyD;AACzD,8CAAoB;AAEpB,MAAM,4BAA4B,GAAG,wBAAc,CAAC,YAAY,CAC/D;;;;;;;CAOA,CACA,CAAC;AAEK,KAAK,UAAU,iBAAiB,CAAC,GAAkB,EAAE,aAAqB;IAEhF,MAAM,UAAU,GAAG,aAAC,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KACtF,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAEhE,MAAM,MAAM,GAAG,MAAM,4BAA4B,CAAC,MAAM,CAAC;QACxD,aAAa;KACb,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,CAAC,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAA+B,CAAC;IAEjG,OAAO;QACN,IAAI,EAAE,gBAAgB,CAAC,IAAI;KAC3B,CAAC;AACH,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mainAgentPrompt = void 0;
|
|
4
4
|
const prompts_1 = require("@langchain/core/prompts");
|
|
5
|
+
const instance_url_1 = require("../../chains/prompts/instance-url");
|
|
5
6
|
const systemPrompt = `You are an AI assistant specialized in creating and editing n8n workflows. Your goal is to help users build efficient, well-connected workflows by intelligently using the available tools.
|
|
6
7
|
|
|
7
8
|
<prime_directive>
|
|
@@ -331,7 +332,9 @@ update_node_parameters({{
|
|
|
331
332
|
}})
|
|
332
333
|
|
|
333
334
|
Then tell the user: "I've set up the Gmail Tool node with dynamic AI parameters - it will automatically determine recipients and subjects based on context."
|
|
334
|
-
</handling_uncertainty
|
|
335
|
+
</handling_uncertainty>
|
|
336
|
+
|
|
337
|
+
`;
|
|
335
338
|
const responsePatterns = `
|
|
336
339
|
<response_patterns>
|
|
337
340
|
After completing workflow tasks, follow this structure:
|
|
@@ -388,6 +391,10 @@ exports.mainAgentPrompt = prompts_1.ChatPromptTemplate.fromMessages([
|
|
|
388
391
|
text: systemPrompt,
|
|
389
392
|
cache_control: { type: 'ephemeral' },
|
|
390
393
|
},
|
|
394
|
+
{
|
|
395
|
+
type: 'text',
|
|
396
|
+
text: instance_url_1.instanceUrlPrompt,
|
|
397
|
+
},
|
|
391
398
|
{
|
|
392
399
|
type: 'text',
|
|
393
400
|
text: currentWorkflowJson,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main-agent.prompt.js","sourceRoot":"","sources":["../../../src/tools/prompts/main-agent.prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAE7D,MAAM,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"main-agent.prompt.js","sourceRoot":"","sources":["../../../src/tools/prompts/main-agent.prompt.ts"],"names":[],"mappings":";;;AAAA,qDAA6D;AAE7D,gEAAkE;AAElE,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2UpB,CAAC;AAEF,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BxB,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;yBAGH,CAAC;AAE1B,MAAM,oBAAoB,GAAG;;;qCAGQ,CAAC;AAEtC,MAAM,4BAA4B,GAAG;;;mCAGF,CAAC;AAEpC,MAAM,2BAA2B,GAAG;;;oBAGhB,CAAC;AAER,QAAA,eAAe,GAAG,4BAAkB,CAAC,YAAY,CAAC;IAC9D;QACC,QAAQ;QACR;YACC;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gCAAiB;aACvB;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,mBAAmB;aACzB;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,oBAAoB;aAC1B;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,4BAA4B;aAClC;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,gBAAgB;gBACtB,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;YACD;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2BAA2B;gBACjC,aAAa,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;aACpC;SACD;KACD;IACD,CAAC,aAAa,EAAE,YAAY,CAAC;CAC7B,CAAC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BaseChatModel } from '@langchain/core/language_models/chat_models';
|
|
2
2
|
import type { INodeTypeDescription, Logger } from 'n8n-workflow';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
export declare function createUpdateNodeParametersTool(nodeTypes: INodeTypeDescription[], llm: BaseChatModel, logger?: Logger): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
4
|
+
export declare function createUpdateNodeParametersTool(nodeTypes: INodeTypeDescription[], llm: BaseChatModel, logger?: Logger, instanceUrl?: string): import("@langchain/core/tools").DynamicStructuredTool<z.ZodObject<{
|
|
5
5
|
nodeId: z.ZodString;
|
|
6
6
|
changes: z.ZodArray<z.ZodString, "many">;
|
|
7
7
|
}, "strip", z.ZodTypeAny, {
|
|
@@ -21,7 +21,43 @@ function buildSuccessMessage(node, changes) {
|
|
|
21
21
|
const changesList = changes.map((c) => `- ${c}`).join('\n');
|
|
22
22
|
return `Successfully updated parameters for node "${node.name}" (${node.type}):\n${changesList}`;
|
|
23
23
|
}
|
|
24
|
-
function
|
|
24
|
+
async function processParameterUpdates(node, nodeType, nodeId, changes, state, llm, logger, instanceUrl) {
|
|
25
|
+
const workflow = (0, state_1.getCurrentWorkflow)(state);
|
|
26
|
+
const currentParameters = (0, parameter_update_utils_1.extractNodeParameters)(node);
|
|
27
|
+
const formattedChanges = (0, parameter_update_utils_1.formatChangesForPrompt)(changes);
|
|
28
|
+
const nodePropertiesJson = JSON.stringify(nodeType.properties || [], null, 2);
|
|
29
|
+
const parametersChain = (0, parameter_updater_1.createParameterUpdaterChain)(llm, {
|
|
30
|
+
nodeType: node.type,
|
|
31
|
+
nodeDefinition: nodeType,
|
|
32
|
+
requestedChanges: changes,
|
|
33
|
+
}, logger);
|
|
34
|
+
const newParameters = (await parametersChain.invoke({
|
|
35
|
+
workflow_json: workflow,
|
|
36
|
+
execution_schema: state.workflowContext?.executionSchema ?? 'NO SCHEMA',
|
|
37
|
+
execution_data: state.workflowContext?.executionData ?? 'NO EXECUTION DATA YET',
|
|
38
|
+
node_id: nodeId,
|
|
39
|
+
node_name: node.name,
|
|
40
|
+
node_type: node.type,
|
|
41
|
+
current_parameters: JSON.stringify(currentParameters, null, 2),
|
|
42
|
+
node_definition: nodePropertiesJson,
|
|
43
|
+
changes: formattedChanges,
|
|
44
|
+
instanceUrl: instanceUrl ?? '',
|
|
45
|
+
}));
|
|
46
|
+
if (!newParameters || typeof newParameters !== 'object') {
|
|
47
|
+
throw new errors_1.ParameterUpdateError('Invalid parameters returned from LLM', {
|
|
48
|
+
nodeId,
|
|
49
|
+
nodeType: node.type,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
if (!newParameters.parameters || typeof newParameters.parameters !== 'object') {
|
|
53
|
+
throw new errors_1.ParameterUpdateError('Invalid parameters structure returned from LLM', {
|
|
54
|
+
nodeId,
|
|
55
|
+
nodeType: node.type,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return (0, parameter_update_utils_1.fixExpressionPrefixes)(newParameters.parameters);
|
|
59
|
+
}
|
|
60
|
+
function createUpdateNodeParametersTool(nodeTypes, llm, logger, instanceUrl) {
|
|
25
61
|
return (0, tools_1.tool)(async (input, config) => {
|
|
26
62
|
const reporter = (0, progress_1.createProgressReporter)(config, 'update_node_parameters');
|
|
27
63
|
try {
|
|
@@ -47,39 +83,7 @@ function createUpdateNodeParametersTool(nodeTypes, llm, logger) {
|
|
|
47
83
|
changes,
|
|
48
84
|
});
|
|
49
85
|
try {
|
|
50
|
-
const
|
|
51
|
-
const formattedChanges = (0, parameter_update_utils_1.formatChangesForPrompt)(changes);
|
|
52
|
-
const nodePropertiesJson = JSON.stringify(nodeType.properties || [], null, 2);
|
|
53
|
-
const parametersChain = (0, parameter_updater_1.createParameterUpdaterChain)(llm, {
|
|
54
|
-
nodeType: node.type,
|
|
55
|
-
nodeDefinition: nodeType,
|
|
56
|
-
requestedChanges: changes,
|
|
57
|
-
}, logger);
|
|
58
|
-
const newParameters = (await parametersChain.invoke({
|
|
59
|
-
workflow_json: workflow,
|
|
60
|
-
execution_schema: state.workflowContext?.executionSchema ?? 'NO SCHEMA',
|
|
61
|
-
execution_data: state.workflowContext?.executionData ?? 'NO EXECUTION DATA YET',
|
|
62
|
-
node_id: nodeId,
|
|
63
|
-
node_name: node.name,
|
|
64
|
-
node_type: node.type,
|
|
65
|
-
current_parameters: JSON.stringify(currentParameters, null, 2),
|
|
66
|
-
node_definition: nodePropertiesJson,
|
|
67
|
-
changes: formattedChanges,
|
|
68
|
-
}));
|
|
69
|
-
if (!newParameters || typeof newParameters !== 'object') {
|
|
70
|
-
throw new errors_1.ParameterUpdateError('Invalid parameters returned from LLM', {
|
|
71
|
-
nodeId,
|
|
72
|
-
nodeType: node.type,
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
if (!newParameters.parameters || typeof newParameters.parameters !== 'object') {
|
|
76
|
-
throw new errors_1.ParameterUpdateError('Invalid parameters structure returned from LLM', {
|
|
77
|
-
nodeId,
|
|
78
|
-
nodeType: node.type,
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
const fixedParameters = (0, parameter_update_utils_1.fixExpressionPrefixes)(newParameters.parameters);
|
|
82
|
-
const updatedParameters = (0, parameter_update_utils_1.mergeParameters)(currentParameters, fixedParameters);
|
|
86
|
+
const updatedParameters = await processParameterUpdates(node, nodeType, nodeId, changes, state, llm, logger, instanceUrl);
|
|
83
87
|
const updatedNode = (0, parameter_update_utils_1.updateNodeWithParameters)(node, updatedParameters);
|
|
84
88
|
const message = buildSuccessMessage(node, changes);
|
|
85
89
|
const output = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-node-parameters.tool.js","sourceRoot":"","sources":["../../src/tools/update-node-parameters.tool.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"update-node-parameters.tool.js","sourceRoot":"","sources":["../../src/tools/update-node-parameters.tool.ts"],"names":[],"mappings":"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"}
|
package/dist/types/workflow.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { IWorkflowBase, INode, IConnections } from 'n8n-workflow';
|
|
2
|
-
export type SimpleWorkflow = Pick<IWorkflowBase, 'nodes' | 'connections'>;
|
|
2
|
+
export type SimpleWorkflow = Pick<IWorkflowBase, 'name' | 'nodes' | 'connections'>;
|
|
3
3
|
export type WorkflowOperation = {
|
|
4
4
|
type: 'clear';
|
|
5
5
|
} | {
|
|
@@ -18,4 +18,7 @@ export type WorkflowOperation = {
|
|
|
18
18
|
} | {
|
|
19
19
|
type: 'mergeConnections';
|
|
20
20
|
connections: IConnections;
|
|
21
|
+
} | {
|
|
22
|
+
type: 'setName';
|
|
23
|
+
name: string;
|
|
21
24
|
};
|
|
@@ -6,11 +6,12 @@ function applyOperations(workflow, operations) {
|
|
|
6
6
|
let result = {
|
|
7
7
|
nodes: [...workflow.nodes],
|
|
8
8
|
connections: { ...workflow.connections },
|
|
9
|
+
name: workflow.name || '',
|
|
9
10
|
};
|
|
10
11
|
for (const operation of operations) {
|
|
11
12
|
switch (operation.type) {
|
|
12
13
|
case 'clear':
|
|
13
|
-
result = { nodes: [], connections: {} };
|
|
14
|
+
result = { nodes: [], connections: {}, name: '' };
|
|
14
15
|
break;
|
|
15
16
|
case 'removeNode': {
|
|
16
17
|
const nodesToRemove = new Set(operation.nodeIds);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations-processor.js","sourceRoot":"","sources":["../../src/utils/operations-processor.ts"],"names":[],"mappings":";;AASA,
|
|
1
|
+
{"version":3,"file":"operations-processor.js","sourceRoot":"","sources":["../../src/utils/operations-processor.ts"],"names":[],"mappings":";;AASA,0CAmIC;AAMD,8CAgBC;AAzJD,SAAgB,eAAe,CAC9B,QAAwB,EACxB,UAA+B;IAG/B,IAAI,MAAM,GAAmB;QAC5B,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC1B,WAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;QACxC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;KACzB,CAAC;IAGF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,OAAO;gBACX,MAAM,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;gBAClD,MAAM;YAEP,KAAK,YAAY,CAAC,CAAC,CAAC;gBACnB,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBAGjD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAG1E,MAAM,kBAAkB,GAAiB,EAAE,CAAC;gBAG5C,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;oBAC9E,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClC,kBAAkB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;wBAElC,KAAK,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;4BACzE,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gCAC5B,kBAAkB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE;oCAChF,IAAI,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;wCACtC,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;oCAC1E,CAAC;oCACD,OAAO,iBAAiB,CAAC;gCAC1B,CAAC,CAAC,CAAC;4BACJ,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBAED,MAAM,CAAC,WAAW,GAAG,kBAAkB,CAAC;gBACxC,MAAM;YACP,CAAC;YAED,KAAK,UAAU,CAAC,CAAC,CAAC;gBAEjB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiB,CAAC;gBACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;gBAG3D,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;gBAC5C,MAAM;YACP,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBACnB,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBACxC,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;wBAClC,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC1C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC,CAAC,CAAC;gBACH,MAAM;YACP,CAAC;YAED,KAAK,gBAAgB,CAAC,CAAC,CAAC;gBAEvB,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;gBAC3C,MAAM;YACP,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBAEzB,KAAK,MAAM,CAAC,QAAQ,EAAE,eAAe,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;oBACjF,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACnC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,eAAe,CAAC;oBAChD,CAAC;yBAAM,CAAC;wBAEP,KAAK,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;4BAC5E,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC;gCACnD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC;4BAC3D,CAAC;iCAAM,CAAC;gCAEP,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAAC;gCAErE,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;oCAEjE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;wCAC9E,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;4CAAE,SAAS;wCAE7B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;4CACzB,eAAe,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wCACpC,CAAC;6CAAM,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4CAE9E,MAAM,WAAW,GAAG,IAAI,GAAG,CAC1B,eAAe,CAAC,CAAC,CAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAChC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CACvE,CACD,CAAC;4CAEF,UAAU,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gDAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;oDAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;oDACf,IAAI,EAAE,IAAI,CAAC,IAAI;oDACf,KAAK,EAAE,IAAI,CAAC,KAAK;iDACjB,CAAC,CAAC;gDACH,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oDAC/B,eAAe,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gDAChC,CAAC;4CACF,CAAC,CAAC,CAAC;wCACJ,CAAC;oCACF,CAAC;gCACF,CAAC;4BACF,CAAC;wBACF,CAAC;oBACF,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,MAAM,CAAC;AACf,CAAC;AAMD,SAAgB,iBAAiB,CAAC,KAAiC;IAClE,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAGnD,IAAI,CAAC,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO,EAAE,CAAC;IACX,CAAC;IAGD,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;IAGtE,OAAO;QACN,YAAY,EAAE,WAAW;QACzB,kBAAkB,EAAE,IAAI;KACxB,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
import { AIMessage } from '@langchain/core/messages';
|
|
2
|
+
export type AIMessageWithUsageMetadata = AIMessage & {
|
|
3
|
+
response_metadata: {
|
|
4
|
+
usage: {
|
|
5
|
+
input_tokens: number;
|
|
6
|
+
output_tokens: number;
|
|
7
|
+
cache_read_input_tokens?: number;
|
|
8
|
+
cache_creation_input_tokens?: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
};
|
|
1
12
|
export interface TokenUsage {
|
|
2
13
|
input_tokens: number;
|
|
3
14
|
output_tokens: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../src/utils/token-usage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"token-usage.js","sourceRoot":"","sources":["../../src/utils/token-usage.ts"],"names":[],"mappings":";;AAqBA,sDAcC;AAnCD,uDAAqD;AAqBrD,SAAgB,qBAAqB,CAAC,QAAmB;IACxD,MAAM,sBAAsB,GAAG,QAAQ,CAAC,QAAQ,CAC/C,CAAC,CAAC,EAAmC,EAAE,CACtC,CAAC,YAAY,oBAAS;QACtB,CAAC,CAAC,iBAAiB,EAAE,KAAK,KAAK,SAAS;QACxC,cAAc,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK;QAC3C,eAAe,IAAI,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAC7C,CAAC;IAEF,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC7B,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,OAAO,sBAAsB,CAAC,iBAAiB,CAAC,KAAK,CAAC;AACvD,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { BaseChatModel } from '@langchain/core/language_models/chat_models'
|
|
|
2
2
|
import type { LangChainTracer } from '@langchain/core/tracers/tracer_langchain';
|
|
3
3
|
import { MemorySaver } from '@langchain/langgraph';
|
|
4
4
|
import type { Logger } from '@n8n/backend-common';
|
|
5
|
-
import type
|
|
5
|
+
import { type INodeTypeDescription, type IRunExecutionData, type IWorkflowBase, type NodeExecutionSchema } from 'n8n-workflow';
|
|
6
6
|
export interface WorkflowBuilderAgentConfig {
|
|
7
7
|
parsedNodeTypes: INodeTypeDescription[];
|
|
8
8
|
llmSimpleTask: BaseChatModel;
|
|
@@ -11,6 +11,7 @@ export interface WorkflowBuilderAgentConfig {
|
|
|
11
11
|
checkpointer?: MemorySaver;
|
|
12
12
|
tracer?: LangChainTracer;
|
|
13
13
|
autoCompactThresholdTokens?: number;
|
|
14
|
+
instanceUrl?: string;
|
|
14
15
|
}
|
|
15
16
|
export interface ChatPayload {
|
|
16
17
|
message: string;
|
|
@@ -28,12 +29,20 @@ export declare class WorkflowBuilderAgent {
|
|
|
28
29
|
private logger?;
|
|
29
30
|
private tracer?;
|
|
30
31
|
private autoCompactThresholdTokens;
|
|
32
|
+
private instanceUrl?;
|
|
31
33
|
constructor(config: WorkflowBuilderAgentConfig);
|
|
32
34
|
private createWorkflow;
|
|
33
35
|
getState(workflowId: string, userId?: string): Promise<import("@langchain/langgraph").StateSnapshot>;
|
|
34
36
|
static generateThreadId(workflowId?: string, userId?: string): string;
|
|
35
37
|
private getDefaultWorkflowJSON;
|
|
36
38
|
chat(payload: ChatPayload, userId?: string, abortSignal?: AbortSignal): AsyncGenerator<import("./types").StreamOutput, void, unknown>;
|
|
39
|
+
private validateMessageLength;
|
|
40
|
+
private setupAgentAndConfigs;
|
|
41
|
+
private createAgentStream;
|
|
42
|
+
private handleStreamError;
|
|
43
|
+
private processAgentStream;
|
|
44
|
+
private handleAgentStreamError;
|
|
45
|
+
private getInvalidRequestError;
|
|
37
46
|
getSessions(workflowId: string | undefined, userId?: string): Promise<{
|
|
38
47
|
sessions: {
|
|
39
48
|
sessionId: string;
|