@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.
Files changed (163) hide show
  1. package/README.md +70 -6
  2. package/dist/agent-manager.d.ts +4 -4
  3. package/dist/agent-manager.d.ts.map +1 -1
  4. package/dist/agent-manager.js +12 -7
  5. package/dist/agent-manager.js.map +1 -1
  6. package/dist/agents/base-agent.d.ts +35 -2
  7. package/dist/agents/base-agent.d.ts.map +1 -1
  8. package/dist/agents/base-agent.js +280 -24
  9. package/dist/agents/base-agent.js.map +1 -1
  10. package/dist/agents/claude-agent.d.ts +1 -1
  11. package/dist/agents/claude-agent.d.ts.map +1 -1
  12. package/dist/agents/claude-agent.js +2 -1
  13. package/dist/agents/claude-agent.js.map +1 -1
  14. package/dist/agents/codex-agent.d.ts +1 -1
  15. package/dist/agents/codex-agent.d.ts.map +1 -1
  16. package/dist/agents/codex-agent.js +2 -1
  17. package/dist/agents/codex-agent.js.map +1 -1
  18. package/dist/agents/intella-lite-agent.d.ts +1 -1
  19. package/dist/agents/intella-lite-agent.d.ts.map +1 -1
  20. package/dist/agents/intella-lite-agent.js +2 -1
  21. package/dist/agents/intella-lite-agent.js.map +1 -1
  22. package/dist/agents/opencode-agent.d.ts +1 -1
  23. package/dist/agents/opencode-agent.d.ts.map +1 -1
  24. package/dist/agents/opencode-agent.js +2 -3
  25. package/dist/agents/opencode-agent.js.map +1 -1
  26. package/dist/index.d.ts +22 -12
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +31 -11
  29. package/dist/index.js.map +1 -1
  30. package/dist/sandbox/{agent-installers.d.ts → agents/agent-installers.d.ts} +1 -1
  31. package/dist/sandbox/agents/agent-installers.d.ts.map +1 -0
  32. package/dist/sandbox/{agent-installers.js → agents/agent-installers.js} +5 -4
  33. package/dist/sandbox/agents/agent-installers.js.map +1 -0
  34. package/dist/sandbox/{agent-setup.d.ts → agents/agent-setup.d.ts} +1 -1
  35. package/dist/sandbox/agents/agent-setup.d.ts.map +1 -0
  36. package/dist/sandbox/{agent-setup.js → agents/agent-setup.js} +3 -2
  37. package/dist/sandbox/agents/agent-setup.js.map +1 -0
  38. package/dist/sandbox/agents/agents.d.ts +49 -0
  39. package/dist/sandbox/agents/agents.d.ts.map +1 -0
  40. package/dist/sandbox/agents/agents.js +71 -0
  41. package/dist/sandbox/agents/agents.js.map +1 -0
  42. package/dist/sandbox/config.d.ts +1 -1
  43. package/dist/sandbox/config.d.ts.map +1 -1
  44. package/dist/sandbox/config.js +26 -18
  45. package/dist/sandbox/config.js.map +1 -1
  46. package/dist/sandbox/file-utils.d.ts +20 -0
  47. package/dist/sandbox/file-utils.d.ts.map +1 -0
  48. package/dist/sandbox/file-utils.js +101 -0
  49. package/dist/sandbox/file-utils.js.map +1 -0
  50. package/dist/sandbox/operations/code-operations.d.ts +68 -0
  51. package/dist/sandbox/operations/code-operations.d.ts.map +1 -0
  52. package/dist/sandbox/operations/code-operations.js +208 -0
  53. package/dist/sandbox/operations/code-operations.js.map +1 -0
  54. package/dist/sandbox/operations/git-operations.d.ts +27 -0
  55. package/dist/sandbox/operations/git-operations.d.ts.map +1 -0
  56. package/dist/sandbox/operations/git-operations.js +235 -0
  57. package/dist/sandbox/operations/git-operations.js.map +1 -0
  58. package/dist/sandbox/providers/base-provider.d.ts +283 -0
  59. package/dist/sandbox/providers/base-provider.d.ts.map +1 -0
  60. package/dist/sandbox/providers/base-provider.js +816 -0
  61. package/dist/sandbox/providers/base-provider.js.map +1 -0
  62. package/dist/sandbox/{daytona-provider.d.ts → providers/daytona-provider.d.ts} +19 -16
  63. package/dist/sandbox/providers/daytona-provider.d.ts.map +1 -0
  64. package/dist/sandbox/{daytona-provider.js → providers/daytona-provider.js} +96 -27
  65. package/dist/sandbox/providers/daytona-provider.js.map +1 -0
  66. package/dist/sandbox/{e2b-provider.d.ts → providers/e2b-provider.d.ts} +16 -10
  67. package/dist/sandbox/providers/e2b-provider.d.ts.map +1 -0
  68. package/dist/sandbox/{e2b-provider.js → providers/e2b-provider.js} +51 -29
  69. package/dist/sandbox/providers/e2b-provider.js.map +1 -0
  70. package/dist/sandbox/{local-provider.d.ts → providers/local-provider.d.ts} +12 -6
  71. package/dist/sandbox/providers/local-provider.d.ts.map +1 -0
  72. package/dist/sandbox/{local-provider.js → providers/local-provider.js} +24 -21
  73. package/dist/sandbox/providers/local-provider.js.map +1 -0
  74. package/dist/sandbox/{modal-provider.d.ts → providers/modal-provider.d.ts} +18 -12
  75. package/dist/sandbox/providers/modal-provider.d.ts.map +1 -0
  76. package/dist/sandbox/{modal-provider.js → providers/modal-provider.js} +49 -29
  77. package/dist/sandbox/providers/modal-provider.js.map +1 -0
  78. package/dist/sandbox/{vercel-provider.d.ts → providers/vercel-provider.d.ts} +19 -14
  79. package/dist/sandbox/providers/vercel-provider.d.ts.map +1 -0
  80. package/dist/sandbox/{vercel-provider.js → providers/vercel-provider.js} +41 -42
  81. package/dist/sandbox/providers/vercel-provider.js.map +1 -0
  82. package/dist/sandbox/utils/detector.d.ts +28 -0
  83. package/dist/sandbox/utils/detector.d.ts.map +1 -0
  84. package/dist/sandbox/utils/detector.js +243 -0
  85. package/dist/sandbox/utils/detector.js.map +1 -0
  86. package/dist/sandbox-manager.js +5 -5
  87. package/dist/sandbox-manager.js.map +1 -1
  88. package/dist/sdk.d.ts +4 -3
  89. package/dist/sdk.d.ts.map +1 -1
  90. package/dist/sdk.js +7 -3
  91. package/dist/sdk.js.map +1 -1
  92. package/dist/session/execution-store.d.ts +71 -0
  93. package/dist/session/execution-store.d.ts.map +1 -0
  94. package/dist/session/execution-store.js +156 -0
  95. package/dist/session/execution-store.js.map +1 -0
  96. package/dist/session/index.d.ts +14 -0
  97. package/dist/session/index.d.ts.map +1 -0
  98. package/dist/session/index.js +20 -0
  99. package/dist/session/index.js.map +1 -0
  100. package/dist/session/manager.d.ts +164 -0
  101. package/dist/session/manager.d.ts.map +1 -0
  102. package/dist/session/manager.js +493 -0
  103. package/dist/session/manager.js.map +1 -0
  104. package/dist/session/store.d.ts +20 -0
  105. package/dist/session/store.d.ts.map +1 -0
  106. package/dist/session/store.js +69 -0
  107. package/dist/session/store.js.map +1 -0
  108. package/dist/session/types.d.ts +57 -0
  109. package/dist/session/types.d.ts.map +1 -0
  110. package/dist/session/types.js +2 -0
  111. package/dist/session/types.js.map +1 -0
  112. package/dist/types.d.ts +622 -19
  113. package/dist/types.d.ts.map +1 -1
  114. package/dist/types.js +35 -0
  115. package/dist/types.js.map +1 -1
  116. package/dist/utils/cli-daemon.d.ts.map +1 -1
  117. package/dist/utils/cli-daemon.js +1 -3
  118. package/dist/utils/cli-daemon.js.map +1 -1
  119. package/dist/utils/machine-id.d.ts +8 -0
  120. package/dist/utils/machine-id.d.ts.map +1 -0
  121. package/dist/utils/machine-id.js +19 -0
  122. package/dist/utils/machine-id.js.map +1 -0
  123. package/dist/utils/redis/client.d.ts +18 -0
  124. package/dist/utils/redis/client.d.ts.map +1 -0
  125. package/dist/utils/redis/client.js +52 -0
  126. package/dist/utils/redis/client.js.map +1 -0
  127. package/dist/utils/redis/index.d.ts +2 -0
  128. package/dist/utils/redis/index.d.ts.map +1 -0
  129. package/dist/utils/redis/index.js +2 -0
  130. package/dist/utils/redis/index.js.map +1 -0
  131. package/dist/utils/{redis-stream.d.ts → redis/stream.d.ts} +41 -74
  132. package/dist/utils/redis/stream.d.ts.map +1 -0
  133. package/dist/utils/{redis-stream.js → redis/stream.js} +133 -69
  134. package/dist/utils/redis/stream.js.map +1 -0
  135. package/dist/utils/repo-context.d.ts +16 -0
  136. package/dist/utils/repo-context.d.ts.map +1 -0
  137. package/dist/utils/repo-context.js +65 -0
  138. package/dist/utils/repo-context.js.map +1 -0
  139. package/dist/utils/tool-response.d.ts +20 -0
  140. package/dist/utils/tool-response.d.ts.map +1 -0
  141. package/dist/utils/tool-response.js +68 -0
  142. package/dist/utils/tool-response.js.map +1 -0
  143. package/package.json +23 -8
  144. package/dist/sandbox/agent-installers.d.ts.map +0 -1
  145. package/dist/sandbox/agent-installers.js.map +0 -1
  146. package/dist/sandbox/agent-setup.d.ts.map +0 -1
  147. package/dist/sandbox/agent-setup.js.map +0 -1
  148. package/dist/sandbox/base-provider.d.ts +0 -106
  149. package/dist/sandbox/base-provider.d.ts.map +0 -1
  150. package/dist/sandbox/base-provider.js +0 -74
  151. package/dist/sandbox/base-provider.js.map +0 -1
  152. package/dist/sandbox/daytona-provider.d.ts.map +0 -1
  153. package/dist/sandbox/daytona-provider.js.map +0 -1
  154. package/dist/sandbox/e2b-provider.d.ts.map +0 -1
  155. package/dist/sandbox/e2b-provider.js.map +0 -1
  156. package/dist/sandbox/local-provider.d.ts.map +0 -1
  157. package/dist/sandbox/local-provider.js.map +0 -1
  158. package/dist/sandbox/modal-provider.d.ts.map +0 -1
  159. package/dist/sandbox/modal-provider.js.map +0 -1
  160. package/dist/sandbox/vercel-provider.d.ts.map +0 -1
  161. package/dist/sandbox/vercel-provider.js.map +0 -1
  162. package/dist/utils/redis-stream.d.ts.map +0 -1
  163. 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 '../types.js';
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 based on hostname, platform, and arch.
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
- executeCommand(command: string, options?: {
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
- readFile(pathArg: string): Promise<string>;
41
- writeFile(pathArg: string, content: string): Promise<void>;
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 '../types.js';
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 based on hostname, platform, and arch.
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
- const machineKey = `${os.hostname()}-${os.platform()}-${os.arch()}`;
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
- async executeCommand(command, options) {
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 readFile(pathArg) {
245
+ async readFileRaw(pathArg) {
254
246
  this.ensureInitialized();
255
247
  const p = this.resolvePath(pathArg);
256
- return fs.readFile(p, 'utf8');
248
+ const buffer = await fs.readFile(p);
249
+ return new Uint8Array(buffer);
257
250
  }
258
- async writeFile(pathArg, content) {
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 fs.writeFile(p, content, 'utf8');
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 '../types.js';
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
- executeCommand(command: string, options?: {
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
- readFile(path: string): Promise<string>;
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
- writeFile(path: string, content: string): Promise<void>;
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 '../types.js';
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 executeCommand(command, options) {
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 readFile(path) {
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
- return typeof content === 'string' ? content : [content].toString();
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 writeFile(path, content) {
365
+ async writeFileSingle(path, content) {
374
366
  this.ensureInitialized();
375
367
  try {
376
- // Use filesystem API to write file
368
+ const bytes = await contentToBytes(content);
377
369
  const file = await this.sandboxInstance.open(path, 'w');
378
- file.write(Buffer.from(content, 'utf-8'));
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 '../types.js';
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
- executeCommand(command: string, options?: {
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 readFile to read content
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
- readFile(path: string): Promise<string>;
52
+ protected readFileRaw(path: string): Promise<Uint8Array>;
59
53
  /**
60
54
  * Write a file to the Vercel sandbox
61
- * Uses a base64-encoded approach to safely write file content
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
- writeFile(path: string, content: string): Promise<void>;
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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"}