@vercel/sandbox 2.0.0-beta.1 → 2.0.0-beta.10

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/dist/sandbox.js CHANGED
@@ -26,7 +26,7 @@ class Sandbox {
26
26
  * The name of this sandbox.
27
27
  */
28
28
  get name() {
29
- return this.namedSandbox.name;
29
+ return this.sandbox.name;
30
30
  }
31
31
  /**
32
32
  * Routes from ports to subdomains.
@@ -39,65 +39,73 @@ class Sandbox {
39
39
  * Whether the sandbox persists the state.
40
40
  */
41
41
  get persistent() {
42
- return this.namedSandbox.persistent;
42
+ return this.sandbox.persistent;
43
43
  }
44
44
  /**
45
45
  * The region this sandbox runs in.
46
46
  */
47
47
  get region() {
48
- return this.namedSandbox.region;
48
+ return this.sandbox.region;
49
49
  }
50
50
  /**
51
51
  * Number of virtual CPUs allocated.
52
52
  */
53
53
  get vcpus() {
54
- return this.namedSandbox.vcpus;
54
+ return this.sandbox.vcpus;
55
55
  }
56
56
  /**
57
57
  * Memory allocated in MB.
58
58
  */
59
59
  get memory() {
60
- return this.namedSandbox.memory;
60
+ return this.sandbox.memory;
61
61
  }
62
62
  /** Runtime identifier (e.g. "node24", "python3.13"). */
63
63
  get runtime() {
64
- return this.namedSandbox.runtime;
64
+ return this.sandbox.runtime;
65
65
  }
66
66
  /**
67
67
  * Cumulative egress bytes across all sessions.
68
68
  */
69
69
  get totalEgressBytes() {
70
- return this.namedSandbox.totalEgressBytes;
70
+ return this.sandbox.totalEgressBytes;
71
71
  }
72
72
  /**
73
73
  * Cumulative ingress bytes across all sessions.
74
74
  */
75
75
  get totalIngressBytes() {
76
- return this.namedSandbox.totalIngressBytes;
76
+ return this.sandbox.totalIngressBytes;
77
77
  }
78
78
  /**
79
79
  * Cumulative active CPU duration in milliseconds across all sessions.
80
80
  */
81
81
  get totalActiveCpuDurationMs() {
82
- return this.namedSandbox.totalActiveCpuDurationMs;
82
+ return this.sandbox.totalActiveCpuDurationMs;
83
83
  }
84
84
  /**
85
85
  * Cumulative wall-clock duration in milliseconds across all sessions.
86
86
  */
87
87
  get totalDurationMs() {
88
- return this.namedSandbox.totalDurationMs;
88
+ return this.sandbox.totalDurationMs;
89
89
  }
90
90
  /**
91
91
  * When this sandbox was last updated.
92
92
  */
93
93
  get updatedAt() {
94
- return new Date(this.namedSandbox.updatedAt);
94
+ return new Date(this.sandbox.updatedAt);
95
+ }
96
+ /**
97
+ * When the sandbox status was last updated.
98
+ */
99
+ get statusUpdatedAt() {
100
+ return this.sandbox.statusUpdatedAt
101
+ ? new Date(this.sandbox.statusUpdatedAt)
102
+ : undefined;
95
103
  }
96
104
  /**
97
105
  * When this sandbox was created.
98
106
  */
99
107
  get createdAt() {
100
- return new Date(this.namedSandbox.createdAt);
108
+ return new Date(this.sandbox.createdAt);
101
109
  }
102
110
  /**
103
111
  * Interactive port.
@@ -115,14 +123,20 @@ class Sandbox {
115
123
  * The default timeout of this sandbox in milliseconds.
116
124
  */
117
125
  get timeout() {
118
- return this.namedSandbox.timeout;
126
+ return this.sandbox.timeout;
127
+ }
128
+ /**
129
+ * Key-value tags attached to the sandbox.
130
+ */
131
+ get tags() {
132
+ return this.sandbox.tags;
119
133
  }
120
134
  /**
121
135
  * The default network policy of this sandbox.
122
136
  */
123
137
  get networkPolicy() {
124
- return this.namedSandbox.networkPolicy
125
- ? (0, network_policy_1.fromAPINetworkPolicy)(this.namedSandbox.networkPolicy)
138
+ return this.sandbox.networkPolicy
139
+ ? (0, network_policy_1.fromAPINetworkPolicy)(this.sandbox.networkPolicy)
126
140
  : undefined;
127
141
  }
128
142
  /**
@@ -135,7 +149,13 @@ class Sandbox {
135
149
  * The current snapshot ID of this sandbox, if any.
136
150
  */
137
151
  get currentSnapshotId() {
138
- return this.namedSandbox.currentSnapshotId;
152
+ return this.sandbox.currentSnapshotId;
153
+ }
154
+ /**
155
+ * The default snapshot expiration in milliseconds, if set.
156
+ */
157
+ get snapshotExpiration() {
158
+ return this.sandbox.snapshotExpiration;
139
159
  }
140
160
  /**
141
161
  * The amount of CPU used by the session. Only reported once the VM is stopped.
@@ -161,10 +181,11 @@ class Sandbox {
161
181
  token: credentials.token,
162
182
  fetch: params?.fetch,
163
183
  });
164
- return client.listNamedSandboxes({
184
+ const response = await client.listSandboxes({
165
185
  ...credentials,
166
186
  ...params,
167
187
  });
188
+ return response.json;
168
189
  }
169
190
  /**
170
191
  * Create a new sandbox.
@@ -195,6 +216,8 @@ class Sandbox {
195
216
  runtime: params && "runtime" in params ? params?.runtime : undefined,
196
217
  networkPolicy: params?.networkPolicy,
197
218
  env: params?.env,
219
+ tags: params?.tags,
220
+ snapshotExpiration: params?.snapshotExpiration,
198
221
  signal: params?.signal,
199
222
  name: params?.name,
200
223
  persistent: params?.persistent,
@@ -202,8 +225,8 @@ class Sandbox {
202
225
  });
203
226
  return new DisposableSandbox({
204
227
  client,
205
- session: response.json.sandbox,
206
- namedSandbox: response.json.namedSandbox,
228
+ session: response.json.session,
229
+ sandbox: response.json.sandbox,
207
230
  routes: response.json.routes,
208
231
  projectId: credentials.projectId,
209
232
  });
@@ -221,24 +244,30 @@ class Sandbox {
221
244
  token: credentials.token,
222
245
  fetch: params.fetch,
223
246
  });
224
- const response = await client.getNamedSandbox({
247
+ const privateParams = (0, types_1.getPrivateParams)(params);
248
+ const response = await client.getSandbox({
225
249
  name: params.name,
226
250
  projectId: credentials.projectId,
227
251
  resume: params.resume,
228
252
  signal: params.signal,
253
+ ...privateParams,
229
254
  });
230
255
  return new Sandbox({
231
256
  client,
232
- session: response.json.sandbox,
233
- namedSandbox: response.json.namedSandbox,
257
+ session: response.json.session,
258
+ sandbox: response.json.sandbox,
234
259
  routes: response.json.routes,
235
260
  projectId: credentials.projectId,
236
261
  });
237
262
  }
238
- constructor({ client, routes, session, namedSandbox, projectId, }) {
263
+ constructor({ client, routes, session, sandbox, projectId, }) {
264
+ /**
265
+ * In-flight resume promise, used to deduplicate concurrent resume calls.
266
+ */
267
+ this.resumePromise = null;
239
268
  this.client = client;
240
269
  this.session = new session_1.Session({ client, routes, session });
241
- this.namedSandbox = namedSandbox;
270
+ this.sandbox = sandbox;
242
271
  this.projectId = projectId;
243
272
  }
244
273
  /**
@@ -250,11 +279,19 @@ class Sandbox {
250
279
  return this.session;
251
280
  }
252
281
  /**
253
- * Resume this sandbox by creating a new session via `getNamedSandbox`.
282
+ * Resume this sandbox by creating a new session via `getSandbox`.
254
283
  */
255
284
  async resume(signal) {
256
- const response = await this.client.getNamedSandbox({
257
- name: this.namedSandbox.name,
285
+ if (!this.resumePromise) {
286
+ this.resumePromise = this.doResume(signal).finally(() => {
287
+ this.resumePromise = null;
288
+ });
289
+ }
290
+ return this.resumePromise;
291
+ }
292
+ async doResume(signal) {
293
+ const response = await this.client.getSandbox({
294
+ name: this.sandbox.name,
258
295
  projectId: this.projectId,
259
296
  resume: true,
260
297
  signal,
@@ -262,7 +299,7 @@ class Sandbox {
262
299
  this.session = new session_1.Session({
263
300
  client: this.client,
264
301
  routes: response.json.routes,
265
- session: response.json.sandbox,
302
+ session: response.json.session,
266
303
  });
267
304
  }
268
305
  /**
@@ -273,16 +310,16 @@ class Sandbox {
273
310
  let status = this.session.status;
274
311
  while (status === "stopping" || status === "snapshotting") {
275
312
  await (0, promises_1.setTimeout)(pollingInterval, undefined, { signal });
276
- const poll = await this.client.getSandbox({
277
- sandboxId: this.session.sessionId,
313
+ const poll = await this.client.getSession({
314
+ sessionId: this.session.sessionId,
278
315
  signal,
279
316
  });
280
317
  this.session = new session_1.Session({
281
318
  client: this.client,
282
319
  routes: poll.json.routes,
283
- session: poll.json.sandbox,
320
+ session: poll.json.session,
284
321
  });
285
- status = poll.json.sandbox.status;
322
+ status = poll.json.session.status;
286
323
  }
287
324
  await this.resume(signal);
288
325
  }
@@ -306,7 +343,9 @@ class Sandbox {
306
343
  }
307
344
  }
308
345
  async runCommand(commandOrParams, args, opts) {
309
- const signal = typeof commandOrParams === "string" ? opts?.signal : commandOrParams.signal;
346
+ const signal = typeof commandOrParams === "string"
347
+ ? opts?.signal
348
+ : commandOrParams.signal;
310
349
  return this.withResume(() => this.session.runCommand(commandOrParams, args, opts), signal);
311
350
  }
312
351
  /**
@@ -369,10 +408,16 @@ class Sandbox {
369
408
  * Defaults to writing to /vercel/sandbox unless an absolute path is specified.
370
409
  * Writes files using the `vercel-sandbox` user.
371
410
  *
372
- * @param files - Array of files with path and stream/buffer contents
411
+ * @param files - Array of files with path, content, and optional mode (permissions)
373
412
  * @param opts - Optional parameters.
374
413
  * @param opts.signal - An AbortSignal to cancel the operation.
375
414
  * @returns A promise that resolves when the files are written
415
+ *
416
+ * @example
417
+ * // Write an executable script
418
+ * await sandbox.writeFiles([
419
+ * { path: "/usr/local/bin/myscript", content: Buffer.from("#!/bin/bash\necho hello"), mode: 0o755 }
420
+ * ]);
376
421
  */
377
422
  async writeFiles(files, opts) {
378
423
  return this.withResume(() => this.session.writeFiles(files, opts), opts?.signal);
@@ -393,7 +438,7 @@ class Sandbox {
393
438
  * @param opts - Optional parameters.
394
439
  * @param opts.signal - An AbortSignal to cancel the operation.
395
440
  * @param opts.blocking - If true, poll until the sandbox has fully stopped and return the final state.
396
- * @returns The sandbox metadata at the time the stop was acknowledged, or after fully stopped if `blocking` is true.
441
+ * @returns The sandbox at the time the stop was acknowledged, or after fully stopped if `blocking` is true.
397
442
  */
398
443
  async stop(opts) {
399
444
  return this.session.stop(opts);
@@ -401,6 +446,8 @@ class Sandbox {
401
446
  /**
402
447
  * Update the network policy for this sandbox.
403
448
  *
449
+ * @deprecated Use {@link Sandbox.update} instead.
450
+ *
404
451
  * @param networkPolicy - The new network policy to apply.
405
452
  * @param opts - Optional parameters.
406
453
  * @param opts.signal - An AbortSignal to cancel the operation.
@@ -430,7 +477,8 @@ class Sandbox {
430
477
  * await sandbox.updateNetworkPolicy("deny-all");
431
478
  */
432
479
  async updateNetworkPolicy(networkPolicy, opts) {
433
- return this.withResume(() => this.session.updateNetworkPolicy(networkPolicy, opts), opts?.signal);
480
+ await this.withResume(() => this.session.update({ networkPolicy: networkPolicy }, opts), opts?.signal);
481
+ return this.session.networkPolicy;
434
482
  }
435
483
  /**
436
484
  * Extend the timeout of the sandbox by the specified duration.
@@ -466,68 +514,91 @@ class Sandbox {
466
514
  return this.withResume(() => this.session.snapshot(opts), opts?.signal);
467
515
  }
468
516
  /**
469
- * Update the named sandbox configuration. Only provided fields are modified.
517
+ * Update the sandbox configuration.
470
518
  *
471
519
  * @param params - Fields to update.
472
520
  * @param opts - Optional abort signal.
473
521
  */
474
522
  async update(params, opts) {
475
- const response = await this.client.updateNamedSandbox({
476
- name: this.namedSandbox.name,
523
+ let resources;
524
+ if (params.resources?.vcpus) {
525
+ resources = {
526
+ vcpus: params.resources.vcpus,
527
+ memory: params.resources.vcpus * 2048,
528
+ };
529
+ }
530
+ // Update the sandbox config. This config will be used on the next session.
531
+ const response = await this.client.updateSandbox({
532
+ name: this.sandbox.name,
477
533
  projectId: this.projectId,
478
- resources: params.resources,
479
- runtime: params.runtime,
534
+ persistent: params.persistent,
535
+ resources,
480
536
  timeout: params.timeout,
481
537
  networkPolicy: params.networkPolicy,
538
+ tags: params.tags,
539
+ snapshotExpiration: params.snapshotExpiration,
482
540
  signal: opts?.signal,
483
541
  });
484
- this.namedSandbox = response.json.namedSandbox;
542
+ this.sandbox = response.json.sandbox;
543
+ // Update the current session config. This only applies to network policy.
544
+ if (params.networkPolicy) {
545
+ try {
546
+ return await this.session.update({ networkPolicy: params.networkPolicy }, opts);
547
+ }
548
+ catch (err) {
549
+ if (isSandboxStoppedError(err) || isSandboxStoppingError(err)) {
550
+ return;
551
+ }
552
+ throw err;
553
+ }
554
+ }
485
555
  }
486
556
  /**
487
- * Delete this named sandbox.
557
+ * Delete this sandbox.
488
558
  *
489
559
  * After deletion the instance becomes inert — all further API calls will
490
560
  * throw immediately.
491
561
  */
492
562
  async delete(opts) {
493
- await this.client.deleteNamedSandbox({
494
- name: this.namedSandbox.name,
563
+ await this.client.deleteSandbox({
564
+ name: this.sandbox.name,
495
565
  projectId: this.projectId,
496
- preserveSnapshots: opts?.preserveSnapshots,
497
566
  signal: opts?.signal,
498
567
  });
499
568
  }
500
569
  /**
501
- * List sessions (VMs) that have been created for this named sandbox.
570
+ * List sessions (VMs) that have been created for this sandbox.
502
571
  *
503
572
  * @param params - Optional pagination parameters.
504
573
  * @returns The list of sessions and pagination metadata.
505
574
  */
506
575
  async listSessions(params) {
507
- return this.client.listSandboxes({
576
+ const response = await this.client.listSessions({
508
577
  projectId: this.projectId,
509
- name: this.namedSandbox.name,
578
+ name: this.sandbox.name,
510
579
  limit: params?.limit,
511
- since: params?.since,
512
- until: params?.until,
580
+ cursor: params?.cursor,
581
+ sortOrder: params?.sortOrder,
513
582
  signal: params?.signal,
514
583
  });
584
+ return response.json;
515
585
  }
516
586
  /**
517
- * List snapshots that belong to this named sandbox.
587
+ * List snapshots that belong to this sandbox.
518
588
  *
519
589
  * @param params - Optional pagination parameters.
520
590
  * @returns The list of snapshots and pagination metadata.
521
591
  */
522
592
  async listSnapshots(params) {
523
- return this.client.listSnapshots({
593
+ const response = await this.client.listSnapshots({
524
594
  projectId: this.projectId,
525
- name: this.namedSandbox.name,
595
+ name: this.sandbox.name,
526
596
  limit: params?.limit,
527
- since: params?.since,
528
- until: params?.until,
597
+ cursor: params?.cursor,
598
+ sortOrder: params?.sortOrder,
529
599
  signal: params?.signal,
530
600
  });
601
+ return response.json;
531
602
  }
532
603
  }
533
604
  exports.Sandbox = Sandbox;
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AACzC,sDAAkD;AAClD,6DAA2E;AAC3E,yCAAmE;AAGnE,uCAA2D;AAO3D,2DAA8D;AAC9D,mDAAkD;AA2GlD,SAAS,qBAAqB,CAAC,GAAY;IACzC,OAAO,GAAG,YAAY,oBAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAY;IAC1C,OAAO,CACL,GAAG,YAAY,oBAAQ;QACvB,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;QAC1B,GAAG,CAAC,IAAY,EAAE,KAAK,EAAE,IAAI,KAAK,kBAAkB,CACtD,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAa,OAAO;IAclB;;OAEG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,wDAAwD;IACxD,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,wBAAwB;QACjC,OAAO,IAAI,CAAC,YAAY,CAAC,wBAAwB,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAW,SAAS;QAClB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAW,aAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,aAAa;YACpC,CAAC,CAAC,IAAA,qCAAoB,EAAC,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC;YACvD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAW,gBAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,KAAK,CAAC,IAAI,CACf,MAEkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,EAAE,KAAK;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,kBAAkB,CAAC;YAC/B,GAAG,WAAW;YACd,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,MAGkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,EAAE,KAAK;SACrB,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YAC1B,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,SAAS,EAAE,MAAM,EAAE,SAAS;YAC5B,OAAO,EAAE,MAAM,IAAI,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS;YACpE,aAAa,EAAE,MAAM,EAAE,aAAa;YACpC,GAAG,EAAE,MAAM,EAAE,GAAG;YAChB,MAAM,EAAE,MAAM,EAAE,MAAM;YACtB,IAAI,EAAE,MAAM,EAAE,IAAI;YAClB,UAAU,EAAE,MAAM,EAAE,UAAU;YAC9B,GAAG,aAAa;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,iBAAiB,CAAC;YAC3B,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;YAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY;YACxC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,MACkB;QAElB,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,sBAAS,CAAC;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,KAAK,EAAE,MAAM,CAAC,KAAK;SACpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC;YAC5C,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,IAAI,OAAO,CAAC;YACjB,MAAM;YACN,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;YAC9B,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY;YACxC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC5B,SAAS,EAAE,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;IACL,CAAC;IAED,YAAY,EACV,MAAM,EACN,MAAM,EACN,OAAO,EACP,YAAY,EACZ,SAAS,GAOV;QACC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACxD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED;;;;OAIG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,MAAM,CAAC,MAAoB;QACvC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,MAAM,EAAE,IAAI;YACZ,MAAM;SACP,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM;YAC5B,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO;SAC/B,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,oBAAoB,CAAC,MAAoB;QACrD,MAAM,eAAe,GAAG,GAAG,CAAC;QAC5B,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAEjC,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,KAAK,cAAc,EAAE,CAAC;YAC1D,MAAM,IAAA,qBAAU,EAAC,eAAe,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;gBACxC,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS;gBACjC,MAAM;aACP,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,iBAAO,CAAC;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;gBACxB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;aAC3B,CAAC,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,UAAU,CAAI,EAAoB,EAAE,MAAoB;QACpE,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,qBAAqB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC1B,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YACD,IAAI,sBAAsB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,EAAE,EAAE,CAAC;YACd,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAmCD,KAAK,CAAC,UAAU,CACd,eAA0C,EAC1C,IAAe,EACf,IAA+B;QAE/B,MAAM,MAAM,GAAG,OAAO,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;QAC3F,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,eAAsB,EAAE,IAAI,EAAE,IAAI,CAAC,EACjE,MAAM,CACP,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,UAAU,CACd,KAAa,EACb,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAC1C,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,IAA+B;QAEvD,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EACpC,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACZ,IAAoC,EACpC,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,EACvC,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,gBAAgB,CACpB,IAAoC,EACpC,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,EAC/C,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,YAAY,CAChB,GAAmC,EACnC,GAAmC,EACnC,IAAyD;QAGzD,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAC/C,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,UAAU,CACd,KAA0C,EAC1C,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,EAC1C,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,CAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,IAAmD;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,KAAK,CAAC,mBAAmB,CACvB,aAA4B,EAC5B,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,EAC3D,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,IAA+B;QAG/B,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,EAChD,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,QAAQ,CAAC,IAGd;QAEC,OAAO,IAAI,CAAC,UAAU,CACpB,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EACjC,IAAI,EAAE,MAAM,CACb,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,MAKC,EACD,IAA+B;QAG/B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QACH,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC;IACjD,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,IAA4D;QACvE,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YACnC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;YAC1C,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,MAKlB;QAEC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC5B,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,MAKnB;QAEC,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI;YAC5B,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,KAAK,EAAE,MAAM,EAAE,KAAK;YACpB,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CAAC,CAAC;IACL,CAAC;CACF;AA3sBD,0BA2sBC;AAED;;;;;;;;GAQG;AACH,MAAM,iBAAkB,SAAQ,OAAO;IACrC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/session.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import type { SandboxMetaData, SandboxRouteData } from "./api-client";
1
+ import type { SessionMetaData, SandboxRouteData } from "./api-client";
2
2
  import type { Writable } from "stream";
3
3
  import type { APIClient } from "./api-client";
4
4
  import { Command, CommandFinished } from "./command";
5
5
  import { Snapshot } from "./snapshot";
6
6
  import type { NetworkPolicy, NetworkPolicyRule, NetworkTransformer } from "./network-policy";
7
- import { type ConvertedSandbox } from "./utils/convert-sandbox";
7
+ import { type ConvertedSession } from "./utils/convert-sandbox";
8
8
  export type { NetworkPolicy, NetworkPolicyRule, NetworkTransformer };
9
9
  /** @inline */
10
10
  export interface RunCommandParams {
@@ -46,7 +46,7 @@ export interface RunCommandParams {
46
46
  signal?: AbortSignal;
47
47
  }
48
48
  /**
49
- * A Session represents a running VM instance within a named {@link Sandbox}.
49
+ * A Session represents a running VM instance within a {@link Sandbox}.
50
50
  *
51
51
  * Obtain a session via {@link Sandbox.currentSession}.
52
52
  */
@@ -69,7 +69,7 @@ export declare class Session {
69
69
  /**
70
70
  * The status of this session.
71
71
  */
72
- get status(): SandboxMetaData["status"];
72
+ get status(): SessionMetaData["status"];
73
73
  /**
74
74
  * The creation date of this session.
75
75
  */
@@ -154,7 +154,7 @@ export declare class Session {
154
154
  constructor({ client, routes, session, }: {
155
155
  client: APIClient;
156
156
  routes: SandboxRouteData[];
157
- session: SandboxMetaData;
157
+ session: SessionMetaData;
158
158
  });
159
159
  /**
160
160
  * Get a previously run command by its ID.
@@ -291,46 +291,52 @@ export declare class Session {
291
291
  * @param opts - Optional parameters.
292
292
  * @param opts.signal - An AbortSignal to cancel the operation.
293
293
  * @param opts.blocking - If true, poll until the session has fully stopped and return the final state.
294
- * @returns The session metadata at the time the stop was acknowledged, or after fully stopped if `blocking` is true.
294
+ * @returns The session at the time the stop was acknowledged, or after fully stopped if `blocking` is true.
295
295
  */
296
296
  stop(opts?: {
297
297
  signal?: AbortSignal;
298
298
  blocking?: boolean;
299
- }): Promise<ConvertedSandbox>;
299
+ }): Promise<ConvertedSession>;
300
300
  /**
301
- * Update the network policy for this session.
301
+ * Update the current session's settings.
302
302
  *
303
- * @param networkPolicy - The new network policy to apply.
303
+ * @param params - Fields to update.
304
+ * @param params.networkPolicy - The new network policy to apply.
304
305
  * @param opts - Optional parameters.
305
306
  * @param opts.signal - An AbortSignal to cancel the operation.
306
- * @returns A promise that resolves when the network policy is updated.
307
307
  *
308
308
  * @example
309
309
  * // Restrict to specific domains
310
- * await session.updateNetworkPolicy({
311
- * allow: ["*.npmjs.org", "github.com"],
310
+ * await session.update({
311
+ * networkPolicy: {
312
+ * allow: ["*.npmjs.org", "github.com"],
313
+ * }
312
314
  * });
313
315
  *
314
316
  * @example
315
317
  * // Inject credentials with per-domain transformers
316
- * await session.updateNetworkPolicy({
317
- * allow: {
318
- * "ai-gateway.vercel.sh": [{
319
- * transform: [{
320
- * headers: { authorization: "Bearer ..." }
321
- * }]
322
- * }],
323
- * "*": []
318
+ * await session.update({
319
+ * networkPolicy: {
320
+ * allow: {
321
+ * "ai-gateway.vercel.sh": [{
322
+ * transform: [{
323
+ * headers: { authorization: "Bearer ..." }
324
+ * }]
325
+ * }],
326
+ * "*": []
327
+ * }
324
328
  * }
325
329
  * });
326
330
  *
327
331
  * @example
328
332
  * // Deny all network access
329
- * await session.updateNetworkPolicy("deny-all");
333
+ * await session.update({ networkPolicy: "deny-all" });
330
334
  */
331
- updateNetworkPolicy(networkPolicy: NetworkPolicy, opts?: {
335
+ update(params: {
336
+ networkPolicy?: NetworkPolicy;
337
+ }, opts?: {
332
338
  signal?: AbortSignal;
333
- }): Promise<NetworkPolicy>;
339
+ }): Promise<void>;
334
340
  /**
335
341
  * Extend the timeout of the session by the specified duration.
336
342
  *