@n8n/agents 0.10.1 → 0.12.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.
Files changed (140) hide show
  1. package/dist/build.tsbuildinfo +1 -1
  2. package/dist/index.d.ts +10 -2
  3. package/dist/index.js +36 -5
  4. package/dist/index.js.map +1 -1
  5. package/dist/runtime/agent-runtime.d.ts +14 -6
  6. package/dist/runtime/agent-runtime.js +359 -267
  7. package/dist/runtime/agent-runtime.js.map +1 -1
  8. package/dist/runtime/delegate-sub-agent-tool.d.ts +87 -0
  9. package/dist/runtime/delegate-sub-agent-tool.js +362 -0
  10. package/dist/runtime/delegate-sub-agent-tool.js.map +1 -0
  11. package/dist/runtime/event-bus.d.ts +8 -0
  12. package/dist/runtime/event-bus.js +48 -0
  13. package/dist/runtime/event-bus.js.map +1 -1
  14. package/dist/runtime/mcp-connection.d.ts +2 -3
  15. package/dist/runtime/mcp-connection.js +3 -6
  16. package/dist/runtime/mcp-connection.js.map +1 -1
  17. package/dist/runtime/message-list.d.ts +9 -3
  18. package/dist/runtime/message-list.js +16 -5
  19. package/dist/runtime/message-list.js.map +1 -1
  20. package/dist/runtime/messages.js +10 -2
  21. package/dist/runtime/messages.js.map +1 -1
  22. package/dist/runtime/model-factory.js +12 -0
  23. package/dist/runtime/model-factory.js.map +1 -1
  24. package/dist/runtime/provider-credentials.d.ts +13 -0
  25. package/dist/runtime/provider-credentials.js +1 -0
  26. package/dist/runtime/provider-credentials.js.map +1 -1
  27. package/dist/runtime/runtime-helpers.d.ts +1 -2
  28. package/dist/runtime/runtime-helpers.js +0 -8
  29. package/dist/runtime/runtime-helpers.js.map +1 -1
  30. package/dist/runtime/sdk-owned-tool.d.ts +4 -0
  31. package/dist/runtime/sdk-owned-tool.js +19 -0
  32. package/dist/runtime/sdk-owned-tool.js.map +1 -0
  33. package/dist/runtime/stream.js +8 -0
  34. package/dist/runtime/stream.js.map +1 -1
  35. package/dist/runtime/sub-agent-task-path.d.ts +10 -0
  36. package/dist/runtime/sub-agent-task-path.js +39 -0
  37. package/dist/runtime/sub-agent-task-path.js.map +1 -0
  38. package/dist/runtime/title-generation.js +8 -5
  39. package/dist/runtime/title-generation.js.map +1 -1
  40. package/dist/runtime/tool-adapter.d.ts +0 -9
  41. package/dist/runtime/tool-adapter.js +12 -21
  42. package/dist/runtime/tool-adapter.js.map +1 -1
  43. package/dist/runtime/write-todos-tool.d.ts +3 -0
  44. package/dist/runtime/write-todos-tool.js +95 -0
  45. package/dist/runtime/write-todos-tool.js.map +1 -0
  46. package/dist/sdk/agent.d.ts +19 -12
  47. package/dist/sdk/agent.js +318 -91
  48. package/dist/sdk/agent.js.map +1 -1
  49. package/dist/sdk/cancellation.d.ts +7 -0
  50. package/dist/sdk/cancellation.js +16 -0
  51. package/dist/sdk/cancellation.js.map +1 -0
  52. package/dist/sdk/catalog.js +40 -4
  53. package/dist/sdk/catalog.js.map +1 -1
  54. package/dist/sdk/guardrails/index.d.ts +5 -0
  55. package/dist/sdk/guardrails/index.js +15 -0
  56. package/dist/sdk/guardrails/index.js.map +1 -0
  57. package/dist/sdk/guardrails/patterns.d.ts +13 -0
  58. package/dist/sdk/guardrails/patterns.js +61 -0
  59. package/dist/sdk/guardrails/patterns.js.map +1 -0
  60. package/dist/sdk/guardrails/redactor.d.ts +24 -0
  61. package/dist/sdk/guardrails/redactor.js +86 -0
  62. package/dist/sdk/guardrails/redactor.js.map +1 -0
  63. package/dist/sdk/guardrails/streaming-redactor.d.ts +9 -0
  64. package/dist/sdk/guardrails/streaming-redactor.js +43 -0
  65. package/dist/sdk/guardrails/streaming-redactor.js.map +1 -0
  66. package/dist/sdk/mcp-client.d.ts +1 -1
  67. package/dist/sdk/mcp-client.js +2 -2
  68. package/dist/sdk/mcp-client.js.map +1 -1
  69. package/dist/sdk/memory.d.ts +1 -3
  70. package/dist/sdk/memory.js +0 -14
  71. package/dist/sdk/memory.js.map +1 -1
  72. package/dist/sdk/provider-capabilities.js +1 -0
  73. package/dist/sdk/provider-capabilities.js.map +1 -1
  74. package/dist/sdk/tool.d.ts +3 -0
  75. package/dist/sdk/tool.js +42 -10
  76. package/dist/sdk/tool.js.map +1 -1
  77. package/dist/storage/base-memory.d.ts +0 -31
  78. package/dist/storage/base-memory.js +0 -9
  79. package/dist/storage/base-memory.js.map +1 -1
  80. package/dist/types/index.d.ts +2 -2
  81. package/dist/types/index.js.map +1 -1
  82. package/dist/types/runtime/event.d.ts +31 -1
  83. package/dist/types/runtime/event.js +2 -0
  84. package/dist/types/runtime/event.js.map +1 -1
  85. package/dist/types/sdk/agent-builder.d.ts +0 -1
  86. package/dist/types/sdk/agent.d.ts +20 -15
  87. package/dist/types/sdk/guardrail.d.ts +1 -1
  88. package/dist/types/sdk/memory.d.ts +0 -42
  89. package/dist/types/sdk/message.d.ts +1 -0
  90. package/dist/types/sdk/tool.d.ts +19 -1
  91. package/dist/utils/json-schema.d.ts +3 -0
  92. package/dist/utils/json-schema.js +72 -0
  93. package/dist/utils/json-schema.js.map +1 -0
  94. package/dist/workspace/filesystem/daytona-filesystem.d.ts +25 -0
  95. package/dist/workspace/filesystem/daytona-filesystem.js +130 -0
  96. package/dist/workspace/filesystem/daytona-filesystem.js.map +1 -0
  97. package/dist/workspace/filesystem/n8n-sandbox-filesystem.d.ts +25 -0
  98. package/dist/workspace/filesystem/n8n-sandbox-filesystem.js +126 -0
  99. package/dist/workspace/filesystem/n8n-sandbox-filesystem.js.map +1 -0
  100. package/dist/workspace/sandbox/create-workspace.d.ts +4 -0
  101. package/dist/workspace/sandbox/create-workspace.js +68 -0
  102. package/dist/workspace/sandbox/create-workspace.js.map +1 -0
  103. package/dist/workspace/sandbox/daytona-auth-manager.d.ts +26 -0
  104. package/dist/workspace/sandbox/daytona-auth-manager.js +84 -0
  105. package/dist/workspace/sandbox/daytona-auth-manager.js.map +1 -0
  106. package/dist/workspace/sandbox/daytona-sandbox.d.ts +72 -0
  107. package/dist/workspace/sandbox/daytona-sandbox.js +357 -0
  108. package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -0
  109. package/dist/workspace/sandbox/index.d.ts +7 -0
  110. package/dist/workspace/sandbox/index.js +22 -0
  111. package/dist/workspace/sandbox/index.js.map +1 -0
  112. package/dist/workspace/sandbox/lazy-daytona.d.ts +2 -0
  113. package/dist/workspace/sandbox/lazy-daytona.js +12 -0
  114. package/dist/workspace/sandbox/lazy-daytona.js.map +1 -0
  115. package/dist/workspace/sandbox/logger.d.ts +12 -0
  116. package/dist/workspace/sandbox/logger.js +3 -0
  117. package/dist/workspace/sandbox/logger.js.map +1 -0
  118. package/dist/workspace/sandbox/n8n-sandbox-sandbox.d.ts +35 -0
  119. package/dist/workspace/sandbox/n8n-sandbox-sandbox.js +138 -0
  120. package/dist/workspace/sandbox/n8n-sandbox-sandbox.js.map +1 -0
  121. package/dist/workspace/sandbox/provider.d.ts +4 -0
  122. package/dist/workspace/sandbox/provider.js +14 -0
  123. package/dist/workspace/sandbox/provider.js.map +1 -0
  124. package/dist/workspace/sandbox/run-in-sandbox.d.ts +26 -0
  125. package/dist/workspace/sandbox/run-in-sandbox.js +19 -0
  126. package/dist/workspace/sandbox/run-in-sandbox.js.map +1 -0
  127. package/dist/workspace/sandbox/types.d.ts +45 -0
  128. package/dist/workspace/sandbox/types.js +3 -0
  129. package/dist/workspace/sandbox/types.js.map +1 -0
  130. package/dist/workspace/sandbox/workspace-root.d.ts +16 -0
  131. package/dist/workspace/sandbox/workspace-root.js +69 -0
  132. package/dist/workspace/sandbox/workspace-root.js.map +1 -0
  133. package/dist/workspace/tools/batch-str-replace-file.js +2 -2
  134. package/dist/workspace/tools/batch-str-replace-file.js.map +1 -1
  135. package/dist/workspace/tools/str-replace-file.js +2 -2
  136. package/dist/workspace/tools/str-replace-file.js.map +1 -1
  137. package/package.json +29 -17
  138. package/dist/sdk/network.d.ts +0 -20
  139. package/dist/sdk/network.js +0 -46
  140. package/dist/sdk/network.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_SANDBOX_PROVIDER = void 0;
4
+ exports.isSandboxProvider = isSandboxProvider;
5
+ exports.normalizeSandboxProvider = normalizeSandboxProvider;
6
+ exports.DEFAULT_SANDBOX_PROVIDER = 'n8n-sandbox';
7
+ const SANDBOX_PROVIDERS = new Set(['daytona', 'n8n-sandbox']);
8
+ function isSandboxProvider(value) {
9
+ return typeof value === 'string' && SANDBOX_PROVIDERS.has(value);
10
+ }
11
+ function normalizeSandboxProvider(value) {
12
+ return isSandboxProvider(value) ? value : exports.DEFAULT_SANDBOX_PROVIDER;
13
+ }
14
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/provider.ts"],"names":[],"mappings":";;;AAMA,8CAEC;AAED,4DAEC;AAVY,QAAA,wBAAwB,GAAoB,aAAa,CAAC;AAEvE,MAAM,iBAAiB,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;AAEnF,SAAgB,iBAAiB,CAAC,KAAyB;IAC1D,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAClE,CAAC;AAED,SAAgB,wBAAwB,CAAC,KAAyB;IACjE,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gCAAwB,CAAC;AACpE,CAAC"}
@@ -0,0 +1,26 @@
1
+ interface SandboxCommandResult {
2
+ exitCode: number;
3
+ stdout: string;
4
+ stderr: string;
5
+ }
6
+ export interface SandboxCommandTarget {
7
+ sandbox?: {
8
+ provider?: string;
9
+ executeCommand?: (command: string, args?: string[], options?: {
10
+ cwd?: string;
11
+ }) => Promise<SandboxCommandResult>;
12
+ processes?: {
13
+ spawn: (command: string, options?: {
14
+ cwd?: string;
15
+ }) => Promise<{
16
+ wait: () => Promise<SandboxCommandResult>;
17
+ }>;
18
+ };
19
+ };
20
+ }
21
+ export declare function runInSandbox(workspace: SandboxCommandTarget, command: string, cwd?: string): Promise<{
22
+ exitCode: number;
23
+ stdout: string;
24
+ stderr: string;
25
+ }>;
26
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.runInSandbox = runInSandbox;
4
+ async function runInSandbox(workspace, command, cwd) {
5
+ const sandbox = workspace.sandbox;
6
+ if (!sandbox)
7
+ throw new Error('Workspace has no sandbox');
8
+ if (sandbox.executeCommand) {
9
+ const result = await sandbox.executeCommand(command, [], { cwd });
10
+ return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
11
+ }
12
+ if (sandbox.processes) {
13
+ const handle = await sandbox.processes.spawn(command, { cwd });
14
+ const result = await handle.wait();
15
+ return { exitCode: result.exitCode, stdout: result.stdout, stderr: result.stderr };
16
+ }
17
+ throw new Error('Sandbox has neither executeCommand nor processes available');
18
+ }
19
+ //# sourceMappingURL=run-in-sandbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-in-sandbox.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/run-in-sandbox.ts"],"names":[],"mappings":";;AA2BA,oCAoBC;AApBM,KAAK,UAAU,YAAY,CACjC,SAA+B,EAC/B,OAAe,EACf,GAAY;IAEZ,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,EAAE,GAAG,EAAE,CAAC,CAAC;QAClE,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,EAAE,GAAG,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACnC,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"}
@@ -0,0 +1,45 @@
1
+ import type { CreateSandboxFromImageParams } from '@daytonaio/sdk';
2
+ import type { BaseFilesystemOptions } from '../filesystem/base-filesystem';
3
+ import type { BaseSandboxOptions, CommandOptions, CommandResult, CopyOptions, ExecuteCommandOptions, FileContent, FileEntry, FileStat, ListOptions, MountConfig, ProcessHandle, ProcessInfo, ProviderStatus, ReadOptions, RemoveOptions, SandboxInfo, SandboxProcessManager, SpawnProcessOptions, WorkspaceFilesystem, WorkspaceSandbox, WriteOptions } from '../types';
4
+ import type { ErrorReporter, Logger } from './logger';
5
+ export type { BaseFilesystemOptions, BaseSandboxOptions, CommandOptions, CommandResult, CopyOptions, ExecuteCommandOptions, FileContent, FileEntry, FileStat, ListOptions, MountConfig, ProcessHandle, ProcessInfo, ProviderStatus, ReadOptions, RemoveOptions, SandboxInfo, SandboxProcessManager, SpawnProcessOptions, WorkspaceFilesystem, WorkspaceSandbox, WriteOptions, };
6
+ export type SandboxProvider = 'daytona' | 'n8n-sandbox';
7
+ export interface SandboxConfigBase {
8
+ provider: SandboxProvider;
9
+ timeout?: number;
10
+ }
11
+ export interface DisabledSandboxConfig extends SandboxConfigBase {
12
+ enabled: false;
13
+ }
14
+ export interface DaytonaSandboxConfig extends SandboxConfigBase {
15
+ enabled: true;
16
+ provider: 'daytona';
17
+ id?: string;
18
+ name?: string;
19
+ labels?: Record<string, string>;
20
+ daytonaApiUrl?: string;
21
+ daytonaApiKey?: string;
22
+ image?: CreateSandboxFromImageParams['image'];
23
+ snapshot?: string;
24
+ ephemeral?: boolean;
25
+ autoStopInterval?: number;
26
+ autoArchiveInterval?: number;
27
+ autoDeleteInterval?: number;
28
+ createTimeoutSeconds?: number;
29
+ getAuthToken?: () => Promise<string>;
30
+ refreshSkewMs?: number;
31
+ logger?: Logger;
32
+ }
33
+ export interface N8nSandboxConfig extends SandboxConfigBase {
34
+ enabled: true;
35
+ provider: 'n8n-sandbox';
36
+ serviceUrl: string;
37
+ apiKey?: string;
38
+ }
39
+ export type SandboxConfig = DisabledSandboxConfig | DaytonaSandboxConfig | N8nSandboxConfig;
40
+ export type SandboxInstance = WorkspaceSandbox;
41
+ export type SandboxFilesystem = WorkspaceFilesystem;
42
+ export interface CreateSandboxOptions {
43
+ logger?: Logger;
44
+ errorReporter?: ErrorReporter;
45
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ import { type SandboxCommandTarget } from './run-in-sandbox';
2
+ import type { SandboxProvider } from './types';
3
+ export declare const WORKSPACE_DIR = "workspace";
4
+ export declare const DAYTONA_HOME = "/home/daytona";
5
+ export declare const DAYTONA_WORKSPACE_ROOT = "/home/daytona/workspace";
6
+ export declare const N8N_SANDBOX_HOME = "/home/user";
7
+ export declare const N8N_SANDBOX_WORKSPACE_ROOT = "/home/user/workspace";
8
+ export declare function getPromptWorkspaceRoot(provider: SandboxProvider): string;
9
+ export interface SandboxWorkspace extends SandboxCommandTarget {
10
+ filesystem?: {
11
+ provider?: string;
12
+ basePath?: string;
13
+ init?: () => Promise<void>;
14
+ };
15
+ }
16
+ export declare function getWorkspaceRoot(workspace: SandboxWorkspace): Promise<string>;
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.N8N_SANDBOX_WORKSPACE_ROOT = exports.N8N_SANDBOX_HOME = exports.DAYTONA_WORKSPACE_ROOT = exports.DAYTONA_HOME = exports.WORKSPACE_DIR = void 0;
4
+ exports.getPromptWorkspaceRoot = getPromptWorkspaceRoot;
5
+ exports.getWorkspaceRoot = getWorkspaceRoot;
6
+ const run_in_sandbox_1 = require("./run-in-sandbox");
7
+ exports.WORKSPACE_DIR = 'workspace';
8
+ exports.DAYTONA_HOME = '/home/daytona';
9
+ exports.DAYTONA_WORKSPACE_ROOT = `${exports.DAYTONA_HOME}/${exports.WORKSPACE_DIR}`;
10
+ exports.N8N_SANDBOX_HOME = '/home/user';
11
+ exports.N8N_SANDBOX_WORKSPACE_ROOT = `${exports.N8N_SANDBOX_HOME}/${exports.WORKSPACE_DIR}`;
12
+ function getPromptWorkspaceRoot(provider) {
13
+ switch (provider) {
14
+ case 'daytona':
15
+ return exports.DAYTONA_WORKSPACE_ROOT;
16
+ case 'n8n-sandbox':
17
+ return exports.N8N_SANDBOX_WORKSPACE_ROOT;
18
+ }
19
+ }
20
+ const workspaceRootCache = new WeakMap();
21
+ function getLocalFilesystemRoot(workspace) {
22
+ const filesystem = workspace.filesystem;
23
+ if (!filesystem)
24
+ return null;
25
+ const provider = filesystem.provider;
26
+ if (provider !== 'local' && provider !== 'lazy')
27
+ return null;
28
+ const basePath = Reflect.get(filesystem, 'basePath');
29
+ return typeof basePath === 'string' && basePath.length > 0 ? basePath : null;
30
+ }
31
+ async function initializeLazyFilesystem(workspace) {
32
+ const filesystem = workspace.filesystem;
33
+ if (filesystem?.provider !== 'lazy')
34
+ return;
35
+ await filesystem.init?.();
36
+ }
37
+ function getFallbackHome(workspace) {
38
+ switch (workspace.sandbox?.provider) {
39
+ case 'n8n-sandbox':
40
+ return exports.N8N_SANDBOX_HOME;
41
+ case 'daytona':
42
+ return exports.DAYTONA_HOME;
43
+ case undefined:
44
+ default:
45
+ return exports.DAYTONA_HOME;
46
+ }
47
+ }
48
+ async function getWorkspaceRoot(workspace) {
49
+ const cached = workspaceRootCache.get(workspace);
50
+ if (cached)
51
+ return cached;
52
+ const localRoot = getLocalFilesystemRoot(workspace);
53
+ if (localRoot) {
54
+ workspaceRootCache.set(workspace, localRoot);
55
+ return localRoot;
56
+ }
57
+ await initializeLazyFilesystem(workspace);
58
+ const initializedLocalRoot = getLocalFilesystemRoot(workspace);
59
+ if (initializedLocalRoot) {
60
+ workspaceRootCache.set(workspace, initializedLocalRoot);
61
+ return initializedLocalRoot;
62
+ }
63
+ const result = await (0, run_in_sandbox_1.runInSandbox)(workspace, 'echo $HOME');
64
+ const home = result.stdout.trim() || getFallbackHome(workspace);
65
+ const root = `${home}/${exports.WORKSPACE_DIR}`;
66
+ workspaceRootCache.set(workspace, root);
67
+ return root;
68
+ }
69
+ //# sourceMappingURL=workspace-root.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace-root.js","sourceRoot":"","sources":["../../../src/workspace/sandbox/workspace-root.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBatchStrReplaceFileTool = createBatchStrReplaceFileTool;
4
- const text_editor_1 = require("@n8n/ai-utilities/text-editor");
4
+ const generic_text_editor_1 = require("@n8n/ai-utilities/generic-text-editor");
5
5
  const zod_1 = require("zod");
6
6
  const tool_1 = require("../../sdk/tool");
7
7
  const strReplacementSchema = zod_1.z.object({
@@ -46,7 +46,7 @@ function createBatchStrReplaceFileTool(filesystem) {
46
46
  .handler(async (input) => {
47
47
  try {
48
48
  const content = await filesystem.readFile(input.path, { encoding: 'utf-8' });
49
- const editor = new text_editor_1.TextEditorDocument({ initialText: content.toString() });
49
+ const editor = new generic_text_editor_1.TextEditorDocument({ initialText: content.toString() });
50
50
  const result = editor.executeBatch(input.replacements);
51
51
  if (isBatchReplaceResult(result)) {
52
52
  return { success: false, error: 'Batch replacement failed.', results: result };
@@ -1 +1 @@
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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"}
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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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createStrReplaceFileTool = createStrReplaceFileTool;
4
- const text_editor_1 = require("@n8n/ai-utilities/text-editor");
4
+ const generic_text_editor_1 = require("@n8n/ai-utilities/generic-text-editor");
5
5
  const zod_1 = require("zod");
6
6
  const tool_1 = require("../../sdk/tool");
7
7
  const inputSchema = zod_1.z.object({
@@ -28,7 +28,7 @@ function createStrReplaceFileTool(filesystem) {
28
28
  .handler(async (input) => {
29
29
  try {
30
30
  const content = await filesystem.readFile(input.path, { encoding: 'utf-8' });
31
- const editor = new text_editor_1.TextEditorDocument({ initialText: content.toString() });
31
+ const editor = new generic_text_editor_1.TextEditorDocument({ initialText: content.toString() });
32
32
  const result = editor.execute({
33
33
  command: 'str_replace',
34
34
  path: input.path,
@@ -1 +1 @@
1
- {"version":3,"file":"str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/str-replace-file.ts"],"names":[],"mappings":";;AA4BA,4DA6BC;AAzDD,+DAAmE;AACnE,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,SAAgB,wBAAwB,CAAC,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;QACxB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,MAAM,MAAM,GAAG,IAAI,gCAAkB,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,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"str-replace-file.js","sourceRoot":"","sources":["../../../src/workspace/tools/str-replace-file.ts"],"names":[],"mappings":";;AA4BA,4DA6BC;AAzDD,+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,SAAgB,wBAAwB,CAAC,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;QACxB,IAAI,CAAC;YACJ,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;YAC7E,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,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAClC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACF,CAAC,CAAC;SACD,KAAK,EAAE,CAAC;AACX,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@n8n/agents",
3
- "version": "0.10.1",
3
+ "version": "0.12.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",
@@ -12,6 +12,9 @@
12
12
  ],
13
13
  "catalog": [
14
14
  "dist/sdk/catalog.d.ts"
15
+ ],
16
+ "sandbox": [
17
+ "dist/workspace/sandbox/index.d.ts"
15
18
  ]
16
19
  }
17
20
  },
@@ -28,6 +31,10 @@
28
31
  "./catalog": {
29
32
  "types": "./dist/sdk/catalog.d.ts",
30
33
  "default": "./dist/sdk/catalog.js"
34
+ },
35
+ "./sandbox": {
36
+ "types": "./dist/workspace/sandbox/index.d.ts",
37
+ "default": "./dist/workspace/sandbox/index.js"
31
38
  }
32
39
  },
33
40
  "files": [
@@ -36,25 +43,29 @@
36
43
  "LICENSE_EE.md"
37
44
  ],
38
45
  "dependencies": {
39
- "@ai-sdk/amazon-bedrock": "^4.0.95",
40
- "@ai-sdk/anthropic": "3.0.58",
41
- "@ai-sdk/azure": "^3.0.54",
42
- "@ai-sdk/cohere": "^3.0.30",
43
- "@ai-sdk/deepseek": "^2.0.29",
44
- "@ai-sdk/gateway": "^3.0.104",
45
- "@ai-sdk/google": "^3.0.43",
46
- "@ai-sdk/groq": "^3.0.35",
47
- "@ai-sdk/mistral": "^3.0.30",
48
- "@ai-sdk/openai": "^3.0.41",
49
- "@ai-sdk/provider-utils": "^4.0.21",
50
- "@ai-sdk/xai": "^3.0.67",
46
+ "@ai-sdk/amazon-bedrock": "^4.0.113",
47
+ "@ai-sdk/anthropic": "^3.0.81",
48
+ "@ai-sdk/azure": "^3.0.70",
49
+ "@ai-sdk/cohere": "^3.0.36",
50
+ "@ai-sdk/deepseek": "^2.0.35",
51
+ "@ai-sdk/gateway": "^3.0.125",
52
+ "@ai-sdk/google": "^3.0.80",
53
+ "@ai-sdk/groq": "^3.0.39",
54
+ "@ai-sdk/mistral": "^3.0.37",
55
+ "@ai-sdk/openai": "^3.0.68",
56
+ "@ai-sdk/openai-compatible": "^2.0.48",
57
+ "@ai-sdk/provider-utils": "^4.0.27",
58
+ "@ai-sdk/xai": "^3.0.93",
59
+ "@daytonaio/sdk": "0.175.0",
51
60
  "@modelcontextprotocol/sdk": "1.26.0",
61
+ "@n8n/sandbox-client": "0.0.4",
52
62
  "@openrouter/ai-sdk-provider": "^2.8.0",
53
- "ai": "^6.0.116",
63
+ "ai": "^6.0.197",
54
64
  "ajv": "^8.18.0",
55
65
  "yaml": "2.8.3",
56
66
  "zod": "3.25.67",
57
- "@n8n/ai-utilities": "0.18.0"
67
+ "@n8n/ai-utilities": "0.20.0",
68
+ "@n8n/utils": "1.35.0"
58
69
  },
59
70
  "peerDependencies": {
60
71
  "@opentelemetry/exporter-trace-otlp-http": ">=0.50.0",
@@ -81,8 +92,8 @@
81
92
  "@vitest/coverage-v8": "4.1.1",
82
93
  "vitest": "^4.1.1",
83
94
  "vitest-mock-extended": "^3.1.0",
84
- "@n8n/typescript-config": "1.4.0",
85
- "@n8n/vitest-config": "1.13.0"
95
+ "@n8n/typescript-config": "1.6.0",
96
+ "@n8n/vitest-config": "1.15.0"
86
97
  },
87
98
  "license": "SEE LICENSE IN LICENSE.md",
88
99
  "homepage": "https://n8n.io",
@@ -99,6 +110,7 @@
99
110
  "dev": "pnpm watch",
100
111
  "typecheck": "tsc --noEmit",
101
112
  "build": "rimraf dist && tsc -p tsconfig.build.json",
113
+ "build:unchecked": "rimraf dist && tsc -p tsconfig.build.json --noCheck",
102
114
  "format": "biome format --write src examples",
103
115
  "format:check": "biome ci src examples",
104
116
  "lint": "eslint . --quiet",
@@ -1,20 +0,0 @@
1
- import type { Agent } from './agent';
2
- import type { GenerateResult, RunOptions } from '../types';
3
- interface BuiltNetwork {
4
- readonly name: string;
5
- run(prompt: string, options?: RunOptions): Promise<GenerateResult>;
6
- }
7
- export declare class Network {
8
- private networkName;
9
- private coordinatorAgent?;
10
- private agents;
11
- private built?;
12
- constructor(name: string);
13
- coordinator(a: Agent): this;
14
- agent(a: Agent): this;
15
- private ensureBuilt;
16
- get name(): string;
17
- run(prompt: string, options?: RunOptions): Promise<GenerateResult>;
18
- protected build(): BuiltNetwork;
19
- }
20
- export {};
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Network = void 0;
4
- class Network {
5
- constructor(name) {
6
- this.agents = [];
7
- this.networkName = name;
8
- }
9
- coordinator(a) {
10
- this.coordinatorAgent = a;
11
- return this;
12
- }
13
- agent(a) {
14
- this.agents.push(a);
15
- return this;
16
- }
17
- ensureBuilt() {
18
- this.built ??= this.build();
19
- return this.built;
20
- }
21
- get name() {
22
- return this.networkName;
23
- }
24
- async run(prompt, options) {
25
- return await this.ensureBuilt().run(prompt, options);
26
- }
27
- build() {
28
- if (!this.coordinatorAgent) {
29
- throw new Error(`Network "${this.networkName}" requires a coordinator`);
30
- }
31
- if (this.agents.length === 0) {
32
- throw new Error(`Network "${this.networkName}" requires at least one agent`);
33
- }
34
- const coordinator = this.coordinatorAgent;
35
- const name = this.networkName;
36
- return {
37
- name,
38
- async run(prompt, options) {
39
- const messages = [{ role: 'user', content: [{ type: 'text', text: prompt }] }];
40
- return await coordinator.generate(messages, options);
41
- },
42
- };
43
- }
44
- }
45
- exports.Network = Network;
46
- //# sourceMappingURL=network.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/sdk/network.ts"],"names":[],"mappings":";;;AAsBA,MAAa,OAAO;IASnB,YAAY,IAAY;QAJhB,WAAM,GAAY,EAAE,CAAC;QAK5B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IACzB,CAAC;IAGD,WAAW,CAAC,CAAQ;QACnB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAC1B,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,KAAK,CAAC,CAAQ;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,IAAI,CAAC;IACb,CAAC;IAGO,WAAW;QAClB,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC;IACnB,CAAC;IAGD,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAGD,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,OAAoB;QAC7C,OAAO,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAGS,KAAK;QACd,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,0BAA0B,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,YAAY,IAAI,CAAC,WAAW,+BAA+B,CAAC,CAAC;QAC9E,CAAC;QAOD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAE9B,OAAO;YACN,IAAI;YAEJ,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,OAAoB;gBAC7C,MAAM,QAAQ,GAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;gBAC1F,OAAO,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACtD,CAAC;SACD,CAAC;IACH,CAAC;CACD;AAnED,0BAmEC"}