@intella/sdk 0.0.7 → 0.0.9
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/README.md +70 -6
- package/dist/agent-manager.d.ts +4 -4
- package/dist/agent-manager.d.ts.map +1 -1
- package/dist/agent-manager.js +12 -7
- package/dist/agent-manager.js.map +1 -1
- package/dist/agents/base-agent.d.ts +35 -2
- package/dist/agents/base-agent.d.ts.map +1 -1
- package/dist/agents/base-agent.js +280 -24
- package/dist/agents/base-agent.js.map +1 -1
- package/dist/agents/claude-agent.d.ts +1 -1
- package/dist/agents/claude-agent.d.ts.map +1 -1
- package/dist/agents/claude-agent.js +2 -1
- package/dist/agents/claude-agent.js.map +1 -1
- package/dist/agents/codex-agent.d.ts +1 -1
- package/dist/agents/codex-agent.d.ts.map +1 -1
- package/dist/agents/codex-agent.js +2 -1
- package/dist/agents/codex-agent.js.map +1 -1
- package/dist/agents/intella-lite-agent.d.ts +1 -1
- package/dist/agents/intella-lite-agent.d.ts.map +1 -1
- package/dist/agents/intella-lite-agent.js +2 -1
- package/dist/agents/intella-lite-agent.js.map +1 -1
- package/dist/agents/opencode-agent.d.ts +1 -1
- package/dist/agents/opencode-agent.d.ts.map +1 -1
- package/dist/agents/opencode-agent.js +2 -3
- package/dist/agents/opencode-agent.js.map +1 -1
- package/dist/index.d.ts +22 -12
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -11
- package/dist/index.js.map +1 -1
- package/dist/sandbox/{agent-installers.d.ts → agents/agent-installers.d.ts} +1 -1
- package/dist/sandbox/agents/agent-installers.d.ts.map +1 -0
- package/dist/sandbox/{agent-installers.js → agents/agent-installers.js} +5 -4
- package/dist/sandbox/agents/agent-installers.js.map +1 -0
- package/dist/sandbox/{agent-setup.d.ts → agents/agent-setup.d.ts} +1 -1
- package/dist/sandbox/agents/agent-setup.d.ts.map +1 -0
- package/dist/sandbox/{agent-setup.js → agents/agent-setup.js} +3 -2
- package/dist/sandbox/agents/agent-setup.js.map +1 -0
- package/dist/sandbox/agents/agents.d.ts +49 -0
- package/dist/sandbox/agents/agents.d.ts.map +1 -0
- package/dist/sandbox/agents/agents.js +71 -0
- package/dist/sandbox/agents/agents.js.map +1 -0
- package/dist/sandbox/config.d.ts +1 -1
- package/dist/sandbox/config.d.ts.map +1 -1
- package/dist/sandbox/config.js +26 -18
- package/dist/sandbox/config.js.map +1 -1
- package/dist/sandbox/file-utils.d.ts +20 -0
- package/dist/sandbox/file-utils.d.ts.map +1 -0
- package/dist/sandbox/file-utils.js +101 -0
- package/dist/sandbox/file-utils.js.map +1 -0
- package/dist/sandbox/operations/code-operations.d.ts +68 -0
- package/dist/sandbox/operations/code-operations.d.ts.map +1 -0
- package/dist/sandbox/operations/code-operations.js +208 -0
- package/dist/sandbox/operations/code-operations.js.map +1 -0
- package/dist/sandbox/operations/git-operations.d.ts +27 -0
- package/dist/sandbox/operations/git-operations.d.ts.map +1 -0
- package/dist/sandbox/operations/git-operations.js +235 -0
- package/dist/sandbox/operations/git-operations.js.map +1 -0
- package/dist/sandbox/providers/base-provider.d.ts +283 -0
- package/dist/sandbox/providers/base-provider.d.ts.map +1 -0
- package/dist/sandbox/providers/base-provider.js +816 -0
- package/dist/sandbox/providers/base-provider.js.map +1 -0
- package/dist/sandbox/{daytona-provider.d.ts → providers/daytona-provider.d.ts} +19 -16
- package/dist/sandbox/providers/daytona-provider.d.ts.map +1 -0
- package/dist/sandbox/{daytona-provider.js → providers/daytona-provider.js} +96 -27
- package/dist/sandbox/providers/daytona-provider.js.map +1 -0
- package/dist/sandbox/{e2b-provider.d.ts → providers/e2b-provider.d.ts} +16 -10
- package/dist/sandbox/providers/e2b-provider.d.ts.map +1 -0
- package/dist/sandbox/{e2b-provider.js → providers/e2b-provider.js} +51 -29
- package/dist/sandbox/providers/e2b-provider.js.map +1 -0
- package/dist/sandbox/{local-provider.d.ts → providers/local-provider.d.ts} +12 -6
- package/dist/sandbox/providers/local-provider.d.ts.map +1 -0
- package/dist/sandbox/{local-provider.js → providers/local-provider.js} +24 -21
- package/dist/sandbox/providers/local-provider.js.map +1 -0
- package/dist/sandbox/{modal-provider.d.ts → providers/modal-provider.d.ts} +18 -12
- package/dist/sandbox/providers/modal-provider.d.ts.map +1 -0
- package/dist/sandbox/{modal-provider.js → providers/modal-provider.js} +49 -29
- package/dist/sandbox/providers/modal-provider.js.map +1 -0
- package/dist/sandbox/{vercel-provider.d.ts → providers/vercel-provider.d.ts} +19 -14
- package/dist/sandbox/providers/vercel-provider.d.ts.map +1 -0
- package/dist/sandbox/{vercel-provider.js → providers/vercel-provider.js} +41 -42
- package/dist/sandbox/providers/vercel-provider.js.map +1 -0
- package/dist/sandbox/utils/detector.d.ts +28 -0
- package/dist/sandbox/utils/detector.d.ts.map +1 -0
- package/dist/sandbox/utils/detector.js +243 -0
- package/dist/sandbox/utils/detector.js.map +1 -0
- package/dist/sandbox-manager.js +5 -5
- package/dist/sandbox-manager.js.map +1 -1
- package/dist/sdk.d.ts +4 -3
- package/dist/sdk.d.ts.map +1 -1
- package/dist/sdk.js +7 -3
- package/dist/sdk.js.map +1 -1
- package/dist/session/execution-store.d.ts +71 -0
- package/dist/session/execution-store.d.ts.map +1 -0
- package/dist/session/execution-store.js +156 -0
- package/dist/session/execution-store.js.map +1 -0
- package/dist/session/index.d.ts +14 -0
- package/dist/session/index.d.ts.map +1 -0
- package/dist/session/index.js +20 -0
- package/dist/session/index.js.map +1 -0
- package/dist/session/manager.d.ts +164 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +493 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/store.d.ts +20 -0
- package/dist/session/store.d.ts.map +1 -0
- package/dist/session/store.js +69 -0
- package/dist/session/store.js.map +1 -0
- package/dist/session/types.d.ts +57 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +2 -0
- package/dist/session/types.js.map +1 -0
- package/dist/types.d.ts +622 -19
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +35 -0
- package/dist/types.js.map +1 -1
- package/dist/utils/cli-daemon.d.ts.map +1 -1
- package/dist/utils/cli-daemon.js +1 -3
- package/dist/utils/cli-daemon.js.map +1 -1
- package/dist/utils/machine-id.d.ts +8 -0
- package/dist/utils/machine-id.d.ts.map +1 -0
- package/dist/utils/machine-id.js +19 -0
- package/dist/utils/machine-id.js.map +1 -0
- package/dist/utils/redis/client.d.ts +18 -0
- package/dist/utils/redis/client.d.ts.map +1 -0
- package/dist/utils/redis/client.js +52 -0
- package/dist/utils/redis/client.js.map +1 -0
- package/dist/utils/redis/index.d.ts +2 -0
- package/dist/utils/redis/index.d.ts.map +1 -0
- package/dist/utils/redis/index.js +2 -0
- package/dist/utils/redis/index.js.map +1 -0
- package/dist/utils/{redis-stream.d.ts → redis/stream.d.ts} +41 -74
- package/dist/utils/redis/stream.d.ts.map +1 -0
- package/dist/utils/{redis-stream.js → redis/stream.js} +133 -69
- package/dist/utils/redis/stream.js.map +1 -0
- package/dist/utils/repo-context.d.ts +16 -0
- package/dist/utils/repo-context.d.ts.map +1 -0
- package/dist/utils/repo-context.js +65 -0
- package/dist/utils/repo-context.js.map +1 -0
- package/dist/utils/tool-response.d.ts +20 -0
- package/dist/utils/tool-response.d.ts.map +1 -0
- package/dist/utils/tool-response.js +68 -0
- package/dist/utils/tool-response.js.map +1 -0
- package/package.json +23 -8
- package/dist/sandbox/agent-installers.d.ts.map +0 -1
- package/dist/sandbox/agent-installers.js.map +0 -1
- package/dist/sandbox/agent-setup.d.ts.map +0 -1
- package/dist/sandbox/agent-setup.js.map +0 -1
- package/dist/sandbox/base-provider.d.ts +0 -106
- package/dist/sandbox/base-provider.d.ts.map +0 -1
- package/dist/sandbox/base-provider.js +0 -74
- package/dist/sandbox/base-provider.js.map +0 -1
- package/dist/sandbox/daytona-provider.d.ts.map +0 -1
- package/dist/sandbox/daytona-provider.js.map +0 -1
- package/dist/sandbox/e2b-provider.d.ts.map +0 -1
- package/dist/sandbox/e2b-provider.js.map +0 -1
- package/dist/sandbox/local-provider.d.ts.map +0 -1
- package/dist/sandbox/local-provider.js.map +0 -1
- package/dist/sandbox/modal-provider.d.ts.map +0 -1
- package/dist/sandbox/modal-provider.js.map +0 -1
- package/dist/sandbox/vercel-provider.d.ts.map +0 -1
- package/dist/sandbox/vercel-provider.js.map +0 -1
- package/dist/utils/redis-stream.d.ts.map +0 -1
- package/dist/utils/redis-stream.js.map +0 -1
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
|
-
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo } from '
|
|
2
|
+
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo, WriteFileContent } from '../../types.js';
|
|
3
3
|
/**
|
|
4
4
|
* Local Sandbox Provider
|
|
5
5
|
* Executes commands and file operations on the current machine.
|
|
6
6
|
* Mimics the sandbox provider interface for local and dev compatibility.
|
|
7
7
|
*
|
|
8
|
-
* Uses a consistent, machine-specific sandbox ID
|
|
8
|
+
* Uses a consistent, machine-specific sandbox ID via getLocalMachineSandboxId().
|
|
9
9
|
* This ensures the daemon can properly route commands to the local sandbox.
|
|
10
10
|
*/
|
|
11
11
|
export declare class LocalSandboxProvider extends BaseSandboxProvider {
|
|
@@ -23,7 +23,10 @@ export declare class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
23
23
|
protected initializeSandbox(config?: SandboxConfig): Promise<void>;
|
|
24
24
|
fromSandbox(sandboxId: string, config?: SandboxConfig): Promise<void>;
|
|
25
25
|
close(): Promise<void>;
|
|
26
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Execute a command in the local sandbox (internal implementation)
|
|
28
|
+
*/
|
|
29
|
+
protected executeCommandRaw(command: string, options?: {
|
|
27
30
|
cwd?: string;
|
|
28
31
|
env?: Record<string, string>;
|
|
29
32
|
timeout?: number;
|
|
@@ -35,13 +38,16 @@ export declare class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
35
38
|
onStdout?: (data: string) => void;
|
|
36
39
|
onStderr?: (data: string) => void;
|
|
37
40
|
}): Promise<CodeExecutionResult>;
|
|
38
|
-
uploadFile(localPath: string, remotePath: string): Promise<void>;
|
|
39
41
|
downloadFile(remotePath: string, localPath: string): Promise<void>;
|
|
40
|
-
|
|
41
|
-
|
|
42
|
+
protected readFileRaw(pathArg: string): Promise<Uint8Array>;
|
|
43
|
+
protected writeFileSingle(pathArg: string, content: WriteFileContent): Promise<void>;
|
|
44
|
+
createDirectory(pathArg: string, options?: {
|
|
45
|
+
recursive?: boolean;
|
|
46
|
+
}): Promise<void>;
|
|
42
47
|
listFiles(pathArg: string): Promise<string[]>;
|
|
43
48
|
fileExists(pathArg: string): Promise<boolean>;
|
|
44
49
|
deleteFile(pathArg: string): Promise<void>;
|
|
50
|
+
getHost(port: number, _timeout?: number): Promise<string>;
|
|
45
51
|
getStatus(): Promise<{
|
|
46
52
|
isRunning: boolean;
|
|
47
53
|
createdAt?: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-provider.d.ts","sourceRoot":"","sources":["../../../src/sandbox/providers/local-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AASxB;;;;;;;GAOG;AACH,qBAAa,oBAAqB,SAAQ,mBAAmB;IAC3D,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAa;IAC9B,OAAO,CAAC,MAAM,CAAC,eAAe,CAAuB;gBAEzC,MAAM,CAAC,EAAE,aAAa;IAKlC,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAIpC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAOhC,SAAS,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;cAQnC,iBAAiB,CAAC,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAerE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAM5B;;OAEG;cACa,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GACA,OAAO,CAAC,aAAa,CAAC;IA4DnB,OAAO,CACX,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAClC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KACnC,GACA,OAAO,CAAC,mBAAmB,CAAC;IAyHzB,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;cAQxD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;cAOjD,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,IAAI,CAAC;IASV,eAAe,CACnB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,GAChC,OAAO,CAAC,IAAI,CAAC;IAMV,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO7C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU7C,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1C,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKzD,SAAS,IAAI,OAAO,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IAQI,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;CAYxD"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
|
-
import { SandboxProviderType } from '
|
|
2
|
+
import { SandboxProviderType } from '../../types.js';
|
|
3
|
+
import { contentToBytes } from '../file-utils.js';
|
|
4
|
+
import { getLocalMachineSandboxId } from '../../utils/machine-id.js';
|
|
3
5
|
import { spawn } from 'child_process';
|
|
4
6
|
import * as fs from 'fs/promises';
|
|
5
7
|
import * as path from 'path';
|
|
6
8
|
import * as os from 'os';
|
|
7
|
-
import * as crypto from 'crypto';
|
|
8
9
|
/**
|
|
9
10
|
* Local Sandbox Provider
|
|
10
11
|
* Executes commands and file operations on the current machine.
|
|
11
12
|
* Mimics the sandbox provider interface for local and dev compatibility.
|
|
12
13
|
*
|
|
13
|
-
* Uses a consistent, machine-specific sandbox ID
|
|
14
|
+
* Uses a consistent, machine-specific sandbox ID via getLocalMachineSandboxId().
|
|
14
15
|
* This ensures the daemon can properly route commands to the local sandbox.
|
|
15
16
|
*/
|
|
16
17
|
export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
@@ -32,10 +33,7 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
32
33
|
if (LocalSandboxProvider.cachedMachineId) {
|
|
33
34
|
return LocalSandboxProvider.cachedMachineId;
|
|
34
35
|
}
|
|
35
|
-
|
|
36
|
-
const hash = crypto.createHash('sha256').update(machineKey).digest('hex').slice(0, 12);
|
|
37
|
-
LocalSandboxProvider.cachedMachineId = `local-${hash}`;
|
|
38
|
-
return LocalSandboxProvider.cachedMachineId;
|
|
36
|
+
return getLocalMachineSandboxId();
|
|
39
37
|
}
|
|
40
38
|
resolvePath(relativePath) {
|
|
41
39
|
const normalized = relativePath.replace(/^\/+/, '');
|
|
@@ -49,7 +47,6 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
49
47
|
this.config = { ...this.config, ...config };
|
|
50
48
|
}
|
|
51
49
|
this.baseDir = this.config.cwd ?? process.cwd();
|
|
52
|
-
// Use consistent machine-specific sandbox ID
|
|
53
50
|
this.sandboxId = LocalSandboxProvider.generateMachineId();
|
|
54
51
|
this.createdAt = Date.now();
|
|
55
52
|
this.initialized = true;
|
|
@@ -64,7 +61,6 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
64
61
|
throw new Error(`Invalid local sandbox ID format: ${sandboxId}. Expected 'local-{hash}' or 'local-{uuid}'`);
|
|
65
62
|
}
|
|
66
63
|
// Always use the machine-specific ID for consistency, even if legacy format was provided
|
|
67
|
-
// This ensures compatibility with the daemon which expects a single sandbox ID per machine
|
|
68
64
|
this.sandboxId = LocalSandboxProvider.generateMachineId();
|
|
69
65
|
this.createdAt = this.createdAt || Date.now();
|
|
70
66
|
this.initialized = true;
|
|
@@ -74,7 +70,10 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
74
70
|
this.initialized = false;
|
|
75
71
|
this.createdAt = 0;
|
|
76
72
|
}
|
|
77
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Execute a command in the local sandbox (internal implementation)
|
|
75
|
+
*/
|
|
76
|
+
async executeCommandRaw(command, options) {
|
|
78
77
|
this.ensureInitialized();
|
|
79
78
|
const cwd = options?.cwd ? this.resolvePath(options.cwd) : this.baseDir;
|
|
80
79
|
const env = { ...process.env, ...(options?.env ?? {}) };
|
|
@@ -236,13 +235,6 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
236
235
|
});
|
|
237
236
|
});
|
|
238
237
|
}
|
|
239
|
-
async uploadFile(localPath, remotePath) {
|
|
240
|
-
this.ensureInitialized();
|
|
241
|
-
const dest = this.resolvePath(remotePath);
|
|
242
|
-
const dir = path.dirname(dest);
|
|
243
|
-
await fs.mkdir(dir, { recursive: true });
|
|
244
|
-
await fs.copyFile(localPath, dest);
|
|
245
|
-
}
|
|
246
238
|
async downloadFile(remotePath, localPath) {
|
|
247
239
|
this.ensureInitialized();
|
|
248
240
|
const src = this.resolvePath(remotePath);
|
|
@@ -250,17 +242,24 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
250
242
|
await fs.mkdir(dir, { recursive: true });
|
|
251
243
|
await fs.copyFile(src, localPath);
|
|
252
244
|
}
|
|
253
|
-
async
|
|
245
|
+
async readFileRaw(pathArg) {
|
|
254
246
|
this.ensureInitialized();
|
|
255
247
|
const p = this.resolvePath(pathArg);
|
|
256
|
-
|
|
248
|
+
const buffer = await fs.readFile(p);
|
|
249
|
+
return new Uint8Array(buffer);
|
|
257
250
|
}
|
|
258
|
-
async
|
|
251
|
+
async writeFileSingle(pathArg, content) {
|
|
259
252
|
this.ensureInitialized();
|
|
260
253
|
const p = this.resolvePath(pathArg);
|
|
261
254
|
const dir = path.dirname(p);
|
|
262
255
|
await fs.mkdir(dir, { recursive: true });
|
|
263
|
-
await
|
|
256
|
+
const bytes = await contentToBytes(content);
|
|
257
|
+
await fs.writeFile(p, Buffer.from(bytes));
|
|
258
|
+
}
|
|
259
|
+
async createDirectory(pathArg, options) {
|
|
260
|
+
this.ensureInitialized();
|
|
261
|
+
const p = this.resolvePath(pathArg);
|
|
262
|
+
await fs.mkdir(p, { recursive: options?.recursive ?? true });
|
|
264
263
|
}
|
|
265
264
|
async listFiles(pathArg) {
|
|
266
265
|
this.ensureInitialized();
|
|
@@ -282,6 +281,10 @@ export class LocalSandboxProvider extends BaseSandboxProvider {
|
|
|
282
281
|
this.ensureInitialized();
|
|
283
282
|
await fs.unlink(this.resolvePath(pathArg));
|
|
284
283
|
}
|
|
284
|
+
async getHost(port, _timeout) {
|
|
285
|
+
this.ensureInitialized();
|
|
286
|
+
return `http://localhost:${port}`;
|
|
287
|
+
}
|
|
285
288
|
async getStatus() {
|
|
286
289
|
return {
|
|
287
290
|
isRunning: this.initialized,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-provider.js","sourceRoot":"","sources":["../../../src/sandbox/providers/local-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
|
-
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo } from '
|
|
2
|
+
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo, WriteFileContent } from '../../types.js';
|
|
3
3
|
import { ModalClient, Sandbox } from 'modal';
|
|
4
4
|
/**
|
|
5
5
|
* Modal Sandbox Provider
|
|
@@ -25,9 +25,9 @@ export declare class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
25
25
|
*/
|
|
26
26
|
close(): Promise<void>;
|
|
27
27
|
/**
|
|
28
|
-
* Execute a command in the Modal sandbox
|
|
28
|
+
* Execute a command in the Modal sandbox (internal implementation)
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
protected executeCommandRaw(command: string, options?: {
|
|
31
31
|
cwd?: string;
|
|
32
32
|
env?: Record<string, string>;
|
|
33
33
|
timeout?: number;
|
|
@@ -42,26 +42,27 @@ export declare class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
42
42
|
onStdout?: (data: string) => void;
|
|
43
43
|
onStderr?: (data: string) => void;
|
|
44
44
|
}): Promise<CodeExecutionResult>;
|
|
45
|
-
/**
|
|
46
|
-
* Upload a file to the Modal sandbox
|
|
47
|
-
* Uses the filesystem API
|
|
48
|
-
*/
|
|
49
|
-
uploadFile(localPath: string, remotePath: string): Promise<void>;
|
|
50
45
|
/**
|
|
51
46
|
* Download a file from the Modal sandbox
|
|
52
47
|
* Uses the filesystem API
|
|
53
48
|
*/
|
|
54
49
|
downloadFile(remotePath: string, localPath: string): Promise<void>;
|
|
55
50
|
/**
|
|
56
|
-
* Read a file from the Modal sandbox
|
|
57
|
-
* Uses the filesystem API
|
|
51
|
+
* Read a file from the Modal sandbox as raw bytes
|
|
52
|
+
* Uses the filesystem API (FileIO-style)
|
|
58
53
|
*/
|
|
59
|
-
|
|
54
|
+
protected readFileRaw(path: string): Promise<Uint8Array>;
|
|
60
55
|
/**
|
|
61
56
|
* Write a file to the Modal sandbox
|
|
62
57
|
* Uses the filesystem API
|
|
63
58
|
*/
|
|
64
|
-
|
|
59
|
+
protected writeFileSingle(path: string, content: WriteFileContent): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Create a directory in the Modal sandbox (uses mkdir -p command)
|
|
62
|
+
*/
|
|
63
|
+
createDirectory(path: string, _options?: {
|
|
64
|
+
recursive?: boolean;
|
|
65
|
+
}): Promise<void>;
|
|
65
66
|
/**
|
|
66
67
|
* List files in a directory
|
|
67
68
|
* Uses exec to run ls command
|
|
@@ -76,6 +77,11 @@ export declare class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
76
77
|
* Uses exec to run rm command
|
|
77
78
|
*/
|
|
78
79
|
deleteFile(path: string): Promise<void>;
|
|
80
|
+
/**
|
|
81
|
+
* Get host URL for a service running on the specified port
|
|
82
|
+
* Uses sandbox.tunnels() to get the tunnel for the specified port
|
|
83
|
+
*/
|
|
84
|
+
getHost(port: number, _timeout?: number): Promise<string>;
|
|
79
85
|
/**
|
|
80
86
|
* Get sandbox status
|
|
81
87
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-provider.d.ts","sourceRoot":"","sources":["../../../src/sandbox/providers/modal-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
2
|
import { ModalClient } from 'modal';
|
|
3
|
-
import { SandboxProviderType } from '
|
|
3
|
+
import { SandboxProviderType } from '../../types.js';
|
|
4
|
+
import { contentToBytes } from '../file-utils.js';
|
|
4
5
|
/**
|
|
5
6
|
* Modal Sandbox Provider
|
|
6
7
|
* Provides sandbox execution capabilities using Modal
|
|
@@ -136,9 +137,9 @@ export class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
/**
|
|
139
|
-
* Execute a command in the Modal sandbox
|
|
140
|
+
* Execute a command in the Modal sandbox (internal implementation)
|
|
140
141
|
*/
|
|
141
|
-
async
|
|
142
|
+
async executeCommandRaw(command, options) {
|
|
142
143
|
this.ensureInitialized();
|
|
143
144
|
const startTime = Date.now();
|
|
144
145
|
try {
|
|
@@ -311,24 +312,6 @@ export class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
311
312
|
};
|
|
312
313
|
}
|
|
313
314
|
}
|
|
314
|
-
/**
|
|
315
|
-
* Upload a file to the Modal sandbox
|
|
316
|
-
* Uses the filesystem API
|
|
317
|
-
*/
|
|
318
|
-
async uploadFile(localPath, remotePath) {
|
|
319
|
-
this.ensureInitialized();
|
|
320
|
-
try {
|
|
321
|
-
const fs = await import('fs/promises');
|
|
322
|
-
const content = await fs.readFile(localPath);
|
|
323
|
-
// Use filesystem API to write file
|
|
324
|
-
const file = await this.sandboxInstance.open(remotePath, 'w');
|
|
325
|
-
await file.write(content);
|
|
326
|
-
file.close();
|
|
327
|
-
}
|
|
328
|
-
catch (error) {
|
|
329
|
-
throw new Error(`Failed to upload file to Modal sandbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
315
|
/**
|
|
333
316
|
* Download a file from the Modal sandbox
|
|
334
317
|
* Uses the filesystem API
|
|
@@ -350,17 +333,26 @@ export class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
350
333
|
}
|
|
351
334
|
}
|
|
352
335
|
/**
|
|
353
|
-
* Read a file from the Modal sandbox
|
|
354
|
-
* Uses the filesystem API
|
|
336
|
+
* Read a file from the Modal sandbox as raw bytes
|
|
337
|
+
* Uses the filesystem API (FileIO-style)
|
|
355
338
|
*/
|
|
356
|
-
async
|
|
339
|
+
async readFileRaw(path) {
|
|
357
340
|
this.ensureInitialized();
|
|
358
341
|
try {
|
|
359
|
-
// Use filesystem API to read file
|
|
360
342
|
const file = await this.sandboxInstance.open(path, 'r');
|
|
361
343
|
const content = await file.read();
|
|
362
344
|
file.close();
|
|
363
|
-
|
|
345
|
+
let buffer;
|
|
346
|
+
if (Buffer.isBuffer(content)) {
|
|
347
|
+
buffer = content;
|
|
348
|
+
}
|
|
349
|
+
else if (typeof content === 'string') {
|
|
350
|
+
buffer = Buffer.from(content, 'utf-8');
|
|
351
|
+
}
|
|
352
|
+
else {
|
|
353
|
+
buffer = Buffer.from(content);
|
|
354
|
+
}
|
|
355
|
+
return new Uint8Array(buffer);
|
|
364
356
|
}
|
|
365
357
|
catch (error) {
|
|
366
358
|
throw new Error(`Failed to read file from Modal sandbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
@@ -370,18 +362,33 @@ export class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
370
362
|
* Write a file to the Modal sandbox
|
|
371
363
|
* Uses the filesystem API
|
|
372
364
|
*/
|
|
373
|
-
async
|
|
365
|
+
async writeFileSingle(path, content) {
|
|
374
366
|
this.ensureInitialized();
|
|
375
367
|
try {
|
|
376
|
-
|
|
368
|
+
const bytes = await contentToBytes(content);
|
|
377
369
|
const file = await this.sandboxInstance.open(path, 'w');
|
|
378
|
-
file.write(Buffer.from(
|
|
370
|
+
file.write(Buffer.from(bytes));
|
|
379
371
|
file.close();
|
|
380
372
|
}
|
|
381
373
|
catch (error) {
|
|
382
374
|
throw new Error(`Failed to write file to Modal sandbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
383
375
|
}
|
|
384
376
|
}
|
|
377
|
+
/**
|
|
378
|
+
* Create a directory in the Modal sandbox (uses mkdir -p command)
|
|
379
|
+
*/
|
|
380
|
+
async createDirectory(path, _options) {
|
|
381
|
+
this.ensureInitialized();
|
|
382
|
+
try {
|
|
383
|
+
const result = await this.executeCommand(`mkdir -p ${JSON.stringify(path)}`);
|
|
384
|
+
if (result.exitCode !== 0) {
|
|
385
|
+
throw new Error(result.stderr?.toString() ?? 'mkdir failed');
|
|
386
|
+
}
|
|
387
|
+
}
|
|
388
|
+
catch (error) {
|
|
389
|
+
throw new Error(`Failed to create directory in Modal sandbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
385
392
|
/**
|
|
386
393
|
* List files in a directory
|
|
387
394
|
* Uses exec to run ls command
|
|
@@ -457,6 +464,19 @@ export class ModalSandboxProvider extends BaseSandboxProvider {
|
|
|
457
464
|
throw new Error(`Failed to delete file in Modal sandbox: ${error instanceof Error ? error.message : String(error)}`);
|
|
458
465
|
}
|
|
459
466
|
}
|
|
467
|
+
/**
|
|
468
|
+
* Get host URL for a service running on the specified port
|
|
469
|
+
* Uses sandbox.tunnels() to get the tunnel for the specified port
|
|
470
|
+
*/
|
|
471
|
+
async getHost(port, _timeout) {
|
|
472
|
+
this.ensureInitialized();
|
|
473
|
+
const tunnels = await this.sandboxInstance.tunnels(_timeout);
|
|
474
|
+
const tunnel = tunnels[port];
|
|
475
|
+
if (!tunnel) {
|
|
476
|
+
throw new Error(`No tunnel found for port ${port}. Available ports: ${Object.keys(tunnels).join(', ')}`);
|
|
477
|
+
}
|
|
478
|
+
return tunnel.url;
|
|
479
|
+
}
|
|
460
480
|
/**
|
|
461
481
|
* Get sandbox status
|
|
462
482
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal-provider.js","sourceRoot":"","sources":["../../../src/sandbox/providers/modal-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseSandboxProvider } from './base-provider.js';
|
|
2
|
-
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo } from '
|
|
2
|
+
import type { SandboxConfig, CommandResult, CodeExecutionResult, SandboxInfo, WriteFileContent } from '../../types.js';
|
|
3
3
|
import { Sandbox } from '@vercel/sandbox';
|
|
4
4
|
import 'dotenv/config';
|
|
5
5
|
/**
|
|
@@ -24,9 +24,9 @@ export declare class VercelSandboxProvider extends BaseSandboxProvider {
|
|
|
24
24
|
*/
|
|
25
25
|
close(): Promise<void>;
|
|
26
26
|
/**
|
|
27
|
-
* Execute a command in the Vercel sandbox
|
|
27
|
+
* Execute a command in the Vercel sandbox (internal implementation)
|
|
28
28
|
*/
|
|
29
|
-
|
|
29
|
+
protected executeCommandRaw(command: string, options?: {
|
|
30
30
|
cwd?: string;
|
|
31
31
|
env?: Record<string, string>;
|
|
32
32
|
timeout?: number;
|
|
@@ -41,26 +41,26 @@ export declare class VercelSandboxProvider extends BaseSandboxProvider {
|
|
|
41
41
|
onStdout?: (data: string) => void;
|
|
42
42
|
onStderr?: (data: string) => void;
|
|
43
43
|
}): Promise<CodeExecutionResult>;
|
|
44
|
-
/**
|
|
45
|
-
* Upload a file to the Vercel sandbox
|
|
46
|
-
* Uses writeFile to write content
|
|
47
|
-
*/
|
|
48
|
-
uploadFile(localPath: string, remotePath: string): Promise<void>;
|
|
49
44
|
/**
|
|
50
45
|
* Download a file from the Vercel sandbox
|
|
51
|
-
* Uses
|
|
46
|
+
* Uses readFileToBuffer for binary-safe download
|
|
52
47
|
*/
|
|
53
48
|
downloadFile(remotePath: string, localPath: string): Promise<void>;
|
|
54
49
|
/**
|
|
55
|
-
* Read a file from the Vercel sandbox
|
|
56
|
-
* Uses cat command to read file
|
|
50
|
+
* Read a file from the Vercel sandbox as raw bytes
|
|
57
51
|
*/
|
|
58
|
-
|
|
52
|
+
protected readFileRaw(path: string): Promise<Uint8Array>;
|
|
59
53
|
/**
|
|
60
54
|
* Write a file to the Vercel sandbox
|
|
61
|
-
* Uses
|
|
55
|
+
* Uses native writeFiles API (binary-safe)
|
|
56
|
+
*/
|
|
57
|
+
protected writeFileSingle(path: string, content: WriteFileContent): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Create a directory in the Vercel sandbox (uses mkDir)
|
|
62
60
|
*/
|
|
63
|
-
|
|
61
|
+
createDirectory(path: string, _options?: {
|
|
62
|
+
recursive?: boolean;
|
|
63
|
+
}): Promise<void>;
|
|
64
64
|
/**
|
|
65
65
|
* List files in a directory
|
|
66
66
|
* Uses ls command
|
|
@@ -76,6 +76,11 @@ export declare class VercelSandboxProvider extends BaseSandboxProvider {
|
|
|
76
76
|
* Uses rm command
|
|
77
77
|
*/
|
|
78
78
|
deleteFile(path: string): Promise<void>;
|
|
79
|
+
/**
|
|
80
|
+
* Get host URL for a service running on the specified port
|
|
81
|
+
* Note: The port must be registered in the `ports` array during sandbox creation
|
|
82
|
+
*/
|
|
83
|
+
getHost(port: number, _timeout?: number): Promise<string>;
|
|
79
84
|
/**
|
|
80
85
|
* Get sandbox status
|
|
81
86
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vercel-provider.d.ts","sourceRoot":"","sources":["../../../src/sandbox/providers/vercel-provider.ts"],"names":[],"mappings":"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"}
|