@archildata/api-types 0.0.28 → 0.0.29

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 +76 -3
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -514,6 +514,31 @@ export interface paths {
514
514
  patch?: never;
515
515
  trace?: never;
516
516
  };
517
+ "/api/sandboxes/{sid}/timeout": {
518
+ parameters: {
519
+ query?: never;
520
+ header?: never;
521
+ path?: never;
522
+ cookie?: never;
523
+ };
524
+ get?: never;
525
+ put?: never;
526
+ /**
527
+ * Set a sandbox's timeout
528
+ * @description Replaces the sandbox's lifetime budget and, while it is running, resets
529
+ * its expiration deadline to the requested number of seconds from now.
530
+ * The new budget is retained across later stops and starts. For an
531
+ * inactive sandbox, it applies to the next powered-on session. Sandboxes
532
+ * that are starting or shutting down, or whose timeout changes
533
+ * concurrently, return 409.
534
+ */
535
+ post: operations["setSandboxTimeout"];
536
+ delete?: never;
537
+ options?: never;
538
+ head?: never;
539
+ patch?: never;
540
+ trace?: never;
541
+ };
517
542
  "/api/sandboxes/{sid}/start": {
518
543
  parameters: {
519
544
  query?: never;
@@ -643,6 +668,10 @@ export interface components {
643
668
  SandboxNetwork: {
644
669
  egress?: components["schemas"]["SandboxEgressPolicy"];
645
670
  };
671
+ SandboxTimeoutRequest: {
672
+ /** @description Seconds from now until a running sandbox expires, and the lifetime budget for its next powered-on session. */
673
+ timeout: number;
674
+ };
646
675
  Sandbox: {
647
676
  /** Format: uuid */
648
677
  sandbox_id: string;
@@ -651,7 +680,7 @@ export interface components {
651
680
  status: components["schemas"]["SandboxState"];
652
681
  vcpu_count: number;
653
682
  mem_size_mib: number;
654
- /** @description Full lifetime budget applied independently to each powered-on session. */
683
+ /** @description Full lifetime budget applied independently to each powered-on session. Defaults to 24 hours and can be reset with the timeout endpoint. */
655
684
  max_ttl_seconds: number;
656
685
  /** @description Maximum number of concurrently attached process sessions. Detached processes and one-shot process controls do not count. */
657
686
  max_concurrent_execs: number;
@@ -726,8 +755,11 @@ export interface components {
726
755
  [key: string]: string;
727
756
  };
728
757
  network?: components["schemas"]["SandboxNetwork"];
729
- /** @description Lifetime budget applied independently to each powered-on session */
730
- max_ttl_seconds?: number;
758
+ /**
759
+ * @description Lifetime budget applied independently to each powered-on session
760
+ * @default 86400
761
+ */
762
+ max_ttl_seconds: number;
731
763
  /** @description Maximum number of concurrently attached process sessions. Detached processes and one-shot process controls do not count. */
732
764
  max_concurrent_execs?: number;
733
765
  };
@@ -2588,6 +2620,47 @@ export interface operations {
2588
2620
  503: components["responses"]["RetryableUnavailable"];
2589
2621
  };
2590
2622
  };
2623
+ setSandboxTimeout: {
2624
+ parameters: {
2625
+ query?: never;
2626
+ header?: never;
2627
+ path: {
2628
+ /** @description Sandbox UUID */
2629
+ sid: components["parameters"]["SandboxId"];
2630
+ };
2631
+ cookie?: never;
2632
+ };
2633
+ requestBody: {
2634
+ content: {
2635
+ "application/json": components["schemas"]["SandboxTimeoutRequest"];
2636
+ };
2637
+ };
2638
+ responses: {
2639
+ /** @description The sandbox timeout was set */
2640
+ 200: {
2641
+ headers: {
2642
+ [name: string]: unknown;
2643
+ };
2644
+ content: {
2645
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2646
+ };
2647
+ };
2648
+ 400: components["responses"]["ValidationError"];
2649
+ 401: components["responses"]["Unauthorized"];
2650
+ 404: components["responses"]["NotFound"];
2651
+ /** @description The sandbox is transitioning or its timeout changed concurrently */
2652
+ 409: {
2653
+ headers: {
2654
+ [name: string]: unknown;
2655
+ };
2656
+ content: {
2657
+ "application/json": components["schemas"]["ErrorResponse"];
2658
+ };
2659
+ };
2660
+ 500: components["responses"]["InternalError"];
2661
+ 503: components["responses"]["RetryableUnavailable"];
2662
+ };
2663
+ };
2591
2664
  startSandbox: {
2592
2665
  parameters: {
2593
2666
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archildata/api-types",
3
- "version": "0.0.28",
3
+ "version": "0.0.29",
4
4
  "description": "API types for the Archil control plane",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",