@n8n/ai-workflow-builder 1.20.0 → 1.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/build.tsbuildinfo +1 -1
- package/dist/code-builder/engines/code-builder-node-search-engine.d.ts +1 -1
- package/dist/code-builder/engines/code-builder-node-search-engine.js +14 -7
- package/dist/code-builder/engines/code-builder-node-search-engine.js.map +1 -1
- package/dist/code-builder/handlers/parse-validate-handler.js +1 -1
- package/dist/code-builder/handlers/parse-validate-handler.js.map +1 -1
- package/dist/code-builder/handlers/text-editor-handler.d.ts +4 -13
- package/dist/code-builder/handlers/text-editor-handler.js +15 -215
- package/dist/code-builder/handlers/text-editor-handler.js.map +1 -1
- package/dist/code-builder/handlers/text-editor.types.d.ts +2 -68
- package/dist/code-builder/handlers/text-editor.types.js +9 -64
- package/dist/code-builder/handlers/text-editor.types.js.map +1 -1
- package/dist/code-builder/handlers/tool-dispatch-handler.js +2 -22
- package/dist/code-builder/handlers/tool-dispatch-handler.js.map +1 -1
- package/dist/code-builder/index.d.ts +4 -3
- package/dist/code-builder/index.js +3 -1
- package/dist/code-builder/index.js.map +1 -1
- package/dist/code-builder/prompts/index.d.ts +1 -1
- package/dist/code-builder/prompts/index.js +9 -7
- package/dist/code-builder/prompts/index.js.map +1 -1
- package/dist/code-builder/tools/code-builder-get.tool.d.ts +8 -0
- package/dist/code-builder/tools/code-builder-get.tool.js +41 -49
- package/dist/code-builder/tools/code-builder-get.tool.js.map +1 -1
- package/dist/code-builder/tools/code-builder-search.tool.d.ts +9 -2
- package/dist/code-builder/tools/code-builder-search.tool.js +88 -85
- package/dist/code-builder/tools/code-builder-search.tool.js.map +1 -1
- package/dist/code-builder/utils/node-type-parser.d.ts +1 -1
- package/dist/code-builder/utils/node-type-parser.js +2 -2
- package/dist/code-builder/utils/node-type-parser.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/types/index.d.ts +0 -1
- package/dist/types/index.js.map +1 -1
- package/package.json +8 -7
- package/dist/prompts/shared/node-guidance/index.d.ts +0 -1
- package/dist/prompts/shared/node-guidance/index.js +0 -7
- package/dist/prompts/shared/node-guidance/index.js.map +0 -1
- package/dist/types/node-guidance.d.ts +0 -1
- package/dist/types/node-guidance.js +0 -3
- package/dist/types/node-guidance.js.map +0 -1
|
@@ -7,7 +7,7 @@ export declare const SCORE_WEIGHTS: {
|
|
|
7
7
|
export declare class CodeBuilderNodeSearchEngine {
|
|
8
8
|
private readonly nodeTypes;
|
|
9
9
|
constructor(nodeTypes: INodeTypeDescription[]);
|
|
10
|
-
searchByName(query: string, limit?: number): CodeBuilderNodeSearchResult[];
|
|
10
|
+
searchByName(query: string, limit?: number, nodeFilter?: (nodeId: string) => boolean): CodeBuilderNodeSearchResult[];
|
|
11
11
|
searchByConnectionType(connectionType: NodeConnectionType, limit?: number, nameFilter?: string): CodeBuilderNodeSearchResult[];
|
|
12
12
|
formatResult(result: CodeBuilderNodeSearchResult): string;
|
|
13
13
|
getSubnodesForConnectionType(connectionType: string): string[];
|
|
@@ -61,11 +61,14 @@ class CodeBuilderNodeSearchEngine {
|
|
|
61
61
|
constructor(nodeTypes) {
|
|
62
62
|
this.nodeTypes = dedupeNodes(nodeTypes);
|
|
63
63
|
}
|
|
64
|
-
searchByName(query, limit = 20) {
|
|
65
|
-
const
|
|
64
|
+
searchByName(query, limit = 20, nodeFilter) {
|
|
65
|
+
const nodeTypes = nodeFilter
|
|
66
|
+
? this.nodeTypes.filter((node) => nodeFilter(node.name))
|
|
67
|
+
: this.nodeTypes;
|
|
68
|
+
const searchResults = (0, utils_1.sublimeSearch)(query, nodeTypes, NODE_SEARCH_KEYS);
|
|
66
69
|
const queryLower = query.toLowerCase().trim();
|
|
67
70
|
const fuzzyResultNames = new Set(searchResults.map((r) => r.item.name));
|
|
68
|
-
const typeNameMatches =
|
|
71
|
+
const typeNameMatches = nodeTypes
|
|
69
72
|
.filter((node) => {
|
|
70
73
|
if (fuzzyResultNames.has(node.name))
|
|
71
74
|
return false;
|
|
@@ -94,7 +97,9 @@ class CodeBuilderNodeSearchEngine {
|
|
|
94
97
|
inputs: item.inputs,
|
|
95
98
|
outputs: item.outputs,
|
|
96
99
|
score,
|
|
97
|
-
...(item.builderHint?.
|
|
100
|
+
...(item.builderHint?.searchHint && {
|
|
101
|
+
builderHintMessage: item.builderHint.searchHint,
|
|
102
|
+
}),
|
|
98
103
|
...(subnodeRequirements.length > 0 && { subnodeRequirements }),
|
|
99
104
|
};
|
|
100
105
|
});
|
|
@@ -120,8 +125,8 @@ class CodeBuilderNodeSearchEngine {
|
|
|
120
125
|
inputs: nodeType.inputs,
|
|
121
126
|
outputs: nodeType.outputs,
|
|
122
127
|
score: connectionScore,
|
|
123
|
-
...(nodeType.builderHint?.
|
|
124
|
-
builderHintMessage: nodeType.builderHint.
|
|
128
|
+
...(nodeType.builderHint?.searchHint && {
|
|
129
|
+
builderHintMessage: nodeType.builderHint.searchHint,
|
|
125
130
|
}),
|
|
126
131
|
...(subnodeRequirements.length > 0 && { subnodeRequirements }),
|
|
127
132
|
};
|
|
@@ -143,7 +148,9 @@ class CodeBuilderNodeSearchEngine {
|
|
|
143
148
|
inputs: item.inputs,
|
|
144
149
|
outputs: item.outputs,
|
|
145
150
|
score: connectionScore + nameScore,
|
|
146
|
-
...(item.builderHint?.
|
|
151
|
+
...(item.builderHint?.searchHint && {
|
|
152
|
+
builderHintMessage: item.builderHint.searchHint,
|
|
153
|
+
}),
|
|
147
154
|
...(subnodeRequirements.length > 0 && { subnodeRequirements }),
|
|
148
155
|
};
|
|
149
156
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code-builder-node-search-engine.js","sourceRoot":"","sources":["../../../src/code-builder/engines/code-builder-node-search-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"code-builder-node-search-engine.js","sourceRoot":"","sources":["../../../src/code-builder/engines/code-builder-node-search-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,7 +66,7 @@ class ParseValidateHandler {
|
|
|
66
66
|
if (this.generatePinData) {
|
|
67
67
|
builder.generatePinData({ beforeWorkflow: currentWorkflow });
|
|
68
68
|
}
|
|
69
|
-
const workflowJson = builder.toJSON();
|
|
69
|
+
const workflowJson = builder.toJSON({ tidyUp: true });
|
|
70
70
|
this.logger?.debug('Parsed workflow', {
|
|
71
71
|
id: workflowJson.id,
|
|
72
72
|
name: workflowJson.name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-validate-handler.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/parse-validate-handler.ts"],"names":[],"mappings":";;;AASA,oDAA2F;AAI3F,wDAA8D;AAM9D,MAAa,sBAAuB,SAAQ,KAAK;IAChD,YAAY,OAAe,EAAE,OAAsB;QAClD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACtC,CAAC;CACD;AALD,wDAKC;AA0BD,MAAa,oBAAoB;IACxB,MAAM,CAAU;IAChB,eAAe,CAAU;IAEjC,YAAY,SAAqC,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;IACvD,CAAC;IAMO,uBAAuB,CAC9B,MAAyB,EACzB,WAAgC,EAChC,OAAe,EACf,QAAyB;QAEzB,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE;gBAC9D,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrD,CAAC,CAAC;QACJ,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,OAAO,CAAC,WAAW,EAAE,EAAE,EAAE;gBAC9D,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;aACrD,CAAC,CAAC;QACJ,CAAC;QAED,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,WAAW,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACxB,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAcD,wBAAwB,CAAC,IAAkB;QAC1C,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACX,CAAC;QAED,MAAM,OAAO,GAAG,uBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,WAAW,GAAwB,EAAE,CAAC;QAC5C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,uBAAuB,CAC3B,eAAe,CAAC,MAAM,EACtB,WAAW,EACX,yBAAyB,EACzB,MAAM,CACN,CAAC;QACF,IAAI,CAAC,uBAAuB,CAC3B,eAAe,CAAC,QAAQ,EACxB,WAAW,EACX,2BAA2B,EAC3B,MAAM,CACN,CAAC;QACF,OAAO,WAAW,CAAC;IACpB,CAAC;IAUD,KAAK,CAAC,gBAAgB,CACrB,IAAY,EACZ,eAA8B;QAG9B,MAAM,WAAW,GAAG,IAAA,oCAAqB,EAAC,IAAI,CAAC,CAAC;QAEhD,IAAI,CAAC;YAEJ,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/E,MAAM,OAAO,GAAG,IAAA,yCAA0B,EAAC,WAAW,CAAC,CAAC;YAGxD,OAAO,CAAC,iBAAiB,EAAE,CAAC;YAG5B,MAAM,WAAW,GAAwB,EAAE,CAAC;YAG5C,MAAM,eAAe,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;YAG3C,IAAI,CAAC,uBAAuB,CAC3B,eAAe,CAAC,MAAM,EACtB,WAAW,EACX,yBAAyB,EACzB,MAAM,CACN,CAAC;YAGF,IAAI,CAAC,uBAAuB,CAC3B,eAAe,CAAC,QAAQ,EACxB,WAAW,EACX,2BAA2B,EAC3B,MAAM,CACN,CAAC;YAGF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAG9B,MAAM,gBAAgB,GAAG,IAAA,+BAAgB,EAAC,IAAI,CAAC,CAAC;YAGhD,IAAI,CAAC,uBAAuB,CAC3B,gBAAgB,CAAC,MAAM,EACvB,WAAW,EACX,wBAAwB,EACxB,MAAM,CACN,CAAC;YAGF,IAAI,CAAC,uBAAuB,CAC3B,gBAAgB,CAAC,QAAQ,EACzB,WAAW,EACX,0BAA0B,EAC1B,MAAM,CACN,CAAC;YAGF,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,OAAO,CAAC,eAAe,CAAC,EAAE,cAAc,EAAE,eAAe,EAAE,CAAC,CAAC;YAC9D,CAAC;YAGD,MAAM,YAAY,GAAiB,OAAO,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"parse-validate-handler.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/parse-validate-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
|
-
import
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export declare class TextEditorHandler {
|
|
5
|
-
private code;
|
|
1
|
+
import { TextEditorDocument, findDivergenceContext, formatTextWithLineNumbers } from '@n8n/ai-utilities/text-editor';
|
|
2
|
+
export { findDivergenceContext };
|
|
3
|
+
export { formatTextWithLineNumbers as formatCodeWithLineNumbers };
|
|
4
|
+
export declare class TextEditorHandler extends TextEditorDocument {
|
|
6
5
|
constructor();
|
|
7
|
-
execute(command: TextEditorCommand): string;
|
|
8
|
-
private validatePath;
|
|
9
|
-
private handleView;
|
|
10
|
-
private handleCreate;
|
|
11
|
-
private handleStrReplace;
|
|
12
|
-
private handleInsert;
|
|
13
|
-
private countOccurrences;
|
|
14
|
-
executeBatch(replacements: StrReplacement[]): string | BatchReplaceResult[];
|
|
15
6
|
getWorkflowCode(): string | null;
|
|
16
7
|
setWorkflowCode(code: string): void;
|
|
17
8
|
hasWorkflowCode(): boolean;
|
|
@@ -1,229 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TextEditorHandler = void 0;
|
|
4
|
-
|
|
5
|
-
exports
|
|
6
|
-
|
|
3
|
+
exports.TextEditorHandler = exports.formatCodeWithLineNumbers = exports.findDivergenceContext = void 0;
|
|
4
|
+
const text_editor_1 = require("@n8n/ai-utilities/text-editor");
|
|
5
|
+
Object.defineProperty(exports, "findDivergenceContext", { enumerable: true, get: function () { return text_editor_1.findDivergenceContext; } });
|
|
6
|
+
Object.defineProperty(exports, "formatCodeWithLineNumbers", { enumerable: true, get: function () { return text_editor_1.formatTextWithLineNumbers; } });
|
|
7
7
|
const WORKFLOW_FILE_PATH = '/workflow.js';
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
const lines = code.split('\n');
|
|
16
|
-
return lines.map((line, i) => `${i + 1}: ${line}`).join('\n');
|
|
17
|
-
}
|
|
18
|
-
const MIN_PREFIX_LENGTH = 10;
|
|
19
|
-
const CONTEXT_LINES = 3;
|
|
20
|
-
const OLD_STR_CONTEXT_LENGTH = 40;
|
|
21
|
-
function escapeWhitespace(str) {
|
|
22
|
-
return str.replace(/\n/g, '\\n').replace(/\t/g, '\\t').replace(/\r/g, '\\r');
|
|
23
|
-
}
|
|
24
|
-
function findDivergenceContext(code, searchStr) {
|
|
25
|
-
let lo = 0;
|
|
26
|
-
let hi = searchStr.length;
|
|
27
|
-
while (lo < hi) {
|
|
28
|
-
const mid = Math.ceil((lo + hi) / 2);
|
|
29
|
-
if (code.includes(searchStr.substring(0, mid))) {
|
|
30
|
-
lo = mid;
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
hi = mid - 1;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
const matchLength = lo;
|
|
37
|
-
if (matchLength < MIN_PREFIX_LENGTH)
|
|
38
|
-
return undefined;
|
|
39
|
-
const matchPos = code.indexOf(searchStr.substring(0, matchLength));
|
|
40
|
-
const divergePos = matchPos + matchLength;
|
|
41
|
-
const percentage = Math.round((matchLength / searchStr.length) * 100);
|
|
42
|
-
const codeUpToDiverge = code.substring(0, divergePos);
|
|
43
|
-
const divergeLine = codeUpToDiverge.split('\n').length;
|
|
44
|
-
const oldStrRemainder = searchStr.substring(matchLength, matchLength + OLD_STR_CONTEXT_LENGTH);
|
|
45
|
-
const oldStrPrefix = searchStr.substring(Math.max(0, matchLength - 20), matchLength);
|
|
46
|
-
const codeLines = code.split('\n');
|
|
47
|
-
const startLine = Math.max(0, divergeLine - CONTEXT_LINES);
|
|
48
|
-
const endLine = Math.min(codeLines.length, divergeLine + 1);
|
|
49
|
-
const fileContext = codeLines
|
|
50
|
-
.slice(startLine, endLine)
|
|
51
|
-
.map((line, i) => ` ${startLine + i + 1}: ${line}`)
|
|
52
|
-
.join('\n');
|
|
53
|
-
return (`Closest match (${percentage}% of old_str matched, diverges at line ${divergeLine}):\n` +
|
|
54
|
-
` old_str: ...${escapeWhitespace(oldStrPrefix)}>>> ${escapeWhitespace(oldStrRemainder)}\n` +
|
|
55
|
-
` file:\n${fileContext}`);
|
|
56
|
-
}
|
|
57
|
-
class TextEditorHandler {
|
|
58
|
-
code = null;
|
|
59
|
-
constructor() { }
|
|
60
|
-
execute(command) {
|
|
61
|
-
if (command.command === 'create' && command.path !== WORKFLOW_FILE_PATH) {
|
|
62
|
-
throw new Error('Cannot create multiple workflows. You can only extend the existing workflow at /workflow.js.');
|
|
63
|
-
}
|
|
64
|
-
this.validatePath(command.path);
|
|
65
|
-
let result;
|
|
66
|
-
switch (command.command) {
|
|
67
|
-
case 'view':
|
|
68
|
-
result = this.handleView(command);
|
|
69
|
-
break;
|
|
70
|
-
case 'create':
|
|
71
|
-
result = this.handleCreate(command);
|
|
72
|
-
break;
|
|
73
|
-
case 'str_replace':
|
|
74
|
-
result = this.handleStrReplace(command);
|
|
75
|
-
break;
|
|
76
|
-
case 'insert':
|
|
77
|
-
result = this.handleInsert(command);
|
|
78
|
-
break;
|
|
79
|
-
default:
|
|
80
|
-
result = `Unknown command: ${command.command}`;
|
|
81
|
-
}
|
|
82
|
-
return result;
|
|
83
|
-
}
|
|
84
|
-
validatePath(path) {
|
|
85
|
-
if (path !== WORKFLOW_FILE_PATH) {
|
|
86
|
-
throw new text_editor_types_1.InvalidPathError(path);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
handleView(command) {
|
|
90
|
-
if (!this.code) {
|
|
91
|
-
throw new text_editor_types_1.FileNotFoundError();
|
|
92
|
-
}
|
|
93
|
-
const lines = this.code.split('\n');
|
|
94
|
-
if (command.view_range) {
|
|
95
|
-
const [start, rawEnd] = command.view_range;
|
|
96
|
-
const end = rawEnd === -1 ? lines.length : rawEnd;
|
|
97
|
-
if (start < 1 || start > lines.length) {
|
|
98
|
-
throw new text_editor_types_1.InvalidLineNumberError(start, lines.length);
|
|
99
|
-
}
|
|
100
|
-
if (end < start) {
|
|
101
|
-
throw new text_editor_types_1.InvalidViewRangeError(start, end, lines.length);
|
|
102
|
-
}
|
|
103
|
-
const startIdx = start - 1;
|
|
104
|
-
const endIdx = Math.min(end, lines.length);
|
|
105
|
-
const selectedLines = lines.slice(startIdx, endIdx);
|
|
106
|
-
return selectedLines.map((line, i) => `${startIdx + i + 1}: ${line}`).join('\n');
|
|
107
|
-
}
|
|
108
|
-
return formatCodeWithLineNumbers(this.code);
|
|
109
|
-
}
|
|
110
|
-
handleCreate(command) {
|
|
111
|
-
this.code = command.file_text;
|
|
112
|
-
return 'File created successfully.';
|
|
113
|
-
}
|
|
114
|
-
handleStrReplace(command) {
|
|
115
|
-
if (this.code === null) {
|
|
116
|
-
throw new text_editor_types_1.FileNotFoundError();
|
|
117
|
-
}
|
|
118
|
-
const { old_str, new_str } = command;
|
|
119
|
-
const count = this.countOccurrences(this.code, old_str);
|
|
120
|
-
if (count === 0) {
|
|
121
|
-
const normalized = old_str.endsWith('\n') ? old_str.slice(0, -1) : old_str + '\n';
|
|
122
|
-
const normalizedCount = this.countOccurrences(this.code, normalized);
|
|
123
|
-
if (normalizedCount === 1) {
|
|
124
|
-
const escapedNew = new_str.replace(/\$/g, '$$$$');
|
|
125
|
-
this.code = this.code.replace(normalized, escapedNew);
|
|
126
|
-
return 'Edit applied successfully.';
|
|
127
|
-
}
|
|
128
|
-
const context = findDivergenceContext(this.code, old_str);
|
|
129
|
-
throw new text_editor_types_1.NoMatchFoundError(old_str, context);
|
|
130
|
-
}
|
|
131
|
-
if (count > 1) {
|
|
132
|
-
throw new text_editor_types_1.MultipleMatchesError(count);
|
|
133
|
-
}
|
|
134
|
-
const escapedNewStr = new_str.replace(/\$/g, '$$$$');
|
|
135
|
-
this.code = this.code.replace(old_str, escapedNewStr);
|
|
136
|
-
return 'Edit applied successfully.';
|
|
137
|
-
}
|
|
138
|
-
handleInsert(command) {
|
|
139
|
-
if (this.code === null) {
|
|
140
|
-
throw new text_editor_types_1.FileNotFoundError();
|
|
141
|
-
}
|
|
142
|
-
const { insert_line, insert_text } = command;
|
|
143
|
-
const lines = this.code.split('\n');
|
|
144
|
-
if (insert_line < 0 || insert_line > lines.length) {
|
|
145
|
-
throw new text_editor_types_1.InvalidLineNumberError(insert_line, lines.length);
|
|
146
|
-
}
|
|
147
|
-
lines.splice(insert_line, 0, insert_text);
|
|
148
|
-
this.code = lines.join('\n');
|
|
149
|
-
return 'Text inserted successfully.';
|
|
150
|
-
}
|
|
151
|
-
countOccurrences(text, search) {
|
|
152
|
-
if (search.length === 0) {
|
|
153
|
-
return 0;
|
|
154
|
-
}
|
|
155
|
-
let count = 0;
|
|
156
|
-
let pos = 0;
|
|
157
|
-
while ((pos = text.indexOf(search, pos)) !== -1) {
|
|
158
|
-
count++;
|
|
159
|
-
pos += search.length;
|
|
160
|
-
}
|
|
161
|
-
return count;
|
|
162
|
-
}
|
|
163
|
-
executeBatch(replacements) {
|
|
164
|
-
if (this.code === null) {
|
|
165
|
-
throw new text_editor_types_1.FileNotFoundError();
|
|
166
|
-
}
|
|
167
|
-
if (replacements.length === 0) {
|
|
168
|
-
return 'No replacements to apply.';
|
|
169
|
-
}
|
|
170
|
-
const snapshot = this.code;
|
|
171
|
-
const results = [];
|
|
172
|
-
for (let i = 0; i < replacements.length; i++) {
|
|
173
|
-
const { old_str, new_str } = replacements[i];
|
|
174
|
-
const preview = truncatePreview(old_str);
|
|
175
|
-
const count = this.countOccurrences(this.code, old_str);
|
|
176
|
-
if (count === 0) {
|
|
177
|
-
this.code = snapshot;
|
|
178
|
-
results.push({
|
|
179
|
-
index: i,
|
|
180
|
-
old_str: preview,
|
|
181
|
-
status: 'failed',
|
|
182
|
-
error: new text_editor_types_1.NoMatchFoundError(old_str).message,
|
|
183
|
-
});
|
|
184
|
-
for (let j = i + 1; j < replacements.length; j++) {
|
|
185
|
-
results.push({
|
|
186
|
-
index: j,
|
|
187
|
-
old_str: truncatePreview(replacements[j].old_str),
|
|
188
|
-
status: 'not_attempted',
|
|
189
|
-
});
|
|
190
|
-
}
|
|
191
|
-
return results;
|
|
192
|
-
}
|
|
193
|
-
if (count > 1) {
|
|
194
|
-
this.code = snapshot;
|
|
195
|
-
results.push({
|
|
196
|
-
index: i,
|
|
197
|
-
old_str: preview,
|
|
198
|
-
status: 'failed',
|
|
199
|
-
error: new text_editor_types_1.MultipleMatchesError(count).message,
|
|
200
|
-
});
|
|
201
|
-
for (let j = i + 1; j < replacements.length; j++) {
|
|
202
|
-
results.push({
|
|
203
|
-
index: j,
|
|
204
|
-
old_str: truncatePreview(replacements[j].old_str),
|
|
205
|
-
status: 'not_attempted',
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
return results;
|
|
209
|
-
}
|
|
210
|
-
const escapedNewStr = new_str.replace(/\$/g, '$$$$');
|
|
211
|
-
this.code = this.code.replace(old_str, escapedNewStr);
|
|
212
|
-
results.push({ index: i, old_str: preview, status: 'success' });
|
|
213
|
-
}
|
|
214
|
-
return `All ${replacements.length} replacements applied successfully.`;
|
|
8
|
+
class TextEditorHandler extends text_editor_1.TextEditorDocument {
|
|
9
|
+
constructor() {
|
|
10
|
+
super({
|
|
11
|
+
supportedPath: WORKFLOW_FILE_PATH,
|
|
12
|
+
createInvalidPathMessage: () => 'Cannot create multiple workflows. You can only extend the existing workflow at /workflow.js.',
|
|
13
|
+
fileNotFoundMessage: 'No workflow code exists yet. Use create first.',
|
|
14
|
+
});
|
|
215
15
|
}
|
|
216
16
|
getWorkflowCode() {
|
|
217
|
-
return this.
|
|
17
|
+
return this.getText();
|
|
218
18
|
}
|
|
219
19
|
setWorkflowCode(code) {
|
|
220
|
-
this.code
|
|
20
|
+
this.setText(code);
|
|
221
21
|
}
|
|
222
22
|
hasWorkflowCode() {
|
|
223
|
-
return this.
|
|
23
|
+
return this.hasText();
|
|
224
24
|
}
|
|
225
25
|
clearWorkflowCode() {
|
|
226
|
-
this.
|
|
26
|
+
this.clearText();
|
|
227
27
|
}
|
|
228
28
|
}
|
|
229
29
|
exports.TextEditorHandler = TextEditorHandler;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-editor-handler.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/text-editor-handler.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"text-editor-handler.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/text-editor-handler.ts"],"names":[],"mappings":";;;AAAA,+DAIuC;AAI9B,sGANR,mCAAqB,OAMQ;AACQ,0GANrC,uCAAyB,OAMqC;AAH/D,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAQ1C,MAAa,iBAAkB,SAAQ,gCAAkB;IACxD;QACC,KAAK,CAAC;YACL,aAAa,EAAE,kBAAkB;YACjC,wBAAwB,EAAE,GAAG,EAAE,CAC9B,8FAA8F;YAC/F,mBAAmB,EAAE,gDAAgD;SACrE,CAAC,CAAC;IACJ,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,IAAY;QAC3B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IACvB,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;IAClB,CAAC;CACD;AAzBD,8CAyBC"}
|
|
@@ -1,68 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
path: string;
|
|
4
|
-
view_range?: [number, number];
|
|
5
|
-
}
|
|
6
|
-
export interface CreateCommand {
|
|
7
|
-
command: 'create';
|
|
8
|
-
path: string;
|
|
9
|
-
file_text: string;
|
|
10
|
-
}
|
|
11
|
-
export interface StrReplaceCommand {
|
|
12
|
-
command: 'str_replace';
|
|
13
|
-
path: string;
|
|
14
|
-
old_str: string;
|
|
15
|
-
new_str: string;
|
|
16
|
-
}
|
|
17
|
-
export interface InsertCommand {
|
|
18
|
-
command: 'insert';
|
|
19
|
-
path: string;
|
|
20
|
-
insert_line: number;
|
|
21
|
-
insert_text: string;
|
|
22
|
-
}
|
|
23
|
-
export type TextEditorCommand = ViewCommand | CreateCommand | StrReplaceCommand | InsertCommand;
|
|
24
|
-
export interface TextEditorToolCall {
|
|
25
|
-
name: 'str_replace_based_edit_tool';
|
|
26
|
-
args: TextEditorCommand;
|
|
27
|
-
id: string;
|
|
28
|
-
}
|
|
29
|
-
export interface TextEditorResult {
|
|
30
|
-
content: string;
|
|
31
|
-
}
|
|
32
|
-
export declare class NoMatchFoundError extends Error {
|
|
33
|
-
constructor(_searchStr: string, nearMatchContext?: string);
|
|
34
|
-
}
|
|
35
|
-
export declare class MultipleMatchesError extends Error {
|
|
36
|
-
constructor(count: number);
|
|
37
|
-
}
|
|
38
|
-
export declare class InvalidLineNumberError extends Error {
|
|
39
|
-
constructor(line: number, maxLine: number);
|
|
40
|
-
}
|
|
41
|
-
export declare class InvalidViewRangeError extends Error {
|
|
42
|
-
constructor(start: number, end: number, maxLine: number);
|
|
43
|
-
}
|
|
44
|
-
export declare class InvalidPathError extends Error {
|
|
45
|
-
constructor(path: string);
|
|
46
|
-
}
|
|
47
|
-
export declare class FileExistsError extends Error {
|
|
48
|
-
constructor();
|
|
49
|
-
}
|
|
50
|
-
export declare class FileNotFoundError extends Error {
|
|
51
|
-
constructor();
|
|
52
|
-
}
|
|
53
|
-
export interface StrReplacement {
|
|
54
|
-
old_str: string;
|
|
55
|
-
new_str: string;
|
|
56
|
-
}
|
|
57
|
-
export interface BatchReplaceResult {
|
|
58
|
-
index: number;
|
|
59
|
-
old_str: string;
|
|
60
|
-
status: 'success' | 'failed' | 'not_attempted';
|
|
61
|
-
error?: string;
|
|
62
|
-
}
|
|
63
|
-
export declare class BatchReplacementError extends Error {
|
|
64
|
-
readonly failedIndex: number;
|
|
65
|
-
readonly totalCount: number;
|
|
66
|
-
readonly cause: NoMatchFoundError | MultipleMatchesError;
|
|
67
|
-
constructor(failedIndex: number, totalCount: number, cause: NoMatchFoundError | MultipleMatchesError);
|
|
68
|
-
}
|
|
1
|
+
export { NoMatchFoundError, MultipleMatchesError, InvalidLineNumberError, InvalidViewRangeError, InvalidPathError, FileExistsError, FileNotFoundError, BatchReplacementError, } from '@n8n/ai-utilities/text-editor';
|
|
2
|
+
export type { ViewCommand, CreateCommand, StrReplaceCommand, InsertCommand, TextEditorCommand, TextEditorToolCall, TextEditorResult, StrReplacement, BatchReplaceResult, } from '@n8n/ai-utilities/text-editor';
|
|
@@ -1,68 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BatchReplacementError = exports.FileNotFoundError = exports.FileExistsError = exports.InvalidPathError = exports.InvalidViewRangeError = exports.InvalidLineNumberError = exports.MultipleMatchesError = exports.NoMatchFoundError = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
exports.
|
|
13
|
-
class MultipleMatchesError extends Error {
|
|
14
|
-
constructor(count) {
|
|
15
|
-
super(`Found ${count} matches. Please provide more context to make the replacement unique.`);
|
|
16
|
-
this.name = 'MultipleMatchesError';
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.MultipleMatchesError = MultipleMatchesError;
|
|
20
|
-
class InvalidLineNumberError extends Error {
|
|
21
|
-
constructor(line, maxLine) {
|
|
22
|
-
super(`Invalid line number ${line}. File has ${maxLine} lines (valid range: 0-${maxLine}).`);
|
|
23
|
-
this.name = 'InvalidLineNumberError';
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.InvalidLineNumberError = InvalidLineNumberError;
|
|
27
|
-
class InvalidViewRangeError extends Error {
|
|
28
|
-
constructor(start, end, maxLine) {
|
|
29
|
-
super(`Invalid view range: end (${end}) must be >= start (${start}). File has ${maxLine} lines (valid range: 1-${maxLine}).`);
|
|
30
|
-
this.name = 'InvalidViewRangeError';
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
exports.InvalidViewRangeError = InvalidViewRangeError;
|
|
34
|
-
class InvalidPathError extends Error {
|
|
35
|
-
constructor(path) {
|
|
36
|
-
super(`Invalid path "${path}". Only /workflow.js is supported.`);
|
|
37
|
-
this.name = 'InvalidPathError';
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
exports.InvalidPathError = InvalidPathError;
|
|
41
|
-
class FileExistsError extends Error {
|
|
42
|
-
constructor() {
|
|
43
|
-
super('File already exists. Use text editor tools to modify existing content.');
|
|
44
|
-
this.name = 'FileExistsError';
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.FileExistsError = FileExistsError;
|
|
48
|
-
class FileNotFoundError extends Error {
|
|
49
|
-
constructor() {
|
|
50
|
-
super('No workflow code exists yet. Use create first.');
|
|
51
|
-
this.name = 'FileNotFoundError';
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.FileNotFoundError = FileNotFoundError;
|
|
55
|
-
class BatchReplacementError extends Error {
|
|
56
|
-
failedIndex;
|
|
57
|
-
totalCount;
|
|
58
|
-
cause;
|
|
59
|
-
constructor(failedIndex, totalCount, cause) {
|
|
60
|
-
super(`Batch replacement failed at index ${failedIndex} of ${totalCount}: ${cause.message}. All changes have been rolled back.`);
|
|
61
|
-
this.name = 'BatchReplacementError';
|
|
62
|
-
this.failedIndex = failedIndex;
|
|
63
|
-
this.totalCount = totalCount;
|
|
64
|
-
this.cause = cause;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
exports.BatchReplacementError = BatchReplacementError;
|
|
4
|
+
var text_editor_1 = require("@n8n/ai-utilities/text-editor");
|
|
5
|
+
Object.defineProperty(exports, "NoMatchFoundError", { enumerable: true, get: function () { return text_editor_1.NoMatchFoundError; } });
|
|
6
|
+
Object.defineProperty(exports, "MultipleMatchesError", { enumerable: true, get: function () { return text_editor_1.MultipleMatchesError; } });
|
|
7
|
+
Object.defineProperty(exports, "InvalidLineNumberError", { enumerable: true, get: function () { return text_editor_1.InvalidLineNumberError; } });
|
|
8
|
+
Object.defineProperty(exports, "InvalidViewRangeError", { enumerable: true, get: function () { return text_editor_1.InvalidViewRangeError; } });
|
|
9
|
+
Object.defineProperty(exports, "InvalidPathError", { enumerable: true, get: function () { return text_editor_1.InvalidPathError; } });
|
|
10
|
+
Object.defineProperty(exports, "FileExistsError", { enumerable: true, get: function () { return text_editor_1.FileExistsError; } });
|
|
11
|
+
Object.defineProperty(exports, "FileNotFoundError", { enumerable: true, get: function () { return text_editor_1.FileNotFoundError; } });
|
|
12
|
+
Object.defineProperty(exports, "BatchReplacementError", { enumerable: true, get: function () { return text_editor_1.BatchReplacementError; } });
|
|
68
13
|
//# sourceMappingURL=text-editor.types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-editor.types.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/text-editor.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"text-editor.types.js","sourceRoot":"","sources":["../../../src/code-builder/handlers/text-editor.types.ts"],"names":[],"mappings":";;;AAAA,6DASuC;AARtC,gHAAA,iBAAiB,OAAA;AACjB,mHAAA,oBAAoB,OAAA;AACpB,qHAAA,sBAAsB,OAAA;AACtB,oHAAA,qBAAqB,OAAA;AACrB,+GAAA,gBAAgB,OAAA;AAChB,8GAAA,eAAe,OAAA;AACf,gHAAA,iBAAiB,OAAA;AACjB,oHAAA,qBAAqB,OAAA"}
|
|
@@ -3,29 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.ToolDispatchHandler = void 0;
|
|
4
4
|
exports.parseReplacements = parseReplacements;
|
|
5
5
|
const messages_1 = require("@langchain/core/messages");
|
|
6
|
+
const text_editor_1 = require("@n8n/ai-utilities/text-editor");
|
|
6
7
|
function parseReplacements(raw) {
|
|
7
|
-
|
|
8
|
-
if (typeof parsed === 'string') {
|
|
9
|
-
try {
|
|
10
|
-
parsed = JSON.parse(parsed);
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
throw new Error('replacements must be a JSON array of {old_str, new_str} objects, but received an invalid JSON string.');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
if (!Array.isArray(parsed)) {
|
|
17
|
-
throw new Error('replacements must be an array of {old_str, new_str} objects. Example: {"replacements": [{"old_str": "foo", "new_str": "bar"}]}');
|
|
18
|
-
}
|
|
19
|
-
for (let i = 0; i < parsed.length; i++) {
|
|
20
|
-
const item = parsed[i];
|
|
21
|
-
if (typeof item?.old_str !== 'string') {
|
|
22
|
-
throw new Error(`replacements[${i}] is missing a valid "old_str" string. Each replacement must have {old_str: string, new_str: string}.`);
|
|
23
|
-
}
|
|
24
|
-
if (typeof item?.new_str !== 'string') {
|
|
25
|
-
throw new Error(`replacements[${i}] is missing a valid "new_str" string. Each replacement must have {old_str: string, new_str: string}.`);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
return parsed;
|
|
8
|
+
return (0, text_editor_1.parseStrReplacements)(raw);
|
|
29
9
|
}
|
|
30
10
|
class ToolDispatchHandler {
|
|
31
11
|
toolsMap;
|