@vercel/sandbox 1.8.0 → 2.0.0-beta.1

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,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
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 = exports.InjectionRuleValidator = void 0;
3
+ exports.UpdateNamedSandboxResponse = exports.NamedSandboxesPaginationResponse = exports.CursorPagination = exports.NamedSandboxAndSessionResponse = exports.NamedSandbox = 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 = exports.InjectionRuleValidator = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.InjectionRuleValidator = zod_1.z.object({
6
6
  domain: zod_1.z.string(),
@@ -154,4 +154,40 @@ exports.CreateSnapshotResponse = zod_1.z.object({
154
154
  exports.SnapshotResponse = zod_1.z.object({
155
155
  snapshot: exports.Snapshot,
156
156
  });
157
+ exports.NamedSandbox = zod_1.z.object({
158
+ name: zod_1.z.string(),
159
+ persistent: zod_1.z.boolean(),
160
+ region: zod_1.z.string(),
161
+ vcpus: zod_1.z.number(),
162
+ memory: zod_1.z.number(),
163
+ runtime: zod_1.z.string(),
164
+ timeout: zod_1.z.number(),
165
+ networkPolicy: exports.NetworkPolicyValidator.optional(),
166
+ totalEgressBytes: zod_1.z.number().optional(),
167
+ totalIngressBytes: zod_1.z.number().optional(),
168
+ totalActiveCpuDurationMs: zod_1.z.number().optional(),
169
+ totalDurationMs: zod_1.z.number().optional(),
170
+ createdAt: zod_1.z.number(),
171
+ updatedAt: zod_1.z.number(),
172
+ currentSandboxId: zod_1.z.string(),
173
+ currentSnapshotId: zod_1.z.string().optional(),
174
+ status: exports.Sandbox.shape.status,
175
+ });
176
+ exports.NamedSandboxAndSessionResponse = zod_1.z.object({
177
+ namedSandbox: exports.NamedSandbox,
178
+ sandbox: exports.Sandbox,
179
+ routes: zod_1.z.array(exports.SandboxRoute),
180
+ });
181
+ exports.CursorPagination = zod_1.z.object({
182
+ count: zod_1.z.number(),
183
+ next: zod_1.z.string().nullable(),
184
+ total: zod_1.z.number(),
185
+ });
186
+ exports.NamedSandboxesPaginationResponse = zod_1.z.object({
187
+ namedSandboxes: zod_1.z.array(exports.NamedSandbox),
188
+ pagination: exports.CursorPagination,
189
+ });
190
+ exports.UpdateNamedSandboxResponse = zod_1.z.object({
191
+ namedSandbox: exports.NamedSandbox,
192
+ });
157
193
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIX,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,oCAAoC;IACpC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,wCAAwC;IACxC,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC5C,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;IACxD,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;IACvD,OAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC9C,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3C,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC,QAAQ,EAAE;KAC3D,CAAC;SACD,WAAW,EAAE;CACjB,CAAC,CAAC;AAEU,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,SAAS;QACT,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,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;IACtC,aAAa,EAAE,8BAAsB,CAAC,QAAQ,EAAE;IAChD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,OAAC,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC;AAIU,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIU,QAAA,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC;;;OAGG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB;;;OAGG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;;OAGG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIU,QAAA,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACzB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,eAAO,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,uBAAe,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAIU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,eAAe;CACzB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1C,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AACU,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,OAAO,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACpD,qBAAa;IACb,qBAAa;IACb,gBAAQ;CACT,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,eAAO,CAAC;IAC3B,UAAU,EAAE,kBAAU;CACvB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,gBAAQ,CAAC;IAC5B,UAAU,EAAE,kBAAU;CACvB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,gBAAQ;IAClB,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,gBAAQ;CACnB,CAAC,CAAC"}
1
+ {"version":3,"file":"validators.js","sourceRoot":"","sources":["../../src/api-client/validators.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIX,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,oCAAoC;IACpC,OAAO,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,wCAAwC;IACxC,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC5C,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;IACxD,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;IACvD,OAAC;SACE,MAAM,CAAC;QACN,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC9C,YAAY,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC3C,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,8BAAsB,CAAC,CAAC,QAAQ,EAAE;KAC3D,CAAC;SACD,WAAW,EAAE;CACjB,CAAC,CAAC;AAEU,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,SAAS;QACT,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,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;IACtC,aAAa,EAAE,8BAAsB,CAAC,QAAQ,EAAE;IAChD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1C,eAAe,EAAE,OAAC,CAAC,MAAM,CAAC;QACxB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;QACnB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;KACnB,CAAC,CAAC,QAAQ,EAAE;CACd,CAAC,CAAC;AAIU,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;CACjB,CAAC,CAAC;AAIU,QAAA,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;IAC3B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,CAAC;IACjC;;;OAGG;IACH,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB;;;OAGG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B;;;OAGG;IACH,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIU,QAAA,OAAO,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9B,EAAE,EAAE,OAAC,CAAC,MAAM,EAAE;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,IAAI,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC;IACzB,GAAG,EAAE,OAAC,CAAC,MAAM,EAAE;IACf,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,eAAO,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,uBAAe,CAAC,MAAM,CAAC;IAC7D,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAIU,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,OAAO,EAAE,eAAe;CACzB,CAAC,CAAC;AAEU,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAE1C,MAAM,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACtC,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AACU,QAAA,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9C,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;CAC5B,CAAC,CAAC;AAEU,QAAA,QAAQ,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE,OAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC;QACb,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC;CACH,CAAC,CAAC;AAEU,QAAA,OAAO,GAAG,OAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACpD,qBAAa;IACb,qBAAa;IACb,gBAAQ;CACT,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,eAAO,CAAC;IAC3B,UAAU,EAAE,kBAAU;CACvB,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,gBAAQ,CAAC;IAC5B,UAAU,EAAE,kBAAU;CACvB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,gBAAQ;IAClB,OAAO,EAAE,eAAO;CACjB,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,QAAQ,EAAE,gBAAQ;CACnB,CAAC,CAAC;AAEU,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,UAAU,EAAE,OAAC,CAAC,OAAO,EAAE;IACvB,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,aAAa,EAAE,8BAAsB,CAAC,QAAQ,EAAE;IAChD,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,wBAAwB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/C,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,MAAM,EAAE,eAAO,CAAC,KAAK,CAAC,MAAM;CAC7B,CAAC,CAAC;AAIU,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,YAAY,EAAE,oBAAY;IAC1B,OAAO,EAAE,eAAO;IAChB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;CAC9B,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,CAAC;IACvC,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;CAClB,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,cAAc,EAAE,OAAC,CAAC,KAAK,CAAC,oBAAY,CAAC;IACrC,UAAU,EAAE,wBAAgB;CAC7B,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,YAAY,EAAE,oBAAY;CAC3B,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
- export { Sandbox, type NetworkPolicy, type NetworkPolicyRule, type NetworkTransformer, } from "./sandbox";
1
+ export { type NetworkPolicy, Sandbox, } from "./sandbox";
2
+ export { Session, type NetworkPolicyRule, type NetworkTransformer, } from "./session";
2
3
  export { Snapshot } from "./snapshot";
3
4
  export { Command, CommandFinished } from "./command";
4
5
  export { StreamError } from "./api-client/api-error";
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.APIError = exports.StreamError = exports.CommandFinished = exports.Command = exports.Snapshot = exports.Sandbox = void 0;
3
+ exports.APIError = exports.StreamError = exports.CommandFinished = exports.Command = exports.Snapshot = exports.Session = exports.Sandbox = void 0;
4
4
  var sandbox_1 = require("./sandbox");
5
5
  Object.defineProperty(exports, "Sandbox", { enumerable: true, get: function () { return sandbox_1.Sandbox; } });
6
+ var session_1 = require("./session");
7
+ Object.defineProperty(exports, "Session", { enumerable: true, get: function () { return session_1.Session; } });
6
8
  var snapshot_1 = require("./snapshot");
7
9
  Object.defineProperty(exports, "Snapshot", { enumerable: true, get: function () { return snapshot_1.Snapshot; } });
8
10
  var command_1 = require("./command");
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAKmB;AAJjB,kGAAA,OAAO,OAAA;AAKT,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAqD;AAA5C,kGAAA,OAAO,OAAA;AAAE,0GAAA,eAAe,OAAA;AACjC,oDAAqD;AAA5C,wGAAA,WAAW,OAAA;AACpB,oDAAkD;AAAzC,qGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,qCAGmB;AADjB,kGAAA,OAAO,OAAA;AAET,qCAImB;AAHjB,kGAAA,OAAO,OAAA;AAIT,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,qCAAqD;AAA5C,kGAAA,OAAO,OAAA;AAAE,0GAAA,eAAe,OAAA;AACjC,oDAAqD;AAA5C,wGAAA,WAAW,OAAA;AACpB,oDAAkD;AAAzC,qGAAA,QAAQ,OAAA"}
package/dist/sandbox.d.ts CHANGED
@@ -1,17 +1,21 @@
1
- import type { SandboxMetaData, SandboxRouteData } from "./api-client";
2
- import { type Writable } from "stream";
1
+ import type { SandboxMetaData, SandboxRouteData, NamedSandboxMetaData } from "./api-client";
3
2
  import { APIClient } from "./api-client";
4
- import { Command, CommandFinished } from "./command";
5
3
  import { type Credentials } from "./utils/get-credentials";
6
- import { WithPrivate } from "./utils/types";
7
- import { WithFetchOptions } from "./api-client/api-client";
8
- import { RUNTIMES } from "./constants";
9
- import { Snapshot } from "./snapshot";
10
- import { type NetworkPolicy, type NetworkPolicyRule, type NetworkTransformer } from "./network-policy";
11
- import { type ConvertedSandbox } from "./utils/convert-sandbox";
12
- export type { NetworkPolicy, NetworkPolicyRule, NetworkTransformer };
4
+ import { type WithPrivate } from "./utils/types";
5
+ import type { WithFetchOptions } from "./api-client/api-client";
6
+ import type { RUNTIMES } from "./constants";
7
+ import { Session, type RunCommandParams } from "./session";
8
+ import type { Command, CommandFinished } from "./command";
9
+ import type { Snapshot } from "./snapshot";
10
+ import type { ConvertedSandbox } from "./utils/convert-sandbox";
11
+ import type { NetworkPolicy } from "./network-policy";
12
+ export type { NetworkPolicy };
13
13
  /** @inline */
14
14
  export interface BaseCreateSandboxParams {
15
+ /**
16
+ * The name of the sandbox. If omitted, a random name will be generated.
17
+ */
18
+ name?: string;
15
19
  /**
16
20
  * The source of the sandbox.
17
21
  *
@@ -82,6 +86,10 @@ export interface BaseCreateSandboxParams {
82
86
  * An AbortSignal to cancel sandbox creation.
83
87
  */
84
88
  signal?: AbortSignal;
89
+ /**
90
+ * Whether to enable snapshots on shutdown. Defaults to true.
91
+ */
92
+ persistent?: boolean;
85
93
  }
86
94
  export type CreateSandboxParams = BaseCreateSandboxParams | (Omit<BaseCreateSandboxParams, "runtime" | "source"> & {
87
95
  source: {
@@ -92,167 +100,177 @@ export type CreateSandboxParams = BaseCreateSandboxParams | (Omit<BaseCreateSand
92
100
  /** @inline */
93
101
  interface GetSandboxParams {
94
102
  /**
95
- * Unique identifier of the sandbox.
103
+ * The name of the sandbox.
104
+ */
105
+ name: string;
106
+ /**
107
+ * Whether to resume an existing session. Defaults to true.
96
108
  */
97
- sandboxId: string;
109
+ resume?: boolean;
98
110
  /**
99
111
  * An AbortSignal to cancel the operation.
100
112
  */
101
113
  signal?: AbortSignal;
102
114
  }
103
- /** @inline */
104
- interface RunCommandParams {
115
+ /**
116
+ * A Sandbox is a persistent, isolated Linux MicroVMs to run commands in.
117
+ * Use {@link Sandbox.create} or {@link Sandbox.get} to construct.
118
+ * @hideconstructor
119
+ */
120
+ export declare class Sandbox {
121
+ private readonly client;
122
+ private readonly projectId;
105
123
  /**
106
- * The command to execute
124
+ * Internal Session instance for the current VM.
107
125
  */
108
- cmd: string;
126
+ private session;
109
127
  /**
110
- * Arguments to pass to the command
128
+ * Internal metadata about the named sandbox.
111
129
  */
112
- args?: string[];
130
+ private namedSandbox;
113
131
  /**
114
- * Working directory to execute the command in
132
+ * The name of this sandbox.
115
133
  */
116
- cwd?: string;
134
+ get name(): string;
117
135
  /**
118
- * Environment variables to set for this command
136
+ * Routes from ports to subdomains.
137
+ * @hidden
119
138
  */
120
- env?: Record<string, string>;
139
+ get routes(): SandboxRouteData[];
121
140
  /**
122
- * If true, execute this command with root privileges. Defaults to false.
141
+ * Whether the sandbox persists the state.
123
142
  */
124
- sudo?: boolean;
143
+ get persistent(): boolean;
125
144
  /**
126
- * If true, the command will return without waiting for `exitCode`
145
+ * The region this sandbox runs in.
127
146
  */
128
- detached?: boolean;
147
+ get region(): string;
129
148
  /**
130
- * A `Writable` stream where `stdout` from the command will be piped
149
+ * Number of virtual CPUs allocated.
131
150
  */
132
- stdout?: Writable;
151
+ get vcpus(): number;
133
152
  /**
134
- * A `Writable` stream where `stderr` from the command will be piped
153
+ * Memory allocated in MB.
135
154
  */
136
- stderr?: Writable;
155
+ get memory(): number;
156
+ /** Runtime identifier (e.g. "node24", "python3.13"). */
157
+ get runtime(): string;
137
158
  /**
138
- * An AbortSignal to cancel the command execution
159
+ * Cumulative egress bytes across all sessions.
139
160
  */
140
- signal?: AbortSignal;
141
- }
142
- /**
143
- * A Sandbox is an isolated Linux MicroVM to run commands in.
144
- *
145
- * Use {@link Sandbox.create} or {@link Sandbox.get} to construct.
146
- * @hideconstructor
147
- */
148
- export declare class Sandbox {
149
- private readonly client;
161
+ get totalEgressBytes(): number | undefined;
150
162
  /**
151
- * Routes from ports to subdomains.
152
- /* @hidden
163
+ * Cumulative ingress bytes across all sessions.
153
164
  */
154
- readonly routes: SandboxRouteData[];
165
+ get totalIngressBytes(): number | undefined;
155
166
  /**
156
- * Unique ID of this sandbox.
167
+ * Cumulative active CPU duration in milliseconds across all sessions.
157
168
  */
158
- get sandboxId(): string;
159
- get interactivePort(): number | undefined;
169
+ get totalActiveCpuDurationMs(): number | undefined;
160
170
  /**
161
- * The status of the sandbox.
171
+ * Cumulative wall-clock duration in milliseconds across all sessions.
162
172
  */
163
- get status(): SandboxMetaData["status"];
173
+ get totalDurationMs(): number | undefined;
174
+ /**
175
+ * When this sandbox was last updated.
176
+ */
177
+ get updatedAt(): Date;
164
178
  /**
165
- * The creation date of the sandbox.
179
+ * When this sandbox was created.
166
180
  */
167
181
  get createdAt(): Date;
168
182
  /**
169
- * The timeout of the sandbox in milliseconds.
183
+ * Interactive port.
184
+ */
185
+ get interactivePort(): number | undefined;
186
+ /**
187
+ * The status of the current session.
188
+ */
189
+ get status(): SandboxMetaData["status"];
190
+ /**
191
+ * The default timeout of this sandbox in milliseconds.
170
192
  */
171
193
  get timeout(): number;
172
194
  /**
173
- * The network policy of the sandbox.
195
+ * The default network policy of this sandbox.
174
196
  */
175
197
  get networkPolicy(): NetworkPolicy | undefined;
176
198
  /**
177
- * If the sandbox was created from a snapshot, the ID of that snapshot.
199
+ * If the session was created from a snapshot, the ID of that snapshot.
178
200
  */
179
201
  get sourceSnapshotId(): string | undefined;
180
202
  /**
181
- * The amount of CPU used by the sandbox. Only reported once the VM is stopped.
203
+ * The current snapshot ID of this sandbox, if any.
204
+ */
205
+ get currentSnapshotId(): string | undefined;
206
+ /**
207
+ * The amount of CPU used by the session. Only reported once the VM is stopped.
182
208
  */
183
209
  get activeCpuUsageMs(): number | undefined;
184
210
  /**
185
- * The amount of network data used by the sandbox. Only reported once the VM is stopped.
211
+ * The amount of network data used by the session. Only reported once the VM is stopped.
186
212
  */
187
213
  get networkTransfer(): {
188
214
  ingress: number;
189
215
  egress: number;
190
216
  } | undefined;
191
- /**
192
- * Internal metadata about this sandbox.
193
- */
194
- private sandbox;
195
217
  /**
196
218
  * Allow to get a list of sandboxes for a team narrowed to the given params.
197
219
  * It returns both the sandboxes and the pagination metadata to allow getting
198
220
  * the next page of results.
199
221
  */
200
- static list(params?: Partial<Parameters<APIClient["listSandboxes"]>[0]> & Partial<Credentials> & WithFetchOptions): Promise<import("./api-client/base-client").Parsed<{
201
- sandboxes: {
202
- id: string;
203
- memory: number;
204
- vcpus: number;
205
- region: string;
206
- runtime: string;
207
- timeout: number;
208
- status: "aborted" | "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
209
- requestedAt: number;
210
- createdAt: number;
211
- cwd: string;
212
- updatedAt: number;
213
- startedAt?: number | undefined;
214
- requestedStopAt?: number | undefined;
215
- stoppedAt?: number | undefined;
216
- abortedAt?: number | undefined;
217
- duration?: number | undefined;
218
- sourceSnapshotId?: string | undefined;
219
- snapshottedAt?: number | undefined;
220
- interactivePort?: number | undefined;
221
- networkPolicy?: import("zod").objectInputType<{
222
- mode: import("zod").ZodLiteral<"allow-all">;
223
- }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
224
- mode: import("zod").ZodLiteral<"deny-all">;
225
- }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
226
- mode: import("zod").ZodLiteral<"custom">;
227
- allowedDomains: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
228
- allowedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
229
- deniedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
230
- injectionRules: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
231
- domain: import("zod").ZodString;
232
- headers: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
233
- headerNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
234
- }, "strip", import("zod").ZodTypeAny, {
235
- domain: string;
236
- headers?: Record<string, string> | undefined;
237
- headerNames?: string[] | undefined;
238
- }, {
239
- domain: string;
240
- headers?: Record<string, string> | undefined;
241
- headerNames?: string[] | undefined;
242
- }>, "many">>;
243
- }, import("zod").ZodTypeAny, "passthrough"> | undefined;
244
- activeCpuDurationMs?: number | undefined;
245
- networkTransfer?: {
246
- ingress: number;
247
- egress: number;
248
- } | undefined;
249
- }[];
250
- pagination: {
251
- count: number;
252
- next: number | null;
253
- prev: number | null;
222
+ static list(params?: Partial<Parameters<APIClient["listNamedSandboxes"]>[0]> & Partial<Credentials> & WithFetchOptions): Promise<{
223
+ json: {
224
+ sandboxes: {
225
+ memory: number;
226
+ vcpus: number;
227
+ region: string;
228
+ runtime: string;
229
+ timeout: number;
230
+ status: "aborted" | "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
231
+ createdAt: number;
232
+ updatedAt: number;
233
+ name: string;
234
+ persistent: boolean;
235
+ currentSandboxId: string;
236
+ networkPolicy?: import("zod").objectInputType<{
237
+ mode: import("zod").ZodLiteral<"allow-all">;
238
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
239
+ mode: import("zod").ZodLiteral<"deny-all">;
240
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
241
+ mode: import("zod").ZodLiteral<"custom">;
242
+ allowedDomains: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
243
+ allowedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
244
+ deniedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
245
+ injectionRules: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
246
+ domain: import("zod").ZodString;
247
+ headers: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
248
+ headerNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
249
+ }, "strip", import("zod").ZodTypeAny, {
250
+ domain: string;
251
+ headers?: Record<string, string> | undefined;
252
+ headerNames?: string[] | undefined;
253
+ }, {
254
+ domain: string;
255
+ headers?: Record<string, string> | undefined;
256
+ headerNames?: string[] | undefined;
257
+ }>, "many">>;
258
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
259
+ totalEgressBytes?: number | undefined;
260
+ totalIngressBytes?: number | undefined;
261
+ totalActiveCpuDurationMs?: number | undefined;
262
+ totalDurationMs?: number | undefined;
263
+ currentSnapshotId?: string | undefined;
264
+ }[];
265
+ pagination: {
266
+ count: number;
267
+ next: string | null;
268
+ total: number;
269
+ };
254
270
  };
255
- }>>;
271
+ response: Response;
272
+ text: string;
273
+ }>;
256
274
  /**
257
275
  * Create a new sandbox.
258
276
  *
@@ -267,28 +285,37 @@ export declare class Sandbox {
267
285
  */
268
286
  static create(params?: WithPrivate<CreateSandboxParams | (CreateSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox & AsyncDisposable>;
269
287
  /**
270
- * Retrieve an existing sandbox.
288
+ * Retrieve an existing sandbox and resume its session.
271
289
  *
272
290
  * @param params - Get parameters and optional credentials.
273
291
  * @returns A promise resolving to the {@link Sandbox}.
274
292
  */
275
293
  static get(params: WithPrivate<GetSandboxParams | (GetSandboxParams & Credentials)> & WithFetchOptions): Promise<Sandbox>;
276
- constructor({ client, routes, sandbox, }: {
294
+ constructor({ client, routes, session, namedSandbox, projectId, }: {
277
295
  client: APIClient;
278
296
  routes: SandboxRouteData[];
279
- sandbox: SandboxMetaData;
297
+ session: SandboxMetaData;
298
+ namedSandbox: NamedSandboxMetaData;
299
+ projectId: string;
280
300
  });
281
301
  /**
282
- * Get a previously run command by its ID.
302
+ * Get the current session (the running VM) for this sandbox.
283
303
  *
284
- * @param cmdId - ID of the command to retrieve
285
- * @param opts - Optional parameters.
286
- * @param opts.signal - An AbortSignal to cancel the operation.
287
- * @returns A {@link Command} instance representing the command
304
+ * @returns The {@link Session} instance.
288
305
  */
289
- getCommand(cmdId: string, opts?: {
290
- signal?: AbortSignal;
291
- }): Promise<Command>;
306
+ currentSession(): Session;
307
+ /**
308
+ * Resume this sandbox by creating a new session via `getNamedSandbox`.
309
+ */
310
+ private resume;
311
+ /**
312
+ * Poll until the current session reaches a terminal state, then resume.
313
+ */
314
+ private waitForStopAndResume;
315
+ /**
316
+ * Execute `fn`, and if the session is stopped/stopping, resume and retry.
317
+ */
318
+ private withResume;
292
319
  /**
293
320
  * Start executing a command in this sandbox.
294
321
  *
@@ -324,7 +351,9 @@ export declare class Sandbox {
324
351
  * @returns A {@link Command} or {@link CommandFinished}, depending on `detached`.
325
352
  * @internal
326
353
  */
327
- _runCommand(params: RunCommandParams): Promise<Command>;
354
+ getCommand(cmdId: string, opts?: {
355
+ signal?: AbortSignal;
356
+ }): Promise<Command>;
328
357
  /**
329
358
  * Create a directory in the filesystem of this sandbox.
330
359
  *
@@ -487,4 +516,126 @@ export declare class Sandbox {
487
516
  expiration?: number;
488
517
  signal?: AbortSignal;
489
518
  }): Promise<Snapshot>;
519
+ /**
520
+ * Update the named sandbox configuration. Only provided fields are modified.
521
+ *
522
+ * @param params - Fields to update.
523
+ * @param opts - Optional abort signal.
524
+ */
525
+ update(params: {
526
+ resources?: {
527
+ vcpus?: number;
528
+ memory?: number;
529
+ };
530
+ runtime?: RUNTIMES | (string & {});
531
+ timeout?: number;
532
+ networkPolicy?: NetworkPolicy;
533
+ }, opts?: {
534
+ signal?: AbortSignal;
535
+ }): Promise<void>;
536
+ /**
537
+ * Delete this named sandbox.
538
+ *
539
+ * After deletion the instance becomes inert — all further API calls will
540
+ * throw immediately.
541
+ */
542
+ delete(opts?: {
543
+ preserveSnapshots?: boolean;
544
+ signal?: AbortSignal;
545
+ }): Promise<void>;
546
+ /**
547
+ * List sessions (VMs) that have been created for this named sandbox.
548
+ *
549
+ * @param params - Optional pagination parameters.
550
+ * @returns The list of sessions and pagination metadata.
551
+ */
552
+ listSessions(params?: {
553
+ limit?: number;
554
+ since?: number | Date;
555
+ until?: number | Date;
556
+ signal?: AbortSignal;
557
+ }): Promise<import("./api-client/base-client").Parsed<{
558
+ sandboxes: {
559
+ id: string;
560
+ memory: number;
561
+ vcpus: number;
562
+ region: string;
563
+ runtime: string;
564
+ timeout: number;
565
+ status: "aborted" | "pending" | "running" | "stopping" | "stopped" | "failed" | "snapshotting";
566
+ requestedAt: number;
567
+ createdAt: number;
568
+ cwd: string;
569
+ updatedAt: number;
570
+ startedAt?: number | undefined;
571
+ requestedStopAt?: number | undefined;
572
+ stoppedAt?: number | undefined;
573
+ abortedAt?: number | undefined;
574
+ duration?: number | undefined;
575
+ sourceSnapshotId?: string | undefined;
576
+ snapshottedAt?: number | undefined;
577
+ interactivePort?: number | undefined;
578
+ networkPolicy?: import("zod").objectInputType<{
579
+ mode: import("zod").ZodLiteral<"allow-all">;
580
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
581
+ mode: import("zod").ZodLiteral<"deny-all">;
582
+ }, import("zod").ZodTypeAny, "passthrough"> | import("zod").objectInputType<{
583
+ mode: import("zod").ZodLiteral<"custom">;
584
+ allowedDomains: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
585
+ allowedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
586
+ deniedCIDRs: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
587
+ injectionRules: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
588
+ domain: import("zod").ZodString;
589
+ headers: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
590
+ headerNames: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString, "many">>;
591
+ }, "strip", import("zod").ZodTypeAny, {
592
+ domain: string;
593
+ headers?: Record<string, string> | undefined;
594
+ headerNames?: string[] | undefined;
595
+ }, {
596
+ domain: string;
597
+ headers?: Record<string, string> | undefined;
598
+ headerNames?: string[] | undefined;
599
+ }>, "many">>;
600
+ }, import("zod").ZodTypeAny, "passthrough"> | undefined;
601
+ activeCpuDurationMs?: number | undefined;
602
+ networkTransfer?: {
603
+ ingress: number;
604
+ egress: number;
605
+ } | undefined;
606
+ }[];
607
+ pagination: {
608
+ count: number;
609
+ next: number | null;
610
+ prev: number | null;
611
+ };
612
+ }>>;
613
+ /**
614
+ * List snapshots that belong to this named sandbox.
615
+ *
616
+ * @param params - Optional pagination parameters.
617
+ * @returns The list of snapshots and pagination metadata.
618
+ */
619
+ listSnapshots(params?: {
620
+ limit?: number;
621
+ since?: number | Date;
622
+ until?: number | Date;
623
+ signal?: AbortSignal;
624
+ }): Promise<import("./api-client/base-client").Parsed<{
625
+ pagination: {
626
+ count: number;
627
+ next: number | null;
628
+ prev: number | null;
629
+ };
630
+ snapshots: {
631
+ id: string;
632
+ region: string;
633
+ status: "failed" | "created" | "deleted";
634
+ createdAt: number;
635
+ updatedAt: number;
636
+ sourceSandboxId: string;
637
+ sizeBytes: number;
638
+ expiresAt?: number | undefined;
639
+ }[];
640
+ }>>;
490
641
  }