@vercel/sandbox 1.1.8 → 1.2.0

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.8 build /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.2.0 build /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
3
3
  > tsc
4
4
 
@@ -1,24 +1,24 @@
1
1
 
2
- > @vercel/sandbox@1.1.8 test /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.2.0 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/dev-credentials.test.ts (7 tests) 560ms
9
- ✓ signInAndGetToken > times out after provided timeout  529ms
10
- ✓ src/api-client/api-client.test.ts (7 tests) 51ms
11
- ✓ src/auth/infer-scope.test.ts (9 tests) 50ms
12
- ✓ src/utils/jwt-expiry.test.ts (10 tests) 50ms
13
- ↓ src/sandbox.test.ts (4 tests | 4 skipped)
14
- ✓ src/utils/normalizePath.test.ts (6 tests) 19ms
8
+ ✓ src/utils/dev-credentials.test.ts (7 tests) 579ms
9
+ ✓ signInAndGetToken > times out after provided timeout  548ms
10
+ ✓ src/api-client/api-client.test.ts (8 tests) 105ms
11
+ ↓ src/sandbox.test.ts (9 tests | 9 skipped)
12
+ ✓ src/auth/infer-scope.test.ts (9 tests) 41ms
13
+ ✓ src/utils/jwt-expiry.test.ts (10 tests) 33ms
14
+ ✓ src/utils/normalizePath.test.ts (6 tests) 35ms
15
15
  ↓ src/command.test.ts (5 tests | 5 skipped)
16
- ✓ src/auth/linked-project.test.ts (6 tests) 109ms
17
- ✓ src/utils/get-credentials.test.ts (2 tests) 16ms
18
- ✓ src/utils/types.test.js (1 test) 5ms
16
+ ✓ src/auth/linked-project.test.ts (6 tests) 31ms
17
+ ✓ src/utils/get-credentials.test.ts (2 tests) 36ms
18
+ ✓ src/utils/types.test.js (1 test) 8ms
19
19
 
20
20
   Test Files  8 passed | 2 skipped (10)
21
-  Tests  48 passed | 9 skipped (57)
22
-  Start at  14:53:52
23
-  Duration  11.16s (transform 832ms, setup 262ms, collect 3.15s, tests 861ms, environment 4ms, prepare 2.49s)
21
+  Tests  49 passed | 14 skipped (63)
22
+  Start at  13:53:38
23
+  Duration  12.73s (transform 1.03s, setup 337ms, collect 3.25s, tests 868ms, environment 3ms, prepare 3.00s)
24
24
 
@@ -1,4 +1,4 @@
1
1
 
2
- > @vercel/sandbox@1.1.8 typecheck /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
2
+ > @vercel/sandbox@1.2.0 typecheck /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
3
3
  > tsc --noEmit
4
4
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @vercel/sandbox
2
2
 
3
+ ## 1.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Adds two methods for interacting with files: `Sandbox#readFileToBuffer` and `Sandbox#downloadFile` ([#236](https://github.com/vercel/sandbox-sdk/pull/236))
8
+
9
+ ### Patch Changes
10
+
11
+ - Improve performance of `runCommand` when not using `detached` ([#243](https://github.com/vercel/sandbox-sdk/pull/243))
12
+
13
+ ## 1.1.9
14
+
15
+ ### Patch Changes
16
+
17
+ - rename internal property outputCachePromise to outputCache, removing the old outputCache which was the unwrapped version of the promise. ([#230](https://github.com/vercel/sandbox-sdk/pull/230))
18
+
19
+ - Update OIDC error messages ([#234](https://github.com/vercel/sandbox-sdk/pull/234))
20
+
21
+ - support `await using sbx = await Sandbox.create()` ([#203](https://github.com/vercel/sandbox-sdk/pull/203))
22
+
3
23
  ## 1.1.8
4
24
 
5
25
  ### Patch Changes
@@ -1,7 +1,8 @@
1
1
  import { BaseClient, type Parsed, type RequestParams } from "./base-client";
2
- import { SandboxResponse, CommandResponse, CommandFinishedResponse, LogLineStdout, LogLineStderr, ExtendTimeoutResponse, SnapshotResponse, CreateSnapshotResponse } from "./validators";
2
+ import { CommandFinishedData, SandboxResponse, CommandResponse, CommandFinishedResponse, LogLineStdout, LogLineStderr, ExtendTimeoutResponse, SnapshotResponse, CreateSnapshotResponse, type CommandData } from "./validators";
3
3
  import { FileWriter } from "./file-writer";
4
4
  import { z } from "zod";
5
+ import { Readable } from "stream";
5
6
  import { WithPrivate } from "../utils/types";
6
7
  import { RUNTIMES } from "../constants";
7
8
  export interface WithFetchOptions {
@@ -105,18 +106,22 @@ export declare class APIClient extends BaseClient {
105
106
  args: string[];
106
107
  env: Record<string, string>;
107
108
  sudo: boolean;
109
+ wait: true;
108
110
  signal?: AbortSignal;
109
- }): Promise<Parsed<{
110
- command: {
111
- sandboxId: string;
112
- id: string;
113
- startedAt: number;
114
- cwd: string;
115
- name: string;
116
- args: string[];
117
- exitCode: number | null;
118
- };
119
- }>>;
111
+ }): Promise<{
112
+ command: CommandData;
113
+ finished: Promise<CommandFinishedData>;
114
+ }>;
115
+ runCommand(params: {
116
+ sandboxId: string;
117
+ cwd?: string;
118
+ command: string;
119
+ args: string[];
120
+ env: Record<string, string>;
121
+ sudo: boolean;
122
+ wait?: false;
123
+ signal?: AbortSignal;
124
+ }): Promise<Parsed<z.infer<typeof CommandResponse>>>;
120
125
  getCommand(params: {
121
126
  sandboxId: string;
122
127
  cmdId: string;
@@ -207,7 +212,7 @@ export declare class APIClient extends BaseClient {
207
212
  path: string;
208
213
  cwd?: string;
209
214
  signal?: AbortSignal;
210
- }): Promise<NodeJS.ReadableStream | null>;
215
+ }): Promise<Readable | null>;
211
216
  killCommand(params: {
212
217
  sandboxId: string;
213
218
  commandId: string;
@@ -78,6 +78,45 @@ class APIClient extends base_client_1.BaseClient {
78
78
  }));
79
79
  }
80
80
  async runCommand(params) {
81
+ if (params.wait) {
82
+ const response = await this.request(`/v1/sandboxes/${params.sandboxId}/cmd`, {
83
+ method: "POST",
84
+ body: JSON.stringify({
85
+ command: params.command,
86
+ args: params.args,
87
+ cwd: params.cwd,
88
+ env: params.env,
89
+ sudo: params.sudo,
90
+ wait: true,
91
+ }),
92
+ signal: params.signal,
93
+ });
94
+ if (response.headers.get("content-type") !== "application/x-ndjson") {
95
+ throw new api_error_1.APIError(response, {
96
+ message: "Expected a stream of command data",
97
+ sandboxId: params.sandboxId,
98
+ });
99
+ }
100
+ if (response.body === null) {
101
+ throw new api_error_1.APIError(response, {
102
+ message: "No response body",
103
+ sandboxId: params.sandboxId,
104
+ });
105
+ }
106
+ const jsonlinesStream = jsonlines_1.default.parse();
107
+ pipe(response.body, jsonlinesStream).catch((err) => {
108
+ console.error("Error piping command stream:", err);
109
+ });
110
+ const iterator = jsonlinesStream[Symbol.asyncIterator]();
111
+ const commandChunk = await iterator.next();
112
+ const { command } = validators_1.CommandResponse.parse(commandChunk.value);
113
+ const finished = (async () => {
114
+ const finishedChunk = await iterator.next();
115
+ const { command } = validators_1.CommandFinishedResponse.parse(finishedChunk.value);
116
+ return command;
117
+ })();
118
+ return { command, finished };
119
+ }
81
120
  return (0, base_client_1.parseOrThrow)(validators_1.CommandResponse, await this.request(`/v1/sandboxes/${params.sandboxId}/cmd`, {
82
121
  method: "POST",
83
122
  body: JSON.stringify({
@@ -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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"}
@@ -427,6 +427,7 @@ export declare const CommandResponse: z.ZodObject<{
427
427
  exitCode: number | null;
428
428
  };
429
429
  }>;
430
+ export type CommandFinishedData = z.infer<typeof CommandFinishedResponse>["command"];
430
431
  export declare const CommandFinishedResponse: z.ZodObject<{
431
432
  command: z.ZodObject<{
432
433
  id: z.ZodString;
@@ -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/command.d.ts CHANGED
@@ -29,7 +29,6 @@ export declare class Command {
29
29
  private cmd;
30
30
  exitCode: number | null;
31
31
  private outputCache;
32
- private outputCachePromise;
33
32
  /**
34
33
  * ID of the command execution.
35
34
  */
package/dist/command.js CHANGED
@@ -36,7 +36,6 @@ class Command {
36
36
  */
37
37
  constructor({ client, sandboxId, cmd, }) {
38
38
  this.outputCache = null;
39
- this.outputCachePromise = null;
40
39
  this.client = client;
41
40
  this.sandboxId = sandboxId;
42
41
  this.cmd = cmd;
@@ -108,11 +107,8 @@ class Command {
108
107
  * This prevents race conditions when stdout() and stderr() are called in parallel.
109
108
  */
110
109
  async getCachedOutput(opts) {
111
- if (this.outputCache) {
112
- return this.outputCache;
113
- }
114
- if (!this.outputCachePromise) {
115
- this.outputCachePromise = (async () => {
110
+ if (!this.outputCache) {
111
+ this.outputCache = (async () => {
116
112
  try {
117
113
  let stdout = "";
118
114
  let stderr = "";
@@ -126,17 +122,16 @@ class Command {
126
122
  stderr += log.data;
127
123
  }
128
124
  }
129
- this.outputCache = { stdout, stderr, both };
130
- return this.outputCache;
125
+ return { stdout, stderr, both };
131
126
  }
132
127
  catch (err) {
133
128
  // Clear the promise so future calls can retry
134
- this.outputCachePromise = null;
129
+ this.outputCache = null;
135
130
  throw err;
136
131
  }
137
132
  })();
138
133
  }
139
- return this.outputCachePromise;
134
+ return this.outputCache;
140
135
  }
141
136
  /**
142
137
  * Get the output of `stdout`, `stderr`, or both as a string.
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;AACA,yDAA8D;AAE9D;;;;;;;;;;;;GAYG;AACH,MAAa,OAAO;IAyBlB;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACtB,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,YAAY,EACV,MAAM,EACN,SAAS,EACT,GAAG,GAKJ;QAnCO,gBAAW,GAIP,IAAI,CAAC;QAgCf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACH,IAAI,CAAC,IAA+B;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAClB,MAAM,EAAE,IAAI,EAAE,MAAM;SACrB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,IAAI,CAAC,MAAiC;QAC1C,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAEjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YAClB,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,MAAM,EAAE,MAAM;SACvB,CAAC,CAAC;QAEH,OAAO,IAAI,eAAe,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YACzB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,IAA+B;QAK3D,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC7B,IAAI,CAAC;oBACH,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,MAAM,GAAG,EAAE,CAAC;oBAChB,IAAI,IAAI,GAAG,EAAE,CAAC;oBACd,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;wBAC5D,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC;wBACjB,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;4BAC5B,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;wBACrB,CAAC;6BAAM,CAAC;4BACN,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC;wBACrB,CAAC;oBACH,CAAC;oBACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAClC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,8CAA8C;oBAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;oBACxB,MAAM,GAAG,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,EAAE,CAAC;QACP,CAAC;QAED,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,MAAM,CACV,SAAuC,MAAM,EAC7C,IAA+B;QAE/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,IAA+B;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,IAA+B;QAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,MAAe,EAAE,IAAoC;QAC9D,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE;YACtB,MAAM,EAAE,IAAA,6BAAa,EAAC,MAAM,IAAI,SAAS,CAAC;YAC1C,WAAW,EAAE,IAAI,EAAE,WAAW;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AAhOD,0BAgOC;AAED;;;;;;;;GAQG;AACH,MAAa,eAAgB,SAAQ,OAAO;IAO1C;;;;;;OAMG;IACH,YAAY,MAKX;QACC,KAAK,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAnCD,0CAmCC"}
package/dist/sandbox.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type { SandboxMetaData, SandboxRouteData } from "./api-client";
2
- import type { Writable } from "stream";
2
+ import { type Writable } from "stream";
3
3
  import { APIClient } from "./api-client";
4
- import { Command, type CommandFinished } from "./command";
4
+ import { Command, CommandFinished } from "./command";
5
5
  import { type Credentials } from "./utils/get-credentials";
6
6
  import { WithPrivate } from "./utils/types";
7
7
  import { WithFetchOptions } from "./api-client/api-client";
@@ -193,8 +193,14 @@ export declare class Sandbox {
193
193
  *
194
194
  * @param params - Creation parameters and optional credentials.
195
195
  * @returns A promise resolving to the created {@link Sandbox}.
196
+ * @example
197
+ * <caption>Create a sandbox and drop it in the end of the block</caption>
198
+ * async function fn() {
199
+ * await using const sandbox = await Sandbox.create();
200
+ * // Sandbox automatically stopped at the end of the lexical scope
201
+ * }
196
202
  */
197
- static create(params?: WithPrivate<CreateSandboxParams | (CreateSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox>;
203
+ static create(params?: WithPrivate<CreateSandboxParams | (CreateSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox & AsyncDisposable>;
198
204
  /**
199
205
  * Retrieve an existing sandbox.
200
206
  *
@@ -260,7 +266,7 @@ export declare class Sandbox {
260
266
  * @returns A {@link Command} or {@link CommandFinished}, depending on `detached`.
261
267
  * @internal
262
268
  */
263
- _runCommand(params: RunCommandParams): Promise<Command | CommandFinished>;
269
+ _runCommand(params: RunCommandParams): Promise<Command>;
264
270
  /**
265
271
  * Create a directory in the filesystem of this sandbox.
266
272
  *
@@ -272,12 +278,12 @@ export declare class Sandbox {
272
278
  signal?: AbortSignal;
273
279
  }): Promise<void>;
274
280
  /**
275
- * Read a file from the filesystem of this sandbox.
281
+ * Read a file from the filesystem of this sandbox as a stream.
276
282
  *
277
283
  * @param file - File to read, with path and optional cwd
278
284
  * @param opts - Optional parameters.
279
285
  * @param opts.signal - An AbortSignal to cancel the operation.
280
- * @returns A promise that resolves to a ReadableStream containing the file contents
286
+ * @returns A promise that resolves to a ReadableStream containing the file contents, or null if file not found
281
287
  */
282
288
  readFile(file: {
283
289
  path: string;
@@ -285,6 +291,40 @@ export declare class Sandbox {
285
291
  }, opts?: {
286
292
  signal?: AbortSignal;
287
293
  }): Promise<NodeJS.ReadableStream | null>;
294
+ /**
295
+ * Read a file from the filesystem of this sandbox as a Buffer.
296
+ *
297
+ * @param file - File to read, with path and optional cwd
298
+ * @param opts - Optional parameters.
299
+ * @param opts.signal - An AbortSignal to cancel the operation.
300
+ * @returns A promise that resolves to the file contents as a Buffer, or null if file not found
301
+ */
302
+ readFileToBuffer(file: {
303
+ path: string;
304
+ cwd?: string;
305
+ }, opts?: {
306
+ signal?: AbortSignal;
307
+ }): Promise<Buffer | null>;
308
+ /**
309
+ * Download a file from the sandbox to the local filesystem.
310
+ *
311
+ * @param src - Source file on the sandbox, with path and optional cwd
312
+ * @param dst - Destination file on the local machine, with path and optional cwd
313
+ * @param opts - Optional parameters.
314
+ * @param opts.mkdirRecursive - If true, create parent directories for the destination if they don't exist.
315
+ * @param opts.signal - An AbortSignal to cancel the operation.
316
+ * @returns The absolute path to the written file, or null if the source file was not found
317
+ */
318
+ downloadFile(src: {
319
+ path: string;
320
+ cwd?: string;
321
+ }, dst: {
322
+ path: string;
323
+ cwd?: string;
324
+ }, opts?: {
325
+ mkdirRecursive?: boolean;
326
+ signal?: AbortSignal;
327
+ }): Promise<string | null>;
288
328
  /**
289
329
  * Write files to the filesystem of this sandbox.
290
330
  * Defaults to writing to /vercel/sandbox unless an absolute path is specified.
package/dist/sandbox.js CHANGED
@@ -1,11 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Sandbox = void 0;
4
+ const promises_1 = require("stream/promises");
5
+ const fs_1 = require("fs");
6
+ const promises_2 = require("fs/promises");
7
+ const path_1 = require("path");
4
8
  const api_client_1 = require("./api-client");
5
9
  const command_1 = require("./command");
6
10
  const get_credentials_1 = require("./utils/get-credentials");
7
11
  const types_1 = require("./utils/types");
8
12
  const snapshot_1 = require("./snapshot");
13
+ const consume_readable_1 = require("./utils/consume-readable");
9
14
  /**
10
15
  * A Sandbox is an isolated Linux MicroVM to run commands in.
11
16
  *
@@ -68,6 +73,12 @@ class Sandbox {
68
73
  *
69
74
  * @param params - Creation parameters and optional credentials.
70
75
  * @returns A promise resolving to the created {@link Sandbox}.
76
+ * @example
77
+ * <caption>Create a sandbox and drop it in the end of the block</caption>
78
+ * async function fn() {
79
+ * await using const sandbox = await Sandbox.create();
80
+ * // Sandbox automatically stopped at the end of the lexical scope
81
+ * }
71
82
  */
72
83
  static async create(params) {
73
84
  const credentials = await (0, get_credentials_1.getCredentials)(params);
@@ -87,7 +98,7 @@ class Sandbox {
87
98
  signal: params?.signal,
88
99
  ...privateParams,
89
100
  });
90
- return new Sandbox({
101
+ return new DisposableSandbox({
91
102
  client,
92
103
  sandbox: sandbox.json.sandbox,
93
104
  routes: sandbox.json.routes,
@@ -163,6 +174,54 @@ class Sandbox {
163
174
  * @internal
164
175
  */
165
176
  async _runCommand(params) {
177
+ const wait = params.detached ? false : true;
178
+ const getLogs = (command) => {
179
+ if (params.stdout || params.stderr) {
180
+ (async () => {
181
+ try {
182
+ for await (const log of command.logs({ signal: params.signal })) {
183
+ if (log.stream === "stdout") {
184
+ params.stdout?.write(log.data);
185
+ }
186
+ else if (log.stream === "stderr") {
187
+ params.stderr?.write(log.data);
188
+ }
189
+ }
190
+ }
191
+ catch (err) {
192
+ if (params.signal?.aborted) {
193
+ return;
194
+ }
195
+ throw err;
196
+ }
197
+ })();
198
+ }
199
+ };
200
+ if (wait) {
201
+ const commandStream = await this.client.runCommand({
202
+ sandboxId: this.sandbox.id,
203
+ command: params.cmd,
204
+ args: params.args ?? [],
205
+ cwd: params.cwd,
206
+ env: params.env ?? {},
207
+ sudo: params.sudo ?? false,
208
+ wait: true,
209
+ signal: params.signal,
210
+ });
211
+ const command = new command_1.Command({
212
+ client: this.client,
213
+ sandboxId: this.sandbox.id,
214
+ cmd: commandStream.command,
215
+ });
216
+ getLogs(command);
217
+ const finished = await commandStream.finished;
218
+ return new command_1.CommandFinished({
219
+ client: this.client,
220
+ sandboxId: this.sandbox.id,
221
+ cmd: finished,
222
+ exitCode: finished.exitCode ?? 0,
223
+ });
224
+ }
166
225
  const commandResponse = await this.client.runCommand({
167
226
  sandboxId: this.sandbox.id,
168
227
  command: params.cmd,
@@ -177,27 +236,8 @@ class Sandbox {
177
236
  sandboxId: this.sandbox.id,
178
237
  cmd: commandResponse.json.command,
179
238
  });
180
- if (params.stdout || params.stderr) {
181
- (async () => {
182
- try {
183
- for await (const log of command.logs({ signal: params.signal })) {
184
- if (log.stream === "stdout") {
185
- params.stdout?.write(log.data);
186
- }
187
- else if (log.stream === "stderr") {
188
- params.stderr?.write(log.data);
189
- }
190
- }
191
- }
192
- catch (err) {
193
- if (params.signal?.aborted) {
194
- return;
195
- }
196
- throw err;
197
- }
198
- })();
199
- }
200
- return params.detached ? command : command.wait({ signal: params.signal });
239
+ getLogs(command);
240
+ return command;
201
241
  }
202
242
  /**
203
243
  * Create a directory in the filesystem of this sandbox.
@@ -214,12 +254,12 @@ class Sandbox {
214
254
  });
215
255
  }
216
256
  /**
217
- * Read a file from the filesystem of this sandbox.
257
+ * Read a file from the filesystem of this sandbox as a stream.
218
258
  *
219
259
  * @param file - File to read, with path and optional cwd
220
260
  * @param opts - Optional parameters.
221
261
  * @param opts.signal - An AbortSignal to cancel the operation.
222
- * @returns A promise that resolves to a ReadableStream containing the file contents
262
+ * @returns A promise that resolves to a ReadableStream containing the file contents, or null if file not found
223
263
  */
224
264
  async readFile(file, opts) {
225
265
  return this.client.readFile({
@@ -229,6 +269,60 @@ class Sandbox {
229
269
  signal: opts?.signal,
230
270
  });
231
271
  }
272
+ /**
273
+ * Read a file from the filesystem of this sandbox as a Buffer.
274
+ *
275
+ * @param file - File to read, with path and optional cwd
276
+ * @param opts - Optional parameters.
277
+ * @param opts.signal - An AbortSignal to cancel the operation.
278
+ * @returns A promise that resolves to the file contents as a Buffer, or null if file not found
279
+ */
280
+ async readFileToBuffer(file, opts) {
281
+ const stream = await this.client.readFile({
282
+ sandboxId: this.sandbox.id,
283
+ path: file.path,
284
+ cwd: file.cwd,
285
+ signal: opts?.signal,
286
+ });
287
+ if (stream === null) {
288
+ return null;
289
+ }
290
+ return (0, consume_readable_1.consumeReadable)(stream);
291
+ }
292
+ /**
293
+ * Download a file from the sandbox to the local filesystem.
294
+ *
295
+ * @param src - Source file on the sandbox, with path and optional cwd
296
+ * @param dst - Destination file on the local machine, with path and optional cwd
297
+ * @param opts - Optional parameters.
298
+ * @param opts.mkdirRecursive - If true, create parent directories for the destination if they don't exist.
299
+ * @param opts.signal - An AbortSignal to cancel the operation.
300
+ * @returns The absolute path to the written file, or null if the source file was not found
301
+ */
302
+ async downloadFile(src, dst, opts) {
303
+ const stream = await this.client.readFile({
304
+ sandboxId: this.sandbox.id,
305
+ path: src.path,
306
+ cwd: src.cwd,
307
+ signal: opts?.signal,
308
+ });
309
+ if (stream === null) {
310
+ return null;
311
+ }
312
+ try {
313
+ const dstPath = (0, path_1.resolve)(dst.cwd ?? "", dst.path);
314
+ if (opts?.mkdirRecursive) {
315
+ await (0, promises_2.mkdir)((0, path_1.dirname)(dstPath), { recursive: true });
316
+ }
317
+ await (0, promises_1.pipeline)(stream, (0, fs_1.createWriteStream)(dstPath), {
318
+ signal: opts?.signal,
319
+ });
320
+ return dstPath;
321
+ }
322
+ finally {
323
+ stream.destroy();
324
+ }
325
+ }
232
326
  /**
233
327
  * Write files to the filesystem of this sandbox.
234
328
  * Defaults to writing to /vercel/sandbox unless an absolute path is specified.
@@ -325,4 +419,18 @@ class Sandbox {
325
419
  }
326
420
  }
327
421
  exports.Sandbox = Sandbox;
422
+ /**
423
+ * A {@link Sandbox} that can automatically be disposed using a `await using` statement.
424
+ *
425
+ * @example
426
+ * {
427
+ * await using const sandbox = await Sandbox.create();
428
+ * }
429
+ * // Sandbox is automatically stopped here
430
+ */
431
+ class DisposableSandbox extends Sandbox {
432
+ async [Symbol.asyncDispose]() {
433
+ await this.stop();
434
+ }
435
+ }
328
436
  //# sourceMappingURL=sandbox.js.map