@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.
- package/dist/build.tsbuildinfo +1 -1
- package/dist/index.d.ts +10 -2
- package/dist/index.js +36 -5
- package/dist/index.js.map +1 -1
- package/dist/runtime/agent-runtime.d.ts +14 -6
- package/dist/runtime/agent-runtime.js +359 -267
- package/dist/runtime/agent-runtime.js.map +1 -1
- package/dist/runtime/delegate-sub-agent-tool.d.ts +87 -0
- package/dist/runtime/delegate-sub-agent-tool.js +362 -0
- package/dist/runtime/delegate-sub-agent-tool.js.map +1 -0
- package/dist/runtime/event-bus.d.ts +8 -0
- package/dist/runtime/event-bus.js +48 -0
- package/dist/runtime/event-bus.js.map +1 -1
- package/dist/runtime/mcp-connection.d.ts +2 -3
- package/dist/runtime/mcp-connection.js +3 -6
- package/dist/runtime/mcp-connection.js.map +1 -1
- package/dist/runtime/message-list.d.ts +9 -3
- package/dist/runtime/message-list.js +16 -5
- package/dist/runtime/message-list.js.map +1 -1
- package/dist/runtime/messages.js +10 -2
- package/dist/runtime/messages.js.map +1 -1
- package/dist/runtime/model-factory.js +12 -0
- package/dist/runtime/model-factory.js.map +1 -1
- package/dist/runtime/provider-credentials.d.ts +13 -0
- package/dist/runtime/provider-credentials.js +1 -0
- package/dist/runtime/provider-credentials.js.map +1 -1
- package/dist/runtime/runtime-helpers.d.ts +1 -2
- package/dist/runtime/runtime-helpers.js +0 -8
- package/dist/runtime/runtime-helpers.js.map +1 -1
- package/dist/runtime/sdk-owned-tool.d.ts +4 -0
- package/dist/runtime/sdk-owned-tool.js +19 -0
- package/dist/runtime/sdk-owned-tool.js.map +1 -0
- package/dist/runtime/stream.js +8 -0
- package/dist/runtime/stream.js.map +1 -1
- package/dist/runtime/sub-agent-task-path.d.ts +10 -0
- package/dist/runtime/sub-agent-task-path.js +39 -0
- package/dist/runtime/sub-agent-task-path.js.map +1 -0
- package/dist/runtime/title-generation.js +8 -5
- package/dist/runtime/title-generation.js.map +1 -1
- package/dist/runtime/tool-adapter.d.ts +0 -9
- package/dist/runtime/tool-adapter.js +12 -21
- package/dist/runtime/tool-adapter.js.map +1 -1
- package/dist/runtime/write-todos-tool.d.ts +3 -0
- package/dist/runtime/write-todos-tool.js +95 -0
- package/dist/runtime/write-todos-tool.js.map +1 -0
- package/dist/sdk/agent.d.ts +19 -12
- package/dist/sdk/agent.js +318 -91
- package/dist/sdk/agent.js.map +1 -1
- package/dist/sdk/cancellation.d.ts +7 -0
- package/dist/sdk/cancellation.js +16 -0
- package/dist/sdk/cancellation.js.map +1 -0
- package/dist/sdk/catalog.js +40 -4
- package/dist/sdk/catalog.js.map +1 -1
- package/dist/sdk/guardrails/index.d.ts +5 -0
- package/dist/sdk/guardrails/index.js +15 -0
- package/dist/sdk/guardrails/index.js.map +1 -0
- package/dist/sdk/guardrails/patterns.d.ts +13 -0
- package/dist/sdk/guardrails/patterns.js +61 -0
- package/dist/sdk/guardrails/patterns.js.map +1 -0
- package/dist/sdk/guardrails/redactor.d.ts +24 -0
- package/dist/sdk/guardrails/redactor.js +86 -0
- package/dist/sdk/guardrails/redactor.js.map +1 -0
- package/dist/sdk/guardrails/streaming-redactor.d.ts +9 -0
- package/dist/sdk/guardrails/streaming-redactor.js +43 -0
- package/dist/sdk/guardrails/streaming-redactor.js.map +1 -0
- package/dist/sdk/mcp-client.d.ts +1 -1
- package/dist/sdk/mcp-client.js +2 -2
- package/dist/sdk/mcp-client.js.map +1 -1
- package/dist/sdk/memory.d.ts +1 -3
- package/dist/sdk/memory.js +0 -14
- package/dist/sdk/memory.js.map +1 -1
- package/dist/sdk/provider-capabilities.js +1 -0
- package/dist/sdk/provider-capabilities.js.map +1 -1
- package/dist/sdk/tool.d.ts +3 -0
- package/dist/sdk/tool.js +42 -10
- package/dist/sdk/tool.js.map +1 -1
- package/dist/storage/base-memory.d.ts +0 -31
- package/dist/storage/base-memory.js +0 -9
- package/dist/storage/base-memory.js.map +1 -1
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js.map +1 -1
- package/dist/types/runtime/event.d.ts +31 -1
- package/dist/types/runtime/event.js +2 -0
- package/dist/types/runtime/event.js.map +1 -1
- package/dist/types/sdk/agent-builder.d.ts +0 -1
- package/dist/types/sdk/agent.d.ts +20 -15
- package/dist/types/sdk/guardrail.d.ts +1 -1
- package/dist/types/sdk/memory.d.ts +0 -42
- package/dist/types/sdk/message.d.ts +1 -0
- package/dist/types/sdk/tool.d.ts +19 -1
- package/dist/utils/json-schema.d.ts +3 -0
- package/dist/utils/json-schema.js +72 -0
- package/dist/utils/json-schema.js.map +1 -0
- package/dist/workspace/filesystem/daytona-filesystem.d.ts +25 -0
- package/dist/workspace/filesystem/daytona-filesystem.js +130 -0
- package/dist/workspace/filesystem/daytona-filesystem.js.map +1 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.d.ts +25 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js +126 -0
- package/dist/workspace/filesystem/n8n-sandbox-filesystem.js.map +1 -0
- package/dist/workspace/sandbox/create-workspace.d.ts +4 -0
- package/dist/workspace/sandbox/create-workspace.js +68 -0
- package/dist/workspace/sandbox/create-workspace.js.map +1 -0
- package/dist/workspace/sandbox/daytona-auth-manager.d.ts +26 -0
- package/dist/workspace/sandbox/daytona-auth-manager.js +84 -0
- package/dist/workspace/sandbox/daytona-auth-manager.js.map +1 -0
- package/dist/workspace/sandbox/daytona-sandbox.d.ts +72 -0
- package/dist/workspace/sandbox/daytona-sandbox.js +357 -0
- package/dist/workspace/sandbox/daytona-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/index.d.ts +7 -0
- package/dist/workspace/sandbox/index.js +22 -0
- package/dist/workspace/sandbox/index.js.map +1 -0
- package/dist/workspace/sandbox/lazy-daytona.d.ts +2 -0
- package/dist/workspace/sandbox/lazy-daytona.js +12 -0
- package/dist/workspace/sandbox/lazy-daytona.js.map +1 -0
- package/dist/workspace/sandbox/logger.d.ts +12 -0
- package/dist/workspace/sandbox/logger.js +3 -0
- package/dist/workspace/sandbox/logger.js.map +1 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.d.ts +35 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js +138 -0
- package/dist/workspace/sandbox/n8n-sandbox-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/provider.d.ts +4 -0
- package/dist/workspace/sandbox/provider.js +14 -0
- package/dist/workspace/sandbox/provider.js.map +1 -0
- package/dist/workspace/sandbox/run-in-sandbox.d.ts +26 -0
- package/dist/workspace/sandbox/run-in-sandbox.js +19 -0
- package/dist/workspace/sandbox/run-in-sandbox.js.map +1 -0
- package/dist/workspace/sandbox/types.d.ts +45 -0
- package/dist/workspace/sandbox/types.js +3 -0
- package/dist/workspace/sandbox/types.js.map +1 -0
- package/dist/workspace/sandbox/workspace-root.d.ts +16 -0
- package/dist/workspace/sandbox/workspace-root.js +69 -0
- package/dist/workspace/sandbox/workspace-root.js.map +1 -0
- package/dist/workspace/tools/batch-str-replace-file.js +2 -2
- package/dist/workspace/tools/batch-str-replace-file.js.map +1 -1
- package/dist/workspace/tools/str-replace-file.js +2 -2
- package/dist/workspace/tools/str-replace-file.js.map +1 -1
- package/package.json +29 -17
- package/dist/sdk/network.d.ts +0 -20
- package/dist/sdk/network.js +0 -46
- 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 @@
|
|
|
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
|
|
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
|
|
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":";;AAmDA,sEA6BC;AAhFD,+
|
|
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
|
|
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
|
|
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,+
|
|
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.
|
|
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.
|
|
40
|
-
"@ai-sdk/anthropic": "3.0.
|
|
41
|
-
"@ai-sdk/azure": "^3.0.
|
|
42
|
-
"@ai-sdk/cohere": "^3.0.
|
|
43
|
-
"@ai-sdk/deepseek": "^2.0.
|
|
44
|
-
"@ai-sdk/gateway": "^3.0.
|
|
45
|
-
"@ai-sdk/google": "^3.0.
|
|
46
|
-
"@ai-sdk/groq": "^3.0.
|
|
47
|
-
"@ai-sdk/mistral": "^3.0.
|
|
48
|
-
"@ai-sdk/openai": "^3.0.
|
|
49
|
-
"@ai-sdk/
|
|
50
|
-
"@ai-sdk/
|
|
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.
|
|
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.
|
|
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.
|
|
85
|
-
"@n8n/vitest-config": "1.
|
|
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",
|
package/dist/sdk/network.d.ts
DELETED
|
@@ -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 {};
|
package/dist/sdk/network.js
DELETED
|
@@ -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
|
package/dist/sdk/network.js.map
DELETED
|
@@ -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"}
|