@vercel/sandbox 1.4.1 → 1.5.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/dist/api-client/api-client.d.ts +41 -13
- package/dist/api-client/api-client.js +6 -3
- package/dist/api-client/api-client.js.map +1 -1
- package/dist/api-client/validators.d.ts +647 -28
- package/dist/api-client/validators.js +19 -1
- package/dist/api-client/validators.js.map +1 -1
- package/dist/network-policy.d.ts +48 -0
- package/dist/network-policy.js +3 -0
- package/dist/network-policy.js.map +1 -0
- package/dist/sandbox.d.ts +20 -13
- package/dist/sandbox.js +24 -21
- package/dist/sandbox.js.map +1 -1
- package/dist/utils/convert-sandbox.d.ts +6 -0
- package/dist/utils/convert-sandbox.js +14 -0
- package/dist/utils/convert-sandbox.js.map +1 -0
- package/dist/utils/network-policy.d.ts +7 -52
- package/dist/utils/network-policy.js +26 -16
- package/dist/utils/network-policy.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SnapshotResponse = exports.CreateSnapshotResponse = exports.ExtendTimeoutResponse = exports.SnapshotsResponse = exports.SandboxesResponse = exports.LogLine = exports.LogError = exports.LogLineStderr = exports.LogLineStdout = exports.EmptyResponse = exports.CommandFinishedResponse = exports.CommandResponse = exports.SandboxAndRoutesResponse = exports.SandboxResponse = exports.Command = exports.Pagination = exports.Snapshot = exports.SandboxRoute = exports.Sandbox = void 0;
|
|
3
|
+
exports.SnapshotResponse = exports.CreateSnapshotResponse = exports.UpdateNetworkPolicyResponse = exports.ExtendTimeoutResponse = exports.SnapshotsResponse = exports.SandboxesResponse = exports.LogLine = exports.LogError = exports.LogLineStderr = exports.LogLineStdout = exports.EmptyResponse = exports.CommandFinishedResponse = exports.CommandResponse = exports.SandboxAndRoutesResponse = exports.SandboxResponse = exports.Command = exports.Pagination = exports.Snapshot = exports.SandboxRoute = exports.Sandbox = exports.NetworkPolicyValidator = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
+
exports.NetworkPolicyValidator = zod_1.z.union([
|
|
6
|
+
zod_1.z.object({ mode: zod_1.z.literal("allow-all") }).passthrough(),
|
|
7
|
+
zod_1.z.object({ mode: zod_1.z.literal("deny-all") }).passthrough(),
|
|
8
|
+
zod_1.z
|
|
9
|
+
.object({
|
|
10
|
+
mode: zod_1.z.literal("custom"),
|
|
11
|
+
allowedDomains: zod_1.z.array(zod_1.z.string()).optional(),
|
|
12
|
+
allowedCIDRs: zod_1.z.array(zod_1.z.string()).optional(),
|
|
13
|
+
deniedCIDRs: zod_1.z.array(zod_1.z.string()).optional(),
|
|
14
|
+
})
|
|
15
|
+
.passthrough(),
|
|
16
|
+
]);
|
|
5
17
|
exports.Sandbox = zod_1.z.object({
|
|
6
18
|
id: zod_1.z.string(),
|
|
7
19
|
memory: zod_1.z.number(),
|
|
@@ -15,12 +27,14 @@ exports.Sandbox = zod_1.z.object({
|
|
|
15
27
|
"stopping",
|
|
16
28
|
"stopped",
|
|
17
29
|
"failed",
|
|
30
|
+
"aborted",
|
|
18
31
|
"snapshotting",
|
|
19
32
|
]),
|
|
20
33
|
requestedAt: zod_1.z.number(),
|
|
21
34
|
startedAt: zod_1.z.number().optional(),
|
|
22
35
|
requestedStopAt: zod_1.z.number().optional(),
|
|
23
36
|
stoppedAt: zod_1.z.number().optional(),
|
|
37
|
+
abortedAt: zod_1.z.number().optional(),
|
|
24
38
|
duration: zod_1.z.number().optional(),
|
|
25
39
|
sourceSnapshotId: zod_1.z.string().optional(),
|
|
26
40
|
snapshottedAt: zod_1.z.number().optional(),
|
|
@@ -28,6 +42,7 @@ exports.Sandbox = zod_1.z.object({
|
|
|
28
42
|
cwd: zod_1.z.string(),
|
|
29
43
|
updatedAt: zod_1.z.number(),
|
|
30
44
|
interactivePort: zod_1.z.number().optional(),
|
|
45
|
+
networkPolicy: exports.NetworkPolicyValidator.optional(),
|
|
31
46
|
});
|
|
32
47
|
exports.SandboxRoute = zod_1.z.object({
|
|
33
48
|
url: zod_1.z.string(),
|
|
@@ -116,6 +131,9 @@ exports.SnapshotsResponse = zod_1.z.object({
|
|
|
116
131
|
exports.ExtendTimeoutResponse = zod_1.z.object({
|
|
117
132
|
sandbox: exports.Sandbox,
|
|
118
133
|
});
|
|
134
|
+
exports.UpdateNetworkPolicyResponse = zod_1.z.object({
|
|
135
|
+
sandbox: exports.Sandbox,
|
|
136
|
+
});
|
|
119
137
|
exports.CreateSnapshotResponse = zod_1.z.object({
|
|
120
138
|
snapshot: exports.Snapshot,
|
|
121
139
|
sandbox: exports.Sandbox,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIX,QAAA,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC;QACb,SAAS;QACT,SAAS;QACT,UAAU;QACV,SAAS;QACT,QAAQ;QACR,cAAc;KACf,CAAC;IACF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Network policy to define network restrictions for the sandbox.
|
|
3
|
+
*
|
|
4
|
+
* - `"allow-all"`: Full internet access (default). All traffic is allowed.
|
|
5
|
+
* - `"deny-all"`: No internet access. All traffic is denied.
|
|
6
|
+
* - Object: Custom access with explicit allow/deny lists.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // Full internet access (default)
|
|
10
|
+
* "allow-all"
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // No external access
|
|
14
|
+
* "deny-all"
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* // Custom access with specific domains
|
|
18
|
+
* // All traffic not explicitly allowed is denied.
|
|
19
|
+
* {
|
|
20
|
+
* allow: ["*.npmjs.org", "github.com"],
|
|
21
|
+
* subnets: {
|
|
22
|
+
* allow: ["10.0.0.0/8"],
|
|
23
|
+
* deny: ["10.1.0.0/16"]
|
|
24
|
+
* }
|
|
25
|
+
* }
|
|
26
|
+
*/
|
|
27
|
+
export type NetworkPolicy = "allow-all" | "deny-all" | {
|
|
28
|
+
/**
|
|
29
|
+
* List of domains to allow traffic to.
|
|
30
|
+
* Use "*" prefix for wildcard matching (e.g., "*.npmjs.org").
|
|
31
|
+
*/
|
|
32
|
+
allow?: string[];
|
|
33
|
+
/**
|
|
34
|
+
* Subnet-level access control using CIDR notation.
|
|
35
|
+
*/
|
|
36
|
+
subnets?: {
|
|
37
|
+
/**
|
|
38
|
+
* List of CIDRs to allow traffic to.
|
|
39
|
+
* Traffic to these addresses will bypass the domain allowlist.
|
|
40
|
+
*/
|
|
41
|
+
allow?: string[];
|
|
42
|
+
/**
|
|
43
|
+
* List of CIDRs to deny traffic to.
|
|
44
|
+
* These take precedence over allowed domains and CIDRs.
|
|
45
|
+
*/
|
|
46
|
+
deny?: string[];
|
|
47
|
+
};
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../src/network-policy.ts"],"names":[],"mappings":""}
|
package/dist/sandbox.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ import { WithPrivate } from "./utils/types";
|
|
|
7
7
|
import { WithFetchOptions } from "./api-client/api-client";
|
|
8
8
|
import { RUNTIMES } from "./constants";
|
|
9
9
|
import { Snapshot } from "./snapshot";
|
|
10
|
-
import { type NetworkPolicy } from "./
|
|
10
|
+
import { type NetworkPolicy } from "./network-policy";
|
|
11
11
|
export type { NetworkPolicy };
|
|
12
12
|
/** @inline */
|
|
13
13
|
export interface BaseCreateSandboxParams {
|
|
@@ -155,6 +155,10 @@ export declare class Sandbox {
|
|
|
155
155
|
* The timeout of the sandbox in milliseconds.
|
|
156
156
|
*/
|
|
157
157
|
get timeout(): number;
|
|
158
|
+
/**
|
|
159
|
+
* The network policy of the sandbox.
|
|
160
|
+
*/
|
|
161
|
+
get networkPolicy(): NetworkPolicy | undefined;
|
|
158
162
|
/**
|
|
159
163
|
* If the sandbox was created from a snapshot, the ID of that snapshot.
|
|
160
164
|
*/
|
|
@@ -176,7 +180,7 @@ export declare class Sandbox {
|
|
|
176
180
|
region: string;
|
|
177
181
|
runtime: string;
|
|
178
182
|
timeout: number;
|
|
179
|
-
status: "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
|
|
183
|
+
status: "aborted" | "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
|
|
180
184
|
requestedAt: number;
|
|
181
185
|
createdAt: number;
|
|
182
186
|
cwd: string;
|
|
@@ -184,10 +188,21 @@ export declare class Sandbox {
|
|
|
184
188
|
startedAt?: number | undefined;
|
|
185
189
|
requestedStopAt?: number | undefined;
|
|
186
190
|
stoppedAt?: number | undefined;
|
|
191
|
+
abortedAt?: number | undefined;
|
|
187
192
|
duration?: number | undefined;
|
|
188
193
|
sourceSnapshotId?: string | undefined;
|
|
189
194
|
snapshottedAt?: number | undefined;
|
|
190
195
|
interactivePort?: number | undefined;
|
|
196
|
+
networkPolicy?: import("zod").objectInputType<{
|
|
197
|
+
mode: import("zod").ZodLiteral<"allow-all">;
|
|
198
|
+
}, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
|
|
199
|
+
mode: import("zod").ZodLiteral<"deny-all">;
|
|
200
|
+
}, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
|
|
201
|
+
mode: import("zod").ZodLiteral<"custom">;
|
|
202
|
+
allowedDomains: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
203
|
+
allowedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
204
|
+
deniedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
|
|
205
|
+
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
191
206
|
}[];
|
|
192
207
|
pagination: {
|
|
193
208
|
count: number;
|
|
@@ -215,13 +230,6 @@ export declare class Sandbox {
|
|
|
215
230
|
* @returns A promise resolving to the {@link Sandbox}.
|
|
216
231
|
*/
|
|
217
232
|
static get(params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox>;
|
|
218
|
-
/**
|
|
219
|
-
* Create a new Sandbox instance.
|
|
220
|
-
*
|
|
221
|
-
* @param client - API client used to communicate with the backend
|
|
222
|
-
* @param routes - Port-to-subdomain mappings for exposed ports
|
|
223
|
-
* @param sandboxId - Unique identifier for the sandbox
|
|
224
|
-
*/
|
|
225
233
|
constructor({ client, routes, sandbox, }: {
|
|
226
234
|
client: APIClient;
|
|
227
235
|
routes: SandboxRouteData[];
|
|
@@ -377,17 +385,16 @@ export declare class Sandbox {
|
|
|
377
385
|
* @example
|
|
378
386
|
* // Restrict to specific domains
|
|
379
387
|
* await sandbox.updateNetworkPolicy({
|
|
380
|
-
*
|
|
381
|
-
* allowedDomains: ["*.npmjs.org", "github.com"],
|
|
388
|
+
* allow: ["*.npmjs.org", "github.com"],
|
|
382
389
|
* });
|
|
383
390
|
*
|
|
384
391
|
* @example
|
|
385
392
|
* // Deny all network access
|
|
386
|
-
* await sandbox.updateNetworkPolicy(
|
|
393
|
+
* await sandbox.updateNetworkPolicy("deny-all");
|
|
387
394
|
*/
|
|
388
395
|
updateNetworkPolicy(networkPolicy: NetworkPolicy, opts?: {
|
|
389
396
|
signal?: AbortSignal;
|
|
390
|
-
}): Promise<
|
|
397
|
+
}): Promise<NetworkPolicy>;
|
|
391
398
|
/**
|
|
392
399
|
* Extend the timeout of the sandbox by the specified duration.
|
|
393
400
|
*
|
package/dist/sandbox.js
CHANGED
|
@@ -11,7 +11,7 @@ const get_credentials_1 = require("./utils/get-credentials");
|
|
|
11
11
|
const types_1 = require("./utils/types");
|
|
12
12
|
const snapshot_1 = require("./snapshot");
|
|
13
13
|
const consume_readable_1 = require("./utils/consume-readable");
|
|
14
|
-
const
|
|
14
|
+
const convert_sandbox_1 = require("./utils/convert-sandbox");
|
|
15
15
|
/**
|
|
16
16
|
* A Sandbox is an isolated Linux MicroVM to run commands in.
|
|
17
17
|
*
|
|
@@ -46,6 +46,12 @@ class Sandbox {
|
|
|
46
46
|
get timeout() {
|
|
47
47
|
return this.sandbox.timeout;
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* The network policy of the sandbox.
|
|
51
|
+
*/
|
|
52
|
+
get networkPolicy() {
|
|
53
|
+
return this.sandbox.networkPolicy;
|
|
54
|
+
}
|
|
49
55
|
/**
|
|
50
56
|
* If the sandbox was created from a snapshot, the ID of that snapshot.
|
|
51
57
|
*/
|
|
@@ -96,7 +102,7 @@ class Sandbox {
|
|
|
96
102
|
timeout: params?.timeout,
|
|
97
103
|
resources: params?.resources,
|
|
98
104
|
runtime: params && "runtime" in params ? params?.runtime : undefined,
|
|
99
|
-
networkPolicy:
|
|
105
|
+
networkPolicy: params?.networkPolicy,
|
|
100
106
|
signal: params?.signal,
|
|
101
107
|
...privateParams,
|
|
102
108
|
});
|
|
@@ -131,17 +137,10 @@ class Sandbox {
|
|
|
131
137
|
routes: sandbox.json.routes,
|
|
132
138
|
});
|
|
133
139
|
}
|
|
134
|
-
/**
|
|
135
|
-
* Create a new Sandbox instance.
|
|
136
|
-
*
|
|
137
|
-
* @param client - API client used to communicate with the backend
|
|
138
|
-
* @param routes - Port-to-subdomain mappings for exposed ports
|
|
139
|
-
* @param sandboxId - Unique identifier for the sandbox
|
|
140
|
-
*/
|
|
141
140
|
constructor({ client, routes, sandbox, }) {
|
|
142
141
|
this.client = client;
|
|
143
142
|
this.routes = routes;
|
|
144
|
-
this.sandbox = sandbox;
|
|
143
|
+
this.sandbox = (0, convert_sandbox_1.convertSandbox)(sandbox);
|
|
145
144
|
}
|
|
146
145
|
/**
|
|
147
146
|
* Get a previously run command by its ID.
|
|
@@ -302,6 +301,12 @@ class Sandbox {
|
|
|
302
301
|
* @returns The absolute path to the written file, or null if the source file was not found
|
|
303
302
|
*/
|
|
304
303
|
async downloadFile(src, dst, opts) {
|
|
304
|
+
if (!src?.path) {
|
|
305
|
+
throw new Error("downloadFile: source path is required");
|
|
306
|
+
}
|
|
307
|
+
if (!dst?.path) {
|
|
308
|
+
throw new Error("downloadFile: destination path is required");
|
|
309
|
+
}
|
|
305
310
|
const stream = await this.client.readFile({
|
|
306
311
|
sandboxId: this.sandbox.id,
|
|
307
312
|
path: src.path,
|
|
@@ -384,24 +389,22 @@ class Sandbox {
|
|
|
384
389
|
* @example
|
|
385
390
|
* // Restrict to specific domains
|
|
386
391
|
* await sandbox.updateNetworkPolicy({
|
|
387
|
-
*
|
|
388
|
-
* allowedDomains: ["*.npmjs.org", "github.com"],
|
|
392
|
+
* allow: ["*.npmjs.org", "github.com"],
|
|
389
393
|
* });
|
|
390
394
|
*
|
|
391
395
|
* @example
|
|
392
396
|
* // Deny all network access
|
|
393
|
-
* await sandbox.updateNetworkPolicy(
|
|
397
|
+
* await sandbox.updateNetworkPolicy("deny-all");
|
|
394
398
|
*/
|
|
395
399
|
async updateNetworkPolicy(networkPolicy, opts) {
|
|
396
|
-
const
|
|
397
|
-
if (!apiNetworkPolicy) {
|
|
398
|
-
throw new Error("Invalid network policy");
|
|
399
|
-
}
|
|
400
|
-
await this.client.updateNetworkPolicy({
|
|
400
|
+
const response = await this.client.updateNetworkPolicy({
|
|
401
401
|
sandboxId: this.sandbox.id,
|
|
402
|
-
networkPolicy:
|
|
402
|
+
networkPolicy: networkPolicy,
|
|
403
403
|
signal: opts?.signal,
|
|
404
404
|
});
|
|
405
|
+
// Update the internal sandbox metadata with the new timeout value
|
|
406
|
+
this.sandbox = (0, convert_sandbox_1.convertSandbox)(response.json.sandbox);
|
|
407
|
+
return this.sandbox.networkPolicy;
|
|
405
408
|
}
|
|
406
409
|
/**
|
|
407
410
|
* Extend the timeout of the sandbox by the specified duration.
|
|
@@ -426,7 +429,7 @@ class Sandbox {
|
|
|
426
429
|
signal: opts?.signal,
|
|
427
430
|
});
|
|
428
431
|
// Update the internal sandbox metadata with the new timeout value
|
|
429
|
-
this.sandbox = response.json.sandbox;
|
|
432
|
+
this.sandbox = (0, convert_sandbox_1.convertSandbox)(response.json.sandbox);
|
|
430
433
|
}
|
|
431
434
|
/**
|
|
432
435
|
* Create a snapshot from this currently running sandbox. New sandboxes can
|
|
@@ -443,7 +446,7 @@ class Sandbox {
|
|
|
443
446
|
sandboxId: this.sandbox.id,
|
|
444
447
|
signal: opts?.signal,
|
|
445
448
|
});
|
|
446
|
-
this.sandbox = response.json.sandbox;
|
|
449
|
+
this.sandbox = (0, convert_sandbox_1.convertSandbox)(response.json.sandbox);
|
|
447
450
|
return new snapshot_1.Snapshot({
|
|
448
451
|
client: this.client,
|
|
449
452
|
snapshot: response.json.snapshot,
|
package/dist/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":";;;AAEA,8CAA2C;AAC3C,2BAAuC;AACvC,0CAAoC;AACpC,+BAAwC;AACxC,6CAAyC;AACzC,uCAAqD;AACrD,6DAA2E;AAC3E,yCAA8D;AAG9D,yCAAsC;AACtC,+DAA2D;
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { SandboxMetaData } from "../api-client";
|
|
2
|
+
import type { NetworkPolicy } from "../network-policy";
|
|
3
|
+
export type ConvertedSandbox = Omit<SandboxMetaData, "networkPolicy"> & {
|
|
4
|
+
networkPolicy?: NetworkPolicy;
|
|
5
|
+
};
|
|
6
|
+
export declare function convertSandbox(sandbox: SandboxMetaData): ConvertedSandbox;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.convertSandbox = convertSandbox;
|
|
4
|
+
const network_policy_1 = require("./network-policy");
|
|
5
|
+
function convertSandbox(sandbox) {
|
|
6
|
+
const { networkPolicy, ...rest } = sandbox;
|
|
7
|
+
return {
|
|
8
|
+
...rest,
|
|
9
|
+
networkPolicy: networkPolicy
|
|
10
|
+
? (0, network_policy_1.fromAPINetworkPolicy)(networkPolicy)
|
|
11
|
+
: undefined,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=convert-sandbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"convert-sandbox.js","sourceRoot":"","sources":["../../src/utils/convert-sandbox.ts"],"names":[],"mappings":";;AAQA,wCAQC;AAdD,qDAAwD;AAMxD,SAAgB,cAAc,CAAC,OAAwB;IACrD,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC3C,OAAO;QACL,GAAG,IAAI;QACP,aAAa,EAAE,aAAa;YAC1B,CAAC,CAAC,IAAA,qCAAoB,EAAC,aAAa,CAAC;YACrC,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC"}
|
|
@@ -1,52 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
*
|
|
9
|
-
* @example
|
|
10
|
-
* // Full internet access (default)
|
|
11
|
-
* { type: "internet-access" }
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* // No internet access
|
|
15
|
-
* { type: "no-access" }
|
|
16
|
-
*
|
|
17
|
-
* @example
|
|
18
|
-
* // Restricted access with specific domains
|
|
19
|
-
* // All traffic not explicitly allowed is denied.
|
|
20
|
-
* {
|
|
21
|
-
* type: "restricted",
|
|
22
|
-
* allowedDomains: ["*.npmjs.org", "github.com"],
|
|
23
|
-
* allowedCIDRs: ["10.0.0.0/8"],
|
|
24
|
-
* deniedCIDRs: ["10.1.0.0/16"]
|
|
25
|
-
* }
|
|
26
|
-
*/
|
|
27
|
-
export type NetworkPolicy = {
|
|
28
|
-
type: "internet-access";
|
|
29
|
-
} & Record<string, unknown> | {
|
|
30
|
-
type: "no-access";
|
|
31
|
-
} & Record<string, unknown> | ({
|
|
32
|
-
type: "restricted";
|
|
33
|
-
/**
|
|
34
|
-
* List of domains to allow traffic to.
|
|
35
|
-
* Use "*" prefix for wildcard matching (e.g., "*.npmjs.org").
|
|
36
|
-
*/
|
|
37
|
-
allowedDomains?: string[];
|
|
38
|
-
/**
|
|
39
|
-
* List of CIDRs to allow traffic to.
|
|
40
|
-
* Traffic to these addresses will bypass the domain allowlist.
|
|
41
|
-
*/
|
|
42
|
-
allowedCIDRs?: string[];
|
|
43
|
-
/**
|
|
44
|
-
* List of CIDRs to deny traffic to.
|
|
45
|
-
* These take precedence over allowed domains and CIDRs.
|
|
46
|
-
*/
|
|
47
|
-
deniedCIDRs?: string[];
|
|
48
|
-
} & Record<string, unknown>);
|
|
49
|
-
/**
|
|
50
|
-
* Converts the SDK NetworkPolicy to the API format.
|
|
51
|
-
*/
|
|
52
|
-
export declare function toAPINetworkPolicy(policy: NetworkPolicy | undefined): APINetworkPolicy | undefined;
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { NetworkPolicy } from "../network-policy";
|
|
3
|
+
import { NetworkPolicyValidator } from "../api-client/validators";
|
|
4
|
+
type APINetworkPolicy = z.infer<typeof NetworkPolicyValidator>;
|
|
5
|
+
export declare function toAPINetworkPolicy(policy: NetworkPolicy): APINetworkPolicy;
|
|
6
|
+
export declare function fromAPINetworkPolicy(api: APINetworkPolicy): NetworkPolicy;
|
|
7
|
+
export {};
|
|
@@ -1,22 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toAPINetworkPolicy = toAPINetworkPolicy;
|
|
4
|
-
|
|
5
|
-
* Converts the SDK NetworkPolicy to the API format.
|
|
6
|
-
*/
|
|
4
|
+
exports.fromAPINetworkPolicy = fromAPINetworkPolicy;
|
|
7
5
|
function toAPINetworkPolicy(policy) {
|
|
8
|
-
if (
|
|
9
|
-
return
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
if (policy === "allow-all")
|
|
7
|
+
return { mode: "allow-all" };
|
|
8
|
+
if (policy === "deny-all")
|
|
9
|
+
return { mode: "deny-all" };
|
|
10
|
+
return {
|
|
11
|
+
mode: "custom",
|
|
12
|
+
...(policy.allow && { allowedDomains: policy.allow }),
|
|
13
|
+
...(policy.subnets?.allow && { allowedCIDRs: policy.subnets.allow }),
|
|
14
|
+
...(policy.subnets?.deny && { deniedCIDRs: policy.subnets.deny }),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function fromAPINetworkPolicy(api) {
|
|
18
|
+
if (api.mode === "allow-all")
|
|
19
|
+
return "allow-all";
|
|
20
|
+
if (api.mode === "deny-all")
|
|
21
|
+
return "deny-all";
|
|
22
|
+
return {
|
|
23
|
+
...(api.allowedDomains && { allow: api.allowedDomains }),
|
|
24
|
+
...((api.allowedCIDRs || api.deniedCIDRs) && {
|
|
25
|
+
subnets: {
|
|
26
|
+
...(api.allowedCIDRs && { allow: api.allowedCIDRs }),
|
|
27
|
+
...(api.deniedCIDRs && { deny: api.deniedCIDRs }),
|
|
28
|
+
},
|
|
29
|
+
}),
|
|
30
|
+
};
|
|
21
31
|
}
|
|
22
32
|
//# sourceMappingURL=network-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../../src/utils/network-policy.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"network-policy.js","sourceRoot":"","sources":["../../src/utils/network-policy.ts"],"names":[],"mappings":";;AAMA,gDASC;AAED,oDAYC;AAvBD,SAAgB,kBAAkB,CAAC,MAAqB;IACtD,IAAI,MAAM,KAAK,WAAW;QAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACzD,IAAI,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACvD,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE,cAAc,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACrD,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACpE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,GAAqB;IACxD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,WAAW,CAAC;IACjD,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,UAAU,CAAC;IAC/C,OAAO;QACL,GAAG,CAAC,GAAG,CAAC,cAAc,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC;QACxD,GAAG,CAAC,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI;YAC3C,OAAO,EAAE;gBACP,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;gBACpD,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;aAClD;SACF,CAAC;KACH,CAAC;AACJ,CAAC"}
|
package/dist/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const VERSION = "1.
|
|
1
|
+
export declare const VERSION = "1.5.0";
|
package/dist/version.js
CHANGED