@n8n/agents 0.16.2 → 0.17.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/index.d.ts +3 -2
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/integrations/langsmith.js +20 -9
- package/dist/integrations/langsmith.js.map +1 -1
- package/dist/runtime/loop/agent-runtime.js +1 -1
- package/dist/runtime/loop/agent-runtime.js.map +1 -1
- package/dist/runtime/mcp/mcp-connection.d.ts +3 -1
- package/dist/runtime/mcp/mcp-connection.js +2 -2
- package/dist/runtime/mcp/mcp-connection.js.map +1 -1
- package/dist/runtime/mcp/mcp-tool-resolver.js +4 -2
- package/dist/runtime/mcp/mcp-tool-resolver.js.map +1 -1
- package/dist/runtime/memory/episodic-memory.js +2 -1
- package/dist/runtime/memory/episodic-memory.js.map +1 -1
- package/dist/runtime/memory/memory-orchestrator.d.ts +3 -1
- package/dist/runtime/memory/memory-orchestrator.js +7 -3
- package/dist/runtime/memory/memory-orchestrator.js.map +1 -1
- package/dist/runtime/memory/observation-log-defaults.d.ts +6 -3
- package/dist/runtime/memory/observation-log-defaults.js +32 -5
- package/dist/runtime/memory/observation-log-defaults.js.map +1 -1
- package/dist/runtime/memory/observation-log-observer.d.ts +2 -0
- package/dist/runtime/memory/observation-log-observer.js +1 -0
- package/dist/runtime/memory/observation-log-observer.js.map +1 -1
- package/dist/runtime/memory/observation-log-reflector.d.ts +2 -0
- package/dist/runtime/memory/observation-log-reflector.js +1 -0
- package/dist/runtime/memory/observation-log-reflector.js.map +1 -1
- package/dist/runtime/memory/scoped-memory-task-runner.d.ts +1 -0
- package/dist/runtime/memory/scoped-memory-task-runner.js +44 -0
- package/dist/runtime/memory/scoped-memory-task-runner.js.map +1 -1
- package/dist/runtime/model/prompt-cache.js +3 -3
- package/dist/runtime/model/prompt-cache.js.map +1 -1
- package/dist/runtime/telemetry/runtime-telemetry.js +8 -16
- package/dist/runtime/telemetry/runtime-telemetry.js.map +1 -1
- package/dist/runtime/telemetry/telemetry-options.d.ts +8 -0
- package/dist/runtime/telemetry/telemetry-options.js +23 -0
- package/dist/runtime/telemetry/telemetry-options.js.map +1 -0
- package/dist/runtime/tools/tool-adapter.js +1 -0
- package/dist/runtime/tools/tool-adapter.js.map +1 -1
- package/dist/runtime/tools/tool-call-executor.js +60 -4
- package/dist/runtime/tools/tool-call-executor.js.map +1 -1
- package/dist/sdk/abort.d.ts +4 -0
- package/dist/sdk/abort.js +46 -0
- package/dist/sdk/abort.js.map +1 -0
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/sdk/agent.d.ts +1 -0
- package/dist/types/sdk/observation-log.d.ts +10 -1
- package/dist/types/sdk/observation-log.js.map +1 -1
- package/dist/types/sdk/tool.d.ts +2 -0
- package/dist/workspace/filesystem/base-filesystem.d.ts +5 -7
- package/dist/workspace/filesystem/base-filesystem.js.map +1 -1
- package/dist/workspace/filesystem/daytona-filesystem.d.ts +8 -10
- package/dist/workspace/filesystem/daytona-filesystem.js +20 -20
- package/dist/workspace/filesystem/daytona-filesystem.js.map +1 -1
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.d.ts +7 -8
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js +73 -67
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js.map +1 -1
- package/dist/workspace/index.d.ts +1 -1
- package/dist/workspace/index.js.map +1 -1
- package/dist/workspace/sandbox/base-sandbox.d.ts +2 -2
- package/dist/workspace/sandbox/base-sandbox.js +6 -5
- package/dist/workspace/sandbox/base-sandbox.js.map +1 -1
- package/dist/workspace/sandbox/daytona-sandbox.d.ts +2 -2
- package/dist/workspace/sandbox/daytona-sandbox.js +32 -25
- package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -1
- package/dist/workspace/sandbox/index.d.ts +1 -1
- package/dist/workspace/sandbox/index.js.map +1 -1
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js +1 -1
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js.map +1 -1
- package/dist/workspace/sandbox/run-in-sandbox.d.ts +7 -1
- package/dist/workspace/sandbox/run-in-sandbox.js +12 -4
- package/dist/workspace/sandbox/run-in-sandbox.js.map +1 -1
- package/dist/workspace/tools/append-file.js +4 -2
- package/dist/workspace/tools/append-file.js.map +1 -1
- package/dist/workspace/tools/batch-str-replace-file.js +12 -3
- package/dist/workspace/tools/batch-str-replace-file.js.map +1 -1
- package/dist/workspace/tools/copy-file.js +5 -2
- package/dist/workspace/tools/copy-file.js.map +1 -1
- package/dist/workspace/tools/delete-file.js +6 -2
- package/dist/workspace/tools/delete-file.js.map +1 -1
- package/dist/workspace/tools/execute-command.js +2 -1
- package/dist/workspace/tools/execute-command.js.map +1 -1
- package/dist/workspace/tools/file-stat.js +4 -2
- package/dist/workspace/tools/file-stat.js.map +1 -1
- package/dist/workspace/tools/list-files.js +5 -2
- package/dist/workspace/tools/list-files.js.map +1 -1
- package/dist/workspace/tools/mkdir.js +5 -2
- package/dist/workspace/tools/mkdir.js.map +1 -1
- package/dist/workspace/tools/move-file.js +5 -2
- package/dist/workspace/tools/move-file.js.map +1 -1
- package/dist/workspace/tools/process-tools.js +5 -4
- package/dist/workspace/tools/process-tools.js.map +1 -1
- package/dist/workspace/tools/read-file.js +2 -1
- package/dist/workspace/tools/read-file.js.map +1 -1
- package/dist/workspace/tools/rmdir.js +6 -2
- package/dist/workspace/tools/rmdir.js.map +1 -1
- package/dist/workspace/tools/str-replace-file.js +12 -3
- package/dist/workspace/tools/str-replace-file.js.map +1 -1
- package/dist/workspace/tools/write-file.js +5 -2
- package/dist/workspace/tools/write-file.js.map +1 -1
- package/dist/workspace/types.d.ts +16 -11
- package/dist/workspace/types.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-in-sandbox.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/run-in-sandbox.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"run-in-sandbox.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/run-in-sandbox.ts"],"names":[],"mappings":";;;AAAA,2CAAgD;AAoCzC,KAAK,uBACX,SAA+B,EAC/B,OAAe,EACf,YAA2C;IAE3C,MAAM,OAAO,GACZ,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAE1D,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,EAAE;YACxD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE;YACrD,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,WAAW,EAAE,OAAO,CAAC,WAAW;SAChC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EAAC,KAAK,IAAI,EAAE,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzF,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC/E,CAAC"}
|
|
@@ -13,8 +13,10 @@ function createAppendFileTool(filesystem) {
|
|
|
13
13
|
.output(zod_1.z.object({
|
|
14
14
|
success: zod_1.z.boolean().describe('Whether the append was successful'),
|
|
15
15
|
}))
|
|
16
|
-
.handler(async (input) => {
|
|
17
|
-
await filesystem.appendFile(input.path, input.content
|
|
16
|
+
.handler(async (input, ctx) => {
|
|
17
|
+
await filesystem.appendFile(input.path, input.content, {
|
|
18
|
+
abortSignal: ctx.abortSignal,
|
|
19
|
+
});
|
|
18
20
|
return { success: true };
|
|
19
21
|
})
|
|
20
22
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"append-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/append-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,8BAAqC,UAA+B;IACnE,OAAO,IAAI,WAAI,CAAC,uBAAuB,CAAC;SACtC,WAAW,CAAC,2CAA2C,CAAC;SACxD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC1D,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC7D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"append-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/append-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,8BAAqC,UAA+B;IACnE,OAAO,IAAI,WAAI,CAAC,uBAAuB,CAAC;SACtC,WAAW,CAAC,2CAA2C,CAAC;SACxD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC1D,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC7D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YACtD,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createBatchStrReplaceFileTool = createBatchStrReplaceFileTool;
|
|
4
4
|
const generic_text_editor_1 = require("@n8n/ai-utilities/generic-text-editor");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
|
+
const abort_1 = require("../../sdk/abort");
|
|
6
7
|
const tool_1 = require("../../sdk/tool");
|
|
7
8
|
const strReplacementSchema = zod_1.z.object({
|
|
8
9
|
old_str: zod_1.z.string().describe('Exact text to replace. Must match exactly and be unique.'),
|
|
@@ -43,9 +44,12 @@ function createBatchStrReplaceFileTool(filesystem) {
|
|
|
43
44
|
.description('Apply multiple exact text replacements to a workspace file atomically. If any replacement fails, no changes are written.')
|
|
44
45
|
.input(inputSchema)
|
|
45
46
|
.output(outputSchema)
|
|
46
|
-
.handler(async (input) => {
|
|
47
|
+
.handler(async (input, ctx) => {
|
|
47
48
|
try {
|
|
48
|
-
const content = await filesystem.readFile(input.path, {
|
|
49
|
+
const content = await filesystem.readFile(input.path, {
|
|
50
|
+
encoding: 'utf-8',
|
|
51
|
+
abortSignal: ctx.abortSignal,
|
|
52
|
+
});
|
|
49
53
|
const editor = new generic_text_editor_1.TextEditorDocument({ initialText: content.toString() });
|
|
50
54
|
const result = editor.executeBatch(input.replacements);
|
|
51
55
|
if (isBatchReplaceResult(result)) {
|
|
@@ -55,10 +59,15 @@ function createBatchStrReplaceFileTool(filesystem) {
|
|
|
55
59
|
if (editedContent === null) {
|
|
56
60
|
throw new Error(`File "${input.path}" is not loaded.`);
|
|
57
61
|
}
|
|
58
|
-
await filesystem.writeFile(input.path, editedContent, {
|
|
62
|
+
await filesystem.writeFile(input.path, editedContent, {
|
|
63
|
+
overwrite: true,
|
|
64
|
+
abortSignal: ctx.abortSignal,
|
|
65
|
+
});
|
|
59
66
|
return { success: true, result };
|
|
60
67
|
}
|
|
61
68
|
catch (error) {
|
|
69
|
+
if ((0, abort_1.isAbortError)(error))
|
|
70
|
+
throw error;
|
|
62
71
|
return createErrorOutput(error);
|
|
63
72
|
}
|
|
64
73
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"batch-str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/batch-str-replace-file.ts"],"names":[],"mappings":";;;AAAA,+EAAoG;AACpG,6BAAwB;AAExB,yCAAsC;AAItC,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACxF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,YAAY,EAAE,OAAC;SACb,KAAK,CAAC,oBAAoB,CAAC;SAC3B,QAAQ,CAAC,uDAAuD,CAAC;CACnE,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACvB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACtE,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;IAC7F,OAAO,EAAE,OAAC;SACR,KAAK,CAAC,wBAAwB,CAAC;SAC/B,QAAQ,EAAE;SACV,QAAQ,CAAC,kDAAkD,CAAC;CAC9D,CAAC,CAAC;AAIH,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;KAC/E,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAC5B,MAAqC;IAErC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED,uCAA8C,UAA+B;IAC5E,OAAO,IAAI,WAAI,CAAC,kCAAkC,CAAC;SACjD,WAAW,CACX,0HAA0H,CAC1H;SACA,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"batch-str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/batch-str-replace-file.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,11 @@ function createCopyFileTool(filesystem) {
|
|
|
17
17
|
.output(zod_1.z.object({
|
|
18
18
|
success: zod_1.z.boolean().describe('Whether the copy was successful'),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
await filesystem.copyFile(input.src, input.dest, {
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
await filesystem.copyFile(input.src, input.dest, {
|
|
22
|
+
overwrite: input.overwrite,
|
|
23
|
+
abortSignal: ctx.abortSignal,
|
|
24
|
+
});
|
|
22
25
|
return { success: true };
|
|
23
26
|
})
|
|
24
27
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"copy-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/copy-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,2CAA2C,CAAC;SACxD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACxE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC1D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAChE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"copy-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/copy-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,2CAA2C,CAAC;SACxD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACxE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC1D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAChE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -17,8 +17,12 @@ function createDeleteFileTool(filesystem) {
|
|
|
17
17
|
.output(zod_1.z.object({
|
|
18
18
|
success: zod_1.z.boolean().describe('Whether the deletion was successful'),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
await filesystem.deleteFile(input.path, {
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
await filesystem.deleteFile(input.path, {
|
|
22
|
+
recursive: input.recursive,
|
|
23
|
+
force: input.force,
|
|
24
|
+
abortSignal: ctx.abortSignal,
|
|
25
|
+
});
|
|
22
26
|
return { success: true };
|
|
23
27
|
})
|
|
24
28
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delete-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/delete-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,8BAAqC,UAA+B;IACnE,OAAO,IAAI,WAAI,CAAC,uBAAuB,CAAC;SACtC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACpE,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAC/D,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KAClF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"delete-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/delete-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,8BAAqC,UAA+B;IACnE,OAAO,IAAI,WAAI,CAAC,uBAAuB,CAAC;SACtC,WAAW,CAAC,+CAA+C,CAAC;SAC5D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACpE,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAC/D,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;KAClF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACpE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;YACvC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -18,7 +18,7 @@ function createExecuteCommandTool(sandbox) {
|
|
|
18
18
|
stderr: zod_1.z.string(),
|
|
19
19
|
executionTimeMs: zod_1.z.number(),
|
|
20
20
|
}))
|
|
21
|
-
.handler(async (input) => {
|
|
21
|
+
.handler(async (input, ctx) => {
|
|
22
22
|
if (!sandbox.executeCommand) {
|
|
23
23
|
throw new Error('Sandbox does not support command execution');
|
|
24
24
|
}
|
|
@@ -27,6 +27,7 @@ function createExecuteCommandTool(sandbox) {
|
|
|
27
27
|
cwd: input.cwd,
|
|
28
28
|
...(env ? { env } : {}),
|
|
29
29
|
timeout: input.timeout,
|
|
30
|
+
abortSignal: ctx.abortSignal,
|
|
30
31
|
});
|
|
31
32
|
return {
|
|
32
33
|
success: result.success,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-command.js","sourceRoot":"","sources":["../../../src/workspace/tools/execute-command.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,kCAAyC,OAAyB;IACjE,OAAO,IAAI,WAAI,CAAC,2BAA2B,CAAC;SAC1C,WAAW,CAAC,wCAAwC,CAAC;SACrD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5D,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACxE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAClE,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;KAC3B,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"execute-command.js","sourceRoot":"","sources":["../../../src/workspace/tools/execute-command.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,kCAAyC,OAAyB;IACjE,OAAO,IAAI,WAAI,CAAC,2BAA2B,CAAC;SAC1C,WAAW,CAAC,wCAAwC,CAAC;SACrD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5D,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACxE,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;KAClE,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;QACpB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;QACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;QAClB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;KAC3B,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QACD,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE;YACrE,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,eAAe,EAAE,MAAM,CAAC,eAAe;SACvC,CAAC;IACH,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -17,8 +17,10 @@ function createFileStatTool(filesystem) {
|
|
|
17
17
|
createdAt: zod_1.z.string(),
|
|
18
18
|
modifiedAt: zod_1.z.string(),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
const stat = await filesystem.stat(input.path
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
const stat = await filesystem.stat(input.path, {
|
|
22
|
+
abortSignal: ctx.abortSignal,
|
|
23
|
+
});
|
|
22
24
|
return {
|
|
23
25
|
name: stat.name,
|
|
24
26
|
path: stat.path,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-stat.js","sourceRoot":"","sources":["../../../src/workspace/tools/file-stat.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,wCAAwC,CAAC;SACrD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC1D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"file-stat.js","sourceRoot":"","sources":["../../../src/workspace/tools/file-stat.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,wCAAwC,CAAC;SACrD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;KAC1D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;QACrB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;KACtB,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAC9C,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO;YACN,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;SACzC,CAAC;IACH,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -19,8 +19,11 @@ function createListFilesTool(filesystem) {
|
|
|
19
19
|
}))
|
|
20
20
|
.describe('List of file entries'),
|
|
21
21
|
}))
|
|
22
|
-
.handler(async (input) => {
|
|
23
|
-
const entries = await filesystem.readdir(input.path, {
|
|
22
|
+
.handler(async (input, ctx) => {
|
|
23
|
+
const entries = await filesystem.readdir(input.path, {
|
|
24
|
+
recursive: input.recursive,
|
|
25
|
+
abortSignal: ctx.abortSignal,
|
|
26
|
+
});
|
|
24
27
|
return { entries };
|
|
25
28
|
})
|
|
26
29
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../src/workspace/tools/list-files.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,6BAAoC,UAA+B;IAClE,OAAO,IAAI,WAAI,CAAC,sBAAsB,CAAC;SACrC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACnD,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACpE,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC;aACR,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC,CACF;aACA,QAAQ,CAAC,sBAAsB,CAAC;KAClC,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"list-files.js","sourceRoot":"","sources":["../../../src/workspace/tools/list-files.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,6BAAoC,UAA+B;IAClE,OAAO,IAAI,WAAI,CAAC,sBAAsB,CAAC;SACrC,WAAW,CAAC,6CAA6C,CAAC;SAC1D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACnD,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;KACpE,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC;aACR,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;YACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC3B,CAAC,CACF;aACA,QAAQ,CAAC,sBAAsB,CAAC;KAClC,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;YACpD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -13,8 +13,11 @@ function createMkdirTool(filesystem) {
|
|
|
13
13
|
.output(zod_1.z.object({
|
|
14
14
|
success: zod_1.z.boolean().describe('Whether the directory was created'),
|
|
15
15
|
}))
|
|
16
|
-
.handler(async (input) => {
|
|
17
|
-
await filesystem.mkdir(input.path, {
|
|
16
|
+
.handler(async (input, ctx) => {
|
|
17
|
+
await filesystem.mkdir(input.path, {
|
|
18
|
+
recursive: input.recursive,
|
|
19
|
+
abortSignal: ctx.abortSignal,
|
|
20
|
+
});
|
|
18
21
|
return { success: true };
|
|
19
22
|
})
|
|
20
23
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/workspace/tools/mkdir.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,yBAAgC,UAA+B;IAC9D,OAAO,IAAI,WAAI,CAAC,iBAAiB,CAAC;SAChC,WAAW,CAAC,qCAAqC,CAAC;SAClD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACjF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"mkdir.js","sourceRoot":"","sources":["../../../src/workspace/tools/mkdir.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,yBAAgC,UAA+B;IAC9D,OAAO,IAAI,WAAI,CAAC,iBAAiB,CAAC;SAChC,WAAW,CAAC,qCAAqC,CAAC;SAClD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KACjF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -17,8 +17,11 @@ function createMoveFileTool(filesystem) {
|
|
|
17
17
|
.output(zod_1.z.object({
|
|
18
18
|
success: zod_1.z.boolean().describe('Whether the move was successful'),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
await filesystem.moveFile(input.src, input.dest, {
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
await filesystem.moveFile(input.src, input.dest, {
|
|
22
|
+
overwrite: input.overwrite,
|
|
23
|
+
abortSignal: ctx.abortSignal,
|
|
24
|
+
});
|
|
22
25
|
return { success: true };
|
|
23
26
|
})
|
|
24
27
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"move-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/move-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,qDAAqD,CAAC;SAClE,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACxE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC7C,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAChE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"move-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/move-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,qDAAqD,CAAC;SAClE,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;QACxE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QAC7C,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;KAChE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;YAChD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createListProcessesTool = createListProcessesTool;
|
|
4
4
|
exports.createKillProcessTool = createKillProcessTool;
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
|
+
const abort_1 = require("../../sdk/abort");
|
|
6
7
|
const tool_1 = require("../../sdk/tool");
|
|
7
8
|
function createListProcessesTool(processes) {
|
|
8
9
|
return new tool_1.Tool('workspace_list_processes')
|
|
@@ -15,8 +16,8 @@ function createListProcessesTool(processes) {
|
|
|
15
16
|
exitCode: zod_1.z.number().optional(),
|
|
16
17
|
})),
|
|
17
18
|
}))
|
|
18
|
-
.handler(async () => {
|
|
19
|
-
const list = await processes.list();
|
|
19
|
+
.handler(async (_input, ctx) => {
|
|
20
|
+
const list = await (0, abort_1.raceWithAbort)(async () => await processes.list(), ctx.abortSignal);
|
|
20
21
|
return { processes: list };
|
|
21
22
|
})
|
|
22
23
|
.build();
|
|
@@ -28,8 +29,8 @@ function createKillProcessTool(processes) {
|
|
|
28
29
|
pid: zod_1.z.number().describe('PID of the process to kill'),
|
|
29
30
|
}))
|
|
30
31
|
.output(zod_1.z.object({ killed: zod_1.z.boolean() }))
|
|
31
|
-
.handler(async (input) => {
|
|
32
|
-
const killed = await processes.kill(input.pid);
|
|
32
|
+
.handler(async (input, ctx) => {
|
|
33
|
+
const killed = await (0, abort_1.raceWithAbort)(async () => await processes.kill(input.pid), ctx.abortSignal);
|
|
33
34
|
return { killed };
|
|
34
35
|
})
|
|
35
36
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-tools.js","sourceRoot":"","sources":["../../../src/workspace/tools/process-tools.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,iCAAwC,SAAgC;IACvE,OAAO,IAAI,WAAI,CAAC,0BAA0B,CAAC;SACzC,WAAW,CAAC,sDAAsD,CAAC;SACnE,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACnB,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,SAAS,EAAE,OAAC,CAAC,KAAK,CACjB,OAAC,CAAC,MAAM,CAAC;YACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CACF;KACD,CAAC,CACF;SACA,OAAO,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"process-tools.js","sourceRoot":"","sources":["../../../src/workspace/tools/process-tools.ts"],"names":[],"mappings":";;;;AAAA,6BAAwB;AAExB,2CAAgD;AAChD,yCAAsC;AAItC,iCAAwC,SAAgC;IACvE,OAAO,IAAI,WAAI,CAAC,0BAA0B,CAAC;SACzC,WAAW,CAAC,sDAAsD,CAAC;SACnE,KAAK,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACnB,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,SAAS,EAAE,OAAC,CAAC,KAAK,CACjB,OAAC,CAAC,MAAM,CAAC;YACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC/B,CAAC,CACF;KACD,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC9B,MAAM,IAAI,GAAG,MAAM,IAAA,qBAAa,EAAC,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACtF,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC;AAED,+BAAsC,SAAgC;IACrE,OAAO,IAAI,WAAI,CAAC,wBAAwB,CAAC;SACvC,WAAW,CAAC,iDAAiD,CAAC;SAC9D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC;KACtD,CAAC,CACF;SACA,MAAM,CAAC,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;SACzC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAa,EACjC,KAAK,IAAI,EAAE,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAC3C,GAAG,CAAC,WAAW,CACf,CAAC;QACF,OAAO,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -13,9 +13,10 @@ function createReadFileTool(filesystem) {
|
|
|
13
13
|
.output(zod_1.z.object({
|
|
14
14
|
content: zod_1.z.string().describe('File content'),
|
|
15
15
|
}))
|
|
16
|
-
.handler(async (input) => {
|
|
16
|
+
.handler(async (input, ctx) => {
|
|
17
17
|
const content = await filesystem.readFile(input.path, {
|
|
18
18
|
encoding: (input.encoding ?? 'utf-8'),
|
|
19
|
+
abortSignal: ctx.abortSignal,
|
|
19
20
|
});
|
|
20
21
|
return { content: content.toString() };
|
|
21
22
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/read-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,gDAAgD,CAAC;SAC7D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACrD,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC3F,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC5C,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/read-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,4BAAmC,UAA+B;IACjE,OAAO,IAAI,WAAI,CAAC,qBAAqB,CAAC;SACpC,WAAW,CAAC,gDAAgD,CAAC;SAC7D,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACrD,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KAC3F,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;KAC5C,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;YACrD,QAAQ,EAAE,CAAC,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAmB;YACvD,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;IACxC,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -17,8 +17,12 @@ function createRmdirTool(filesystem) {
|
|
|
17
17
|
.output(zod_1.z.object({
|
|
18
18
|
success: zod_1.z.boolean().describe('Whether the directory was removed'),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
await filesystem.rmdir(input.path, {
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
await filesystem.rmdir(input.path, {
|
|
22
|
+
recursive: input.recursive,
|
|
23
|
+
force: input.force,
|
|
24
|
+
abortSignal: ctx.abortSignal,
|
|
25
|
+
});
|
|
22
26
|
return { success: true };
|
|
23
27
|
})
|
|
24
28
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rmdir.js","sourceRoot":"","sources":["../../../src/workspace/tools/rmdir.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,yBAAgC,UAA+B;IAC9D,OAAO,IAAI,WAAI,CAAC,iBAAiB,CAAC;SAChC,WAAW,CAAC,uCAAuC,CAAC;SACpD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAC/D,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACvF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"rmdir.js","sourceRoot":"","sources":["../../../src/workspace/tools/rmdir.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,yBAAgC,UAA+B;IAC9D,OAAO,IAAI,WAAI,CAAC,iBAAiB,CAAC;SAChC,WAAW,CAAC,uCAAuC,CAAC;SACpD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC5D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,mDAAmD,CAAC;QAC/D,KAAK,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;KACvF,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;KAClE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YAClC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createStrReplaceFileTool = createStrReplaceFileTool;
|
|
4
4
|
const generic_text_editor_1 = require("@n8n/ai-utilities/generic-text-editor");
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
|
+
const abort_1 = require("../../sdk/abort");
|
|
6
7
|
const tool_1 = require("../../sdk/tool");
|
|
7
8
|
const inputSchema = zod_1.z.object({
|
|
8
9
|
path: zod_1.z.string().describe('Path to the file to edit'),
|
|
@@ -25,9 +26,12 @@ function createStrReplaceFileTool(filesystem) {
|
|
|
25
26
|
.description('Replace one exact, unique text match in a workspace file without rewriting the whole file.')
|
|
26
27
|
.input(inputSchema)
|
|
27
28
|
.output(outputSchema)
|
|
28
|
-
.handler(async (input) => {
|
|
29
|
+
.handler(async (input, ctx) => {
|
|
29
30
|
try {
|
|
30
|
-
const content = await filesystem.readFile(input.path, {
|
|
31
|
+
const content = await filesystem.readFile(input.path, {
|
|
32
|
+
encoding: 'utf-8',
|
|
33
|
+
abortSignal: ctx.abortSignal,
|
|
34
|
+
});
|
|
31
35
|
const editor = new generic_text_editor_1.TextEditorDocument({ initialText: content.toString() });
|
|
32
36
|
const result = editor.execute({
|
|
33
37
|
command: 'str_replace',
|
|
@@ -39,10 +43,15 @@ function createStrReplaceFileTool(filesystem) {
|
|
|
39
43
|
if (editedContent === null) {
|
|
40
44
|
throw new Error(`File "${input.path}" is not loaded.`);
|
|
41
45
|
}
|
|
42
|
-
await filesystem.writeFile(input.path, editedContent, {
|
|
46
|
+
await filesystem.writeFile(input.path, editedContent, {
|
|
47
|
+
overwrite: true,
|
|
48
|
+
abortSignal: ctx.abortSignal,
|
|
49
|
+
});
|
|
43
50
|
return { success: true, result };
|
|
44
51
|
}
|
|
45
52
|
catch (error) {
|
|
53
|
+
if ((0, abort_1.isAbortError)(error))
|
|
54
|
+
throw error;
|
|
46
55
|
return createErrorOutput(error);
|
|
47
56
|
}
|
|
48
57
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/str-replace-file.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,6BAAwB;AAExB,yCAAsC;AAItC,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACxF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACzF,CAAC,CAAC;AAIH,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;KAC/E,CAAC;AACH,CAAC;AAED,kCAAyC,UAA+B;IACvE,OAAO,IAAI,WAAI,CAAC,4BAA4B,CAAC;SAC3C,WAAW,CACX,4FAA4F,CAC5F;SACA,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/str-replace-file.ts"],"names":[],"mappings":";;;AAAA,+EAA2E;AAC3E,6BAAwB;AAExB,2CAA+C;AAC/C,yCAAsC;AAItC,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACrD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IACxF,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC7D,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IACzD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;CACzF,CAAC,CAAC;AAIH,SAAS,iBAAiB,CAAC,KAAc;IACxC,OAAO;QACN,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,+BAA+B;KAC/E,CAAC;AACH,CAAC;AAED,kCAAyC,UAA+B;IACvE,OAAO,IAAI,WAAI,CAAC,4BAA4B,CAAC;SAC3C,WAAW,CACX,4FAA4F,CAC5F;SACA,KAAK,CAAC,WAAW,CAAC;SAClB,MAAM,CAAC,YAAY,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;gBACrD,QAAQ,EAAE,OAAO;gBACjB,WAAW,EAAE,GAAG,CAAC,WAAW;aAC5B,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,wCAAkB,CAAC,EAAE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3E,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC7B,OAAO,EAAE,aAAa;gBACtB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,aAAa,KAAK,IAAI,EAAE,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,kBAAkB,CAAC,CAAC;YACxD,CAAC;YAED,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE;gBACrD,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,GAAG,CAAC,WAAW;aAC5B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,IAAA,oBAAY,EAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YACrC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -17,8 +17,11 @@ function createWriteFileTool(filesystem) {
|
|
|
17
17
|
.output(zod_1.z.object({
|
|
18
18
|
success: zod_1.z.boolean().describe('Whether the write was successful'),
|
|
19
19
|
}))
|
|
20
|
-
.handler(async (input) => {
|
|
21
|
-
await filesystem.writeFile(input.path, input.content, {
|
|
20
|
+
.handler(async (input, ctx) => {
|
|
21
|
+
await filesystem.writeFile(input.path, input.content, {
|
|
22
|
+
recursive: input.recursive,
|
|
23
|
+
abortSignal: ctx.abortSignal,
|
|
24
|
+
});
|
|
22
25
|
return { success: true };
|
|
23
26
|
})
|
|
24
27
|
.build();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/write-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,6BAAoC,UAA+B;IAClE,OAAO,IAAI,WAAI,CAAC,sBAAsB,CAAC;SACrC,WAAW,CAAC,0CAA0C,CAAC;SACvD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACtD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACjE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/write-file.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,yCAAsC;AAItC,6BAAoC,UAA+B;IAClE,OAAO,IAAI,WAAI,CAAC,sBAAsB,CAAC;SACrC,WAAW,CAAC,0CAA0C,CAAC;SACvD,KAAK,CACL,OAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACtD,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC5D,SAAS,EAAE,OAAC;aACV,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,gDAAgD,CAAC;KAC5D,CAAC,CACF;SACA,MAAM,CACN,OAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;KACjE,CAAC,CACF;SACA,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YACrD,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,GAAG,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
|
|
@@ -14,25 +14,32 @@ export interface FileStat {
|
|
|
14
14
|
createdAt: Date;
|
|
15
15
|
modifiedAt: Date;
|
|
16
16
|
}
|
|
17
|
-
export interface
|
|
17
|
+
export interface AbortableOptions {
|
|
18
|
+
abortSignal?: AbortSignal;
|
|
19
|
+
}
|
|
20
|
+
export interface ReadOptions extends AbortableOptions {
|
|
18
21
|
encoding?: BufferEncoding;
|
|
19
22
|
}
|
|
20
|
-
export interface WriteOptions {
|
|
23
|
+
export interface WriteOptions extends AbortableOptions {
|
|
21
24
|
recursive?: boolean;
|
|
22
25
|
overwrite?: boolean;
|
|
23
26
|
}
|
|
24
|
-
export interface ListOptions {
|
|
27
|
+
export interface ListOptions extends AbortableOptions {
|
|
25
28
|
recursive?: boolean;
|
|
26
29
|
extension?: string;
|
|
27
30
|
}
|
|
28
|
-
export interface RemoveOptions {
|
|
31
|
+
export interface RemoveOptions extends AbortableOptions {
|
|
29
32
|
recursive?: boolean;
|
|
30
33
|
force?: boolean;
|
|
31
34
|
}
|
|
32
|
-
export interface CopyOptions {
|
|
35
|
+
export interface CopyOptions extends AbortableOptions {
|
|
33
36
|
overwrite?: boolean;
|
|
34
37
|
recursive?: boolean;
|
|
35
38
|
}
|
|
39
|
+
export interface MkdirOptions extends AbortableOptions {
|
|
40
|
+
recursive?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export type AppendOptions = AbortableOptions;
|
|
36
43
|
export interface MountConfig {
|
|
37
44
|
type: 'local';
|
|
38
45
|
basePath: string;
|
|
@@ -46,17 +53,15 @@ export interface WorkspaceFilesystem {
|
|
|
46
53
|
status: ProviderStatus;
|
|
47
54
|
readFile(path: string, options?: ReadOptions): Promise<string | Buffer>;
|
|
48
55
|
writeFile(path: string, content: FileContent, options?: WriteOptions): Promise<void>;
|
|
49
|
-
appendFile(path: string, content: FileContent): Promise<void>;
|
|
56
|
+
appendFile(path: string, content: FileContent, options?: AppendOptions): Promise<void>;
|
|
50
57
|
deleteFile(path: string, options?: RemoveOptions): Promise<void>;
|
|
51
58
|
copyFile(src: string, dest: string, options?: CopyOptions): Promise<void>;
|
|
52
59
|
moveFile(src: string, dest: string, options?: CopyOptions): Promise<void>;
|
|
53
|
-
mkdir(path: string, options?:
|
|
54
|
-
recursive?: boolean;
|
|
55
|
-
}): Promise<void>;
|
|
60
|
+
mkdir(path: string, options?: MkdirOptions): Promise<void>;
|
|
56
61
|
rmdir(path: string, options?: RemoveOptions): Promise<void>;
|
|
57
62
|
readdir(path: string, options?: ListOptions): Promise<FileEntry[]>;
|
|
58
|
-
exists(path: string): Promise<boolean>;
|
|
59
|
-
stat(path: string): Promise<FileStat>;
|
|
63
|
+
exists(path: string, options?: AbortableOptions): Promise<boolean>;
|
|
64
|
+
stat(path: string, options?: AbortableOptions): Promise<FileStat>;
|
|
60
65
|
init?(): Promise<void>;
|
|
61
66
|
destroy?(): Promise<void>;
|
|
62
67
|
_init?(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/workspace/types.ts"],"names":[],"mappings":";;;AAqKA,qCAAiE;AAAxD,gHAAA,qBAAqB,OAAA;AAAE,wGAAA,aAAa,OAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@n8n/agents",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "AI agent SDK for n8n's code-first execution engine",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -97,14 +97,14 @@
|
|
|
97
97
|
"undici": "^7.28.0",
|
|
98
98
|
"yaml": "2.8.3",
|
|
99
99
|
"zod-to-json-schema": "3.23.3",
|
|
100
|
-
"@n8n/utils": "1.
|
|
101
|
-
"@n8n/ai-utilities": "0.
|
|
100
|
+
"@n8n/utils": "1.40.0",
|
|
101
|
+
"@n8n/ai-utilities": "0.25.0"
|
|
102
102
|
},
|
|
103
103
|
"peerDependencies": {
|
|
104
104
|
"@pinecone-database/pinecone": "^5.0.2",
|
|
105
105
|
"@qdrant/js-client-rest": "^1.16.2",
|
|
106
106
|
"@supabase/supabase-js": "2.50.0",
|
|
107
|
-
"pg": "8.
|
|
107
|
+
"pg": "8.21.0",
|
|
108
108
|
"zod": "3.25.67"
|
|
109
109
|
},
|
|
110
110
|
"peerDependenciesMeta": {
|
|
@@ -143,15 +143,15 @@
|
|
|
143
143
|
"dotenv": "17.2.3",
|
|
144
144
|
"cross-env": "^7.0.3",
|
|
145
145
|
"nock": "14.0.14",
|
|
146
|
-
"pg": "8.
|
|
146
|
+
"pg": "8.21.0",
|
|
147
147
|
"tsx": "^4.19.3",
|
|
148
148
|
"typescript": "7.0.2",
|
|
149
149
|
"vite": "^8.0.2",
|
|
150
150
|
"vitest": "^4.1.9",
|
|
151
151
|
"vitest-mock-extended": "^3.1.0",
|
|
152
152
|
"zod": "3.25.67",
|
|
153
|
-
"@n8n/
|
|
154
|
-
"@n8n/
|
|
153
|
+
"@n8n/vitest-config": "1.19.0",
|
|
154
|
+
"@n8n/typescript-config": "1.9.0"
|
|
155
155
|
},
|
|
156
156
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
157
157
|
"homepage": "https://n8n.io",
|