@upstash/box 0.1.29 → 0.1.31
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 +25 -0
- package/dist/client.d.ts +34 -15
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +184 -52
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/types.d.ts +152 -20
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +4 -2
package/README.md
CHANGED
|
@@ -324,6 +324,31 @@ The `provider` field in agent config is optional — the SDK infers it from the
|
|
|
324
324
|
| `OpenRouterModel.O3` | `openrouter/openai/o3` |
|
|
325
325
|
| `OpenRouterModel.O4_Mini` | `openrouter/openai/o4-mini` |
|
|
326
326
|
|
|
327
|
+
## Box Sizes
|
|
328
|
+
|
|
329
|
+
Boxes have configurable resource sizes, set at creation time via the `size` option. Defaults to `"small"`.
|
|
330
|
+
|
|
331
|
+
| Size | CPU | Memory |
|
|
332
|
+
| -------- | ------- | ------ |
|
|
333
|
+
| `small` | 2 cores | 2 GB |
|
|
334
|
+
| `medium` | 4 cores | 8 GB |
|
|
335
|
+
| `large` | 8 cores | 16 GB |
|
|
336
|
+
|
|
337
|
+
```ts
|
|
338
|
+
const box = await Box.create({
|
|
339
|
+
size: "large",
|
|
340
|
+
agent: { provider: Agent.ClaudeCode, model: ClaudeCode.Sonnet_4_5 },
|
|
341
|
+
});
|
|
342
|
+
|
|
343
|
+
console.log(box.size); // "large"
|
|
344
|
+
```
|
|
345
|
+
|
|
346
|
+
Also supported in `Box.fromSnapshot()`:
|
|
347
|
+
|
|
348
|
+
```ts
|
|
349
|
+
const box = await Box.fromSnapshot("snap_abc123", { size: "medium" });
|
|
350
|
+
```
|
|
351
|
+
|
|
327
352
|
## Runtimes
|
|
328
353
|
|
|
329
354
|
`Runtime` is a string union type: `"node" | "python" | "golang" | "ruby" | "rust"`
|
package/dist/client.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type BoxConfig, type BoxData, type BoxGetOptions, type BoxRunData, type ListOptions, type RunOptions, type StreamOptions, type Chunk, type RunStatus, type RunCost, type RunLog, type CodeExecutionOptions, type ExecStreamChunk, type FileEntry, type GitCloneOptions, type GitExecOptions, type GitExecResult, type GitCheckoutOptions, type GitPROptions, type GitCommitOptions, type GitConfigUpdateOptions, type GitConfig, type GitCommitResult, type PullRequest, type LogEntry, type UploadFileEntry, type Snapshot, type Preview, type EphemeralBoxConfig, type NetworkPolicy, type ExecScheduleOptions, type AgentScheduleOptions, type Schedule, Agent } from "./types.js";
|
|
1
|
+
import { type BoxConfig, type BoxConnectionOptions, type BoxData, type BoxGetOptions, type BoxRunData, type BoxSize, type ListOptions, type RunOptions, type StreamOptions, type Chunk, type RunStatus, type RunCost, type RunLog, type CodeExecutionOptions, type ExecStreamChunk, type FileEntry, type GitCloneOptions, type GitExecOptions, type GitExecResult, type GitCheckoutOptions, type GitPROptions, type GitCommitOptions, type GitConfigUpdateOptions, type GitConfig, type GitCommitResult, type PullRequest, type LogEntry, type UploadFileEntry, type Snapshot, type Preview, type EphemeralBoxConfig, type NetworkPolicy, type ExecScheduleOptions, type AgentScheduleOptions, type Schedule, Agent } from "./types.js";
|
|
2
2
|
import type { ZodType } from "zod/v3";
|
|
3
3
|
/** Infer the provider agent from a model string prefix. */
|
|
4
4
|
export declare function inferDefaultProvider(model: string): Agent;
|
|
@@ -102,17 +102,19 @@ export declare class StreamRun<T = string, C = Chunk> extends Run<T> implements
|
|
|
102
102
|
* await box.delete();
|
|
103
103
|
* ```
|
|
104
104
|
*/
|
|
105
|
-
export declare class Box {
|
|
105
|
+
export declare class Box<TProvider = unknown> {
|
|
106
106
|
readonly id: string;
|
|
107
|
+
/** Resource size of this box (`"small"`, `"medium"`, or `"large"`). */
|
|
108
|
+
readonly size: BoxSize;
|
|
107
109
|
/** Current network access policy for this box. */
|
|
108
110
|
get networkPolicy(): NetworkPolicy;
|
|
109
111
|
/** Agent operations namespace */
|
|
110
112
|
readonly agent: {
|
|
111
|
-
run<T>(options: RunOptions<T> & {
|
|
112
|
-
responseSchema: RunOptions<T>["responseSchema"];
|
|
113
|
+
run<T>(options: RunOptions<T, TProvider> & {
|
|
114
|
+
responseSchema: RunOptions<T, TProvider>["responseSchema"];
|
|
113
115
|
}): Promise<Run<T>>;
|
|
114
|
-
run(options: RunOptions): Promise<Run<string>>;
|
|
115
|
-
stream(options: StreamOptions): Promise<StreamRun<string, Chunk>>;
|
|
116
|
+
run(options: RunOptions<undefined, TProvider>): Promise<Run<string>>;
|
|
117
|
+
stream(options: StreamOptions<TProvider>): Promise<StreamRun<string, Chunk>>;
|
|
116
118
|
};
|
|
117
119
|
/** File operations namespace */
|
|
118
120
|
readonly files: {
|
|
@@ -176,6 +178,15 @@ export declare class Box {
|
|
|
176
178
|
exec: (options: GitExecOptions) => Promise<GitExecResult>;
|
|
177
179
|
checkout: (options: GitCheckoutOptions) => Promise<void>;
|
|
178
180
|
};
|
|
181
|
+
/** Skills namespace — manage platform skills from the Context7 registry */
|
|
182
|
+
readonly skills: {
|
|
183
|
+
/** Add a skill. Format: `owner/repo/skill-name`. */
|
|
184
|
+
add: (skillId: string) => Promise<void>;
|
|
185
|
+
/** Remove a skill. Format: `owner/repo/skill-name`. */
|
|
186
|
+
remove: (skillId: string) => Promise<void>;
|
|
187
|
+
/** List enabled skills for this box. */
|
|
188
|
+
list: () => Promise<string[]>;
|
|
189
|
+
};
|
|
179
190
|
/**
|
|
180
191
|
* The current working directory tracked in the SDK (not in the box).
|
|
181
192
|
* Every new session starts at /workspace/home.
|
|
@@ -213,15 +224,21 @@ export declare class Box {
|
|
|
213
224
|
/**
|
|
214
225
|
* Create a new sandboxed box.
|
|
215
226
|
*/
|
|
216
|
-
static create(config?: BoxConfig): Promise<Box
|
|
227
|
+
static create<TProvider = unknown>(config?: BoxConfig): Promise<Box<TProvider>>;
|
|
217
228
|
/**
|
|
218
229
|
* List all boxes for the authenticated user.
|
|
219
230
|
*/
|
|
220
231
|
static list(options?: ListOptions): Promise<BoxData[]>;
|
|
232
|
+
/**
|
|
233
|
+
* Delete specific boxes by ID.
|
|
234
|
+
*/
|
|
235
|
+
static delete(options: BoxConnectionOptions & {
|
|
236
|
+
boxIds: string | string[];
|
|
237
|
+
}): Promise<void>;
|
|
221
238
|
/**
|
|
222
239
|
* Get an existing box by ID
|
|
223
240
|
*/
|
|
224
|
-
static get(boxId: string, options?: BoxGetOptions): Promise<Box
|
|
241
|
+
static get<TProvider = unknown>(boxId: string, options?: BoxGetOptions): Promise<Box<TProvider>>;
|
|
225
242
|
/**
|
|
226
243
|
* Get an existing box by name
|
|
227
244
|
*/
|
|
@@ -321,15 +338,10 @@ export declare class Box {
|
|
|
321
338
|
* Delete a snapshot.
|
|
322
339
|
*/
|
|
323
340
|
deleteSnapshot(snapshotId: string): Promise<void>;
|
|
324
|
-
/**
|
|
325
|
-
* Fork this box by creating a new box with the same workspace state.
|
|
326
|
-
* The original box is unaffected.
|
|
327
|
-
*/
|
|
328
|
-
fork(): Promise<Box>;
|
|
329
341
|
/**
|
|
330
342
|
* Create a new box from a saved snapshot.
|
|
331
343
|
*/
|
|
332
|
-
static fromSnapshot(snapshotId: string, config?: BoxConfig): Promise<Box
|
|
344
|
+
static fromSnapshot<TProvider = unknown>(snapshotId: string, config?: BoxConfig): Promise<Box<TProvider>>;
|
|
333
345
|
/**
|
|
334
346
|
* Get structured logs for this box.
|
|
335
347
|
*/
|
|
@@ -363,6 +375,9 @@ export declare class Box {
|
|
|
363
375
|
private _gitCreatePR;
|
|
364
376
|
private _gitExec;
|
|
365
377
|
private _gitCheckout;
|
|
378
|
+
private _skillAdd;
|
|
379
|
+
private _skillRemove;
|
|
380
|
+
private _skillList;
|
|
366
381
|
getPreviewUrl(port: number, options?: {
|
|
367
382
|
bearerToken?: boolean;
|
|
368
383
|
basicAuth?: boolean;
|
|
@@ -376,7 +391,7 @@ export declare class Box {
|
|
|
376
391
|
* A lightweight, short-lived box that supports only exec and file operations.
|
|
377
392
|
*
|
|
378
393
|
* Ephemeral boxes are created synchronously (no polling) and auto-delete after
|
|
379
|
-
* the configured TTL. They do not support agent, git,
|
|
394
|
+
* the configured TTL. They do not support agent, git, or snapshot
|
|
380
395
|
* operations.
|
|
381
396
|
*
|
|
382
397
|
* @example
|
|
@@ -535,6 +550,10 @@ export declare class EphemeralBox {
|
|
|
535
550
|
* Get an existing ephemeral box by name
|
|
536
551
|
*/
|
|
537
552
|
static getByName: typeof Box.get;
|
|
553
|
+
/**
|
|
554
|
+
* Delete specific boxes by ID.
|
|
555
|
+
*/
|
|
556
|
+
static delete: typeof Box.delete;
|
|
538
557
|
}
|
|
539
558
|
/** @internal — Convert a Zod schema to a JSON Schema object for the API's json_schema parameter */
|
|
540
559
|
export declare function toJsonSchema(schema: ZodType<any>): Record<string, unknown> | null;
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -13,6 +13,23 @@ export function inferDefaultProvider(model) {
|
|
|
13
13
|
}
|
|
14
14
|
/** @deprecated Use `inferDefaultProvider` instead. */
|
|
15
15
|
export const inferDefaultRunner = inferDefaultProvider;
|
|
16
|
+
/** Map of camelCase Codex option keys to their snake_case backend equivalents. */
|
|
17
|
+
const CODEX_KEY_MAP = {
|
|
18
|
+
modelReasoningEffort: "model_reasoning_effort",
|
|
19
|
+
modelReasoningSummary: "model_reasoning_summary",
|
|
20
|
+
personality: "personality",
|
|
21
|
+
webSearch: "web_search",
|
|
22
|
+
};
|
|
23
|
+
/** Convert camelCase Codex agent options to the snake_case keys the backend expects. */
|
|
24
|
+
function toBackendAgentOptions(agent, options) {
|
|
25
|
+
if (agent !== Agent.Codex)
|
|
26
|
+
return options;
|
|
27
|
+
const mapped = {};
|
|
28
|
+
for (const [key, value] of Object.entries(options)) {
|
|
29
|
+
mapped[CODEX_KEY_MAP[key] ?? key] = value;
|
|
30
|
+
}
|
|
31
|
+
return mapped;
|
|
32
|
+
}
|
|
16
33
|
/**
|
|
17
34
|
* Error thrown by the Box SDK
|
|
18
35
|
*/
|
|
@@ -169,6 +186,8 @@ export class StreamRun extends Run {
|
|
|
169
186
|
*/
|
|
170
187
|
export class Box {
|
|
171
188
|
id;
|
|
189
|
+
/** Resource size of this box (`"small"`, `"medium"`, or `"large"`). */
|
|
190
|
+
size;
|
|
172
191
|
/** Current network access policy for this box. */
|
|
173
192
|
get networkPolicy() {
|
|
174
193
|
return this._networkPolicy;
|
|
@@ -183,6 +202,8 @@ export class Box {
|
|
|
183
202
|
schedule;
|
|
184
203
|
/** Git operations namespace */
|
|
185
204
|
git;
|
|
205
|
+
/** Skills namespace — manage platform skills from the Context7 registry */
|
|
206
|
+
skills;
|
|
186
207
|
/**
|
|
187
208
|
* The current working directory tracked in the SDK (not in the box).
|
|
188
209
|
* Every new session starts at /workspace/home.
|
|
@@ -220,6 +241,7 @@ export class Box {
|
|
|
220
241
|
}
|
|
221
242
|
constructor(data, config) {
|
|
222
243
|
this.id = data.id;
|
|
244
|
+
this.size = data.size ?? "small";
|
|
223
245
|
this._cwd = Box.WORKSPACE;
|
|
224
246
|
this._networkPolicy = deserializeNetworkPolicy(data.network_policy);
|
|
225
247
|
this._model = data.model;
|
|
@@ -278,6 +300,11 @@ export class Box {
|
|
|
278
300
|
exec: (options) => this._gitExec(options),
|
|
279
301
|
checkout: (options) => this._gitCheckout(options),
|
|
280
302
|
};
|
|
303
|
+
this.skills = {
|
|
304
|
+
add: (skillId) => this._skillAdd(skillId),
|
|
305
|
+
remove: (skillId) => this._skillRemove(skillId),
|
|
306
|
+
list: () => this._skillList(),
|
|
307
|
+
};
|
|
281
308
|
}
|
|
282
309
|
/**
|
|
283
310
|
* Create a new sandboxed box.
|
|
@@ -301,6 +328,8 @@ export class Box {
|
|
|
301
328
|
const body = {};
|
|
302
329
|
if (config?.name)
|
|
303
330
|
body.name = config.name;
|
|
331
|
+
if (config?.size)
|
|
332
|
+
body.size = config.size;
|
|
304
333
|
if (config?.agent) {
|
|
305
334
|
body.model = config.agent.model;
|
|
306
335
|
body.agent = config.agent.provider ?? config.agent.runner;
|
|
@@ -316,6 +345,8 @@ export class Box {
|
|
|
316
345
|
body.git_user_email = config.git.userEmail;
|
|
317
346
|
if (config?.env)
|
|
318
347
|
body.env_vars = config.env;
|
|
348
|
+
if (config?.attachHeaders)
|
|
349
|
+
body.attach_headers = config.attachHeaders;
|
|
319
350
|
if (config?.networkPolicy)
|
|
320
351
|
body.network_policy = serializeNetworkPolicy(config.networkPolicy);
|
|
321
352
|
if (config?.skills?.length)
|
|
@@ -361,7 +392,7 @@ export class Box {
|
|
|
361
392
|
timeout,
|
|
362
393
|
debug,
|
|
363
394
|
gitToken: config?.git?.token,
|
|
364
|
-
isAgentConfigured: Boolean(
|
|
395
|
+
isAgentConfigured: Boolean(data.agent),
|
|
365
396
|
});
|
|
366
397
|
}
|
|
367
398
|
/**
|
|
@@ -383,6 +414,32 @@ export class Box {
|
|
|
383
414
|
}
|
|
384
415
|
return (await response.json());
|
|
385
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* Delete specific boxes by ID.
|
|
419
|
+
*/
|
|
420
|
+
static async delete(options) {
|
|
421
|
+
const apiKey = options.apiKey ?? process.env.UPSTASH_BOX_API_KEY;
|
|
422
|
+
if (!apiKey) {
|
|
423
|
+
throw new BoxError("apiKey is required. Pass it in options or set UPSTASH_BOX_API_KEY env var.");
|
|
424
|
+
}
|
|
425
|
+
const baseUrl = (options.baseUrl ??
|
|
426
|
+
process.env.UPSTASH_BOX_BASE_URL ??
|
|
427
|
+
DEFAULT_BASE_URL).replace(/\/$/, "");
|
|
428
|
+
const headers = {
|
|
429
|
+
"X-Box-Api-Key": apiKey,
|
|
430
|
+
"Content-Type": "application/json",
|
|
431
|
+
};
|
|
432
|
+
const ids = Array.isArray(options.boxIds) ? options.boxIds : [options.boxIds];
|
|
433
|
+
const response = await fetch(`${baseUrl}/v2/box`, {
|
|
434
|
+
method: "DELETE",
|
|
435
|
+
headers,
|
|
436
|
+
body: JSON.stringify({ ids }),
|
|
437
|
+
});
|
|
438
|
+
if (!response.ok) {
|
|
439
|
+
const msg = await parseErrorResponse(response);
|
|
440
|
+
throw new BoxError(msg, response.status);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
386
443
|
/**
|
|
387
444
|
* Get an existing box by ID
|
|
388
445
|
*/
|
|
@@ -443,21 +500,24 @@ export class Box {
|
|
|
443
500
|
requestBody.json_schema = jsonSchema;
|
|
444
501
|
}
|
|
445
502
|
}
|
|
503
|
+
if (options.options)
|
|
504
|
+
requestBody.agent_options = toBackendAgentOptions(this._agent, options.options);
|
|
446
505
|
requestBody.webhook = options.webhook.headers
|
|
447
506
|
? { url: options.webhook.url, headers: options.webhook.headers }
|
|
448
507
|
: { url: options.webhook.url };
|
|
449
508
|
const url = `${this._baseUrl}/v2/box/${this.id}/run`;
|
|
509
|
+
const { body: fetchBody, headers: fetchHeaders } = await buildRunRequest(this._headers, requestBody, options.files);
|
|
450
510
|
const response = await fetch(url, {
|
|
451
511
|
method: "POST",
|
|
452
|
-
headers:
|
|
453
|
-
body:
|
|
512
|
+
headers: fetchHeaders,
|
|
513
|
+
body: fetchBody,
|
|
454
514
|
});
|
|
455
515
|
if (!response.ok) {
|
|
456
516
|
const msg = await parseErrorResponse(response);
|
|
457
517
|
throw new BoxError(msg, response.status);
|
|
458
518
|
}
|
|
459
519
|
const data = (await response.json());
|
|
460
|
-
Run._update(run, { id: data.
|
|
520
|
+
Run._update(run, { id: data.run_id, status: "running" });
|
|
461
521
|
return run;
|
|
462
522
|
}
|
|
463
523
|
async _runWithRetries(options) {
|
|
@@ -495,11 +555,14 @@ export class Box {
|
|
|
495
555
|
requestBody.json_schema = jsonSchema;
|
|
496
556
|
}
|
|
497
557
|
}
|
|
558
|
+
if (options.options)
|
|
559
|
+
requestBody.agent_options = toBackendAgentOptions(this._agent, options.options);
|
|
498
560
|
const url = `${this._baseUrl}/v2/box/${this.id}/run/stream`;
|
|
561
|
+
const { body: fetchBody, headers: fetchHeaders } = await buildRunRequest(this._headers, requestBody, options.files);
|
|
499
562
|
const response = await fetch(url, {
|
|
500
563
|
method: "POST",
|
|
501
|
-
headers:
|
|
502
|
-
body:
|
|
564
|
+
headers: fetchHeaders,
|
|
565
|
+
body: fetchBody,
|
|
503
566
|
signal: abortController.signal,
|
|
504
567
|
});
|
|
505
568
|
if (!response.ok) {
|
|
@@ -619,11 +682,17 @@ export class Box {
|
|
|
619
682
|
setTimeout(() => abortController.abort(), options.timeout);
|
|
620
683
|
}
|
|
621
684
|
const folder = this._getFolder();
|
|
685
|
+
const requestBody = { prompt: options.prompt };
|
|
686
|
+
if (folder)
|
|
687
|
+
requestBody.folder = folder;
|
|
688
|
+
if (options.options)
|
|
689
|
+
requestBody.agent_options = toBackendAgentOptions(this._agent, options.options);
|
|
622
690
|
const url = `${this._baseUrl}/v2/box/${this.id}/run/stream`;
|
|
691
|
+
const { body: fetchBody, headers: fetchHeaders } = await buildRunRequest(this._headers, requestBody, options.files);
|
|
623
692
|
const response = await fetch(url, {
|
|
624
693
|
method: "POST",
|
|
625
|
-
headers:
|
|
626
|
-
body:
|
|
694
|
+
headers: fetchHeaders,
|
|
695
|
+
body: fetchBody,
|
|
627
696
|
signal: abortController.signal,
|
|
628
697
|
});
|
|
629
698
|
if (!response.ok) {
|
|
@@ -1302,48 +1371,6 @@ export class Box {
|
|
|
1302
1371
|
async deleteSnapshot(snapshotId) {
|
|
1303
1372
|
await this._request("DELETE", `/v2/box/${this.id}/snapshots/${snapshotId}`);
|
|
1304
1373
|
}
|
|
1305
|
-
/**
|
|
1306
|
-
* Fork this box by creating a new box with the same workspace state.
|
|
1307
|
-
* The original box is unaffected.
|
|
1308
|
-
*/
|
|
1309
|
-
async fork() {
|
|
1310
|
-
const response = await fetch(`${this._baseUrl}/v2/box/${this.id}/fork`, {
|
|
1311
|
-
method: "POST",
|
|
1312
|
-
headers: { ...this._headers, "Content-Type": "application/json" },
|
|
1313
|
-
});
|
|
1314
|
-
if (!response.ok) {
|
|
1315
|
-
const msg = await parseErrorResponse(response);
|
|
1316
|
-
throw new BoxError(msg, response.status);
|
|
1317
|
-
}
|
|
1318
|
-
let data = (await response.json());
|
|
1319
|
-
// Poll until ready
|
|
1320
|
-
const pollInterval = 2000;
|
|
1321
|
-
const maxWait = 300000;
|
|
1322
|
-
const start = Date.now();
|
|
1323
|
-
while (data.status === "creating" && Date.now() - start < maxWait) {
|
|
1324
|
-
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
1325
|
-
const pollResponse = await fetch(`${this._baseUrl}/v2/box/${data.id}`, {
|
|
1326
|
-
headers: this._headers,
|
|
1327
|
-
});
|
|
1328
|
-
if (pollResponse.ok) {
|
|
1329
|
-
data = (await pollResponse.json());
|
|
1330
|
-
}
|
|
1331
|
-
}
|
|
1332
|
-
if (data.status === "creating") {
|
|
1333
|
-
throw new BoxError("Box fork timed out");
|
|
1334
|
-
}
|
|
1335
|
-
if (data.status === "error") {
|
|
1336
|
-
throw new BoxError("Box fork failed");
|
|
1337
|
-
}
|
|
1338
|
-
return new Box(data, {
|
|
1339
|
-
baseUrl: this._baseUrl,
|
|
1340
|
-
headers: this._headers,
|
|
1341
|
-
timeout: this._timeout,
|
|
1342
|
-
debug: this._debug,
|
|
1343
|
-
gitToken: this._gitToken,
|
|
1344
|
-
isAgentConfigured: this._isAgentConfigured,
|
|
1345
|
-
});
|
|
1346
|
-
}
|
|
1347
1374
|
/**
|
|
1348
1375
|
* Create a new box from a saved snapshot.
|
|
1349
1376
|
*/
|
|
@@ -1363,6 +1390,8 @@ export class Box {
|
|
|
1363
1390
|
};
|
|
1364
1391
|
if (config?.name)
|
|
1365
1392
|
body.name = config.name;
|
|
1393
|
+
if (config?.size)
|
|
1394
|
+
body.size = config.size;
|
|
1366
1395
|
if (config?.agent) {
|
|
1367
1396
|
body.model = config.agent.model;
|
|
1368
1397
|
body.agent = config.agent.provider ?? config.agent.runner;
|
|
@@ -1374,6 +1403,8 @@ export class Box {
|
|
|
1374
1403
|
body.github_token = config.git.token;
|
|
1375
1404
|
if (config?.env)
|
|
1376
1405
|
body.env_vars = config.env;
|
|
1406
|
+
if (config?.attachHeaders)
|
|
1407
|
+
body.attach_headers = config.attachHeaders;
|
|
1377
1408
|
if (config?.networkPolicy)
|
|
1378
1409
|
body.network_policy = serializeNetworkPolicy(config.networkPolicy);
|
|
1379
1410
|
const response = await fetch(`${baseUrl}/v2/box/from-snapshot`, {
|
|
@@ -1409,7 +1440,7 @@ export class Box {
|
|
|
1409
1440
|
timeout,
|
|
1410
1441
|
debug,
|
|
1411
1442
|
gitToken: config?.git?.token,
|
|
1412
|
-
isAgentConfigured: Boolean(
|
|
1443
|
+
isAgentConfigured: Boolean(data.model),
|
|
1413
1444
|
});
|
|
1414
1445
|
}
|
|
1415
1446
|
/**
|
|
@@ -1597,6 +1628,20 @@ export class Box {
|
|
|
1597
1628
|
body: { branch: options.branch, ...(folder ? { folder } : {}) },
|
|
1598
1629
|
});
|
|
1599
1630
|
}
|
|
1631
|
+
// ==================== Skills ====================
|
|
1632
|
+
async _skillAdd(skillId) {
|
|
1633
|
+
await this._request("POST", `/v2/box/${this.id}/config/skills`, {
|
|
1634
|
+
body: { skill_id: skillId },
|
|
1635
|
+
});
|
|
1636
|
+
}
|
|
1637
|
+
async _skillRemove(skillId) {
|
|
1638
|
+
// skill_id format: owner/repo/skill-name
|
|
1639
|
+
await this._request("DELETE", `/v2/box/${this.id}/config/skills/${skillId}`);
|
|
1640
|
+
}
|
|
1641
|
+
async _skillList() {
|
|
1642
|
+
const data = await this._request("GET", `/v2/box/${this.id}`);
|
|
1643
|
+
return data.enabled_skills ?? [];
|
|
1644
|
+
}
|
|
1600
1645
|
// ==================== Preview ====================
|
|
1601
1646
|
async getPreviewUrl(port, options) {
|
|
1602
1647
|
return this._request("POST", `/v2/box/${this.id}/preview`, {
|
|
@@ -1619,7 +1664,7 @@ export class Box {
|
|
|
1619
1664
|
* A lightweight, short-lived box that supports only exec and file operations.
|
|
1620
1665
|
*
|
|
1621
1666
|
* Ephemeral boxes are created synchronously (no polling) and auto-delete after
|
|
1622
|
-
* the configured TTL. They do not support agent, git,
|
|
1667
|
+
* the configured TTL. They do not support agent, git, or snapshot
|
|
1623
1668
|
* operations.
|
|
1624
1669
|
*
|
|
1625
1670
|
* @example
|
|
@@ -1736,12 +1781,16 @@ export class EphemeralBox {
|
|
|
1736
1781
|
const body = { ephemeral: true };
|
|
1737
1782
|
if (config?.name)
|
|
1738
1783
|
body.name = config.name;
|
|
1784
|
+
if (config?.size)
|
|
1785
|
+
body.size = config.size;
|
|
1739
1786
|
if (config?.ttl !== undefined)
|
|
1740
1787
|
body.ttl = config.ttl;
|
|
1741
1788
|
if (config?.runtime)
|
|
1742
1789
|
body.runtime = config.runtime;
|
|
1743
1790
|
if (config?.env)
|
|
1744
1791
|
body.env_vars = config.env;
|
|
1792
|
+
if (config?.attachHeaders)
|
|
1793
|
+
body.attach_headers = config.attachHeaders;
|
|
1745
1794
|
if (config?.networkPolicy)
|
|
1746
1795
|
body.network_policy = serializeNetworkPolicy(config.networkPolicy);
|
|
1747
1796
|
const response = await fetch(`${baseUrl}/v2/box`, {
|
|
@@ -1792,12 +1841,16 @@ export class EphemeralBox {
|
|
|
1792
1841
|
};
|
|
1793
1842
|
if (config?.name)
|
|
1794
1843
|
body.name = config.name;
|
|
1844
|
+
if (config?.size)
|
|
1845
|
+
body.size = config.size;
|
|
1795
1846
|
if (config?.ttl !== undefined)
|
|
1796
1847
|
body.ttl = config.ttl;
|
|
1797
1848
|
if (config?.runtime)
|
|
1798
1849
|
body.runtime = config.runtime;
|
|
1799
1850
|
if (config?.env)
|
|
1800
1851
|
body.env_vars = config.env;
|
|
1852
|
+
if (config?.attachHeaders)
|
|
1853
|
+
body.attach_headers = config.attachHeaders;
|
|
1801
1854
|
if (config?.networkPolicy)
|
|
1802
1855
|
body.network_policy = serializeNetworkPolicy(config.networkPolicy);
|
|
1803
1856
|
const response = await fetch(`${baseUrl}/v2/box/from-snapshot`, {
|
|
@@ -1822,6 +1875,10 @@ export class EphemeralBox {
|
|
|
1822
1875
|
* Get an existing ephemeral box by name
|
|
1823
1876
|
*/
|
|
1824
1877
|
static getByName = Box.get;
|
|
1878
|
+
/**
|
|
1879
|
+
* Delete specific boxes by ID.
|
|
1880
|
+
*/
|
|
1881
|
+
static delete = Box.delete;
|
|
1825
1882
|
}
|
|
1826
1883
|
// ==================== Helpers ====================
|
|
1827
1884
|
/** @internal — Convert a Zod schema to a JSON Schema object for the API's json_schema parameter */
|
|
@@ -1866,6 +1923,81 @@ function deserializeNetworkPolicy(raw) {
|
|
|
1866
1923
|
}
|
|
1867
1924
|
return { mode: raw.mode };
|
|
1868
1925
|
}
|
|
1926
|
+
/** Check whether PromptFiles are local file paths (string[]) or base64 data objects. */
|
|
1927
|
+
function isFilePaths(files) {
|
|
1928
|
+
return typeof files[0] === "string";
|
|
1929
|
+
}
|
|
1930
|
+
const MIME_TYPES = {
|
|
1931
|
+
".png": "image/png",
|
|
1932
|
+
".jpg": "image/jpeg",
|
|
1933
|
+
".jpeg": "image/jpeg",
|
|
1934
|
+
".gif": "image/gif",
|
|
1935
|
+
".webp": "image/webp",
|
|
1936
|
+
".svg": "image/svg+xml",
|
|
1937
|
+
".pdf": "application/pdf",
|
|
1938
|
+
".csv": "text/csv",
|
|
1939
|
+
".txt": "text/plain",
|
|
1940
|
+
".json": "application/json",
|
|
1941
|
+
".xml": "application/xml",
|
|
1942
|
+
".html": "text/html",
|
|
1943
|
+
".md": "text/markdown",
|
|
1944
|
+
".ts": "text/plain",
|
|
1945
|
+
".js": "text/plain",
|
|
1946
|
+
".py": "text/plain",
|
|
1947
|
+
};
|
|
1948
|
+
/**
|
|
1949
|
+
* Build a multipart FormData body from run options + local file paths.
|
|
1950
|
+
* All options are sent as form fields; files as binary parts.
|
|
1951
|
+
*/
|
|
1952
|
+
async function buildMultipartBody(requestBody, filePaths) {
|
|
1953
|
+
const [fs, path] = await Promise.all([import("node:fs/promises"), import("node:path")]);
|
|
1954
|
+
const formData = new FormData();
|
|
1955
|
+
// Add all scalar fields
|
|
1956
|
+
for (const [key, value] of Object.entries(requestBody)) {
|
|
1957
|
+
if (value === undefined)
|
|
1958
|
+
continue;
|
|
1959
|
+
if (typeof value === "string") {
|
|
1960
|
+
formData.append(key, value);
|
|
1961
|
+
}
|
|
1962
|
+
else {
|
|
1963
|
+
formData.append(key, JSON.stringify(value));
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
// Add files as binary parts
|
|
1967
|
+
for (const filePath of filePaths) {
|
|
1968
|
+
const buffer = await fs.readFile(filePath);
|
|
1969
|
+
const filename = path.basename(filePath);
|
|
1970
|
+
const ext = path.extname(filePath).toLowerCase();
|
|
1971
|
+
const mimeType = MIME_TYPES[ext] ?? "application/octet-stream";
|
|
1972
|
+
formData.append("files", new Blob([buffer], { type: mimeType }), filename);
|
|
1973
|
+
}
|
|
1974
|
+
return formData;
|
|
1975
|
+
}
|
|
1976
|
+
/**
|
|
1977
|
+
* Build the fetch body + headers for a run request.
|
|
1978
|
+
* - file paths → multipart FormData
|
|
1979
|
+
* - base64 objects → JSON with `files` array
|
|
1980
|
+
* - no files → plain JSON
|
|
1981
|
+
*/
|
|
1982
|
+
async function buildRunRequest(baseHeaders, requestBody, files) {
|
|
1983
|
+
if (files?.length) {
|
|
1984
|
+
if (isFilePaths(files)) {
|
|
1985
|
+
return {
|
|
1986
|
+
body: await buildMultipartBody(requestBody, files),
|
|
1987
|
+
headers: { ...baseHeaders },
|
|
1988
|
+
};
|
|
1989
|
+
}
|
|
1990
|
+
requestBody.files = files.map((f) => ({
|
|
1991
|
+
data: f.data,
|
|
1992
|
+
media_type: f.mediaType,
|
|
1993
|
+
filename: f.filename,
|
|
1994
|
+
}));
|
|
1995
|
+
}
|
|
1996
|
+
return {
|
|
1997
|
+
body: JSON.stringify(requestBody),
|
|
1998
|
+
headers: { ...baseHeaders, "Content-Type": "application/json" },
|
|
1999
|
+
};
|
|
2000
|
+
}
|
|
1869
2001
|
/** @internal */
|
|
1870
2002
|
export async function parseErrorResponse(response) {
|
|
1871
2003
|
try {
|