@intella/sdk 0.0.4 → 0.0.5

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.
@@ -0,0 +1,490 @@
1
+ import { BaseSandboxProvider } from './base-provider.js';
2
+ import { Sandbox } from '@vercel/sandbox';
3
+ import 'dotenv/config';
4
+ /**
5
+ * Vercel Sandbox Provider
6
+ * Provides sandbox execution capabilities using Vercel Sandbox SDK
7
+ */
8
+ export class VercelSandboxProvider extends BaseSandboxProvider {
9
+ sandboxInstance = null;
10
+ client = null;
11
+ constructor(config) {
12
+ super('vercel');
13
+ if (config) {
14
+ this.config = config;
15
+ }
16
+ }
17
+ getClient() {
18
+ if (!this.client) {
19
+ // Vercel Sandbox uses OIDC tokens or access tokens
20
+ // Check for OIDC token first (from vercel env pull)
21
+ const oidcToken = process.env.VERCEL_OIDC_TOKEN;
22
+ // Fallback to access token authentication
23
+ const teamId = this.config.teamId || process.env.VERCEL_TEAM_ID;
24
+ const projectId = this.config.projectId || process.env.VERCEL_PROJECT_ID;
25
+ const token = this.config.apiKey || process.env.VERCEL_TOKEN;
26
+ if (!oidcToken && (!teamId || !projectId || !token)) {
27
+ throw new Error('Vercel Sandbox authentication required. Set VERCEL_OIDC_TOKEN (recommended) or provide VERCEL_TEAM_ID, VERCEL_PROJECT_ID, and VERCEL_TOKEN environment variables.');
28
+ }
29
+ this.client = {
30
+ oidcToken,
31
+ teamId,
32
+ projectId,
33
+ token,
34
+ ...this.config,
35
+ };
36
+ }
37
+ return this.client;
38
+ }
39
+ /**
40
+ * Initialize/create a Vercel sandbox
41
+ */
42
+ async initializeSandbox(config) {
43
+ if (config) {
44
+ this.config = { ...this.config, ...config };
45
+ }
46
+ try {
47
+ const client = this.getClient();
48
+ // Build sandbox creation options
49
+ const sandboxOpts = {
50
+ runtime: this.config.runtime || 'node24',
51
+ timeout: this.config.timeout || 5 * 60 * 1000, // 5 minutes default
52
+ };
53
+ // Add resources if specified
54
+ if (this.config.vcpus) {
55
+ sandboxOpts.resources = { vcpus: this.config.vcpus };
56
+ }
57
+ // Add ports if specified
58
+ if (this.config.ports && Array.isArray(this.config.ports)) {
59
+ sandboxOpts.ports = this.config.ports;
60
+ }
61
+ // Add source if specified (git repository or tarball)
62
+ if (this.config.source) {
63
+ sandboxOpts.source = this.config.source;
64
+ }
65
+ // Add environment variables
66
+ if (this.config.env) {
67
+ // Vercel Sandbox doesn't have a direct env option in create,
68
+ // but we can set them after creation or via commands
69
+ // For now, we'll set them after sandbox creation
70
+ }
71
+ // Authenticate and create sandbox
72
+ if (client.oidcToken) {
73
+ // Use OIDC token (automatically used by SDK)
74
+ this.sandboxInstance = await Sandbox.create(sandboxOpts);
75
+ }
76
+ else {
77
+ // Use access token authentication
78
+ this.sandboxInstance = await Sandbox.create({
79
+ ...sandboxOpts,
80
+ teamId: client.teamId,
81
+ projectId: client.projectId,
82
+ token: client.token,
83
+ });
84
+ }
85
+ // Note: Vercel Sandbox doesn't support setting env vars directly in create.
86
+ // Environment variables should be passed per-command via the env option.
87
+ this.sandboxId = this.sandboxInstance.sandboxId;
88
+ this.initialized = true;
89
+ }
90
+ catch (error) {
91
+ throw new Error(`Failed to initialize Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
92
+ }
93
+ }
94
+ /**
95
+ * Connect to an existing Vercel sandbox by ID
96
+ */
97
+ async fromSandbox(sandboxId, config) {
98
+ if (config) {
99
+ this.config = { ...this.config, ...config };
100
+ }
101
+ try {
102
+ const client = this.getClient();
103
+ this.sandboxInstance = await Sandbox.get({
104
+ sandboxId: sandboxId,
105
+ teamId: client.teamId,
106
+ projectId: client.projectId,
107
+ token: client.token,
108
+ });
109
+ this.sandboxId = this.sandboxInstance.sandboxId;
110
+ this.initialized = true;
111
+ return this.sandboxInstance;
112
+ }
113
+ catch (error) {
114
+ throw new Error(`Failed to connect to Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
115
+ }
116
+ }
117
+ /**
118
+ * Close/cleanup the Vercel sandbox
119
+ */
120
+ async close() {
121
+ if (this.sandboxInstance) {
122
+ try {
123
+ // Vercel Sandbox doesn't have a direct kill/close method
124
+ // The sandbox will timeout automatically, but we can try to stop it
125
+ // by checking if there's a stop method or by letting it timeout
126
+ // For now, we'll just mark it as closed
127
+ this.sandboxInstance = null;
128
+ this.sandboxId = null;
129
+ this.initialized = false;
130
+ }
131
+ catch (error) {
132
+ // Ignore errors during cleanup
133
+ console.warn('Error closing Vercel sandbox:', error);
134
+ this.sandboxInstance = null;
135
+ this.sandboxId = null;
136
+ this.initialized = false;
137
+ }
138
+ }
139
+ }
140
+ /**
141
+ * Execute a command in the Vercel sandbox
142
+ */
143
+ async executeCommand(command, options) {
144
+ this.ensureInitialized();
145
+ const startTime = Date.now();
146
+ try {
147
+ // Parse command string into command and args
148
+ const commandParts = command.match(/(?:[^\s"]+|"[^"]*")+/g) || [command];
149
+ const cmd = commandParts[0].replace(/^"|"$/g, '');
150
+ const args = commandParts.slice(1).map((part) => part.replace(/^"|"$/g, ''));
151
+ const commandOpts = {};
152
+ if (options?.cwd) {
153
+ commandOpts.cwd = options.cwd;
154
+ }
155
+ if (options?.env) {
156
+ // Set environment variables before command
157
+ for (const [key, value] of Object.entries(options.env)) {
158
+ commandOpts.env = commandOpts.env || {};
159
+ commandOpts.env[key] = value;
160
+ }
161
+ }
162
+ const timeout = options?.timeout || this.config.timeout || 60000;
163
+ // Run command with timeout
164
+ const result = await Promise.race([
165
+ this.sandboxInstance.runCommand({
166
+ cmd,
167
+ args,
168
+ ...commandOpts,
169
+ }),
170
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Command timeout')), timeout)),
171
+ ]);
172
+ const executionTime = Date.now() - startTime;
173
+ // Get stdout and stderr
174
+ const stdout = await result.stdout();
175
+ const stderr = await result.stderr();
176
+ return {
177
+ exitCode: result.exitCode,
178
+ stdout: stdout || '',
179
+ stderr: stderr || '',
180
+ executionTime,
181
+ };
182
+ }
183
+ catch (error) {
184
+ const executionTime = Date.now() - startTime;
185
+ return {
186
+ exitCode: 1,
187
+ stdout: '',
188
+ stderr: error instanceof Error ? error.message : String(error),
189
+ executionTime,
190
+ };
191
+ }
192
+ }
193
+ /**
194
+ * Run code (e.g., Python, JavaScript) in the Vercel sandbox
195
+ */
196
+ async runCode(code, options) {
197
+ this.ensureInitialized();
198
+ const startTime = Date.now();
199
+ try {
200
+ // Determine interpreter based on language
201
+ const language = options?.language || 'python';
202
+ const interpreterMap = {
203
+ python: { cmd: 'python3', args: ['-c'] },
204
+ javascript: { cmd: 'node', args: ['-e'] },
205
+ typescript: { cmd: 'ts-node', args: ['-e'] },
206
+ bash: { cmd: 'bash', args: ['-c'] },
207
+ sh: { cmd: 'sh', args: ['-c'] },
208
+ };
209
+ const interpreter = interpreterMap[language.toLowerCase()] || { cmd: 'python3', args: ['-c'] };
210
+ const commandOpts = {};
211
+ if (options?.env) {
212
+ commandOpts.env = options.env;
213
+ }
214
+ const timeout = options?.timeout || this.config.timeout || 30000;
215
+ // Run command
216
+ const result = await Promise.race([
217
+ this.sandboxInstance.runCommand({
218
+ cmd: interpreter.cmd,
219
+ args: [...interpreter.args, code],
220
+ ...commandOpts,
221
+ }),
222
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Command timeout')), timeout)),
223
+ ]);
224
+ // Stream logs if callbacks provided
225
+ const stdoutChunks = [];
226
+ const stderrChunks = [];
227
+ if (options?.onStdout || options?.onStderr) {
228
+ const logs = result.logs();
229
+ for await (const log of logs) {
230
+ if (log.type === 'stdout') {
231
+ const text = log.text || '';
232
+ stdoutChunks.push(text);
233
+ if (options.onStdout) {
234
+ options.onStdout(text);
235
+ }
236
+ }
237
+ else if (log.type === 'stderr') {
238
+ const text = log.text || '';
239
+ stderrChunks.push(text);
240
+ if (options.onStderr) {
241
+ options.onStderr(text);
242
+ }
243
+ }
244
+ }
245
+ }
246
+ // Get stdout and stderr
247
+ const stdout = await result.stdout();
248
+ const stderr = await result.stderr();
249
+ // Combine streamed chunks with final output
250
+ const allStdout = stdoutChunks.length > 0
251
+ ? stdoutChunks.join('')
252
+ : (stdout || '');
253
+ const allStderr = stderrChunks.length > 0
254
+ ? stderrChunks.join('')
255
+ : (stderr || '');
256
+ const stdoutLines = allStdout ? allStdout.split('\n').filter((line) => line.length > 0) : [];
257
+ const stderrLines = allStderr ? allStderr.split('\n').filter((line) => line.length > 0) : [];
258
+ const executionTime = Date.now() - startTime;
259
+ return {
260
+ text: allStdout || undefined,
261
+ results: allStdout ? [{ text: allStdout }] : [],
262
+ stdout: stdoutLines,
263
+ stderr: stderrLines,
264
+ error: result.exitCode !== 0
265
+ ? {
266
+ name: 'CodeExecutionError',
267
+ value: allStderr || 'Code execution failed',
268
+ traceback: allStderr || '',
269
+ }
270
+ : undefined,
271
+ executionTime,
272
+ };
273
+ }
274
+ catch (error) {
275
+ const executionTime = Date.now() - startTime;
276
+ return {
277
+ text: undefined,
278
+ results: [],
279
+ stdout: [],
280
+ stderr: [error instanceof Error ? error.message : String(error)],
281
+ error: {
282
+ name: 'CodeExecutionError',
283
+ value: error instanceof Error ? error.message : String(error),
284
+ traceback: error instanceof Error ? error.stack || '' : '',
285
+ },
286
+ executionTime,
287
+ };
288
+ }
289
+ }
290
+ /**
291
+ * Upload a file to the Vercel sandbox
292
+ * Uses writeFile to write content
293
+ */
294
+ async uploadFile(localPath, remotePath) {
295
+ this.ensureInitialized();
296
+ try {
297
+ const fs = await import('fs/promises');
298
+ const content = await fs.readFile(localPath, 'utf-8');
299
+ await this.writeFile(remotePath, content);
300
+ }
301
+ catch (error) {
302
+ throw new Error(`Failed to upload file to Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
303
+ }
304
+ }
305
+ /**
306
+ * Download a file from the Vercel sandbox
307
+ * Uses readFile to read content
308
+ */
309
+ async downloadFile(remotePath, localPath) {
310
+ this.ensureInitialized();
311
+ try {
312
+ const content = await this.readFile(remotePath);
313
+ const fs = await import('fs/promises');
314
+ await fs.writeFile(localPath, content, 'utf-8');
315
+ }
316
+ catch (error) {
317
+ throw new Error(`Failed to download file from Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
318
+ }
319
+ }
320
+ /**
321
+ * Read a file from the Vercel sandbox
322
+ * Uses cat command to read file
323
+ */
324
+ async readFile(path) {
325
+ this.ensureInitialized();
326
+ try {
327
+ const result = await this.sandboxInstance.runCommand({
328
+ cmd: 'cat',
329
+ args: [path],
330
+ });
331
+ return await result.stdout();
332
+ }
333
+ catch (error) {
334
+ throw new Error(`Failed to read file from Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
335
+ }
336
+ }
337
+ /**
338
+ * Write a file to the Vercel sandbox
339
+ * Uses a base64-encoded approach to safely write file content
340
+ */
341
+ async writeFile(path, content) {
342
+ this.ensureInitialized();
343
+ try {
344
+ // Encode content to base64 to safely handle special characters
345
+ const base64Content = Buffer.from(content, 'utf-8').toString('base64');
346
+ // Write file using base64 decode and redirect
347
+ // This approach safely handles all characters including newlines, quotes, etc.
348
+ const result = await this.sandboxInstance.runCommand({
349
+ cmd: 'sh',
350
+ args: ['-c', `echo '${base64Content}' | base64 -d > ${path}`],
351
+ });
352
+ if (result.exitCode !== 0) {
353
+ const stderr = await result.stderr();
354
+ throw new Error(`Failed to write file: ${stderr}`);
355
+ }
356
+ }
357
+ catch (error) {
358
+ throw new Error(`Failed to write file to Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
359
+ }
360
+ }
361
+ /**
362
+ * List files in a directory
363
+ * Uses ls command
364
+ */
365
+ async listFiles(path) {
366
+ this.ensureInitialized();
367
+ try {
368
+ const result = await this.sandboxInstance.runCommand({
369
+ cmd: 'ls',
370
+ args: ['-1', path],
371
+ });
372
+ const output = await result.stdout();
373
+ return output
374
+ .split('\n')
375
+ .map((line) => line.trim())
376
+ .filter((line) => line.length > 0);
377
+ }
378
+ catch (error) {
379
+ throw new Error(`Failed to list files in Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
380
+ }
381
+ }
382
+ /**
383
+ * Check if a file exists
384
+ * Uses test command
385
+ */
386
+ async fileExists(path) {
387
+ this.ensureInitialized();
388
+ try {
389
+ const result = await this.sandboxInstance.runCommand({
390
+ cmd: 'test',
391
+ args: ['-f', path],
392
+ });
393
+ return result.exitCode === 0;
394
+ }
395
+ catch {
396
+ return false;
397
+ }
398
+ }
399
+ /**
400
+ * Delete a file
401
+ * Uses rm command
402
+ */
403
+ async deleteFile(path) {
404
+ this.ensureInitialized();
405
+ try {
406
+ const result = await this.sandboxInstance.runCommand({
407
+ cmd: 'rm',
408
+ args: [path],
409
+ });
410
+ if (result.exitCode !== 0) {
411
+ const stderr = await result.stderr();
412
+ throw new Error(`Failed to delete file: ${stderr}`);
413
+ }
414
+ }
415
+ catch (error) {
416
+ throw new Error(`Failed to delete file in Vercel sandbox: ${error instanceof Error ? error.message : String(error)}`);
417
+ }
418
+ }
419
+ /**
420
+ * Get sandbox status
421
+ */
422
+ async getStatus() {
423
+ this.ensureInitialized();
424
+ try {
425
+ const status = this.sandboxInstance.status;
426
+ const createdAt = this.sandboxInstance.createdAt;
427
+ return {
428
+ isRunning: status === 'running',
429
+ createdAt: createdAt ? createdAt.getTime() : undefined,
430
+ status,
431
+ timeout: this.sandboxInstance.timeout,
432
+ };
433
+ }
434
+ catch {
435
+ return {
436
+ isRunning: false,
437
+ };
438
+ }
439
+ }
440
+ /**
441
+ * Get detailed sandbox information
442
+ */
443
+ async getInfo(sandboxId) {
444
+ if (!sandboxId && this.sandboxInstance) {
445
+ const status = this.sandboxInstance.status;
446
+ const createdAt = this.sandboxInstance.createdAt;
447
+ return {
448
+ sandboxId: this.sandboxInstance.sandboxId,
449
+ provider: this.type,
450
+ isRunning: status === 'running',
451
+ isInitialized: this.initialized,
452
+ createdAt: createdAt || new Date(),
453
+ metadata: {
454
+ status,
455
+ timeout: this.sandboxInstance.timeout,
456
+ },
457
+ info: {
458
+ status,
459
+ createdAt,
460
+ timeout: this.sandboxInstance.timeout,
461
+ },
462
+ };
463
+ }
464
+ else if (sandboxId) {
465
+ const sandbox = await this.fromSandbox(sandboxId);
466
+ const status = sandbox.status;
467
+ const createdAt = sandbox.createdAt;
468
+ return {
469
+ sandboxId: sandbox.sandboxId,
470
+ provider: this.type,
471
+ isRunning: status === 'running',
472
+ isInitialized: this.initialized,
473
+ createdAt: createdAt || new Date(),
474
+ metadata: {
475
+ status,
476
+ timeout: sandbox.timeout,
477
+ },
478
+ info: {
479
+ status,
480
+ createdAt,
481
+ timeout: sandbox.timeout,
482
+ },
483
+ };
484
+ }
485
+ else {
486
+ throw new Error('Sandbox ID or active instance is required to get sandbox info');
487
+ }
488
+ }
489
+ }
490
+ //# sourceMappingURL=vercel-provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vercel-provider.js","sourceRoot":"","sources":["../../src/sandbox/vercel-provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../src/sandbox-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAKvF;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAyD;IAC1E,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,aAAa,CAAiC;gBAE1C,MAAM,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAC/B,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB;IAUD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAS7E;;OAEG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,gBAAgB;IAkBzD;;OAEG;IACH,aAAa,IAAI,mBAAmB,EAAE;IAItC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAI/C;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAmB5B;;OAEG;IACH,gBAAgB,IAAI,gBAAgB,GAAG,IAAI;IAI3C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAOnD;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,GAAG,IAAI;IAIpD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;CAahD"}
1
+ {"version":3,"file":"sandbox-manager.d.ts","sourceRoot":"","sources":["../src/sandbox-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMvF;;;GAGG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,SAAS,CAAyD;IAC1E,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,aAAa,CAAiC;gBAE1C,MAAM,CAAC,EAAE;QACnB,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAC/B,MAAM,CAAC,EAAE,aAAa,CAAC;KACxB;IAWD;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,gBAAgB,GAAG,IAAI;IAS7E;;OAEG;IACH,WAAW,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,gBAAgB;IAkBzD;;OAEG;IACH,aAAa,IAAI,mBAAmB,EAAE;IAItC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO;IAI/C;;OAEG;IACG,iBAAiB,CACrB,IAAI,EAAE,mBAAmB,EACzB,MAAM,CAAC,EAAE,aAAa,GACrB,OAAO,CAAC,gBAAgB,CAAC;IAmB5B;;OAEG;IACH,gBAAgB,IAAI,gBAAgB,GAAG,IAAI;IAI3C;;OAEG;IACH,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;IAOnD;;OAEG;IACH,sBAAsB,IAAI,mBAAmB,GAAG,IAAI;IAIpD;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAWzC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB/B;;OAEG;IACH,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI;CAahD"}
@@ -1,6 +1,7 @@
1
1
  import { E2BSandboxProvider } from './sandbox/e2b-provider.js';
2
2
  import { DaytonaSandboxProvider } from './sandbox/daytona-provider.js';
3
3
  import { ModalSandboxProvider } from './sandbox/modal-provider.js';
4
+ import { VercelSandboxProvider } from './sandbox/vercel-provider.js';
4
5
  /**
5
6
  * Sandbox Manager
6
7
  * Manages sandbox provider instances and configurations
@@ -17,6 +18,7 @@ export class SandboxManager {
17
18
  this.registerProvider('e2b', new E2BSandboxProvider(config?.config));
18
19
  this.registerProvider('daytona', new DaytonaSandboxProvider(config?.config));
19
20
  this.registerProvider('modal', new ModalSandboxProvider(config?.config));
21
+ this.registerProvider('vercel', new VercelSandboxProvider(config?.config));
20
22
  }
21
23
  /**
22
24
  * Register or update a sandbox provider instance
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../src/sandbox-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox-manager.js","sourceRoot":"","sources":["../src/sandbox-manager.ts"],"names":[],"mappings":"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"}
package/dist/sdk.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { AgentType, AgentConfig, TaskRequest, TaskResponse, OrchestrationRequest, OrchestrationResponse, FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider, SandboxProviderType, SandboxConfig, SandboxExecutionResult, ISandboxProvider } from './types.js';
1
+ import type { AgentType, AgentConfig, TaskRequest, TaskResponse, OrchestrationRequest, OrchestrationResponse, FilesystemProviderType, FilesystemConfig, FileStats, DirectoryEntry, ToolCallMetadata, IFilesystemProvider, SandboxProviderType, SandboxConfig, SandboxExecutionResult, ISandboxProvider, SandboxAgentExecutionOptions } from './types.js';
2
2
  import { AgentManager } from './agent-manager.js';
3
3
  import { Orchestrator } from './orchestrator.js';
4
4
  import { FilesystemManager } from './filesystem-manager.js';
@@ -12,6 +12,7 @@ export declare class IntellaSDK {
12
12
  private orchestrator;
13
13
  private filesystemManager;
14
14
  private sandboxManager;
15
+ private sandboxAgentSetup;
15
16
  constructor(config?: {
16
17
  sandbox?: {
17
18
  provider?: SandboxProviderType;
@@ -102,6 +103,24 @@ export declare class IntellaSDK {
102
103
  * Get the sandbox manager (for advanced usage)
103
104
  */
104
105
  getSandboxManager(): SandboxManager;
106
+ /**
107
+ * Initialize sandbox and setup agent binary/configuration
108
+ * Returns sandbox provider ready for agent execution
109
+ */
110
+ initializeSandboxWithAgent(agentType: AgentType, sandboxProvider: SandboxProviderType, config?: SandboxConfig & {
111
+ installDependencies?: boolean;
112
+ mcpServers?: import('./types.js').McpServerConfig[];
113
+ apiKeys?: Record<string, string>;
114
+ }): Promise<ISandboxProvider>;
115
+ /**
116
+ * Execute task in sandbox using SDK agent (not CLI commands)
117
+ * Automatically sets up agent binary and configures SDK to use it
118
+ */
119
+ executeTaskInSandboxWithAgent(task: string | TaskRequest, agentType?: AgentType, sandboxConfig?: SandboxConfig & SandboxAgentExecutionOptions): AsyncIterable<{
120
+ text: string;
121
+ agentType: AgentType;
122
+ isDone: boolean;
123
+ }>;
105
124
  /**
106
125
  * Execute a task in a sandbox environment
107
126
  * This combines agent execution with sandbox command execution
package/dist/sdk.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sdk.d.ts","sourceRoot":"","sources":["../src/sdk.ts"],"names":[],"mappings":"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"}