sandbox0 0.2.2 → 0.2.4

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 (58) hide show
  1. package/README.md +16 -17
  2. package/dist/apispec/src/apis/RegistryApi.d.ts +6 -3
  3. package/dist/apispec/src/apis/RegistryApi.d.ts.map +1 -1
  4. package/dist/apispec/src/apis/RegistryApi.js +6 -4
  5. package/dist/apispec/src/models/ClaimMountRequest.d.ts +46 -0
  6. package/dist/apispec/src/models/ClaimMountRequest.d.ts.map +1 -0
  7. package/dist/apispec/src/models/ClaimMountRequest.js +50 -0
  8. package/dist/apispec/src/models/ClaimRequest.d.ts +24 -0
  9. package/dist/apispec/src/models/ClaimRequest.d.ts.map +1 -1
  10. package/dist/apispec/src/models/ClaimRequest.js +7 -0
  11. package/dist/apispec/src/models/ClaimResponse.d.ts +7 -0
  12. package/dist/apispec/src/models/ClaimResponse.d.ts.map +1 -1
  13. package/dist/apispec/src/models/ClaimResponse.js +3 -0
  14. package/dist/apispec/src/models/ContainerMountSpec.d.ts +45 -0
  15. package/dist/apispec/src/models/ContainerMountSpec.d.ts.map +1 -0
  16. package/dist/apispec/src/models/ContainerMountSpec.js +49 -0
  17. package/dist/apispec/src/models/CreateSandboxVolumeRequest.d.ts +12 -0
  18. package/dist/apispec/src/models/CreateSandboxVolumeRequest.d.ts.map +1 -1
  19. package/dist/apispec/src/models/CreateSandboxVolumeRequest.js +4 -0
  20. package/dist/apispec/src/models/ForkVolumeRequest.d.ts +12 -0
  21. package/dist/apispec/src/models/ForkVolumeRequest.d.ts.map +1 -1
  22. package/dist/apispec/src/models/ForkVolumeRequest.js +4 -0
  23. package/dist/apispec/src/models/MountStatus.d.ts +30 -2
  24. package/dist/apispec/src/models/MountStatus.d.ts.map +1 -1
  25. package/dist/apispec/src/models/MountStatus.js +23 -2
  26. package/dist/apispec/src/models/RegistryCredentialsRequest.d.ts +33 -0
  27. package/dist/apispec/src/models/RegistryCredentialsRequest.d.ts.map +1 -0
  28. package/dist/apispec/src/models/RegistryCredentialsRequest.js +41 -0
  29. package/dist/apispec/src/models/SandboxTemplateSpec.d.ts +7 -0
  30. package/dist/apispec/src/models/SandboxTemplateSpec.d.ts.map +1 -1
  31. package/dist/apispec/src/models/SandboxTemplateSpec.js +3 -0
  32. package/dist/apispec/src/models/SandboxVolume.d.ts +12 -0
  33. package/dist/apispec/src/models/SandboxVolume.d.ts.map +1 -1
  34. package/dist/apispec/src/models/SandboxVolume.js +4 -0
  35. package/dist/apispec/src/models/SharedVolumeSpec.d.ts +69 -0
  36. package/dist/apispec/src/models/SharedVolumeSpec.d.ts.map +1 -0
  37. package/dist/apispec/src/models/SharedVolumeSpec.js +57 -0
  38. package/dist/apispec/src/models/SidecarContainerSpec.d.ts +4 -4
  39. package/dist/apispec/src/models/SidecarContainerSpec.d.ts.map +1 -1
  40. package/dist/apispec/src/models/SidecarContainerSpec.js +6 -4
  41. package/dist/apispec/src/models/index.d.ts +4 -0
  42. package/dist/apispec/src/models/index.d.ts.map +1 -1
  43. package/dist/apispec/src/models/index.js +4 -0
  44. package/dist/index.d.ts +1 -0
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +1 -0
  47. package/dist/resources/sandboxes.d.ts +9 -3
  48. package/dist/resources/sandboxes.d.ts.map +1 -1
  49. package/dist/resources/sandboxes.js +26 -4
  50. package/dist/response_normalize.d.ts.map +1 -1
  51. package/dist/response_normalize.js +1 -0
  52. package/dist/sandbox.d.ts +3 -0
  53. package/dist/sandbox.d.ts.map +1 -1
  54. package/dist/sandbox.js +2 -0
  55. package/dist/template_helpers.d.ts +46 -0
  56. package/dist/template_helpers.d.ts.map +1 -0
  57. package/dist/template_helpers.js +64 -0
  58. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../src/sandbox.ts"],"names":[],"mappings":"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"}
package/dist/sandbox.js CHANGED
@@ -226,6 +226,7 @@ export class Sandbox {
226
226
  clusterId;
227
227
  podName;
228
228
  status;
229
+ bootstrapMounts;
229
230
  client;
230
231
  replContextByLang = new Map();
231
232
  constructor(params) {
@@ -235,6 +236,7 @@ export class Sandbox {
235
236
  this.clusterId = params.clusterId;
236
237
  this.podName = params.podName ?? "";
237
238
  this.status = params.status ?? "";
239
+ this.bootstrapMounts = [...(params.bootstrapMounts ?? [])];
238
240
  }
239
241
  async run(alias, input, options) {
240
242
  if (!input.trim()) {
@@ -0,0 +1,46 @@
1
+ import type { ContainerMountSpec, ContainerSpec, EnvVar, LifecyclePolicy, PoolStrategy, Probe, ResourceQuota, SandboxNetworkPolicy, SandboxTemplateSpec, SharedVolumeSpec, SidecarContainerSpec, TemplateCreateRequest, TemplateUpdateRequest } from "./apispec/src/models/index.js";
2
+ export interface TemplateSpecInit {
3
+ description?: string;
4
+ displayName?: string;
5
+ tags?: string[];
6
+ sidecars?: SidecarContainerSpec[];
7
+ sharedVolumes?: SharedVolumeSpec[];
8
+ pod?: SandboxTemplateSpec["pod"];
9
+ network?: SandboxNetworkPolicy;
10
+ pool?: PoolStrategy;
11
+ lifecycle?: LifecyclePolicy;
12
+ envVars?: Record<string, string>;
13
+ public?: boolean;
14
+ allowedTeams?: string[];
15
+ clusterId?: string;
16
+ }
17
+ export interface ContainerInit {
18
+ imagePullPolicy?: string;
19
+ env?: EnvVar[];
20
+ securityContext?: ContainerSpec["securityContext"];
21
+ }
22
+ export interface SidecarInit {
23
+ command?: string[];
24
+ args?: string[];
25
+ env?: EnvVar[];
26
+ mounts?: ContainerMountSpec[];
27
+ readinessProbe?: Probe;
28
+ livenessProbe?: Probe;
29
+ startupProbe?: Probe;
30
+ }
31
+ export interface SharedVolumeInit {
32
+ sandboxVolumeId?: string;
33
+ cacheSize?: string;
34
+ prefetch?: number;
35
+ bufferSize?: string;
36
+ writeback?: boolean;
37
+ }
38
+ export declare function resources(cpu: string, memory: string): ResourceQuota;
39
+ export declare function mount(name: string, mountPath: string): ContainerMountSpec;
40
+ export declare function container(image: string, containerResources: ResourceQuota, init?: ContainerInit): ContainerSpec;
41
+ export declare function sidecar(name: string, image: string, sidecarResources: ResourceQuota, init?: SidecarInit): SidecarContainerSpec;
42
+ export declare function sharedVolume(name: string, mountPath: string, init?: SharedVolumeInit): SharedVolumeSpec;
43
+ export declare function templateSpec(mainContainer: ContainerSpec, init?: TemplateSpecInit): SandboxTemplateSpec;
44
+ export declare function templateCreateRequest(templateId: string, spec: SandboxTemplateSpec): TemplateCreateRequest;
45
+ export declare function templateUpdateRequest(spec: SandboxTemplateSpec): TemplateUpdateRequest;
46
+ //# sourceMappingURL=template_helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template_helpers.d.ts","sourceRoot":"","sources":["../src/template_helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,MAAM,EACN,eAAe,EACf,YAAY,EACZ,KAAK,EACL,aAAa,EACb,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,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,QAAQ,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAClC,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnC,GAAG,CAAC,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,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,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC9B,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,YAAY,CAAC,EAAE,KAAK,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAEpE;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAEzE;AAED,wBAAgB,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,kBAAkB,EAAE,aAAa,EACjC,IAAI,GAAE,aAAkB,GACvB,aAAa,CAQf;AAED,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,gBAAgB,EAAE,aAAa,EAC/B,IAAI,GAAE,WAAgB,GACrB,oBAAoB,CAatB;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,GAAE,gBAAqB,GAC1B,gBAAgB,CAUlB;AAED,wBAAgB,YAAY,CAC1B,aAAa,EAAE,aAAa,EAC5B,IAAI,GAAE,gBAAqB,GAC1B,mBAAmB,CAiBrB;AAED,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,mBAAmB,GACxB,qBAAqB,CAEvB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAEtF"}
@@ -0,0 +1,64 @@
1
+ export function resources(cpu, memory) {
2
+ return { cpu, memory };
3
+ }
4
+ export function mount(name, mountPath) {
5
+ return { name, mountPath };
6
+ }
7
+ export function container(image, containerResources, init = {}) {
8
+ return {
9
+ image,
10
+ resources: containerResources,
11
+ ...(init.imagePullPolicy ? { imagePullPolicy: init.imagePullPolicy } : {}),
12
+ ...(init.env ? { env: [...init.env] } : {}),
13
+ ...(init.securityContext ? { securityContext: init.securityContext } : {}),
14
+ };
15
+ }
16
+ export function sidecar(name, image, sidecarResources, init = {}) {
17
+ return {
18
+ name,
19
+ image,
20
+ resources: sidecarResources,
21
+ ...(init.command ? { command: [...init.command] } : {}),
22
+ ...(init.args ? { args: [...init.args] } : {}),
23
+ ...(init.env ? { env: [...init.env] } : {}),
24
+ ...(init.mounts ? { mounts: [...init.mounts] } : {}),
25
+ ...(init.readinessProbe ? { readinessProbe: init.readinessProbe } : {}),
26
+ ...(init.livenessProbe ? { livenessProbe: init.livenessProbe } : {}),
27
+ ...(init.startupProbe ? { startupProbe: init.startupProbe } : {}),
28
+ };
29
+ }
30
+ export function sharedVolume(name, mountPath, init = {}) {
31
+ return {
32
+ name,
33
+ mountPath,
34
+ ...(init.sandboxVolumeId ? { sandboxVolumeId: init.sandboxVolumeId } : {}),
35
+ ...(init.cacheSize ? { cacheSize: init.cacheSize } : {}),
36
+ ...(init.prefetch !== undefined ? { prefetch: init.prefetch } : {}),
37
+ ...(init.bufferSize ? { bufferSize: init.bufferSize } : {}),
38
+ ...(init.writeback !== undefined ? { writeback: init.writeback } : {}),
39
+ };
40
+ }
41
+ export function templateSpec(mainContainer, init = {}) {
42
+ return {
43
+ mainContainer,
44
+ ...(init.description ? { description: init.description } : {}),
45
+ ...(init.displayName ? { displayName: init.displayName } : {}),
46
+ ...(init.tags ? { tags: [...init.tags] } : {}),
47
+ ...(init.sidecars ? { sidecars: [...init.sidecars] } : {}),
48
+ ...(init.sharedVolumes ? { sharedVolumes: [...init.sharedVolumes] } : {}),
49
+ ...(init.pod ? { pod: init.pod } : {}),
50
+ ...(init.network ? { network: init.network } : {}),
51
+ ...(init.pool ? { pool: init.pool } : {}),
52
+ ...(init.lifecycle ? { lifecycle: init.lifecycle } : {}),
53
+ ...(init.envVars ? { envVars: { ...init.envVars } } : {}),
54
+ ...(init.public !== undefined ? { public: init.public } : {}),
55
+ ...(init.allowedTeams ? { allowedTeams: [...init.allowedTeams] } : {}),
56
+ ...(init.clusterId ? { clusterId: init.clusterId } : {}),
57
+ };
58
+ }
59
+ export function templateCreateRequest(templateId, spec) {
60
+ return { templateId, spec };
61
+ }
62
+ export function templateUpdateRequest(spec) {
63
+ return { spec };
64
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sandbox0",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Sandbox0 JavaScript/TypeScript SDK",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Sandbox0 Team",
@@ -25,11 +25,12 @@
25
25
  "clean": "rm -rf dist",
26
26
  "build": "tsc -p tsconfig.build.json && node ./scripts/fix-esm-imports.mjs",
27
27
  "lint": "tsc -p tsconfig.json --noEmit",
28
- "lint:examples": "tsc -p tsconfig.examples.json --noEmit",
29
28
  "lint:e2e": "tsc -p tsconfig.e2e.json --noEmit",
29
+ "lint:unit": "tsc -p tsconfig.unit.json --noEmit",
30
30
  "generate:apispec": "openapi-generator-cli generate -i openapi.yaml -g typescript-fetch -o src/apispec -c openapi-generator-config.yaml",
31
31
  "test": "npx tsx tests/e2e/run.ts",
32
- "test:e2e": "npx tsx tests/e2e/run.ts"
32
+ "test:e2e": "npx tsx tests/e2e/run.ts",
33
+ "test:unit": "node --import tsx --test tests/unit/**/*.test.ts"
33
34
  },
34
35
  "devDependencies": {
35
36
  "@openapitools/openapi-generator-cli": "^2.28.3",