@archildata/api-types 0.0.24 → 0.0.26

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 +104 -3
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -485,6 +485,35 @@ export interface paths {
485
485
  patch?: never;
486
486
  trace?: never;
487
487
  };
488
+ "/api/sandboxes/{sid}/network": {
489
+ parameters: {
490
+ query?: never;
491
+ header?: never;
492
+ path?: never;
493
+ cookie?: never;
494
+ };
495
+ /**
496
+ * Get a sandbox's network policy
497
+ * @description Returns the last committed network policy for a running, paused, or stopped sandbox.
498
+ */
499
+ get: operations["getSandboxNetwork"];
500
+ /**
501
+ * Replace a running sandbox's network policy
502
+ * @description Applies the complete replacement policy to a running sandbox, then
503
+ * records it as the current policy. A rejected update leaves the previous
504
+ * policy unchanged. An empty object restores unrestricted egress. Existing
505
+ * network sessions are not terminated; the replacement governs new
506
+ * connections and is retained across later stops and resumes. Sandboxes
507
+ * that are not running, or whose policy changes concurrently, return 409.
508
+ */
509
+ put: operations["updateSandboxNetwork"];
510
+ post?: never;
511
+ delete?: never;
512
+ options?: never;
513
+ head?: never;
514
+ patch?: never;
515
+ trace?: never;
516
+ };
488
517
  "/api/sandboxes/{sid}/start": {
489
518
  parameters: {
490
519
  query?: never;
@@ -593,13 +622,13 @@ export interface components {
593
622
  /** @description Deny targets take precedence when an address or domain matches both lists. When domain rules are present, TCP ports 80 and 443 are restricted to HTTP/1.1 or HTTP/2. Plaintext HTTP authority is enforced on port 80, but requests matching a transformation rule are rejected. Port 443 is TLS-terminated; both TLS SNI and HTTP authority are evaluated, and the HTTP authority selects the upstream and any request transformations. DNS to the sandbox's configured resolvers is allowed and UDP port 443 is denied. */
594
623
  SandboxEgressPolicy: {
595
624
  default: components["schemas"]["SandboxNetworkAction"];
596
- /** @description Allowed IPv4 addresses, CIDR ranges, exact domains, wildcard domains beginning with `*.`, or target objects with optional outbound HTTPS request transformations. A wildcard matches subdomains but not the apex domain. A target with effective transformations must be an exact lowercase domain. */
625
+ /** @description Allowed IPv4 addresses, CIDR ranges, exact domains, wildcard domains beginning with `*.`, or target objects with optional outbound HTTPS request transformations. A wildcard matches subdomains but not the apex domain, including when applying transformations. */
597
626
  allow?: (string | components["schemas"]["SandboxEgressRule"])[];
598
627
  /** @description Denied IPv4 addresses, CIDR ranges, exact domains, or wildcard domains beginning with `*.`. A wildcard matches subdomains but not the apex domain. */
599
628
  deny?: string[];
600
629
  };
601
630
  SandboxEgressRule: {
602
- /** @description Target allowed by this rule. Must be an exact lowercase domain when effective transformations are present. */
631
+ /** @description Target allowed by this rule. Effective transformations require an exact or wildcard lowercase domain. */
603
632
  target: string;
604
633
  transform?: components["schemas"]["SandboxEgressTransform"];
605
634
  };
@@ -634,7 +663,6 @@ export interface components {
634
663
  */
635
664
  platform?: "arm64" | "amd64";
636
665
  endpoints?: components["schemas"]["SandboxEndpoint"][];
637
- network?: components["schemas"]["SandboxNetwork"];
638
666
  /** Format: date-time */
639
667
  created_at: string;
640
668
  /** Format: date-time */
@@ -675,6 +703,11 @@ export interface components {
675
703
  success: boolean;
676
704
  data: components["schemas"]["Sandbox"];
677
705
  };
706
+ ApiResponse_SandboxNetwork: {
707
+ /** @example true */
708
+ success: boolean;
709
+ data: components["schemas"]["SandboxNetwork"];
710
+ };
678
711
  CreateSandboxRequest: {
679
712
  /** @description Sandbox name, unique within the account. A random word-list name is generated when omitted. */
680
713
  name?: string;
@@ -2485,6 +2518,74 @@ export interface operations {
2485
2518
  503: components["responses"]["RetryableUnavailable"];
2486
2519
  };
2487
2520
  };
2521
+ getSandboxNetwork: {
2522
+ parameters: {
2523
+ query?: never;
2524
+ header?: never;
2525
+ path: {
2526
+ /** @description Sandbox UUID */
2527
+ sid: components["parameters"]["SandboxId"];
2528
+ };
2529
+ cookie?: never;
2530
+ };
2531
+ requestBody?: never;
2532
+ responses: {
2533
+ /** @description The last committed network policy */
2534
+ 200: {
2535
+ headers: {
2536
+ [name: string]: unknown;
2537
+ };
2538
+ content: {
2539
+ "application/json": components["schemas"]["ApiResponse_SandboxNetwork"];
2540
+ };
2541
+ };
2542
+ 401: components["responses"]["Unauthorized"];
2543
+ 404: components["responses"]["NotFound"];
2544
+ 500: components["responses"]["InternalError"];
2545
+ 503: components["responses"]["RetryableUnavailable"];
2546
+ };
2547
+ };
2548
+ updateSandboxNetwork: {
2549
+ parameters: {
2550
+ query?: never;
2551
+ header?: never;
2552
+ path: {
2553
+ /** @description Sandbox UUID */
2554
+ sid: components["parameters"]["SandboxId"];
2555
+ };
2556
+ cookie?: never;
2557
+ };
2558
+ requestBody: {
2559
+ content: {
2560
+ "application/json": components["schemas"]["SandboxNetwork"];
2561
+ };
2562
+ };
2563
+ responses: {
2564
+ /** @description The network policy was replaced */
2565
+ 200: {
2566
+ headers: {
2567
+ [name: string]: unknown;
2568
+ };
2569
+ content: {
2570
+ "application/json": components["schemas"]["ApiResponse_SandboxNetwork"];
2571
+ };
2572
+ };
2573
+ 400: components["responses"]["ValidationError"];
2574
+ 401: components["responses"]["Unauthorized"];
2575
+ 404: components["responses"]["NotFound"];
2576
+ /** @description The sandbox is not running or the network policy changed concurrently */
2577
+ 409: {
2578
+ headers: {
2579
+ [name: string]: unknown;
2580
+ };
2581
+ content: {
2582
+ "application/json": components["schemas"]["ErrorResponse"];
2583
+ };
2584
+ };
2585
+ 500: components["responses"]["InternalError"];
2586
+ 503: components["responses"]["RetryableUnavailable"];
2587
+ };
2588
+ };
2488
2589
  startSandbox: {
2489
2590
  parameters: {
2490
2591
  query?: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archildata/api-types",
3
- "version": "0.0.24",
3
+ "version": "0.0.26",
4
4
  "description": "API types for the Archil control plane",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",