@archildata/api-types 0.0.13 → 0.0.14

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 (2) hide show
  1. package/index.d.ts +80 -7
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -382,7 +382,7 @@ export interface paths {
382
382
  post?: never;
383
383
  /**
384
384
  * Delete a sandbox
385
- * @description Permanently deletes a stopped, exited, or failed sandbox.
385
+ * @description Permanently deletes a stopped, exited, or failed sandbox and its backing disk. A sandbox with child forks cannot be deleted until those children are deleted, starting with the deepest ones.
386
386
  */
387
387
  delete: operations["deleteSandbox"];
388
388
  options?: never;
@@ -480,6 +480,31 @@ export interface paths {
480
480
  patch?: never;
481
481
  trace?: never;
482
482
  };
483
+ "/api/sandboxes/{sid}/fork": {
484
+ parameters: {
485
+ query?: never;
486
+ header?: never;
487
+ path?: never;
488
+ cookie?: never;
489
+ };
490
+ get?: never;
491
+ put?: never;
492
+ /**
493
+ * Fork a sandbox
494
+ * @description Checkpoints a running source sandbox and creates an isolated writable
495
+ * disk branch. Forks from running or paused sources resume from the
496
+ * source's CPU, memory, and disk state. Forks from stopped sources
497
+ * cold-boot from the saved disk checkpoint. A running source is
498
+ * resumed after its checkpoint; paused and stopped sources remain
499
+ * inactive. Forked sandboxes may themselves be forked.
500
+ */
501
+ post: operations["forkSandbox"];
502
+ delete?: never;
503
+ options?: never;
504
+ head?: never;
505
+ patch?: never;
506
+ trace?: never;
507
+ };
483
508
  "/api/sandboxes/{sid}/resume": {
484
509
  parameters: {
485
510
  query?: never;
@@ -537,11 +562,11 @@ export interface paths {
537
562
  get?: never;
538
563
  put?: never;
539
564
  /**
540
- * Stop a sandbox without saving memory
541
- * @description Shuts down the VM without creating a memory snapshot. When the sandbox
542
- * is paused, this invalidates its committed snapshot and changes it to
543
- * `stopped`. The sandbox's identity, configuration, and disk state remain
544
- * available for a later cold start.
565
+ * Stop a sandbox
566
+ * @description Gracefully shuts down the guest, then checkpoints its disk before
567
+ * entering `stopped`. The sandbox and any forks from it cold-boot from
568
+ * disk state. Stopping a paused sandbox reuses its existing disk
569
+ * checkpoint. In-flight execs receive the guest shutdown signal.
545
570
  */
546
571
  post: operations["stopSandbox"];
547
572
  delete?: never;
@@ -693,6 +718,10 @@ export interface components {
693
718
  max_ttl_seconds?: number;
694
719
  max_concurrent_execs?: number;
695
720
  };
721
+ ForkSandboxRequest: {
722
+ /** @description Name for the fork. A random word-list name is generated when omitted. */
723
+ name?: string;
724
+ };
696
725
  SandboxExecRequest: {
697
726
  /** @description Shell command, run via `/bin/sh -c` */
698
727
  command: string;
@@ -2291,7 +2320,7 @@ export interface operations {
2291
2320
  };
2292
2321
  401: components["responses"]["Unauthorized"];
2293
2322
  404: components["responses"]["NotFound"];
2294
- /** @description The sandbox must be stopped, exited, or failed before it can be deleted */
2323
+ /** @description The sandbox must be stopped, exited, or failed and have no child forks. The error includes the number of child disks and up to 10 disk IDs that must be deleted first. */
2295
2324
  409: {
2296
2325
  headers: {
2297
2326
  [name: string]: unknown;
@@ -2483,6 +2512,50 @@ export interface operations {
2483
2512
  503: components["responses"]["RetryableUnavailable"];
2484
2513
  };
2485
2514
  };
2515
+ forkSandbox: {
2516
+ parameters: {
2517
+ query?: {
2518
+ /** @description Hold the request for a completed start or exec result */
2519
+ wait?: components["parameters"]["Wait"];
2520
+ };
2521
+ header?: never;
2522
+ path: {
2523
+ /** @description Sandbox UUID */
2524
+ sid: components["parameters"]["SandboxId"];
2525
+ };
2526
+ cookie?: never;
2527
+ };
2528
+ requestBody?: {
2529
+ content: {
2530
+ "application/json": components["schemas"]["ForkSandboxRequest"];
2531
+ };
2532
+ };
2533
+ responses: {
2534
+ /** @description The fork was created and its start is pending */
2535
+ 202: {
2536
+ headers: {
2537
+ [name: string]: unknown;
2538
+ };
2539
+ content: {
2540
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2541
+ };
2542
+ };
2543
+ 400: components["responses"]["ValidationError"];
2544
+ 401: components["responses"]["Unauthorized"];
2545
+ 404: components["responses"]["NotFound"];
2546
+ /** @description The source cannot be paused or its fork checkpoint is unavailable */
2547
+ 409: {
2548
+ headers: {
2549
+ [name: string]: unknown;
2550
+ };
2551
+ content: {
2552
+ "application/json": components["schemas"]["ErrorResponse"];
2553
+ };
2554
+ };
2555
+ 500: components["responses"]["InternalError"];
2556
+ 503: components["responses"]["RetryableUnavailable"];
2557
+ };
2558
+ };
2486
2559
  resumeSandbox: {
2487
2560
  parameters: {
2488
2561
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archildata/api-types",
3
- "version": "0.0.13",
3
+ "version": "0.0.14",
4
4
  "description": "API types for the Archil control plane",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",