@vercel/sandbox 1.1.0 → 1.1.2

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.
@@ -1,4 +1,4 @@
1
1
 
2
- > @vercel/sandbox@1.1.0 build /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.1.2 build /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
3
3
  > tsc
4
4
 
@@ -1,18 +1,18 @@
1
1
 
2
- > @vercel/sandbox@1.1.0 test /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.1.2 test /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
3
3
  > vitest run
4
4
 
5
5
 
6
6
   RUN  v3.2.1 /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
7
7
 
8
- ✓ src/utils/jwt-expiry.test.ts (10 tests) 23ms
8
+ ✓ src/utils/jwt-expiry.test.ts (10 tests) 21ms
9
9
  ↓ src/sandbox.test.ts (4 tests | 4 skipped)
10
- ✓ src/utils/normalizePath.test.ts (6 tests) 24ms
10
+ ✓ src/utils/normalizePath.test.ts (6 tests) 21ms
11
11
  ↓ src/command.test.ts (5 tests | 5 skipped)
12
- ✓ src/utils/types.test.js (1 test) 13ms
12
+ ✓ src/utils/types.test.js (1 test) 8ms
13
13
 
14
14
   Test Files  3 passed | 2 skipped (5)
15
15
   Tests  17 passed | 9 skipped (26)
16
-  Start at  13:55:18
17
-  Duration  6.11s (transform 561ms, setup 221ms, collect 1.62s, tests 59ms, environment 5ms, prepare 1.53s)
16
+  Start at  09:45:47
17
+  Duration  5.08s (transform 530ms, setup 173ms, collect 1.66s, tests 50ms, environment 5ms, prepare 1.30s)
18
18
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @vercel/sandbox@1.1.0 typecheck /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.1.2 typecheck /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @vercel/sandbox
2
2
 
3
+ ## 1.1.2
4
+
5
+ ### Patch Changes
6
+
7
+ - allow Sandbox.list to omit the argument ([#186](https://github.com/vercel/sandbox-sdk/pull/186))
8
+
9
+ ## 1.1.1
10
+
11
+ ### Patch Changes
12
+
13
+ - Add experimental support for snapshots ([#162](https://github.com/vercel/sandbox-sdk/pull/162))
14
+
3
15
  ## 1.1.0
4
16
 
5
17
  ### Minor Changes
@@ -1,5 +1,5 @@
1
1
  import { BaseClient, type Parsed, type RequestParams } from "./base-client";
2
- import { SandboxResponse, CommandResponse, CommandFinishedResponse, LogLine, ExtendTimeoutResponse } from "./validators";
2
+ import { SandboxResponse, CommandResponse, CommandFinishedResponse, LogLine, ExtendTimeoutResponse, SnapshotResponse, CreateSnapshotResponse } from "./validators";
3
3
  import { FileWriter } from "./file-writer";
4
4
  import { z } from "zod";
5
5
  import { WithPrivate } from "../utils/types";
@@ -24,7 +24,7 @@ export declare class APIClient extends BaseClient {
24
24
  }>): Promise<Parsed<{
25
25
  sandbox: {
26
26
  region: string;
27
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
27
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
28
28
  timeout: number;
29
29
  cwd: string;
30
30
  id: string;
@@ -59,6 +59,9 @@ export declare class APIClient extends BaseClient {
59
59
  } | {
60
60
  type: "tarball";
61
61
  url: string;
62
+ } | {
63
+ type: "snapshot";
64
+ snapshotId: string;
62
65
  };
63
66
  timeout?: number;
64
67
  resources?: {
@@ -69,7 +72,7 @@ export declare class APIClient extends BaseClient {
69
72
  }>): Promise<Parsed<{
70
73
  sandbox: {
71
74
  region: string;
72
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
75
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
73
76
  timeout: number;
74
77
  cwd: string;
75
78
  id: string;
@@ -161,7 +164,7 @@ export declare class APIClient extends BaseClient {
161
164
  }): Promise<Parsed<{
162
165
  sandboxes: {
163
166
  region: string;
164
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
167
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
165
168
  timeout: number;
166
169
  cwd: string;
167
170
  id: string;
@@ -231,4 +234,16 @@ export declare class APIClient extends BaseClient {
231
234
  duration: number;
232
235
  signal?: AbortSignal;
233
236
  }): Promise<Parsed<z.infer<typeof ExtendTimeoutResponse>>>;
237
+ createSnapshot(params: {
238
+ sandboxId: string;
239
+ signal?: AbortSignal;
240
+ }): Promise<Parsed<z.infer<typeof CreateSnapshotResponse>>>;
241
+ deleteSnapshot(params: {
242
+ snapshotId: string;
243
+ signal?: AbortSignal;
244
+ }): Promise<Parsed<z.infer<typeof SnapshotResponse>>>;
245
+ getSnapshot(params: {
246
+ snapshotId: string;
247
+ signal?: AbortSignal;
248
+ }): Promise<Parsed<z.infer<typeof SnapshotResponse>>>;
234
249
  }
@@ -224,6 +224,18 @@ class APIClient extends base_client_1.BaseClient {
224
224
  signal: params.signal,
225
225
  }));
226
226
  }
227
+ async createSnapshot(params) {
228
+ const url = `/v1/sandboxes/${params.sandboxId}/snapshot`;
229
+ return (0, base_client_1.parseOrThrow)(validators_1.CreateSnapshotResponse, await this.request(url, { method: "POST", signal: params.signal }));
230
+ }
231
+ async deleteSnapshot(params) {
232
+ const url = `/v1/sandboxes/snapshots/${params.snapshotId}`;
233
+ return (0, base_client_1.parseOrThrow)(validators_1.SnapshotResponse, await this.request(url, { method: "DELETE", signal: params.signal }));
234
+ }
235
+ async getSnapshot(params) {
236
+ const url = `/v1/sandboxes/snapshots/${params.snapshotId}`;
237
+ return (0, base_client_1.parseOrThrow)(validators_1.SnapshotResponse, await this.request(url, { signal: params.signal }));
238
+ }
227
239
  }
228
240
  exports.APIClient = APIClient;
229
241
  async function pipe(readable, output) {
@@ -1 +1 @@
1
- {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/api-client/api-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/api-client/api-client.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ export declare const Sandbox: z.ZodObject<{
7
7
  region: z.ZodString;
8
8
  runtime: z.ZodString;
9
9
  timeout: z.ZodNumber;
10
- status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed"]>;
10
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
11
11
  requestedAt: z.ZodNumber;
12
12
  startedAt: z.ZodOptional<z.ZodNumber>;
13
13
  requestedStopAt: z.ZodOptional<z.ZodNumber>;
@@ -19,7 +19,7 @@ export declare const Sandbox: z.ZodObject<{
19
19
  interactivePort: z.ZodOptional<z.ZodNumber>;
20
20
  }, "strip", z.ZodTypeAny, {
21
21
  region: string;
22
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
22
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
23
23
  timeout: number;
24
24
  cwd: string;
25
25
  id: string;
@@ -36,7 +36,7 @@ export declare const Sandbox: z.ZodObject<{
36
36
  interactivePort?: number | undefined;
37
37
  }, {
38
38
  region: string;
39
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
39
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
40
40
  timeout: number;
41
41
  cwd: string;
42
42
  id: string;
@@ -66,6 +66,35 @@ export declare const SandboxRoute: z.ZodObject<{
66
66
  port: number;
67
67
  subdomain: string;
68
68
  }>;
69
+ export type SnapshotMetadata = z.infer<typeof Snapshot>;
70
+ export declare const Snapshot: z.ZodObject<{
71
+ id: z.ZodString;
72
+ sourceSandboxId: z.ZodString;
73
+ region: z.ZodString;
74
+ status: z.ZodEnum<["created", "deleted", "failed"]>;
75
+ sizeBytes: z.ZodNumber;
76
+ expiresAt: z.ZodNumber;
77
+ createdAt: z.ZodNumber;
78
+ updatedAt: z.ZodNumber;
79
+ }, "strip", z.ZodTypeAny, {
80
+ region: string;
81
+ status: "failed" | "created" | "deleted";
82
+ id: string;
83
+ createdAt: number;
84
+ updatedAt: number;
85
+ sourceSandboxId: string;
86
+ sizeBytes: number;
87
+ expiresAt: number;
88
+ }, {
89
+ region: string;
90
+ status: "failed" | "created" | "deleted";
91
+ id: string;
92
+ createdAt: number;
93
+ updatedAt: number;
94
+ sourceSandboxId: string;
95
+ sizeBytes: number;
96
+ expiresAt: number;
97
+ }>;
69
98
  export declare const Pagination: z.ZodObject<{
70
99
  /**
71
100
  * Amount of items in the current page.
@@ -125,7 +154,7 @@ export declare const SandboxResponse: z.ZodObject<{
125
154
  region: z.ZodString;
126
155
  runtime: z.ZodString;
127
156
  timeout: z.ZodNumber;
128
- status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed"]>;
157
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
129
158
  requestedAt: z.ZodNumber;
130
159
  startedAt: z.ZodOptional<z.ZodNumber>;
131
160
  requestedStopAt: z.ZodOptional<z.ZodNumber>;
@@ -137,7 +166,7 @@ export declare const SandboxResponse: z.ZodObject<{
137
166
  interactivePort: z.ZodOptional<z.ZodNumber>;
138
167
  }, "strip", z.ZodTypeAny, {
139
168
  region: string;
140
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
169
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
141
170
  timeout: number;
142
171
  cwd: string;
143
172
  id: string;
@@ -154,7 +183,7 @@ export declare const SandboxResponse: z.ZodObject<{
154
183
  interactivePort?: number | undefined;
155
184
  }, {
156
185
  region: string;
157
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
186
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
158
187
  timeout: number;
159
188
  cwd: string;
160
189
  id: string;
@@ -173,7 +202,7 @@ export declare const SandboxResponse: z.ZodObject<{
173
202
  }, "strip", z.ZodTypeAny, {
174
203
  sandbox: {
175
204
  region: string;
176
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
205
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
177
206
  timeout: number;
178
207
  cwd: string;
179
208
  id: string;
@@ -192,7 +221,7 @@ export declare const SandboxResponse: z.ZodObject<{
192
221
  }, {
193
222
  sandbox: {
194
223
  region: string;
195
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
224
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
196
225
  timeout: number;
197
226
  cwd: string;
198
227
  id: string;
@@ -217,7 +246,7 @@ export declare const SandboxAndRoutesResponse: z.ZodObject<{
217
246
  region: z.ZodString;
218
247
  runtime: z.ZodString;
219
248
  timeout: z.ZodNumber;
220
- status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed"]>;
249
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
221
250
  requestedAt: z.ZodNumber;
222
251
  startedAt: z.ZodOptional<z.ZodNumber>;
223
252
  requestedStopAt: z.ZodOptional<z.ZodNumber>;
@@ -229,7 +258,7 @@ export declare const SandboxAndRoutesResponse: z.ZodObject<{
229
258
  interactivePort: z.ZodOptional<z.ZodNumber>;
230
259
  }, "strip", z.ZodTypeAny, {
231
260
  region: string;
232
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
261
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
233
262
  timeout: number;
234
263
  cwd: string;
235
264
  id: string;
@@ -246,7 +275,7 @@ export declare const SandboxAndRoutesResponse: z.ZodObject<{
246
275
  interactivePort?: number | undefined;
247
276
  }, {
248
277
  region: string;
249
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
278
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
250
279
  timeout: number;
251
280
  cwd: string;
252
281
  id: string;
@@ -279,7 +308,7 @@ export declare const SandboxAndRoutesResponse: z.ZodObject<{
279
308
  }, "strip", z.ZodTypeAny, {
280
309
  sandbox: {
281
310
  region: string;
282
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
311
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
283
312
  timeout: number;
284
313
  cwd: string;
285
314
  id: string;
@@ -303,7 +332,7 @@ export declare const SandboxAndRoutesResponse: z.ZodObject<{
303
332
  }, {
304
333
  sandbox: {
305
334
  region: string;
306
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
335
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
307
336
  timeout: number;
308
337
  cwd: string;
309
338
  id: string;
@@ -439,7 +468,7 @@ export declare const SandboxesResponse: z.ZodObject<{
439
468
  region: z.ZodString;
440
469
  runtime: z.ZodString;
441
470
  timeout: z.ZodNumber;
442
- status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed"]>;
471
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
443
472
  requestedAt: z.ZodNumber;
444
473
  startedAt: z.ZodOptional<z.ZodNumber>;
445
474
  requestedStopAt: z.ZodOptional<z.ZodNumber>;
@@ -451,7 +480,7 @@ export declare const SandboxesResponse: z.ZodObject<{
451
480
  interactivePort: z.ZodOptional<z.ZodNumber>;
452
481
  }, "strip", z.ZodTypeAny, {
453
482
  region: string;
454
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
483
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
455
484
  timeout: number;
456
485
  cwd: string;
457
486
  id: string;
@@ -468,7 +497,7 @@ export declare const SandboxesResponse: z.ZodObject<{
468
497
  interactivePort?: number | undefined;
469
498
  }, {
470
499
  region: string;
471
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
500
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
472
501
  timeout: number;
473
502
  cwd: string;
474
503
  id: string;
@@ -512,7 +541,7 @@ export declare const SandboxesResponse: z.ZodObject<{
512
541
  }, "strip", z.ZodTypeAny, {
513
542
  sandboxes: {
514
543
  region: string;
515
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
544
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
516
545
  timeout: number;
517
546
  cwd: string;
518
547
  id: string;
@@ -536,7 +565,7 @@ export declare const SandboxesResponse: z.ZodObject<{
536
565
  }, {
537
566
  sandboxes: {
538
567
  region: string;
539
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
568
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
540
569
  timeout: number;
541
570
  cwd: string;
542
571
  id: string;
@@ -566,7 +595,127 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
566
595
  region: z.ZodString;
567
596
  runtime: z.ZodString;
568
597
  timeout: z.ZodNumber;
569
- status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed"]>;
598
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
599
+ requestedAt: z.ZodNumber;
600
+ startedAt: z.ZodOptional<z.ZodNumber>;
601
+ requestedStopAt: z.ZodOptional<z.ZodNumber>;
602
+ stoppedAt: z.ZodOptional<z.ZodNumber>;
603
+ duration: z.ZodOptional<z.ZodNumber>;
604
+ createdAt: z.ZodNumber;
605
+ cwd: z.ZodString;
606
+ updatedAt: z.ZodNumber;
607
+ interactivePort: z.ZodOptional<z.ZodNumber>;
608
+ }, "strip", z.ZodTypeAny, {
609
+ region: string;
610
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
611
+ timeout: number;
612
+ cwd: string;
613
+ id: string;
614
+ memory: number;
615
+ vcpus: number;
616
+ runtime: string;
617
+ requestedAt: number;
618
+ createdAt: number;
619
+ updatedAt: number;
620
+ duration?: number | undefined;
621
+ startedAt?: number | undefined;
622
+ requestedStopAt?: number | undefined;
623
+ stoppedAt?: number | undefined;
624
+ interactivePort?: number | undefined;
625
+ }, {
626
+ region: string;
627
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
628
+ timeout: number;
629
+ cwd: string;
630
+ id: string;
631
+ memory: number;
632
+ vcpus: number;
633
+ runtime: string;
634
+ requestedAt: number;
635
+ createdAt: number;
636
+ updatedAt: number;
637
+ duration?: number | undefined;
638
+ startedAt?: number | undefined;
639
+ requestedStopAt?: number | undefined;
640
+ stoppedAt?: number | undefined;
641
+ interactivePort?: number | undefined;
642
+ }>;
643
+ }, "strip", z.ZodTypeAny, {
644
+ sandbox: {
645
+ region: string;
646
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
647
+ timeout: number;
648
+ cwd: string;
649
+ id: string;
650
+ memory: number;
651
+ vcpus: number;
652
+ runtime: string;
653
+ requestedAt: number;
654
+ createdAt: number;
655
+ updatedAt: number;
656
+ duration?: number | undefined;
657
+ startedAt?: number | undefined;
658
+ requestedStopAt?: number | undefined;
659
+ stoppedAt?: number | undefined;
660
+ interactivePort?: number | undefined;
661
+ };
662
+ }, {
663
+ sandbox: {
664
+ region: string;
665
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
666
+ timeout: number;
667
+ cwd: string;
668
+ id: string;
669
+ memory: number;
670
+ vcpus: number;
671
+ runtime: string;
672
+ requestedAt: number;
673
+ createdAt: number;
674
+ updatedAt: number;
675
+ duration?: number | undefined;
676
+ startedAt?: number | undefined;
677
+ requestedStopAt?: number | undefined;
678
+ stoppedAt?: number | undefined;
679
+ interactivePort?: number | undefined;
680
+ };
681
+ }>;
682
+ export declare const CreateSnapshotResponse: z.ZodObject<{
683
+ snapshot: z.ZodObject<{
684
+ id: z.ZodString;
685
+ sourceSandboxId: z.ZodString;
686
+ region: z.ZodString;
687
+ status: z.ZodEnum<["created", "deleted", "failed"]>;
688
+ sizeBytes: z.ZodNumber;
689
+ expiresAt: z.ZodNumber;
690
+ createdAt: z.ZodNumber;
691
+ updatedAt: z.ZodNumber;
692
+ }, "strip", z.ZodTypeAny, {
693
+ region: string;
694
+ status: "failed" | "created" | "deleted";
695
+ id: string;
696
+ createdAt: number;
697
+ updatedAt: number;
698
+ sourceSandboxId: string;
699
+ sizeBytes: number;
700
+ expiresAt: number;
701
+ }, {
702
+ region: string;
703
+ status: "failed" | "created" | "deleted";
704
+ id: string;
705
+ createdAt: number;
706
+ updatedAt: number;
707
+ sourceSandboxId: string;
708
+ sizeBytes: number;
709
+ expiresAt: number;
710
+ }>;
711
+ sandbox: z.ZodObject<{
712
+ id: z.ZodString;
713
+ memory: z.ZodNumber;
714
+ vcpus: z.ZodNumber;
715
+ region: z.ZodString;
716
+ runtime: z.ZodString;
717
+ timeout: z.ZodNumber;
718
+ status: z.ZodEnum<["pending", "running", "stopping", "stopped", "failed", "snapshotting"]>;
570
719
  requestedAt: z.ZodNumber;
571
720
  startedAt: z.ZodOptional<z.ZodNumber>;
572
721
  requestedStopAt: z.ZodOptional<z.ZodNumber>;
@@ -578,7 +727,7 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
578
727
  interactivePort: z.ZodOptional<z.ZodNumber>;
579
728
  }, "strip", z.ZodTypeAny, {
580
729
  region: string;
581
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
730
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
582
731
  timeout: number;
583
732
  cwd: string;
584
733
  id: string;
@@ -595,7 +744,7 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
595
744
  interactivePort?: number | undefined;
596
745
  }, {
597
746
  region: string;
598
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
747
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
599
748
  timeout: number;
600
749
  cwd: string;
601
750
  id: string;
@@ -612,9 +761,19 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
612
761
  interactivePort?: number | undefined;
613
762
  }>;
614
763
  }, "strip", z.ZodTypeAny, {
764
+ snapshot: {
765
+ region: string;
766
+ status: "failed" | "created" | "deleted";
767
+ id: string;
768
+ createdAt: number;
769
+ updatedAt: number;
770
+ sourceSandboxId: string;
771
+ sizeBytes: number;
772
+ expiresAt: number;
773
+ };
615
774
  sandbox: {
616
775
  region: string;
617
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
776
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
618
777
  timeout: number;
619
778
  cwd: string;
620
779
  id: string;
@@ -631,9 +790,19 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
631
790
  interactivePort?: number | undefined;
632
791
  };
633
792
  }, {
793
+ snapshot: {
794
+ region: string;
795
+ status: "failed" | "created" | "deleted";
796
+ id: string;
797
+ createdAt: number;
798
+ updatedAt: number;
799
+ sourceSandboxId: string;
800
+ sizeBytes: number;
801
+ expiresAt: number;
802
+ };
634
803
  sandbox: {
635
804
  region: string;
636
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
805
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
637
806
  timeout: number;
638
807
  cwd: string;
639
808
  id: string;
@@ -650,3 +819,55 @@ export declare const ExtendTimeoutResponse: z.ZodObject<{
650
819
  interactivePort?: number | undefined;
651
820
  };
652
821
  }>;
822
+ export declare const SnapshotResponse: z.ZodObject<{
823
+ snapshot: z.ZodObject<{
824
+ id: z.ZodString;
825
+ sourceSandboxId: z.ZodString;
826
+ region: z.ZodString;
827
+ status: z.ZodEnum<["created", "deleted", "failed"]>;
828
+ sizeBytes: z.ZodNumber;
829
+ expiresAt: z.ZodNumber;
830
+ createdAt: z.ZodNumber;
831
+ updatedAt: z.ZodNumber;
832
+ }, "strip", z.ZodTypeAny, {
833
+ region: string;
834
+ status: "failed" | "created" | "deleted";
835
+ id: string;
836
+ createdAt: number;
837
+ updatedAt: number;
838
+ sourceSandboxId: string;
839
+ sizeBytes: number;
840
+ expiresAt: number;
841
+ }, {
842
+ region: string;
843
+ status: "failed" | "created" | "deleted";
844
+ id: string;
845
+ createdAt: number;
846
+ updatedAt: number;
847
+ sourceSandboxId: string;
848
+ sizeBytes: number;
849
+ expiresAt: number;
850
+ }>;
851
+ }, "strip", z.ZodTypeAny, {
852
+ snapshot: {
853
+ region: string;
854
+ status: "failed" | "created" | "deleted";
855
+ id: string;
856
+ createdAt: number;
857
+ updatedAt: number;
858
+ sourceSandboxId: string;
859
+ sizeBytes: number;
860
+ expiresAt: number;
861
+ };
862
+ }, {
863
+ snapshot: {
864
+ region: string;
865
+ status: "failed" | "created" | "deleted";
866
+ id: string;
867
+ createdAt: number;
868
+ updatedAt: number;
869
+ sourceSandboxId: string;
870
+ sizeBytes: number;
871
+ expiresAt: number;
872
+ };
873
+ }>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExtendTimeoutResponse = exports.SandboxesResponse = exports.LogLine = exports.EmptyResponse = exports.CommandFinishedResponse = exports.CommandResponse = exports.SandboxAndRoutesResponse = exports.SandboxResponse = exports.Command = exports.Pagination = exports.SandboxRoute = exports.Sandbox = void 0;
3
+ exports.SnapshotResponse = exports.CreateSnapshotResponse = exports.ExtendTimeoutResponse = exports.SandboxesResponse = exports.LogLine = exports.EmptyResponse = exports.CommandFinishedResponse = exports.CommandResponse = exports.SandboxAndRoutesResponse = exports.SandboxResponse = exports.Command = exports.Pagination = exports.Snapshot = exports.SandboxRoute = exports.Sandbox = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.Sandbox = zod_1.z.object({
6
6
  id: zod_1.z.string(),
@@ -9,7 +9,14 @@ exports.Sandbox = zod_1.z.object({
9
9
  region: zod_1.z.string(),
10
10
  runtime: zod_1.z.string(),
11
11
  timeout: zod_1.z.number(),
12
- status: zod_1.z.enum(["pending", "running", "stopping", "stopped", "failed"]),
12
+ status: zod_1.z.enum([
13
+ "pending",
14
+ "running",
15
+ "stopping",
16
+ "stopped",
17
+ "failed",
18
+ "snapshotting",
19
+ ]),
13
20
  requestedAt: zod_1.z.number(),
14
21
  startedAt: zod_1.z.number().optional(),
15
22
  requestedStopAt: zod_1.z.number().optional(),
@@ -25,6 +32,16 @@ exports.SandboxRoute = zod_1.z.object({
25
32
  subdomain: zod_1.z.string(),
26
33
  port: zod_1.z.number(),
27
34
  });
35
+ exports.Snapshot = zod_1.z.object({
36
+ id: zod_1.z.string(),
37
+ sourceSandboxId: zod_1.z.string(),
38
+ region: zod_1.z.string(),
39
+ status: zod_1.z.enum(["created", "deleted", "failed"]),
40
+ sizeBytes: zod_1.z.number(),
41
+ expiresAt: zod_1.z.number(),
42
+ createdAt: zod_1.z.number(),
43
+ updatedAt: zod_1.z.number(),
44
+ });
28
45
  exports.Pagination = zod_1.z.object({
29
46
  /**
30
47
  * Amount of items in the current page.
@@ -78,4 +95,11 @@ exports.SandboxesResponse = zod_1.z.object({
78
95
  exports.ExtendTimeoutResponse = zod_1.z.object({
79
96
  sandbox: exports.Sandbox,
80
97
  });
98
+ exports.CreateSnapshotResponse = zod_1.z.object({
99
+ snapshot: exports.Snapshot,
100
+ sandbox: exports.Sandbox,
101
+ });
102
+ exports.SnapshotResponse = zod_1.z.object({
103
+ snapshot: exports.Snapshot,
104
+ });
81
105
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.d.ts CHANGED
@@ -6,8 +6,9 @@ import { type Credentials } from "./utils/get-credentials";
6
6
  import { WithPrivate } from "./utils/types";
7
7
  import { WithFetchOptions } from "./api-client/api-client";
8
8
  import { RUNTIMES } from "./constants";
9
+ import { Snapshot } from "./snapshot";
9
10
  /** @inline */
10
- export interface CreateSandboxParams {
11
+ export interface BaseCreateSandboxParams {
11
12
  /**
12
13
  * The source of the sandbox.
13
14
  *
@@ -61,6 +62,12 @@ export interface CreateSandboxParams {
61
62
  */
62
63
  signal?: AbortSignal;
63
64
  }
65
+ export type CreateSandboxParams = BaseCreateSandboxParams | (Omit<BaseCreateSandboxParams, "runtime" | "source"> & {
66
+ source: {
67
+ type: "snapshot";
68
+ snapshotId: string;
69
+ };
70
+ });
64
71
  /** @inline */
65
72
  interface GetSandboxParams {
66
73
  /**
@@ -146,10 +153,10 @@ export declare class Sandbox {
146
153
  * It returns both the sandboxes and the pagination metadata to allow getting
147
154
  * the next page of results.
148
155
  */
149
- static list(params: Parameters<APIClient["listSandboxes"]>[0] & Partial<Credentials> & WithFetchOptions): Promise<import("./api-client/base-client").Parsed<{
156
+ static list(params?: Parameters<APIClient["listSandboxes"]>[0] & Partial<Credentials> & WithFetchOptions): Promise<import("./api-client/base-client").Parsed<{
150
157
  sandboxes: {
151
158
  region: string;
152
- status: "pending" | "running" | "stopping" | "stopped" | "failed";
159
+ status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
153
160
  timeout: number;
154
161
  cwd: string;
155
162
  id: string;
@@ -321,5 +328,18 @@ export declare class Sandbox {
321
328
  extendTimeout(duration: number, opts?: {
322
329
  signal?: AbortSignal;
323
330
  }): Promise<void>;
331
+ /**
332
+ * Create a snapshot from this currently running sandbox. New sandboxes can
333
+ * then be created from this snapshot using {@link Sandbox.createFromSnapshot}.
334
+ *
335
+ * Note: this sandbox will be stopped as part of the snapshot creation process.
336
+ *
337
+ * @param opts - Optional parameters.
338
+ * @param opts.signal - An AbortSignal to cancel the operation.
339
+ * @returns A promise that resolves to the Snapshot instance
340
+ */
341
+ snapshot(opts?: {
342
+ signal?: AbortSignal;
343
+ }): Promise<Snapshot>;
324
344
  }
325
345
  export {};
package/dist/sandbox.js CHANGED
@@ -5,6 +5,7 @@ const api_client_1 = require("./api-client");
5
5
  const command_1 = require("./command");
6
6
  const get_credentials_1 = require("./utils/get-credentials");
7
7
  const types_1 = require("./utils/types");
8
+ const snapshot_1 = require("./snapshot");
8
9
  /**
9
10
  * A Sandbox is an isolated Linux MicroVM to run commands in.
10
11
  *
@@ -43,11 +44,11 @@ class Sandbox {
43
44
  const client = new api_client_1.APIClient({
44
45
  teamId: credentials.teamId,
45
46
  token: credentials.token,
46
- fetch: params.fetch,
47
+ fetch: params?.fetch,
47
48
  });
48
49
  return client.listSandboxes({
49
50
  ...params,
50
- signal: params.signal,
51
+ ...credentials,
51
52
  });
52
53
  }
53
54
  /**
@@ -70,7 +71,7 @@ class Sandbox {
70
71
  ports: params?.ports ?? [],
71
72
  timeout: params?.timeout,
72
73
  resources: params?.resources,
73
- runtime: params?.runtime,
74
+ runtime: params && "runtime" in params ? params?.runtime : undefined,
74
75
  signal: params?.signal,
75
76
  ...privateParams,
76
77
  });
@@ -289,6 +290,27 @@ class Sandbox {
289
290
  // Update the internal sandbox metadata with the new timeout value
290
291
  this.sandbox = response.json.sandbox;
291
292
  }
293
+ /**
294
+ * Create a snapshot from this currently running sandbox. New sandboxes can
295
+ * then be created from this snapshot using {@link Sandbox.createFromSnapshot}.
296
+ *
297
+ * Note: this sandbox will be stopped as part of the snapshot creation process.
298
+ *
299
+ * @param opts - Optional parameters.
300
+ * @param opts.signal - An AbortSignal to cancel the operation.
301
+ * @returns A promise that resolves to the Snapshot instance
302
+ */
303
+ async snapshot(opts) {
304
+ const response = await this.client.createSnapshot({
305
+ sandboxId: this.sandbox.id,
306
+ signal: opts?.signal,
307
+ });
308
+ this.sandbox = response.json.sandbox;
309
+ return new snapshot_1.Snapshot({
310
+ client: this.client,
311
+ snapshot: response.json.snapshot,
312
+ });
313
+ }
292
314
  }
293
315
  exports.Sandbox = Sandbox;
294
316
  //# sourceMappingURL=sandbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import type { SnapshotMetadata } from "./api-client";
2
+ import { APIClient } from "./api-client";
3
+ import { Credentials } from "./utils/get-credentials";
4
+ /** @inline */
5
+ interface GetSnapshotParams {
6
+ /**
7
+ * Unique identifier of the snapshot.
8
+ */
9
+ snapshotId: string;
10
+ /**
11
+ * An AbortSignal to cancel the operation.
12
+ */
13
+ signal?: AbortSignal;
14
+ }
15
+ /**
16
+ * A Snapshot is a saved state of a Sandbox that can be used to create new Sandboxes
17
+ *
18
+ * Use {@link Sandbox.snapshot} or {@link Snapshot.get} to construct.
19
+ * @hideconstructor
20
+ */
21
+ export declare class Snapshot {
22
+ private readonly client;
23
+ /**
24
+ * Unique ID of this snapshot.
25
+ */
26
+ get snapshotId(): string;
27
+ /**
28
+ * The ID the sandbox from which this snapshot was created.
29
+ */
30
+ get sourceSandboxId(): string;
31
+ /**
32
+ * The status of the snapshot.
33
+ */
34
+ get status(): SnapshotMetadata["status"];
35
+ /**
36
+ * Internal metadata about this snapshot.
37
+ */
38
+ private snapshot;
39
+ /**
40
+ * Create a new Snapshot instance.
41
+ *
42
+ * @param client - API client used to communicate with the backend
43
+ * @param snapshot - Snapshot metadata
44
+ */
45
+ constructor({ client, snapshot, }: {
46
+ client: APIClient;
47
+ snapshot: SnapshotMetadata;
48
+ });
49
+ /**
50
+ * Retrieve an existing snapshot.
51
+ *
52
+ * @param params - Get parameters and optional credentials.
53
+ * @returns A promise resolving to the {@link Sandbox}.
54
+ */
55
+ static get(params: GetSnapshotParams | (GetSnapshotParams & Credentials)): Promise<Snapshot>;
56
+ /**
57
+ * Delete this snapshot.
58
+ *
59
+ * @param opts - Optional parameters.
60
+ * @param opts.signal - An AbortSignal to cancel the operation.
61
+ * @returns A promise that resolves once the snapshot has been deleted.
62
+ */
63
+ delete(opts?: {
64
+ signal?: AbortSignal;
65
+ }): Promise<void>;
66
+ }
67
+ export {};
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Snapshot = void 0;
4
+ const api_client_1 = require("./api-client");
5
+ const get_credentials_1 = require("./utils/get-credentials");
6
+ /**
7
+ * A Snapshot is a saved state of a Sandbox that can be used to create new Sandboxes
8
+ *
9
+ * Use {@link Sandbox.snapshot} or {@link Snapshot.get} to construct.
10
+ * @hideconstructor
11
+ */
12
+ class Snapshot {
13
+ /**
14
+ * Unique ID of this snapshot.
15
+ */
16
+ get snapshotId() {
17
+ return this.snapshot.id;
18
+ }
19
+ /**
20
+ * The ID the sandbox from which this snapshot was created.
21
+ */
22
+ get sourceSandboxId() {
23
+ return this.snapshot.sourceSandboxId;
24
+ }
25
+ /**
26
+ * The status of the snapshot.
27
+ */
28
+ get status() {
29
+ return this.snapshot.status;
30
+ }
31
+ /**
32
+ * Create a new Snapshot instance.
33
+ *
34
+ * @param client - API client used to communicate with the backend
35
+ * @param snapshot - Snapshot metadata
36
+ */
37
+ constructor({ client, snapshot, }) {
38
+ this.client = client;
39
+ this.snapshot = snapshot;
40
+ }
41
+ /**
42
+ * Retrieve an existing snapshot.
43
+ *
44
+ * @param params - Get parameters and optional credentials.
45
+ * @returns A promise resolving to the {@link Sandbox}.
46
+ */
47
+ static async get(params) {
48
+ const credentials = await (0, get_credentials_1.getCredentials)(params);
49
+ const client = new api_client_1.APIClient({
50
+ teamId: credentials.teamId,
51
+ token: credentials.token,
52
+ });
53
+ const sandbox = await client.getSnapshot({
54
+ snapshotId: params.snapshotId,
55
+ signal: params.signal,
56
+ });
57
+ return new Snapshot({
58
+ client,
59
+ snapshot: sandbox.json.snapshot,
60
+ });
61
+ }
62
+ /**
63
+ * Delete this snapshot.
64
+ *
65
+ * @param opts - Optional parameters.
66
+ * @param opts.signal - An AbortSignal to cancel the operation.
67
+ * @returns A promise that resolves once the snapshot has been deleted.
68
+ */
69
+ async delete(opts) {
70
+ const response = await this.client.deleteSnapshot({
71
+ snapshotId: this.snapshot.id,
72
+ signal: opts?.signal,
73
+ });
74
+ this.snapshot = response.json.snapshot;
75
+ }
76
+ }
77
+ exports.Snapshot = Snapshot;
78
+ //# sourceMappingURL=snapshot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","sourceRoot":"","sources":["../src/snapshot.ts"],"names":[],"mappings":";;;AACA,6CAAyC;AACzC,6DAAsE;AActE;;;;;GAKG;AACH,MAAa,QAAQ;IAGnB;;OAEG;IACH,IAAW,UAAU;QACnB,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,IAAW,eAAe;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC9B,CAAC;IAOD;;;;;OAKG;IACH,YAAY,EACV,MAAM,EACN,QAAQ,GAIT;QACC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAG,CACd,MAA6D;QAE7D,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;SACzB,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC;YACvC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;QAEH,OAAO,IAAI,QAAQ,CAAC;YAClB,MAAM;YACN,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;SAChC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,MAAM,CAAC,IAA+B;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;YAChD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;IACzC,CAAC;CACF;AAvFD,4BAuFC"}
package/dist/version.d.ts CHANGED
@@ -1 +1 @@
1
- export declare const VERSION = "1.1.0";
1
+ export declare const VERSION = "1.1.2";
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.VERSION = void 0;
4
4
  // Autogenerated by inject-version.ts
5
- exports.VERSION = "1.1.0";
5
+ exports.VERSION = "1.1.2";
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vercel/sandbox",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,6 +13,8 @@ import {
13
13
  LogLine,
14
14
  SandboxesResponse,
15
15
  ExtendTimeoutResponse,
16
+ SnapshotResponse,
17
+ CreateSnapshotResponse,
16
18
  } from "./validators";
17
19
  import { APIError } from "./api-error";
18
20
  import { FileWriter } from "./file-writer";
@@ -110,7 +112,8 @@ export class APIClient extends BaseClient {
110
112
  username?: string;
111
113
  password?: string;
112
114
  }
113
- | { type: "tarball"; url: string };
115
+ | { type: "tarball"; url: string }
116
+ | { type: "snapshot"; snapshotId: string };
114
117
  timeout?: number;
115
118
  resources?: { vcpus: number };
116
119
  runtime?: RUNTIMES | (string & {});
@@ -426,6 +429,39 @@ export class APIClient extends BaseClient {
426
429
  }),
427
430
  );
428
431
  }
432
+
433
+ async createSnapshot(params: {
434
+ sandboxId: string;
435
+ signal?: AbortSignal;
436
+ }): Promise<Parsed<z.infer<typeof CreateSnapshotResponse>>> {
437
+ const url = `/v1/sandboxes/${params.sandboxId}/snapshot`;
438
+ return parseOrThrow(
439
+ CreateSnapshotResponse,
440
+ await this.request(url, { method: "POST", signal: params.signal }),
441
+ );
442
+ }
443
+
444
+ async deleteSnapshot(params: {
445
+ snapshotId: string;
446
+ signal?: AbortSignal;
447
+ }): Promise<Parsed<z.infer<typeof SnapshotResponse>>> {
448
+ const url = `/v1/sandboxes/snapshots/${params.snapshotId}`;
449
+ return parseOrThrow(
450
+ SnapshotResponse,
451
+ await this.request(url, { method: "DELETE", signal: params.signal }),
452
+ );
453
+ }
454
+
455
+ async getSnapshot(params: {
456
+ snapshotId: string;
457
+ signal?: AbortSignal;
458
+ }): Promise<Parsed<z.infer<typeof SnapshotResponse>>> {
459
+ const url = `/v1/sandboxes/snapshots/${params.snapshotId}`;
460
+ return parseOrThrow(
461
+ SnapshotResponse,
462
+ await this.request(url, { signal: params.signal }),
463
+ );
464
+ }
429
465
  }
430
466
 
431
467
  async function pipe(
@@ -9,7 +9,14 @@ export const Sandbox = z.object({
9
9
  region: z.string(),
10
10
  runtime: z.string(),
11
11
  timeout: z.number(),
12
- status: z.enum(["pending", "running", "stopping", "stopped", "failed"]),
12
+ status: z.enum([
13
+ "pending",
14
+ "running",
15
+ "stopping",
16
+ "stopped",
17
+ "failed",
18
+ "snapshotting",
19
+ ]),
13
20
  requestedAt: z.number(),
14
21
  startedAt: z.number().optional(),
15
22
  requestedStopAt: z.number().optional(),
@@ -29,6 +36,19 @@ export const SandboxRoute = z.object({
29
36
  port: z.number(),
30
37
  });
31
38
 
39
+ export type SnapshotMetadata = z.infer<typeof Snapshot>;
40
+
41
+ export const Snapshot = z.object({
42
+ id: z.string(),
43
+ sourceSandboxId: z.string(),
44
+ region: z.string(),
45
+ status: z.enum(["created", "deleted", "failed"]),
46
+ sizeBytes: z.number(),
47
+ expiresAt: z.number(),
48
+ createdAt: z.number(),
49
+ updatedAt: z.number(),
50
+ });
51
+
32
52
  export const Pagination = z.object({
33
53
  /**
34
54
  * Amount of items in the current page.
@@ -94,3 +114,12 @@ export const SandboxesResponse = z.object({
94
114
  export const ExtendTimeoutResponse = z.object({
95
115
  sandbox: Sandbox,
96
116
  });
117
+
118
+ export const CreateSnapshotResponse = z.object({
119
+ snapshot: Snapshot,
120
+ sandbox: Sandbox,
121
+ });
122
+
123
+ export const SnapshotResponse = z.object({
124
+ snapshot: Snapshot,
125
+ });
package/src/sandbox.ts CHANGED
@@ -6,9 +6,10 @@ import { type Credentials, getCredentials } from "./utils/get-credentials";
6
6
  import { getPrivateParams, WithPrivate } from "./utils/types";
7
7
  import { WithFetchOptions } from "./api-client/api-client";
8
8
  import { RUNTIMES } from "./constants";
9
+ import { Snapshot } from "./snapshot";
9
10
 
10
11
  /** @inline */
11
- export interface CreateSandboxParams {
12
+ export interface BaseCreateSandboxParams {
12
13
  /**
13
14
  * The source of the sandbox.
14
15
  *
@@ -63,6 +64,12 @@ export interface CreateSandboxParams {
63
64
  signal?: AbortSignal;
64
65
  }
65
66
 
67
+ export type CreateSandboxParams =
68
+ | BaseCreateSandboxParams
69
+ | (Omit<BaseCreateSandboxParams, "runtime" | "source"> & {
70
+ source: { type: "snapshot"; snapshotId: string };
71
+ });
72
+
66
73
  /** @inline */
67
74
  interface GetSandboxParams {
68
75
  /**
@@ -166,7 +173,7 @@ export class Sandbox {
166
173
  * the next page of results.
167
174
  */
168
175
  static async list(
169
- params: Parameters<APIClient["listSandboxes"]>[0] &
176
+ params?: Parameters<APIClient["listSandboxes"]>[0] &
170
177
  Partial<Credentials> &
171
178
  WithFetchOptions,
172
179
  ) {
@@ -174,11 +181,11 @@ export class Sandbox {
174
181
  const client = new APIClient({
175
182
  teamId: credentials.teamId,
176
183
  token: credentials.token,
177
- fetch: params.fetch,
184
+ fetch: params?.fetch,
178
185
  });
179
186
  return client.listSandboxes({
180
187
  ...params,
181
- signal: params.signal,
188
+ ...credentials,
182
189
  });
183
190
  }
184
191
 
@@ -208,7 +215,7 @@ export class Sandbox {
208
215
  ports: params?.ports ?? [],
209
216
  timeout: params?.timeout,
210
217
  resources: params?.resources,
211
- runtime: params?.runtime,
218
+ runtime: params && "runtime" in params ? params?.runtime : undefined,
212
219
  signal: params?.signal,
213
220
  ...privateParams,
214
221
  });
@@ -503,4 +510,28 @@ export class Sandbox {
503
510
  // Update the internal sandbox metadata with the new timeout value
504
511
  this.sandbox = response.json.sandbox;
505
512
  }
513
+
514
+ /**
515
+ * Create a snapshot from this currently running sandbox. New sandboxes can
516
+ * then be created from this snapshot using {@link Sandbox.createFromSnapshot}.
517
+ *
518
+ * Note: this sandbox will be stopped as part of the snapshot creation process.
519
+ *
520
+ * @param opts - Optional parameters.
521
+ * @param opts.signal - An AbortSignal to cancel the operation.
522
+ * @returns A promise that resolves to the Snapshot instance
523
+ */
524
+ async snapshot(opts?: { signal?: AbortSignal }): Promise<Snapshot> {
525
+ const response = await this.client.createSnapshot({
526
+ sandboxId: this.sandbox.id,
527
+ signal: opts?.signal,
528
+ });
529
+
530
+ this.sandbox = response.json.sandbox;
531
+
532
+ return new Snapshot({
533
+ client: this.client,
534
+ snapshot: response.json.snapshot,
535
+ });
536
+ }
506
537
  }
@@ -0,0 +1,110 @@
1
+ import type { SnapshotMetadata } from "./api-client";
2
+ import { APIClient } from "./api-client";
3
+ import { Credentials, getCredentials } from "./utils/get-credentials";
4
+
5
+ /** @inline */
6
+ interface GetSnapshotParams {
7
+ /**
8
+ * Unique identifier of the snapshot.
9
+ */
10
+ snapshotId: string;
11
+ /**
12
+ * An AbortSignal to cancel the operation.
13
+ */
14
+ signal?: AbortSignal;
15
+ }
16
+
17
+ /**
18
+ * A Snapshot is a saved state of a Sandbox that can be used to create new Sandboxes
19
+ *
20
+ * Use {@link Sandbox.snapshot} or {@link Snapshot.get} to construct.
21
+ * @hideconstructor
22
+ */
23
+ export class Snapshot {
24
+ private readonly client: APIClient;
25
+
26
+ /**
27
+ * Unique ID of this snapshot.
28
+ */
29
+ public get snapshotId(): string {
30
+ return this.snapshot.id;
31
+ }
32
+
33
+ /**
34
+ * The ID the sandbox from which this snapshot was created.
35
+ */
36
+ public get sourceSandboxId(): string {
37
+ return this.snapshot.sourceSandboxId;
38
+ }
39
+
40
+ /**
41
+ * The status of the snapshot.
42
+ */
43
+ public get status(): SnapshotMetadata["status"] {
44
+ return this.snapshot.status;
45
+ }
46
+
47
+ /**
48
+ * Internal metadata about this snapshot.
49
+ */
50
+ private snapshot: SnapshotMetadata;
51
+
52
+ /**
53
+ * Create a new Snapshot instance.
54
+ *
55
+ * @param client - API client used to communicate with the backend
56
+ * @param snapshot - Snapshot metadata
57
+ */
58
+ constructor({
59
+ client,
60
+ snapshot,
61
+ }: {
62
+ client: APIClient;
63
+ snapshot: SnapshotMetadata;
64
+ }) {
65
+ this.client = client;
66
+ this.snapshot = snapshot;
67
+ }
68
+
69
+ /**
70
+ * Retrieve an existing snapshot.
71
+ *
72
+ * @param params - Get parameters and optional credentials.
73
+ * @returns A promise resolving to the {@link Sandbox}.
74
+ */
75
+ static async get(
76
+ params: GetSnapshotParams | (GetSnapshotParams & Credentials),
77
+ ): Promise<Snapshot> {
78
+ const credentials = await getCredentials(params);
79
+ const client = new APIClient({
80
+ teamId: credentials.teamId,
81
+ token: credentials.token,
82
+ });
83
+
84
+ const sandbox = await client.getSnapshot({
85
+ snapshotId: params.snapshotId,
86
+ signal: params.signal,
87
+ });
88
+
89
+ return new Snapshot({
90
+ client,
91
+ snapshot: sandbox.json.snapshot,
92
+ });
93
+ }
94
+
95
+ /**
96
+ * Delete this snapshot.
97
+ *
98
+ * @param opts - Optional parameters.
99
+ * @param opts.signal - An AbortSignal to cancel the operation.
100
+ * @returns A promise that resolves once the snapshot has been deleted.
101
+ */
102
+ async delete(opts?: { signal?: AbortSignal }): Promise<void> {
103
+ const response = await this.client.deleteSnapshot({
104
+ snapshotId: this.snapshot.id,
105
+ signal: opts?.signal,
106
+ });
107
+
108
+ this.snapshot = response.json.snapshot;
109
+ }
110
+ }
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  // Autogenerated by inject-version.ts
2
- export const VERSION = "1.1.0";
2
+ export const VERSION = "1.1.2";