@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 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, snapshot, or fork
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;
@@ -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(config?.agent),
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: { ...this._headers, "Content-Type": "application/json" },
453
- body: JSON.stringify(requestBody),
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.box_id, status: "running" });
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: { ...this._headers, "Content-Type": "application/json" },
502
- body: JSON.stringify(requestBody),
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: { ...this._headers, "Content-Type": "application/json" },
626
- body: JSON.stringify({ prompt: options.prompt, ...(folder ? { folder } : {}) }),
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(config?.agent),
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, snapshot, or fork
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 {