sandbox0 0.9.1 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +31 -0
  2. package/dist/apispec/src/apis/TemplatesApi.d.ts +15 -1
  3. package/dist/apispec/src/apis/TemplatesApi.d.ts.map +1 -1
  4. package/dist/apispec/src/apis/TemplatesApi.js +40 -1
  5. package/dist/apispec/src/models/SandboxTemplateStatus.d.ts +7 -0
  6. package/dist/apispec/src/models/SandboxTemplateStatus.d.ts.map +1 -1
  7. package/dist/apispec/src/models/SandboxTemplateStatus.js +3 -0
  8. package/dist/apispec/src/models/SandboxVolume.d.ts +12 -0
  9. package/dist/apispec/src/models/SandboxVolume.d.ts.map +1 -1
  10. package/dist/apispec/src/models/SandboxVolume.js +4 -0
  11. package/dist/apispec/src/models/TemplateCreationStatus.d.ts +99 -0
  12. package/dist/apispec/src/models/TemplateCreationStatus.d.ts.map +1 -0
  13. package/dist/apispec/src/models/TemplateCreationStatus.js +75 -0
  14. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.d.ts +46 -0
  15. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.d.ts.map +1 -0
  16. package/dist/apispec/src/models/TemplateFromSandboxCreateRequest.js +50 -0
  17. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.d.ts +55 -0
  18. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.d.ts.map +1 -0
  19. package/dist/apispec/src/models/TemplateFromSandboxSpecOverrides.js +48 -0
  20. package/dist/apispec/src/models/index.d.ts +3 -0
  21. package/dist/apispec/src/models/index.d.ts.map +1 -1
  22. package/dist/apispec/src/models/index.js +3 -0
  23. package/dist/errors.d.ts +18 -1
  24. package/dist/errors.d.ts.map +1 -1
  25. package/dist/errors.js +28 -0
  26. package/dist/index.d.ts +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +1 -1
  29. package/dist/models.d.ts +14 -0
  30. package/dist/models.d.ts.map +1 -1
  31. package/dist/resources/sandboxes.d.ts.map +1 -1
  32. package/dist/resources/sandboxes.js +7 -59
  33. package/dist/resources/templates.d.ts +5 -1
  34. package/dist/resources/templates.d.ts.map +1 -1
  35. package/dist/resources/templates.js +50 -3
  36. package/dist/template_helpers.d.ts +2 -1
  37. package/dist/template_helpers.d.ts.map +1 -1
  38. package/dist/template_helpers.js +7 -0
  39. package/dist/wait.d.ts +4 -0
  40. package/dist/wait.d.ts.map +1 -0
  41. package/dist/wait.js +52 -0
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -104,6 +104,37 @@ console.log(resumed.status, resumed.runtimeGeneration);
104
104
  a wait stops polling locally; it does not undo a pause or resume already accepted
105
105
  by Sandbox0.
106
106
 
107
+ ## Create A Template From A Sandbox
108
+
109
+ Capture the current root filesystem of an existing sandbox into a new template:
110
+
111
+ ```typescript
112
+ const template = await client.templates.createFromSandbox(
113
+ {
114
+ templateId: "python-ready",
115
+ sandboxId: sandbox.id,
116
+ specOverrides: {
117
+ displayName: "Python Ready",
118
+ tags: ["python"],
119
+ },
120
+ },
121
+ {
122
+ idempotencyKey: "python-ready-v1",
123
+ wait: true,
124
+ timeoutMs: 10 * 60_000,
125
+ },
126
+ );
127
+
128
+ console.log(template.templateId, template.status?.creation?.state);
129
+ ```
130
+
131
+ Without `wait: true`, creation returns as soon as Sandbox0 accepts the request.
132
+ The rootfs capture point is `status.creation.capturedAt`, not request
133
+ acceptance, so keep the source sandbox available and avoid rootfs writes while
134
+ the stage is `capturing`. `waitUntilReady()` can wait for the same template
135
+ later. Aborting a wait only stops local polling; it does not cancel image
136
+ creation on the server.
137
+
107
138
  ## Runtime Metrics
108
139
 
109
140
  `getMetrics()` returns bounded, chart-ready sandbox metrics. Each series is split
@@ -10,7 +10,11 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime.js';
13
- import type { SuccessMessageResponse, SuccessTemplateListResponse, SuccessTemplateResponse, TemplateCreateRequest, TemplateUpdateRequest } from '../models/index.js';
13
+ import type { SuccessMessageResponse, SuccessTemplateListResponse, SuccessTemplateResponse, TemplateCreateRequest, TemplateFromSandboxCreateRequest, TemplateUpdateRequest } from '../models/index.js';
14
+ export interface ApiV1TemplatesFromSandboxPostRequest {
15
+ templateFromSandboxCreateRequest: TemplateFromSandboxCreateRequest;
16
+ idempotencyKey?: string;
17
+ }
14
18
  export interface ApiV1TemplatesIdDeleteRequest {
15
19
  id: string;
16
20
  }
@@ -28,6 +32,16 @@ export interface ApiV1TemplatesPostRequest {
28
32
  *
29
33
  */
30
34
  export declare class TemplatesApi extends runtime.BaseAPI {
35
+ /**
36
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
37
+ * Create template from sandbox
38
+ */
39
+ apiV1TemplatesFromSandboxPostRaw(requestParameters: ApiV1TemplatesFromSandboxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SuccessTemplateResponse>>;
40
+ /**
41
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
42
+ * Create template from sandbox
43
+ */
44
+ apiV1TemplatesFromSandboxPost(requestParameters: ApiV1TemplatesFromSandboxPostRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SuccessTemplateResponse>;
31
45
  /**
32
46
  * List templates
33
47
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TemplatesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/TemplatesApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAEV,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO;IAE7C;;OAEG;IACG,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IA0BjJ;;OAEG;IACG,iBAAiB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKzH;;OAEG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAkCnM;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK3K;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAkC9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA4C9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,qBAAqB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAoC5L;;OAEG;IACG,kBAAkB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAKvK"}
1
+ {"version":3,"file":"TemplatesApi.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/apis/TemplatesApi.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAEV,sBAAsB,EACtB,2BAA2B,EAC3B,uBAAuB,EACvB,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACtB,MAAM,iBAAiB,CAAC;AAkBzB,MAAM,WAAW,oCAAoC;IACjD,gCAAgC,EAAE,gCAAgC,CAAC;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC1C,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED,MAAM,WAAW,yBAAyB;IACtC,qBAAqB,EAAE,qBAAqB,CAAC;CAChD;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,OAAO,CAAC,OAAO;IAE7C;;;OAGG;IACG,gCAAgC,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAwClN;;;OAGG;IACG,6BAA6B,CAAC,iBAAiB,EAAE,oCAAoC,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAK1L;;OAEG;IACG,oBAAoB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IA0BjJ;;OAEG;IACG,iBAAiB,CAAC,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,2BAA2B,CAAC;IAKzH;;OAEG;IACG,yBAAyB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,sBAAsB,CAAC,CAAC;IAkCnM;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,6BAA6B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAK3K;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAkC9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,sBAAsB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IA4C9L;;OAEG;IACG,mBAAmB,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAKtK;;OAEG;IACG,qBAAqB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;IAoC5L;;OAEG;IACG,kBAAkB,CAAC,iBAAiB,EAAE,yBAAyB,EAAE,aAAa,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAKvK"}
@@ -12,11 +12,50 @@
12
12
  * Do not edit the class manually.
13
13
  */
14
14
  import * as runtime from '../runtime.js';
15
- import { SuccessMessageResponseFromJSON, SuccessTemplateListResponseFromJSON, SuccessTemplateResponseFromJSON, TemplateCreateRequestToJSON, TemplateUpdateRequestToJSON, } from '../models/index.js';
15
+ import { SuccessMessageResponseFromJSON, SuccessTemplateListResponseFromJSON, SuccessTemplateResponseFromJSON, TemplateCreateRequestToJSON, TemplateFromSandboxCreateRequestToJSON, TemplateUpdateRequestToJSON, } from '../models/index.js';
16
16
  /**
17
17
  *
18
18
  */
19
19
  export class TemplatesApi extends runtime.BaseAPI {
20
+ /**
21
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
22
+ * Create template from sandbox
23
+ */
24
+ async apiV1TemplatesFromSandboxPostRaw(requestParameters, initOverrides) {
25
+ if (requestParameters['templateFromSandboxCreateRequest'] == null) {
26
+ throw new runtime.RequiredError('templateFromSandboxCreateRequest', 'Required parameter "templateFromSandboxCreateRequest" was null or undefined when calling apiV1TemplatesFromSandboxPost().');
27
+ }
28
+ const queryParameters = {};
29
+ const headerParameters = {};
30
+ headerParameters['Content-Type'] = 'application/json';
31
+ if (requestParameters['idempotencyKey'] != null) {
32
+ headerParameters['Idempotency-Key'] = String(requestParameters['idempotencyKey']);
33
+ }
34
+ if (this.configuration && this.configuration.accessToken) {
35
+ const token = this.configuration.accessToken;
36
+ const tokenString = await token("bearerAuth", []);
37
+ if (tokenString) {
38
+ headerParameters["Authorization"] = `Bearer ${tokenString}`;
39
+ }
40
+ }
41
+ let urlPath = `/api/v1/templates/from-sandbox`;
42
+ const response = await this.request({
43
+ path: urlPath,
44
+ method: 'POST',
45
+ headers: headerParameters,
46
+ query: queryParameters,
47
+ body: TemplateFromSandboxCreateRequestToJSON(requestParameters['templateFromSandboxCreateRequest']),
48
+ }, initOverrides);
49
+ return new runtime.JSONApiResponse(response, (jsonValue) => SuccessTemplateResponseFromJSON(jsonValue));
50
+ }
51
+ /**
52
+ * Asynchronously captures the sandbox\'s writable root filesystem, publishes it to the Sandbox0-configured team registry, and creates a digest-pinned template. The capture point is reported by `status.creation.capturedAt`, not by acceptance of this request. Keep the source sandbox available and avoid rootfs writes until capture completes. Poll the returned template with `GET /api/v1/templates/{id}` until `status.creation.state` is `ready` or `failed`. The caller needs both `template:create` and `sandbox:read` permissions.
53
+ * Create template from sandbox
54
+ */
55
+ async apiV1TemplatesFromSandboxPost(requestParameters, initOverrides) {
56
+ const response = await this.apiV1TemplatesFromSandboxPostRaw(requestParameters, initOverrides);
57
+ return await response.value();
58
+ }
20
59
  /**
21
60
  * List templates
22
61
  */
@@ -9,6 +9,7 @@
9
9
  * https://openapi-generator.tech
10
10
  * Do not edit the class manually.
11
11
  */
12
+ import type { TemplateCreationStatus } from './TemplateCreationStatus.js';
12
13
  import type { SandboxTemplateCondition } from './SandboxTemplateCondition.js';
13
14
  /**
14
15
  *
@@ -40,6 +41,12 @@ export interface SandboxTemplateStatus {
40
41
  * @memberof SandboxTemplateStatus
41
42
  */
42
43
  lastUpdateTime?: Date | null;
44
+ /**
45
+ *
46
+ * @type {TemplateCreationStatus}
47
+ * @memberof SandboxTemplateStatus
48
+ */
49
+ creation?: TemplateCreationStatus;
43
50
  }
44
51
  /**
45
52
  * Check if a given object implements the SandboxTemplateStatus interface.
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxTemplateStatus.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxTemplateStatus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQ3E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAE7F;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE9E;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,qBAAqB,CAWjH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE5E;AAED,wBAAgB,gCAAgC,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAYhI"}
1
+ {"version":3,"file":"SandboxTemplateStatus.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxTemplateStatus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAOvE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAQ3E;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IAClC;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC7C;;;;OAIG;IACH,cAAc,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,qBAAqB,CAE7F;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE9E;AAED,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,qBAAqB,CAYjH;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,GAAG,GAAG,qBAAqB,CAE5E;AAED,wBAAgB,gCAAgC,CAAC,KAAK,CAAC,EAAE,qBAAqB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAahI"}
@@ -11,6 +11,7 @@
11
11
  * https://openapi-generator.tech
12
12
  * Do not edit the class manually.
13
13
  */
14
+ import { TemplateCreationStatusFromJSON, TemplateCreationStatusToJSON, } from './TemplateCreationStatus.js';
14
15
  import { SandboxTemplateConditionFromJSON, SandboxTemplateConditionToJSON, } from './SandboxTemplateCondition.js';
15
16
  /**
16
17
  * Check if a given object implements the SandboxTemplateStatus interface.
@@ -30,6 +31,7 @@ export function SandboxTemplateStatusFromJSONTyped(json, ignoreDiscriminator) {
30
31
  'activeCount': json['activeCount'] == null ? undefined : json['activeCount'],
31
32
  'conditions': json['conditions'] == null ? undefined : (json['conditions'].map(SandboxTemplateConditionFromJSON)),
32
33
  'lastUpdateTime': json['lastUpdateTime'] == null ? undefined : (new Date(json['lastUpdateTime'])),
34
+ 'creation': json['creation'] == null ? undefined : TemplateCreationStatusFromJSON(json['creation']),
33
35
  };
34
36
  }
35
37
  export function SandboxTemplateStatusToJSON(json) {
@@ -44,5 +46,6 @@ export function SandboxTemplateStatusToJSONTyped(value, ignoreDiscriminator = fa
44
46
  'activeCount': value['activeCount'],
45
47
  'conditions': value['conditions'] == null ? undefined : (value['conditions'].map(SandboxTemplateConditionToJSON)),
46
48
  'lastUpdateTime': value['lastUpdateTime'] == null ? value['lastUpdateTime'] : value['lastUpdateTime'].toISOString(),
49
+ 'creation': TemplateCreationStatusToJSON(value['creation']),
47
50
  };
48
51
  }
@@ -72,6 +72,18 @@ export interface SandboxVolume {
72
72
  * @memberof SandboxVolume
73
73
  */
74
74
  s3?: SandboxVolumeS3Config;
75
+ /**
76
+ * Latest metered logical payload bytes stored by this S0FS volume. Null for external backends or when metering state is unavailable.
77
+ * @type {number}
78
+ * @memberof SandboxVolume
79
+ */
80
+ meteredStorageBytes?: number | null;
81
+ /**
82
+ * Time when metered_storage_bytes was last observed. Null for external backends or when metering state is unavailable.
83
+ * @type {Date}
84
+ * @memberof SandboxVolume
85
+ */
86
+ storageObservedAt?: Date | null;
75
87
  /**
76
88
  *
77
89
  * @type {Date}
@@ -1 +1 @@
1
- {"version":3,"file":"SandboxVolume.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxVolume.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;CACnB;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAQ7E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,aAAa,CAkBjG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAmBhH"}
1
+ {"version":3,"file":"SandboxVolume.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/SandboxVolume.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAO3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAOrD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAQrE;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B;;;;OAIG;IACH,OAAO,EAAE,aAAa,CAAC;IACvB;;;;OAIG;IACH,EAAE,CAAC,EAAE,qBAAqB,CAAC;IAC3B;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;IAChB;;;;OAIG;IACH,SAAS,EAAE,IAAI,CAAC;CACnB;AAID;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAQ7E;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE9D;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,aAAa,CAoBjG;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,GAAG,GAAG,aAAa,CAE5D;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAqBhH"}
@@ -49,6 +49,8 @@ export function SandboxVolumeFromJSONTyped(json, ignoreDiscriminator) {
49
49
  'accessMode': json['access_mode'] == null ? undefined : VolumeAccessModeFromJSON(json['access_mode']),
50
50
  'backend': VolumeBackendFromJSON(json['backend']),
51
51
  's3': json['s3'] == null ? undefined : SandboxVolumeS3ConfigFromJSON(json['s3']),
52
+ 'meteredStorageBytes': json['metered_storage_bytes'] == null ? undefined : json['metered_storage_bytes'],
53
+ 'storageObservedAt': json['storage_observed_at'] == null ? undefined : (new Date(json['storage_observed_at'])),
52
54
  'createdAt': (new Date(json['created_at'])),
53
55
  'updatedAt': (new Date(json['updated_at'])),
54
56
  };
@@ -70,6 +72,8 @@ export function SandboxVolumeToJSONTyped(value, ignoreDiscriminator = false) {
70
72
  'access_mode': VolumeAccessModeToJSON(value['accessMode']),
71
73
  'backend': VolumeBackendToJSON(value['backend']),
72
74
  's3': SandboxVolumeS3ConfigToJSON(value['s3']),
75
+ 'metered_storage_bytes': value['meteredStorageBytes'],
76
+ 'storage_observed_at': value['storageObservedAt'] == null ? value['storageObservedAt'] : value['storageObservedAt'].toISOString(),
73
77
  'created_at': value['createdAt'].toISOString(),
74
78
  'updated_at': value['updatedAt'].toISOString(),
75
79
  };
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Sandbox0 API
3
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ * Asynchronous creation status for templates built from a sandbox.
14
+ * Traditional image-based templates omit this object and are ready
15
+ * immediately after creation. Ready means the template is visible in at
16
+ * least one data-plane cluster and the claim API accepts it; when the
17
+ * pool is zero, it does not imply that a sandbox image has already been
18
+ * pulled.
19
+ *
20
+ * @export
21
+ * @interface TemplateCreationStatus
22
+ */
23
+ export interface TemplateCreationStatus {
24
+ /**
25
+ *
26
+ * @type {string}
27
+ * @memberof TemplateCreationStatus
28
+ */
29
+ state: TemplateCreationStatusStateEnum;
30
+ /**
31
+ *
32
+ * @type {string}
33
+ * @memberof TemplateCreationStatus
34
+ */
35
+ stage: TemplateCreationStatusStageEnum;
36
+ /**
37
+ *
38
+ * @type {Date}
39
+ * @memberof TemplateCreationStatus
40
+ */
41
+ startedAt?: Date;
42
+ /**
43
+ *
44
+ * @type {Date}
45
+ * @memberof TemplateCreationStatus
46
+ */
47
+ capturedAt?: Date;
48
+ /**
49
+ *
50
+ * @type {Date}
51
+ * @memberof TemplateCreationStatus
52
+ */
53
+ completedAt?: Date;
54
+ /**
55
+ * Digest-pinned image reference published to the configured team registry.
56
+ * @type {string}
57
+ * @memberof TemplateCreationStatus
58
+ */
59
+ outputImage?: string;
60
+ /**
61
+ *
62
+ * @type {string}
63
+ * @memberof TemplateCreationStatus
64
+ */
65
+ reason?: string;
66
+ /**
67
+ *
68
+ * @type {string}
69
+ * @memberof TemplateCreationStatus
70
+ */
71
+ message?: string;
72
+ }
73
+ /**
74
+ * @export
75
+ */
76
+ export declare const TemplateCreationStatusStateEnum: {
77
+ readonly TemplateCreationStatusStateCreating: "creating";
78
+ readonly TemplateCreationStatusStateReady: "ready";
79
+ readonly TemplateCreationStatusStateFailed: "failed";
80
+ };
81
+ export type TemplateCreationStatusStateEnum = typeof TemplateCreationStatusStateEnum[keyof typeof TemplateCreationStatusStateEnum];
82
+ /**
83
+ * @export
84
+ */
85
+ export declare const TemplateCreationStatusStageEnum: {
86
+ readonly TemplateCreationStatusStageCapturing: "capturing";
87
+ readonly TemplateCreationStatusStagePublishing: "publishing";
88
+ readonly TemplateCreationStatusStageReconciling: "reconciling";
89
+ };
90
+ export type TemplateCreationStatusStageEnum = typeof TemplateCreationStatusStageEnum[keyof typeof TemplateCreationStatusStageEnum];
91
+ /**
92
+ * Check if a given object implements the TemplateCreationStatus interface.
93
+ */
94
+ export declare function instanceOfTemplateCreationStatus(value: object): value is TemplateCreationStatus;
95
+ export declare function TemplateCreationStatusFromJSON(json: any): TemplateCreationStatus;
96
+ export declare function TemplateCreationStatusFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemplateCreationStatus;
97
+ export declare function TemplateCreationStatusToJSON(json: any): TemplateCreationStatus;
98
+ export declare function TemplateCreationStatusToJSONTyped(value?: TemplateCreationStatus | null, ignoreDiscriminator?: boolean): any;
99
+ //# sourceMappingURL=TemplateCreationStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateCreationStatus.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/TemplateCreationStatus.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,sBAAsB;IACnC;;;;OAIG;IACH,KAAK,EAAE,+BAA+B,CAAC;IACvC;;;;OAIG;IACH,KAAK,EAAE,+BAA+B,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB;;;;OAIG;IACH,WAAW,CAAC,EAAE,IAAI,CAAC;IACnB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;CAIlC,CAAC;AACX,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC,MAAM,OAAO,+BAA+B,CAAC,CAAC;AAEnI;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;CAIlC,CAAC;AACX,MAAM,MAAM,+BAA+B,GAAG,OAAO,+BAA+B,CAAC,MAAM,OAAO,+BAA+B,CAAC,CAAC;AAGnI;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,sBAAsB,CAI/F;AAED,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,GAAG,GAAG,sBAAsB,CAEhF;AAED,wBAAgB,mCAAmC,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,sBAAsB,CAenH;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,GAAG,GAAG,sBAAsB,CAE9E;AAED,wBAAgB,iCAAiC,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAgBlI"}
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Sandbox0 API
5
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ /**
15
+ * @export
16
+ */
17
+ export const TemplateCreationStatusStateEnum = {
18
+ TemplateCreationStatusStateCreating: 'creating',
19
+ TemplateCreationStatusStateReady: 'ready',
20
+ TemplateCreationStatusStateFailed: 'failed'
21
+ };
22
+ /**
23
+ * @export
24
+ */
25
+ export const TemplateCreationStatusStageEnum = {
26
+ TemplateCreationStatusStageCapturing: 'capturing',
27
+ TemplateCreationStatusStagePublishing: 'publishing',
28
+ TemplateCreationStatusStageReconciling: 'reconciling'
29
+ };
30
+ /**
31
+ * Check if a given object implements the TemplateCreationStatus interface.
32
+ */
33
+ export function instanceOfTemplateCreationStatus(value) {
34
+ if (!('state' in value) || value['state'] === undefined)
35
+ return false;
36
+ if (!('stage' in value) || value['stage'] === undefined)
37
+ return false;
38
+ return true;
39
+ }
40
+ export function TemplateCreationStatusFromJSON(json) {
41
+ return TemplateCreationStatusFromJSONTyped(json, false);
42
+ }
43
+ export function TemplateCreationStatusFromJSONTyped(json, ignoreDiscriminator) {
44
+ if (json == null) {
45
+ return json;
46
+ }
47
+ return {
48
+ 'state': json['state'],
49
+ 'stage': json['stage'],
50
+ 'startedAt': json['startedAt'] == null ? undefined : (new Date(json['startedAt'])),
51
+ 'capturedAt': json['capturedAt'] == null ? undefined : (new Date(json['capturedAt'])),
52
+ 'completedAt': json['completedAt'] == null ? undefined : (new Date(json['completedAt'])),
53
+ 'outputImage': json['outputImage'] == null ? undefined : json['outputImage'],
54
+ 'reason': json['reason'] == null ? undefined : json['reason'],
55
+ 'message': json['message'] == null ? undefined : json['message'],
56
+ };
57
+ }
58
+ export function TemplateCreationStatusToJSON(json) {
59
+ return TemplateCreationStatusToJSONTyped(json, false);
60
+ }
61
+ export function TemplateCreationStatusToJSONTyped(value, ignoreDiscriminator = false) {
62
+ if (value == null) {
63
+ return value;
64
+ }
65
+ return {
66
+ 'state': value['state'],
67
+ 'stage': value['stage'],
68
+ 'startedAt': value['startedAt'] == null ? value['startedAt'] : value['startedAt'].toISOString(),
69
+ 'capturedAt': value['capturedAt'] == null ? value['capturedAt'] : value['capturedAt'].toISOString(),
70
+ 'completedAt': value['completedAt'] == null ? value['completedAt'] : value['completedAt'].toISOString(),
71
+ 'outputImage': value['outputImage'],
72
+ 'reason': value['reason'],
73
+ 'message': value['message'],
74
+ };
75
+ }
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Sandbox0 API
3
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { TemplateFromSandboxSpecOverrides } from './TemplateFromSandboxSpecOverrides.js';
13
+ /**
14
+ * Creates a template by capturing the current root filesystem of an existing sandbox.
15
+ * @export
16
+ * @interface TemplateFromSandboxCreateRequest
17
+ */
18
+ export interface TemplateFromSandboxCreateRequest {
19
+ /**
20
+ *
21
+ * @type {string}
22
+ * @memberof TemplateFromSandboxCreateRequest
23
+ */
24
+ templateId: string;
25
+ /**
26
+ *
27
+ * @type {string}
28
+ * @memberof TemplateFromSandboxCreateRequest
29
+ */
30
+ sandboxId: string;
31
+ /**
32
+ *
33
+ * @type {TemplateFromSandboxSpecOverrides}
34
+ * @memberof TemplateFromSandboxCreateRequest
35
+ */
36
+ specOverrides?: TemplateFromSandboxSpecOverrides;
37
+ }
38
+ /**
39
+ * Check if a given object implements the TemplateFromSandboxCreateRequest interface.
40
+ */
41
+ export declare function instanceOfTemplateFromSandboxCreateRequest(value: object): value is TemplateFromSandboxCreateRequest;
42
+ export declare function TemplateFromSandboxCreateRequestFromJSON(json: any): TemplateFromSandboxCreateRequest;
43
+ export declare function TemplateFromSandboxCreateRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemplateFromSandboxCreateRequest;
44
+ export declare function TemplateFromSandboxCreateRequestToJSON(json: any): TemplateFromSandboxCreateRequest;
45
+ export declare function TemplateFromSandboxCreateRequestToJSONTyped(value?: TemplateFromSandboxCreateRequest | null, ignoreDiscriminator?: boolean): any;
46
+ //# sourceMappingURL=TemplateFromSandboxCreateRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateFromSandboxCreateRequest.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/TemplateFromSandboxCreateRequest.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AAQ3F;;;;GAIG;AACH,MAAM,WAAW,gCAAgC;IAC7C;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,aAAa,CAAC,EAAE,gCAAgC,CAAC;CACpD;AAED;;GAEG;AACH,wBAAgB,0CAA0C,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gCAAgC,CAInH;AAED,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,GAAG,GAAG,gCAAgC,CAEpG;AAED,wBAAgB,6CAA6C,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,gCAAgC,CAUvI;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,GAAG,GAAG,gCAAgC,CAElG;AAED,wBAAgB,2CAA2C,CAAC,KAAK,CAAC,EAAE,gCAAgC,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAWtJ"}
@@ -0,0 +1,50 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Sandbox0 API
5
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { TemplateFromSandboxSpecOverridesFromJSON, TemplateFromSandboxSpecOverridesToJSON, } from './TemplateFromSandboxSpecOverrides.js';
15
+ /**
16
+ * Check if a given object implements the TemplateFromSandboxCreateRequest interface.
17
+ */
18
+ export function instanceOfTemplateFromSandboxCreateRequest(value) {
19
+ if (!('templateId' in value) || value['templateId'] === undefined)
20
+ return false;
21
+ if (!('sandboxId' in value) || value['sandboxId'] === undefined)
22
+ return false;
23
+ return true;
24
+ }
25
+ export function TemplateFromSandboxCreateRequestFromJSON(json) {
26
+ return TemplateFromSandboxCreateRequestFromJSONTyped(json, false);
27
+ }
28
+ export function TemplateFromSandboxCreateRequestFromJSONTyped(json, ignoreDiscriminator) {
29
+ if (json == null) {
30
+ return json;
31
+ }
32
+ return {
33
+ 'templateId': json['template_id'],
34
+ 'sandboxId': json['sandbox_id'],
35
+ 'specOverrides': json['spec_overrides'] == null ? undefined : TemplateFromSandboxSpecOverridesFromJSON(json['spec_overrides']),
36
+ };
37
+ }
38
+ export function TemplateFromSandboxCreateRequestToJSON(json) {
39
+ return TemplateFromSandboxCreateRequestToJSONTyped(json, false);
40
+ }
41
+ export function TemplateFromSandboxCreateRequestToJSONTyped(value, ignoreDiscriminator = false) {
42
+ if (value == null) {
43
+ return value;
44
+ }
45
+ return {
46
+ 'template_id': value['templateId'],
47
+ 'sandbox_id': value['sandboxId'],
48
+ 'spec_overrides': TemplateFromSandboxSpecOverridesToJSON(value['specOverrides']),
49
+ };
50
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * Sandbox0 API
3
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
4
+ *
5
+ * The version of the OpenAPI document: 0.1.0
6
+ *
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ import type { PoolStrategy } from './PoolStrategy.js';
13
+ /**
14
+ * Safe template fields that may override values inherited from the source
15
+ * sandbox's originating template. Pool defaults to zero idle sandboxes
16
+ * when omitted.
17
+ *
18
+ * @export
19
+ * @interface TemplateFromSandboxSpecOverrides
20
+ */
21
+ export interface TemplateFromSandboxSpecOverrides {
22
+ /**
23
+ *
24
+ * @type {string}
25
+ * @memberof TemplateFromSandboxSpecOverrides
26
+ */
27
+ description?: string;
28
+ /**
29
+ *
30
+ * @type {string}
31
+ * @memberof TemplateFromSandboxSpecOverrides
32
+ */
33
+ displayName?: string;
34
+ /**
35
+ *
36
+ * @type {Array<string>}
37
+ * @memberof TemplateFromSandboxSpecOverrides
38
+ */
39
+ tags?: Array<string>;
40
+ /**
41
+ *
42
+ * @type {PoolStrategy}
43
+ * @memberof TemplateFromSandboxSpecOverrides
44
+ */
45
+ pool?: PoolStrategy;
46
+ }
47
+ /**
48
+ * Check if a given object implements the TemplateFromSandboxSpecOverrides interface.
49
+ */
50
+ export declare function instanceOfTemplateFromSandboxSpecOverrides(value: object): value is TemplateFromSandboxSpecOverrides;
51
+ export declare function TemplateFromSandboxSpecOverridesFromJSON(json: any): TemplateFromSandboxSpecOverrides;
52
+ export declare function TemplateFromSandboxSpecOverridesFromJSONTyped(json: any, ignoreDiscriminator: boolean): TemplateFromSandboxSpecOverrides;
53
+ export declare function TemplateFromSandboxSpecOverridesToJSON(json: any): TemplateFromSandboxSpecOverrides;
54
+ export declare function TemplateFromSandboxSpecOverridesToJSONTyped(value?: TemplateFromSandboxSpecOverrides | null, ignoreDiscriminator?: boolean): any;
55
+ //# sourceMappingURL=TemplateFromSandboxSpecOverrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TemplateFromSandboxSpecOverrides.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/TemplateFromSandboxSpecOverrides.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAQnD;;;;;;;GAOG;AACH,MAAM,WAAW,gCAAgC;IAC7C;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrB;;;;OAIG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,0CAA0C,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,gCAAgC,CAEnH;AAED,wBAAgB,wCAAwC,CAAC,IAAI,EAAE,GAAG,GAAG,gCAAgC,CAEpG;AAED,wBAAgB,6CAA6C,CAAC,IAAI,EAAE,GAAG,EAAE,mBAAmB,EAAE,OAAO,GAAG,gCAAgC,CAWvI;AAED,wBAAgB,sCAAsC,CAAC,IAAI,EAAE,GAAG,GAAG,gCAAgC,CAElG;AAED,wBAAgB,2CAA2C,CAAC,KAAK,CAAC,EAAE,gCAAgC,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe,GAAG,GAAG,CAYtJ"}
@@ -0,0 +1,48 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Sandbox0 API
5
+ * Public HTTP APIs exposed by Sandbox0 regional gateways and the global gateway.
6
+ *
7
+ * The version of the OpenAPI document: 0.1.0
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+ import { PoolStrategyFromJSON, PoolStrategyToJSON, } from './PoolStrategy.js';
15
+ /**
16
+ * Check if a given object implements the TemplateFromSandboxSpecOverrides interface.
17
+ */
18
+ export function instanceOfTemplateFromSandboxSpecOverrides(value) {
19
+ return true;
20
+ }
21
+ export function TemplateFromSandboxSpecOverridesFromJSON(json) {
22
+ return TemplateFromSandboxSpecOverridesFromJSONTyped(json, false);
23
+ }
24
+ export function TemplateFromSandboxSpecOverridesFromJSONTyped(json, ignoreDiscriminator) {
25
+ if (json == null) {
26
+ return json;
27
+ }
28
+ return {
29
+ 'description': json['description'] == null ? undefined : json['description'],
30
+ 'displayName': json['displayName'] == null ? undefined : json['displayName'],
31
+ 'tags': json['tags'] == null ? undefined : json['tags'],
32
+ 'pool': json['pool'] == null ? undefined : PoolStrategyFromJSON(json['pool']),
33
+ };
34
+ }
35
+ export function TemplateFromSandboxSpecOverridesToJSON(json) {
36
+ return TemplateFromSandboxSpecOverridesToJSONTyped(json, false);
37
+ }
38
+ export function TemplateFromSandboxSpecOverridesToJSONTyped(value, ignoreDiscriminator = false) {
39
+ if (value == null) {
40
+ return value;
41
+ }
42
+ return {
43
+ 'description': value['description'],
44
+ 'displayName': value['displayName'],
45
+ 'tags': value['tags'],
46
+ 'pool': PoolStrategyToJSON(value['pool']),
47
+ };
48
+ }
@@ -338,6 +338,9 @@ export * from './TeamMember.js';
338
338
  export * from './TeamQuota.js';
339
339
  export * from './Template.js';
340
340
  export * from './TemplateCreateRequest.js';
341
+ export * from './TemplateCreationStatus.js';
342
+ export * from './TemplateFromSandboxCreateRequest.js';
343
+ export * from './TemplateFromSandboxSpecOverrides.js';
341
344
  export * from './TemplateUpdateRequest.js';
342
345
  export * from './Toleration.js';
343
346
  export * from './TrafficRule.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/apispec/src/models/index.ts"],"names":[],"mappings":"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"}
@@ -340,6 +340,9 @@ export * from './TeamMember.js';
340
340
  export * from './TeamQuota.js';
341
341
  export * from './Template.js';
342
342
  export * from './TemplateCreateRequest.js';
343
+ export * from './TemplateCreationStatus.js';
344
+ export * from './TemplateFromSandboxCreateRequest.js';
345
+ export * from './TemplateFromSandboxSpecOverrides.js';
343
346
  export * from './TemplateUpdateRequest.js';
344
347
  export * from './Toleration.js';
345
348
  export * from './TrafficRule.js';
package/dist/errors.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Sandbox } from "./apispec/src/models/index.js";
1
+ import type { Sandbox, Template } from "./apispec/src/models/index.js";
2
2
  export declare const CLAIM_START_THROTTLED_CODE = "claim_start_throttled";
3
3
  export declare class APIError extends Error {
4
4
  statusCode: number;
@@ -27,6 +27,23 @@ export declare class SandboxWaitTimeoutError extends Error {
27
27
  lastSandbox?: Sandbox;
28
28
  });
29
29
  }
30
+ export declare class TemplateWaitTimeoutError extends Error {
31
+ readonly templateId: string;
32
+ readonly timeoutMs: number;
33
+ readonly lastTemplate?: Template;
34
+ constructor(params: {
35
+ templateId: string;
36
+ timeoutMs: number;
37
+ lastTemplate?: Template;
38
+ });
39
+ }
40
+ export declare class TemplateCreationFailedError extends Error {
41
+ readonly templateId: string;
42
+ readonly stage?: string;
43
+ readonly reason?: string;
44
+ readonly lastTemplate: Template;
45
+ constructor(template: Template);
46
+ }
30
47
  export declare function isClaimStartThrottled(error: unknown): error is APIError;
31
48
  export declare function apiErrorFromResponse(response: Response): Promise<APIError>;
32
49
  export declare function wrapApiCall<T>(fn: () => Promise<T>): Promise<T>;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAGzE,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBAAa,QAAS,SAAQ,KAAK;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,MAAM,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAUF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;gBAEnB,MAAM,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CAOF;AAuBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAIvE;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkChF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAGnF,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBAAa,QAAS,SAAQ,KAAK;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;gBAER,MAAM,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;CAUF;AAED,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;gBAEnB,MAAM,EAAE;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB;CAOF;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC;gBAErB,MAAM,EAAE;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,QAAQ,CAAC;KACzB;CAOF;AAED,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC;gBAEpB,QAAQ,EAAE,QAAQ;CAU/B;AAuBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,QAAQ,CAIvE;AAED,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,CAkChF;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CASrE"}
package/dist/errors.js CHANGED
@@ -30,6 +30,34 @@ export class SandboxWaitTimeoutError extends Error {
30
30
  this.lastSandbox = params.lastSandbox;
31
31
  }
32
32
  }
33
+ export class TemplateWaitTimeoutError extends Error {
34
+ templateId;
35
+ timeoutMs;
36
+ lastTemplate;
37
+ constructor(params) {
38
+ super(`timed out waiting for template ${params.templateId} after ${params.timeoutMs}ms`);
39
+ this.name = "TemplateWaitTimeoutError";
40
+ this.templateId = params.templateId;
41
+ this.timeoutMs = params.timeoutMs;
42
+ this.lastTemplate = params.lastTemplate;
43
+ }
44
+ }
45
+ export class TemplateCreationFailedError extends Error {
46
+ templateId;
47
+ stage;
48
+ reason;
49
+ lastTemplate;
50
+ constructor(template) {
51
+ const creation = template.status?.creation;
52
+ const detail = creation?.message ?? creation?.reason ?? "template creation failed";
53
+ super(`template ${template.templateId} creation failed: ${detail}`);
54
+ this.name = "TemplateCreationFailedError";
55
+ this.templateId = template.templateId;
56
+ this.stage = creation?.stage;
57
+ this.reason = creation?.reason;
58
+ this.lastTemplate = template;
59
+ }
60
+ }
33
61
  function getRequestId(response) {
34
62
  return (response.headers.get("x-request-id") ??
35
63
  response.headers.get("x-requestid") ??
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Client, type ClientOptions, DEFAULT_BASE_URL } from "./client.js";
2
2
  export { Sandbox } from "./sandbox.js";
3
- export { APIError, SandboxWaitTimeoutError } from "./errors.js";
3
+ export { APIError, SandboxWaitTimeoutError, TemplateCreationFailedError, TemplateWaitTimeoutError, } from "./errors.js";
4
4
  export { verifyWebhookSignature } from "./webhook_signature.js";
5
5
  export * from "./template_helpers.js";
6
6
  export * from "./models.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAE5B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;CAA2C,CAAC;AACjF,eAAO,MAAM,6BAA6B;;;;;;;CAAgD,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EACL,QAAQ,EACR,uBAAuB,EACvB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,KAAK,OAAO,MAAM,kBAAkB,CAAC;AAE5C,OAAO,oBAAoB,CAAC;AAC5B,OAAO,iBAAiB,CAAC;AACzB,OAAO,mBAAmB,CAAC;AAC3B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,yBAAyB,CAAC;AACjC,OAAO,oBAAoB,CAAC;AAE5B,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;CAA2C,CAAC;AACjF,eAAO,MAAM,6BAA6B;;;;;;;CAAgD,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export { Client, DEFAULT_BASE_URL } from "./client.js";
2
2
  export { Sandbox } from "./sandbox.js";
3
- export { APIError, SandboxWaitTimeoutError } from "./errors.js";
3
+ export { APIError, SandboxWaitTimeoutError, TemplateCreationFailedError, TemplateWaitTimeoutError, } from "./errors.js";
4
4
  export { verifyWebhookSignature } from "./webhook_signature.js";
5
5
  export * from "./template_helpers.js";
6
6
  export * from "./models.js";
package/dist/models.d.ts CHANGED
@@ -158,4 +158,18 @@ export interface SandboxLifecycleWaitOptions {
158
158
  signal?: AbortSignal;
159
159
  }
160
160
  export type SandboxLifecyclePredicate = (sandbox: Sandbox) => boolean | Promise<boolean>;
161
+ export interface TemplateWaitOptions {
162
+ /** Maximum polling duration. Defaults to 10 minutes. */
163
+ timeoutMs?: number;
164
+ /** Delay between observations. Defaults to 500 milliseconds. */
165
+ pollIntervalMs?: number;
166
+ /** Stops waiting locally. It does not cancel template creation on the server. */
167
+ signal?: AbortSignal;
168
+ }
169
+ export interface CreateTemplateFromSandboxOptions extends TemplateWaitOptions {
170
+ /** Allows a create request to be retried without creating a duplicate template. */
171
+ idempotencyKey?: string;
172
+ /** Wait for the returned template to become ready. Defaults to false. */
173
+ wait?: boolean;
174
+ }
161
175
  //# sourceMappingURL=models.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../src/resources/sandboxes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandboxes.d.ts","sourceRoot":"","sources":["../../src/resources/sandboxes.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { ensureData, ensureModel } from "../response.js";
2
2
  import { SandboxWaitTimeoutError, wrapApiCall } from "../errors.js";
3
3
  import { Sandbox as SandboxHandle } from "../sandbox.js";
4
4
  import { SandboxSession } from "../sessions.js";
5
+ import { sleepWithSignal, throwIfAborted, validateWaitDuration, } from "../wait.js";
5
6
  const DEFAULT_LIFECYCLE_TIMEOUT_MS = 60_000;
6
7
  const DEFAULT_LIFECYCLE_POLL_INTERVAL_MS = 500;
7
8
  function isClaimSandboxOptions(value) {
@@ -96,9 +97,9 @@ export class Sandboxes {
96
97
  const startedAt = Date.now();
97
98
  let lastSandbox;
98
99
  while (true) {
99
- throwIfAborted(options.signal);
100
+ throwIfAborted(options.signal, "sandbox lifecycle wait was aborted");
100
101
  lastSandbox = await this.getWithSignal(sandboxId, options.signal);
101
- throwIfAborted(options.signal);
102
+ throwIfAborted(options.signal, "sandbox lifecycle wait was aborted");
102
103
  if (await predicate(lastSandbox)) {
103
104
  return lastSandbox;
104
105
  }
@@ -106,7 +107,7 @@ export class Sandboxes {
106
107
  if (remainingMs <= 0) {
107
108
  throw new SandboxWaitTimeoutError({ sandboxId, timeoutMs, lastSandbox });
108
109
  }
109
- await sleepWithSignal(Math.min(pollIntervalMs, remainingMs), options.signal);
110
+ await sleepWithSignal(Math.min(pollIntervalMs, remainingMs), options.signal, "sandbox lifecycle wait was aborted");
110
111
  }
111
112
  }
112
113
  async update(sandboxId, request) {
@@ -137,7 +138,7 @@ export class Sandboxes {
137
138
  }
138
139
  /** Requests a pause and waits for its durable checkpoint to commit. */
139
140
  async pauseAndWait(sandboxId, options) {
140
- throwIfAborted(options?.signal);
141
+ throwIfAborted(options?.signal, "sandbox lifecycle wait was aborted");
141
142
  await this.pause(sandboxId);
142
143
  return this.waitForLifecycle(sandboxId, (sandbox) => sandbox.status === "paused" && sandbox.paused, options);
143
144
  }
@@ -147,9 +148,9 @@ export class Sandboxes {
147
148
  }
148
149
  /** Requests a resume and waits for the committed running generation. */
149
150
  async resumeAndWait(sandboxId, options) {
150
- throwIfAborted(options?.signal);
151
+ throwIfAborted(options?.signal, "sandbox lifecycle wait was aborted");
151
152
  const before = await this.getWithSignal(sandboxId, options?.signal);
152
- throwIfAborted(options?.signal);
153
+ throwIfAborted(options?.signal, "sandbox lifecycle wait was aborted");
153
154
  await this.resume(sandboxId);
154
155
  const minimumRuntimeGeneration = before.paused || before.status === "paused"
155
156
  ? before.runtimeGeneration + 1
@@ -207,56 +208,3 @@ export class Sandboxes {
207
208
  return new SandboxHandle({ id: sandboxId, client: this.client });
208
209
  }
209
210
  }
210
- function validateWaitDuration(name, value, allowZero) {
211
- if (!Number.isFinite(value) || (allowZero ? value < 0 : value <= 0)) {
212
- const requirement = allowZero ? "a finite number >= 0" : "a finite number > 0";
213
- throw new RangeError(`${name} must be ${requirement}`);
214
- }
215
- }
216
- function throwIfAborted(signal) {
217
- if (!signal?.aborted) {
218
- return;
219
- }
220
- throw abortReason(signal);
221
- }
222
- function abortReason(signal) {
223
- if (signal.reason !== undefined) {
224
- return signal.reason;
225
- }
226
- const error = new Error("sandbox lifecycle wait was aborted");
227
- error.name = "AbortError";
228
- return error;
229
- }
230
- function sleepWithSignal(durationMs, signal) {
231
- return new Promise((resolve, reject) => {
232
- if (signal?.aborted) {
233
- reject(abortReason(signal));
234
- return;
235
- }
236
- let settled = false;
237
- let timer;
238
- const onAbort = () => {
239
- if (settled) {
240
- return;
241
- }
242
- settled = true;
243
- if (timer !== undefined) {
244
- clearTimeout(timer);
245
- }
246
- signal?.removeEventListener("abort", onAbort);
247
- reject(signal ? abortReason(signal) : new Error("sandbox lifecycle wait was aborted"));
248
- };
249
- timer = setTimeout(() => {
250
- if (settled) {
251
- return;
252
- }
253
- settled = true;
254
- signal?.removeEventListener("abort", onAbort);
255
- resolve();
256
- }, durationMs);
257
- signal?.addEventListener("abort", onAbort, { once: true });
258
- if (signal?.aborted) {
259
- onAbort();
260
- }
261
- });
262
- }
@@ -1,4 +1,5 @@
1
- import type { Template, TemplateCreateRequest, TemplateUpdateRequest, SuccessMessageResponse } from "../apispec/src/models/index.js";
1
+ import type { Template, TemplateCreateRequest, TemplateFromSandboxCreateRequest, TemplateUpdateRequest, SuccessMessageResponse } from "../apispec/src/models/index.js";
2
+ import type { CreateTemplateFromSandboxOptions, TemplateWaitOptions } from "../models.js";
2
3
  import type { Client } from "../client.js";
3
4
  export declare class Templates {
4
5
  private readonly client;
@@ -7,7 +8,10 @@ export declare class Templates {
7
8
  listTemplate(): Promise<Template[]>;
8
9
  get(templateId: string): Promise<Template>;
9
10
  create(request: TemplateCreateRequest): Promise<Template>;
11
+ createFromSandbox(request: TemplateFromSandboxCreateRequest, options?: CreateTemplateFromSandboxOptions): Promise<Template>;
12
+ waitUntilReady(templateId: string, options?: TemplateWaitOptions): Promise<Template>;
10
13
  update(templateId: string, request: TemplateUpdateRequest): Promise<Template>;
11
14
  delete(templateId: string): Promise<SuccessMessageResponse>;
15
+ private getWithSignal;
12
16
  }
13
17
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AAGrC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAS3B,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAInC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAO1C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IASzD,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU7E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAMlE"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/resources/templates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,qBAAqB,EACrB,gCAAgC,EAChC,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EACV,gCAAgC,EAChC,mBAAmB,EACpB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAWxC,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAErC,IAAI,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAS3B,YAAY,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;IAInC,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI1C,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IASzD,iBAAiB,CACrB,OAAO,EAAE,gCAAgC,EACzC,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC,QAAQ,CAAC;IAqBd,cAAc,CAClB,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE,mBAAwB,GAChC,OAAO,CAAC,QAAQ,CAAC;IAsCd,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAU7E,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC;YAOnD,aAAa;CAY5B"}
@@ -1,5 +1,9 @@
1
1
  import { ensureData, ensureModel } from "../response.js";
2
- import { wrapApiCall } from "../errors.js";
2
+ import { TemplateCreationFailedError, TemplateWaitTimeoutError, wrapApiCall, } from "../errors.js";
3
+ import { sleepWithSignal, throwIfAborted, validateWaitDuration, } from "../wait.js";
4
+ const DEFAULT_TEMPLATE_TIMEOUT_MS = 10 * 60_000;
5
+ const DEFAULT_TEMPLATE_POLL_INTERVAL_MS = 500;
6
+ const TEMPLATE_WAIT_ABORT_MESSAGE = "template readiness wait was aborted";
3
7
  export class Templates {
4
8
  client;
5
9
  constructor(client) {
@@ -15,8 +19,7 @@ export class Templates {
15
19
  return this.list();
16
20
  }
17
21
  async get(templateId) {
18
- const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesIdGet({ id: templateId }));
19
- return ensureData(response, "get template returned empty response");
22
+ return this.getWithSignal(templateId);
20
23
  }
21
24
  async create(request) {
22
25
  const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesPost({
@@ -24,6 +27,46 @@ export class Templates {
24
27
  }));
25
28
  return ensureData(response, "create template returned empty response");
26
29
  }
30
+ async createFromSandbox(request, options = {}) {
31
+ throwIfAborted(options.signal, TEMPLATE_WAIT_ABORT_MESSAGE);
32
+ const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesFromSandboxPost({
33
+ templateFromSandboxCreateRequest: request,
34
+ idempotencyKey: options.idempotencyKey,
35
+ }, options.signal ? { signal: options.signal } : undefined));
36
+ const template = ensureData(response, "create template from sandbox returned empty response");
37
+ if (!options.wait) {
38
+ return template;
39
+ }
40
+ return this.waitUntilReady(template.templateId, options);
41
+ }
42
+ async waitUntilReady(templateId, options = {}) {
43
+ const timeoutMs = options.timeoutMs ?? DEFAULT_TEMPLATE_TIMEOUT_MS;
44
+ const pollIntervalMs = options.pollIntervalMs ?? DEFAULT_TEMPLATE_POLL_INTERVAL_MS;
45
+ validateWaitDuration("timeoutMs", timeoutMs, true);
46
+ validateWaitDuration("pollIntervalMs", pollIntervalMs, false);
47
+ const startedAt = Date.now();
48
+ let lastTemplate;
49
+ while (true) {
50
+ throwIfAborted(options.signal, TEMPLATE_WAIT_ABORT_MESSAGE);
51
+ lastTemplate = await this.getWithSignal(templateId, options.signal);
52
+ throwIfAborted(options.signal, TEMPLATE_WAIT_ABORT_MESSAGE);
53
+ const creation = lastTemplate.status?.creation;
54
+ if (!creation || creation.state === "ready") {
55
+ return lastTemplate;
56
+ }
57
+ if (creation.state === "failed") {
58
+ throw new TemplateCreationFailedError(lastTemplate);
59
+ }
60
+ if (creation.state !== "creating") {
61
+ throw new Error(`template ${templateId} has unknown creation state ${String(creation.state)}`);
62
+ }
63
+ const remainingMs = timeoutMs - (Date.now() - startedAt);
64
+ if (remainingMs <= 0) {
65
+ throw new TemplateWaitTimeoutError({ templateId, timeoutMs, lastTemplate });
66
+ }
67
+ await sleepWithSignal(Math.min(pollIntervalMs, remainingMs), options.signal, TEMPLATE_WAIT_ABORT_MESSAGE);
68
+ }
69
+ }
27
70
  async update(templateId, request) {
28
71
  const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesIdPut({
29
72
  id: templateId,
@@ -35,4 +78,8 @@ export class Templates {
35
78
  const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesIdDelete({ id: templateId }));
36
79
  return ensureModel(response, "delete template returned empty response");
37
80
  }
81
+ async getWithSignal(templateId, signal) {
82
+ const response = await wrapApiCall(() => this.client.apispec.templates.apiV1TemplatesIdGet({ id: templateId }, signal ? { signal } : undefined));
83
+ return ensureData(response, "get template returned empty response");
84
+ }
38
85
  }
@@ -1,4 +1,4 @@
1
- import type { ContainerSpec, EnvVar, PoolStrategy, ResourceQuota, SandboxNetworkPolicy, SandboxTemplateSpec, TemplateCreateRequest, TemplateUpdateRequest } from "./apispec/src/models/index.js";
1
+ import type { ContainerSpec, EnvVar, PoolStrategy, ResourceQuota, SandboxNetworkPolicy, SandboxTemplateSpec, TemplateCreateRequest, TemplateFromSandboxCreateRequest, TemplateFromSandboxSpecOverrides, TemplateUpdateRequest } from "./apispec/src/models/index.js";
2
2
  export interface TemplateSpecInit {
3
3
  description?: string;
4
4
  displayName?: string;
@@ -18,5 +18,6 @@ export declare function resources(memory: string): ResourceQuota;
18
18
  export declare function container(image: string, containerResources: ResourceQuota, init?: ContainerInit): ContainerSpec;
19
19
  export declare function templateSpec(mainContainer: ContainerSpec, init?: TemplateSpecInit): SandboxTemplateSpec;
20
20
  export declare function templateCreateRequest(templateId: string, spec: SandboxTemplateSpec): TemplateCreateRequest;
21
+ export declare function templateFromSandboxCreateRequest(templateId: string, sandboxId: string, specOverrides?: TemplateFromSandboxSpecOverrides): TemplateFromSandboxCreateRequest;
21
22
  export declare function templateUpdateRequest(spec: SandboxTemplateSpec): TemplateUpdateRequest;
22
23
  //# sourceMappingURL=template_helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"template_helpers.d.ts","sourceRoot":"","sources":["../src/template_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACpD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAEvD;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,aAAa,EACjC,IAAI,GAAE,aAAkB,GACvB,aAAa,CAQf;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,mBAAmB,CAYrB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,qBAAqB,CAEvB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAEtF"}
1
+ {"version":3,"file":"template_helpers.d.ts","sourceRoot":"","sources":["../src/template_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,MAAM,EACN,YAAY,EACZ,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,gCAAgC,EAChC,gCAAgC,EAChC,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;CACpD;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAEvD;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,aAAa,EACjC,IAAI,GAAE,aAAkB,GACvB,aAAa,CAQf;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,mBAAmB,CAYrB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,qBAAqB,CAEvB;AAED,wBAAgB,gCAAgC,CAC9C,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,gCAAgC,GAC/C,gCAAgC,CAMlC;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAEtF"}
@@ -26,6 +26,13 @@ export function templateSpec(mainContainer, init = {}) {
26
26
  export function templateCreateRequest(templateId, spec) {
27
27
  return { templateId, spec };
28
28
  }
29
+ export function templateFromSandboxCreateRequest(templateId, sandboxId, specOverrides) {
30
+ return {
31
+ templateId,
32
+ sandboxId,
33
+ ...(specOverrides ? { specOverrides } : {}),
34
+ };
35
+ }
29
36
  export function templateUpdateRequest(spec) {
30
37
  return { spec };
31
38
  }
package/dist/wait.d.ts ADDED
@@ -0,0 +1,4 @@
1
+ export declare function validateWaitDuration(name: string, value: number, allowZero: boolean): void;
2
+ export declare function throwIfAborted(signal: AbortSignal | undefined, fallbackMessage: string): void;
3
+ export declare function sleepWithSignal(durationMs: number, signal: AbortSignal | undefined, fallbackMessage: string): Promise<void>;
4
+ //# sourceMappingURL=wait.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wait.d.ts","sourceRoot":"","sources":["../src/wait.ts"],"names":[],"mappings":"AAAA,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,IAAI,CAKN;AAWD,wBAAgB,cAAc,CAC5B,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,eAAe,EAAE,MAAM,GACtB,IAAI,CAIN;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,WAAW,GAAG,SAAS,EAC/B,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,CAiCf"}
package/dist/wait.js ADDED
@@ -0,0 +1,52 @@
1
+ export function validateWaitDuration(name, value, allowZero) {
2
+ if (!Number.isFinite(value) || (allowZero ? value < 0 : value <= 0)) {
3
+ const requirement = allowZero ? "a finite number >= 0" : "a finite number > 0";
4
+ throw new RangeError(`${name} must be ${requirement}`);
5
+ }
6
+ }
7
+ function abortReason(signal, fallbackMessage) {
8
+ if (signal.reason !== undefined) {
9
+ return signal.reason;
10
+ }
11
+ const error = new Error(fallbackMessage);
12
+ error.name = "AbortError";
13
+ return error;
14
+ }
15
+ export function throwIfAborted(signal, fallbackMessage) {
16
+ if (signal?.aborted) {
17
+ throw abortReason(signal, fallbackMessage);
18
+ }
19
+ }
20
+ export function sleepWithSignal(durationMs, signal, fallbackMessage) {
21
+ return new Promise((resolve, reject) => {
22
+ if (signal?.aborted) {
23
+ reject(abortReason(signal, fallbackMessage));
24
+ return;
25
+ }
26
+ let settled = false;
27
+ let timer;
28
+ const onAbort = () => {
29
+ if (settled) {
30
+ return;
31
+ }
32
+ settled = true;
33
+ if (timer !== undefined) {
34
+ clearTimeout(timer);
35
+ }
36
+ signal?.removeEventListener("abort", onAbort);
37
+ reject(signal ? abortReason(signal, fallbackMessage) : new Error(fallbackMessage));
38
+ };
39
+ timer = setTimeout(() => {
40
+ if (settled) {
41
+ return;
42
+ }
43
+ settled = true;
44
+ signal?.removeEventListener("abort", onAbort);
45
+ resolve();
46
+ }, durationMs);
47
+ signal?.addEventListener("abort", onAbort, { once: true });
48
+ if (signal?.aborted) {
49
+ onAbort();
50
+ }
51
+ });
52
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sandbox0",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "Sandbox0 JavaScript/TypeScript SDK",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Sandbox0 Team",