@vercel/sandbox 1.0.4 → 1.1.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.
- package/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-test.log +6 -6
- package/.turbo/turbo-typecheck.log +1 -1
- package/CHANGELOG.md +10 -0
- package/README.md +4 -4
- package/dist/api-client/api-client.d.ts +6 -1
- package/dist/api-client/api-client.js +1 -0
- package/dist/api-client/api-client.js.map +1 -1
- package/dist/api-client/base-client.d.ts +1 -0
- package/dist/api-client/base-client.js +1 -1
- package/dist/api-client/base-client.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +3 -0
- package/dist/constants.js.map +1 -0
- package/dist/sandbox.d.ts +7 -5
- package/dist/sandbox.js +3 -0
- package/dist/sandbox.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/api-client/api-client.ts +13 -2
- package/src/api-client/base-client.ts +7 -2
- package/src/constants.ts +1 -0
- package/src/sandbox.ts +14 -5
- package/src/version.ts +1 -1
package/.turbo/turbo-build.log
CHANGED
package/.turbo/turbo-test.log
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
|
|
2
|
-
> @vercel/sandbox@1.0
|
|
2
|
+
> @vercel/sandbox@1.1.0 test /home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox
|
|
3
3
|
> vitest run
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
[1m[46m RUN [49m[22m [36mv3.2.1 [39m[90m/home/runner/work/sandbox-sdk/sandbox-sdk/packages/vercel-sandbox[39m
|
|
7
7
|
|
|
8
|
-
[32m✓[39m src/utils/jwt-expiry.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m
|
|
8
|
+
[32m✓[39m src/utils/jwt-expiry.test.ts [2m([22m[2m10 tests[22m[2m)[22m[32m 23[2mms[22m[39m
|
|
9
9
|
[2m[90m↓[39m[22m src/sandbox.test.ts [2m([22m[2m4 tests[22m[2m | [22m[33m4 skipped[39m[2m)[22m
|
|
10
|
-
[32m✓[39m src/utils/normalizePath.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m
|
|
10
|
+
[32m✓[39m src/utils/normalizePath.test.ts [2m([22m[2m6 tests[22m[2m)[22m[32m 24[2mms[22m[39m
|
|
11
11
|
[2m[90m↓[39m[22m src/command.test.ts [2m([22m[2m5 tests[22m[2m | [22m[33m5 skipped[39m[2m)[22m
|
|
12
|
-
[32m✓[39m src/utils/types.test.js [2m([22m[2m1 test[22m[2m)[22m[32m
|
|
12
|
+
[32m✓[39m src/utils/types.test.js [2m([22m[2m1 test[22m[2m)[22m[32m 13[2mms[22m[39m
|
|
13
13
|
|
|
14
14
|
[2m Test Files [22m [1m[32m3 passed[39m[22m[2m | [22m[33m2 skipped[39m[90m (5)[39m
|
|
15
15
|
[2m Tests [22m [1m[32m17 passed[39m[22m[2m | [22m[33m9 skipped[39m[90m (26)[39m
|
|
16
|
-
[2m Start at [22m 13:
|
|
17
|
-
[2m Duration [22m
|
|
16
|
+
[2m Start at [22m 13:55:18
|
|
17
|
+
[2m Duration [22m 6.11s[2m (transform 561ms, setup 221ms, collect 1.62s, tests 59ms, environment 5ms, prepare 1.53s)[22m
|
|
18
18
|
|
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @vercel/sandbox
|
|
2
2
|
|
|
3
|
+
## 1.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Add support for node24 runtime. ([#179](https://github.com/vercel/sandbox-sdk/pull/179))
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- allow to override the fetch implementation ([#177](https://github.com/vercel/sandbox-sdk/pull/177))
|
|
12
|
+
|
|
3
13
|
## 1.0.4
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -50,7 +50,7 @@ async function main() {
|
|
|
50
50
|
resources: { vcpus: 4 },
|
|
51
51
|
timeout: ms("5m"),
|
|
52
52
|
ports: [3000],
|
|
53
|
-
runtime: "
|
|
53
|
+
runtime: "node24",
|
|
54
54
|
});
|
|
55
55
|
|
|
56
56
|
console.log(`Installing dependencies...`);
|
|
@@ -137,7 +137,7 @@ const sandbox = await Sandbox.create({
|
|
|
137
137
|
// Defaults to 5 minutes. The maximum is 5 hours for Pro/Enterprise, and 45 minutes for Hobby.
|
|
138
138
|
timeout: ms("5m"),
|
|
139
139
|
ports: [3000],
|
|
140
|
-
runtime: "
|
|
140
|
+
runtime: "node24",
|
|
141
141
|
});
|
|
142
142
|
```
|
|
143
143
|
|
|
@@ -173,14 +173,14 @@ whois
|
|
|
173
173
|
zstd
|
|
174
174
|
```
|
|
175
175
|
|
|
176
|
-
- The `node22`
|
|
176
|
+
- The `node24` and `node22` images ship Node runtimes under `/vercel/runtimes/node{22,24}`.
|
|
177
177
|
- The `python3.13` image ships a Python 3.13 runtime under `/vercel/runtimes/python`.
|
|
178
178
|
- User code is executed as the `vercel-sandbox` user.
|
|
179
179
|
- `/vercel/sandbox` is writable.
|
|
180
180
|
|
|
181
181
|
## Sudo access
|
|
182
182
|
|
|
183
|
-
The `
|
|
183
|
+
The `nodeX` and `python3.13` images allow users to run commands as root. This
|
|
184
184
|
can be used to install packages and system tools:
|
|
185
185
|
|
|
186
186
|
```typescript
|
|
@@ -3,6 +3,10 @@ import { SandboxResponse, CommandResponse, CommandFinishedResponse, LogLine, Ext
|
|
|
3
3
|
import { FileWriter } from "./file-writer";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
import { WithPrivate } from "../utils/types";
|
|
6
|
+
import { RUNTIMES } from "../constants";
|
|
7
|
+
export interface WithFetchOptions {
|
|
8
|
+
fetch?: typeof globalThis.fetch;
|
|
9
|
+
}
|
|
6
10
|
export declare class APIClient extends BaseClient {
|
|
7
11
|
private teamId;
|
|
8
12
|
private tokenExpiry;
|
|
@@ -10,6 +14,7 @@ export declare class APIClient extends BaseClient {
|
|
|
10
14
|
baseUrl?: string;
|
|
11
15
|
teamId: string;
|
|
12
16
|
token: string;
|
|
17
|
+
fetch?: typeof globalThis.fetch;
|
|
13
18
|
});
|
|
14
19
|
private ensureValidToken;
|
|
15
20
|
protected request(path: string, params?: RequestParams): Promise<Response>;
|
|
@@ -59,7 +64,7 @@ export declare class APIClient extends BaseClient {
|
|
|
59
64
|
resources?: {
|
|
60
65
|
vcpus: number;
|
|
61
66
|
};
|
|
62
|
-
runtime?:
|
|
67
|
+
runtime?: RUNTIMES | (string & {});
|
|
63
68
|
signal?: AbortSignal;
|
|
64
69
|
}>): Promise<Parsed<{
|
|
65
70
|
sandbox: {
|
|
@@ -22,6 +22,7 @@ class APIClient extends base_client_1.BaseClient {
|
|
|
22
22
|
baseUrl: params.baseUrl ?? "https://vercel.com/api",
|
|
23
23
|
token: params.token,
|
|
24
24
|
debug: false,
|
|
25
|
+
fetch: params.fetch,
|
|
25
26
|
});
|
|
26
27
|
this.teamId = params.teamId;
|
|
27
28
|
this.tokenExpiry = jwt_expiry_1.JwtExpiry.fromToken(params.token);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/api-client/api-client.ts"],"names":[],"mappings":";;;;;;AAAA,+CAKuB;AACvB,6CASsB;AACtB,2CAAuC;AACvC,+CAA2C;AAC3C,wCAAqC;AACrC,gEAA4D;AAE5D,0DAAkC;AAClC,4CAAoB;AACpB,mCAAkC;AAClC,0DAAuD;AACvD,oDAAgD;AAChD,0CAA+D;
|
|
1
|
+
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../../src/api-client/api-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@ const undici_1 = require("undici");
|
|
|
14
14
|
*/
|
|
15
15
|
class BaseClient {
|
|
16
16
|
constructor(params) {
|
|
17
|
-
this.fetch = (0, with_retry_1.withRetry)(globalThis.fetch);
|
|
17
|
+
this.fetch = (0, with_retry_1.withRetry)(params.fetch ?? globalThis.fetch);
|
|
18
18
|
this.baseUrl = params.baseUrl;
|
|
19
19
|
this.debug = params.debug ?? process.env.DEBUG_FETCH === "true";
|
|
20
20
|
this.token = params.token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../src/api-client/base-client.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"base-client.js","sourceRoot":"","sources":["../../src/api-client/base-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RUNTIMES = "node24" | "node22" | "python3.13";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":""}
|
package/dist/sandbox.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { APIClient } from "./api-client";
|
|
|
4
4
|
import { Command, type CommandFinished } from "./command";
|
|
5
5
|
import { type Credentials } from "./utils/get-credentials";
|
|
6
6
|
import { WithPrivate } from "./utils/types";
|
|
7
|
+
import { WithFetchOptions } from "./api-client/api-client";
|
|
8
|
+
import { RUNTIMES } from "./constants";
|
|
7
9
|
/** @inline */
|
|
8
10
|
export interface CreateSandboxParams {
|
|
9
11
|
/**
|
|
@@ -50,10 +52,10 @@ export interface CreateSandboxParams {
|
|
|
50
52
|
vcpus: number;
|
|
51
53
|
};
|
|
52
54
|
/**
|
|
53
|
-
* The runtime of the sandbox, currently only `node22` and `python3.13` are supported.
|
|
55
|
+
* The runtime of the sandbox, currently only `node24`, `node22` and `python3.13` are supported.
|
|
54
56
|
* If not specified, the default runtime `node22` will be used.
|
|
55
57
|
*/
|
|
56
|
-
runtime?:
|
|
58
|
+
runtime?: RUNTIMES | (string & {});
|
|
57
59
|
/**
|
|
58
60
|
* An AbortSignal to cancel sandbox creation.
|
|
59
61
|
*/
|
|
@@ -144,7 +146,7 @@ export declare class Sandbox {
|
|
|
144
146
|
* It returns both the sandboxes and the pagination metadata to allow getting
|
|
145
147
|
* the next page of results.
|
|
146
148
|
*/
|
|
147
|
-
static list(params: Parameters<APIClient["listSandboxes"]>[0] & Partial<Credentials>): Promise<import("./api-client/base-client").Parsed<{
|
|
149
|
+
static list(params: Parameters<APIClient["listSandboxes"]>[0] & Partial<Credentials> & WithFetchOptions): Promise<import("./api-client/base-client").Parsed<{
|
|
148
150
|
sandboxes: {
|
|
149
151
|
region: string;
|
|
150
152
|
status: "pending" | "running" | "stopping" | "stopped" | "failed";
|
|
@@ -175,14 +177,14 @@ export declare class Sandbox {
|
|
|
175
177
|
* @param params - Creation parameters and optional credentials.
|
|
176
178
|
* @returns A promise resolving to the created {@link Sandbox}.
|
|
177
179
|
*/
|
|
178
|
-
static create(params?: WithPrivate<CreateSandboxParams | (CreateSandboxParams & Credentials)>): Promise<Sandbox>;
|
|
180
|
+
static create(params?: WithPrivate<CreateSandboxParams | (CreateSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox>;
|
|
179
181
|
/**
|
|
180
182
|
* Retrieve an existing sandbox.
|
|
181
183
|
*
|
|
182
184
|
* @param params - Get parameters and optional credentials.
|
|
183
185
|
* @returns A promise resolving to the {@link Sandbox}.
|
|
184
186
|
*/
|
|
185
|
-
static get(params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)>): Promise<Sandbox>;
|
|
187
|
+
static get(params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox>;
|
|
186
188
|
/**
|
|
187
189
|
* Create a new Sandbox instance.
|
|
188
190
|
*
|
package/dist/sandbox.js
CHANGED
|
@@ -43,6 +43,7 @@ class Sandbox {
|
|
|
43
43
|
const client = new api_client_1.APIClient({
|
|
44
44
|
teamId: credentials.teamId,
|
|
45
45
|
token: credentials.token,
|
|
46
|
+
fetch: params.fetch,
|
|
46
47
|
});
|
|
47
48
|
return client.listSandboxes({
|
|
48
49
|
...params,
|
|
@@ -60,6 +61,7 @@ class Sandbox {
|
|
|
60
61
|
const client = new api_client_1.APIClient({
|
|
61
62
|
teamId: credentials.teamId,
|
|
62
63
|
token: credentials.token,
|
|
64
|
+
fetch: params?.fetch,
|
|
63
65
|
});
|
|
64
66
|
const privateParams = (0, types_1.getPrivateParams)(params);
|
|
65
67
|
const sandbox = await client.createSandbox({
|
|
@@ -89,6 +91,7 @@ class Sandbox {
|
|
|
89
91
|
const client = new api_client_1.APIClient({
|
|
90
92
|
teamId: credentials.teamId,
|
|
91
93
|
token: credentials.token,
|
|
94
|
+
fetch: params.fetch,
|
|
92
95
|
});
|
|
93
96
|
const privateParams = (0, types_1.getPrivateParams)(params);
|
|
94
97
|
const sandbox = await client.getSandbox({
|
package/dist/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AACzC,uCAA0D;AAC1D,6DAA2E;AAC3E,yCAA8D;
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "1.0
|
|
1
|
+
export declare const VERSION = "1.1.0";
|
package/dist/version.js
CHANGED
package/package.json
CHANGED
|
@@ -25,16 +25,27 @@ import { Readable } from "stream";
|
|
|
25
25
|
import { normalizePath } from "../utils/normalizePath";
|
|
26
26
|
import { JwtExpiry } from "../utils/jwt-expiry";
|
|
27
27
|
import { getPrivateParams, WithPrivate } from "../utils/types";
|
|
28
|
+
import { RUNTIMES } from "../constants";
|
|
29
|
+
|
|
30
|
+
export interface WithFetchOptions {
|
|
31
|
+
fetch?: typeof globalThis.fetch;
|
|
32
|
+
}
|
|
28
33
|
|
|
29
34
|
export class APIClient extends BaseClient {
|
|
30
35
|
private teamId: string;
|
|
31
36
|
private tokenExpiry: JwtExpiry | null;
|
|
32
37
|
|
|
33
|
-
constructor(params: {
|
|
38
|
+
constructor(params: {
|
|
39
|
+
baseUrl?: string;
|
|
40
|
+
teamId: string;
|
|
41
|
+
token: string;
|
|
42
|
+
fetch?: typeof globalThis.fetch;
|
|
43
|
+
}) {
|
|
34
44
|
super({
|
|
35
45
|
baseUrl: params.baseUrl ?? "https://vercel.com/api",
|
|
36
46
|
token: params.token,
|
|
37
47
|
debug: false,
|
|
48
|
+
fetch: params.fetch,
|
|
38
49
|
});
|
|
39
50
|
|
|
40
51
|
this.teamId = params.teamId;
|
|
@@ -102,7 +113,7 @@ export class APIClient extends BaseClient {
|
|
|
102
113
|
| { type: "tarball"; url: string };
|
|
103
114
|
timeout?: number;
|
|
104
115
|
resources?: { vcpus: number };
|
|
105
|
-
runtime?:
|
|
116
|
+
runtime?: RUNTIMES | (string & {});
|
|
106
117
|
signal?: AbortSignal;
|
|
107
118
|
}>,
|
|
108
119
|
) {
|
|
@@ -25,8 +25,13 @@ export class BaseClient {
|
|
|
25
25
|
private baseUrl: string;
|
|
26
26
|
private agent: Agent;
|
|
27
27
|
|
|
28
|
-
constructor(params: {
|
|
29
|
-
|
|
28
|
+
constructor(params: {
|
|
29
|
+
debug?: boolean;
|
|
30
|
+
baseUrl: string;
|
|
31
|
+
token?: string;
|
|
32
|
+
fetch?: typeof globalThis.fetch;
|
|
33
|
+
}) {
|
|
34
|
+
this.fetch = withRetry(params.fetch ?? globalThis.fetch);
|
|
30
35
|
this.baseUrl = params.baseUrl;
|
|
31
36
|
this.debug = params.debug ?? process.env.DEBUG_FETCH === "true";
|
|
32
37
|
this.token = params.token;
|
package/src/constants.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RUNTIMES = "node24" | "node22" | "python3.13";
|
package/src/sandbox.ts
CHANGED
|
@@ -4,6 +4,8 @@ import { APIClient } from "./api-client";
|
|
|
4
4
|
import { Command, type CommandFinished } from "./command";
|
|
5
5
|
import { type Credentials, getCredentials } from "./utils/get-credentials";
|
|
6
6
|
import { getPrivateParams, WithPrivate } from "./utils/types";
|
|
7
|
+
import { WithFetchOptions } from "./api-client/api-client";
|
|
8
|
+
import { RUNTIMES } from "./constants";
|
|
7
9
|
|
|
8
10
|
/** @inline */
|
|
9
11
|
export interface CreateSandboxParams {
|
|
@@ -50,10 +52,10 @@ export interface CreateSandboxParams {
|
|
|
50
52
|
resources?: { vcpus: number };
|
|
51
53
|
|
|
52
54
|
/**
|
|
53
|
-
* The runtime of the sandbox, currently only `node22` and `python3.13` are supported.
|
|
55
|
+
* The runtime of the sandbox, currently only `node24`, `node22` and `python3.13` are supported.
|
|
54
56
|
* If not specified, the default runtime `node22` will be used.
|
|
55
57
|
*/
|
|
56
|
-
runtime?:
|
|
58
|
+
runtime?: RUNTIMES | (string & {});
|
|
57
59
|
|
|
58
60
|
/**
|
|
59
61
|
* An AbortSignal to cancel sandbox creation.
|
|
@@ -164,12 +166,15 @@ export class Sandbox {
|
|
|
164
166
|
* the next page of results.
|
|
165
167
|
*/
|
|
166
168
|
static async list(
|
|
167
|
-
params: Parameters<APIClient["listSandboxes"]>[0] &
|
|
169
|
+
params: Parameters<APIClient["listSandboxes"]>[0] &
|
|
170
|
+
Partial<Credentials> &
|
|
171
|
+
WithFetchOptions,
|
|
168
172
|
) {
|
|
169
173
|
const credentials = await getCredentials(params);
|
|
170
174
|
const client = new APIClient({
|
|
171
175
|
teamId: credentials.teamId,
|
|
172
176
|
token: credentials.token,
|
|
177
|
+
fetch: params.fetch,
|
|
173
178
|
});
|
|
174
179
|
return client.listSandboxes({
|
|
175
180
|
...params,
|
|
@@ -186,12 +191,14 @@ export class Sandbox {
|
|
|
186
191
|
static async create(
|
|
187
192
|
params?: WithPrivate<
|
|
188
193
|
CreateSandboxParams | (CreateSandboxParams & Credentials)
|
|
189
|
-
|
|
194
|
+
> &
|
|
195
|
+
WithFetchOptions,
|
|
190
196
|
): Promise<Sandbox> {
|
|
191
197
|
const credentials = await getCredentials(params);
|
|
192
198
|
const client = new APIClient({
|
|
193
199
|
teamId: credentials.teamId,
|
|
194
200
|
token: credentials.token,
|
|
201
|
+
fetch: params?.fetch,
|
|
195
202
|
});
|
|
196
203
|
|
|
197
204
|
const privateParams = getPrivateParams(params);
|
|
@@ -220,12 +227,14 @@ export class Sandbox {
|
|
|
220
227
|
* @returns A promise resolving to the {@link Sandbox}.
|
|
221
228
|
*/
|
|
222
229
|
static async get(
|
|
223
|
-
params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)
|
|
230
|
+
params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)> &
|
|
231
|
+
WithFetchOptions,
|
|
224
232
|
): Promise<Sandbox> {
|
|
225
233
|
const credentials = await getCredentials(params);
|
|
226
234
|
const client = new APIClient({
|
|
227
235
|
teamId: credentials.teamId,
|
|
228
236
|
token: credentials.token,
|
|
237
|
+
fetch: params.fetch,
|
|
229
238
|
});
|
|
230
239
|
|
|
231
240
|
const privateParams = getPrivateParams(params);
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Autogenerated by inject-version.ts
|
|
2
|
-
export const VERSION = "1.0
|
|
2
|
+
export const VERSION = "1.1.0";
|