@archildata/api-types 0.0.3 → 0.0.5

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 +812 -3
  2. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -4,6 +4,26 @@
4
4
  */
5
5
 
6
6
  export interface paths {
7
+ "/api/activity": {
8
+ parameters: {
9
+ query?: never;
10
+ header?: never;
11
+ path?: never;
12
+ cookie?: never;
13
+ };
14
+ /**
15
+ * List activity events
16
+ * @description Returns the authenticated account's activity events (disk lifecycle and exec events), newest first. Omitting `limit` returns up to 50 events; pass the response's `nextCursor` back as `cursor` to fetch the next page.
17
+ */
18
+ get: operations["listActivity"];
19
+ put?: never;
20
+ post?: never;
21
+ delete?: never;
22
+ options?: never;
23
+ head?: never;
24
+ patch?: never;
25
+ trace?: never;
26
+ };
7
27
  "/api/disks": {
8
28
  parameters: {
9
29
  query?: never;
@@ -124,6 +144,46 @@ export interface paths {
124
144
  patch?: never;
125
145
  trace?: never;
126
146
  };
147
+ "/api/disks/{id}/delegations": {
148
+ parameters: {
149
+ query?: never;
150
+ header?: never;
151
+ path?: never;
152
+ cookie?: never;
153
+ };
154
+ /**
155
+ * List delegations
156
+ * @description Lists all delegations currently held on a disk. A delegation grants a client exclusive write access to an inode and is identified by the (clientId, inodeId) pair. Orphaned entries are held by clients that disconnected without checking their delegations in. Paths are resolved best-effort and may be omitted.
157
+ */
158
+ get: operations["listDelegations"];
159
+ put?: never;
160
+ post?: never;
161
+ delete?: never;
162
+ options?: never;
163
+ head?: never;
164
+ patch?: never;
165
+ trace?: never;
166
+ };
167
+ "/api/disks/{id}/revoke-delegation": {
168
+ parameters: {
169
+ query?: never;
170
+ header?: never;
171
+ path?: never;
172
+ cookie?: never;
173
+ };
174
+ get?: never;
175
+ put?: never;
176
+ /**
177
+ * Revoke a delegation
178
+ * @description Forcibly revokes the delegation a client holds on an inode. Use this to reclaim write access from a client that is unreachable or crashed without checking its delegations in.
179
+ */
180
+ post: operations["revokeDelegation"];
181
+ delete?: never;
182
+ options?: never;
183
+ head?: never;
184
+ patch?: never;
185
+ trace?: never;
186
+ };
127
187
  "/api/disks/{id}/exec": {
128
188
  parameters: {
129
189
  query?: never;
@@ -260,6 +320,160 @@ export interface paths {
260
320
  patch?: never;
261
321
  trace?: never;
262
322
  };
323
+ "/api/sandboxes": {
324
+ parameters: {
325
+ query?: never;
326
+ header?: never;
327
+ path?: never;
328
+ cookie?: never;
329
+ };
330
+ /**
331
+ * List sandboxes
332
+ * @description All the account's sandboxes, oldest first.
333
+ */
334
+ get: operations["listSandboxes"];
335
+ put?: never;
336
+ /**
337
+ * Create a sandbox
338
+ * @description Provisions a sandbox VM with the requested shape and a dedicated,
339
+ * persistent Archil disk. By default the response reports `pending` after
340
+ * the runtime accepts the start. Set `wait=true` to hold for `running`; if
341
+ * the wait budget expires, the response remains `pending` and startup
342
+ * continues.
343
+ */
344
+ post: operations["createSandbox"];
345
+ delete?: never;
346
+ options?: never;
347
+ head?: never;
348
+ patch?: never;
349
+ trace?: never;
350
+ };
351
+ "/api/sandboxes/{sid}": {
352
+ parameters: {
353
+ query?: never;
354
+ header?: never;
355
+ path?: never;
356
+ cookie?: never;
357
+ };
358
+ /** Get a sandbox */
359
+ get: operations["getSandbox"];
360
+ put?: never;
361
+ post?: never;
362
+ delete?: never;
363
+ options?: never;
364
+ head?: never;
365
+ patch?: never;
366
+ trace?: never;
367
+ };
368
+ "/api/sandboxes/{sid}/execs": {
369
+ parameters: {
370
+ query?: never;
371
+ header?: never;
372
+ path?: never;
373
+ cookie?: never;
374
+ };
375
+ /**
376
+ * List recent execs
377
+ * @description The sandbox's most recent execs, newest first.
378
+ */
379
+ get: operations["listSandboxExecs"];
380
+ put?: never;
381
+ /**
382
+ * Run a command in a sandbox
383
+ * @description Submits a shell command to a running sandbox. By default the response
384
+ * reports `running` after the runtime accepts it. Set `wait=true` to hold
385
+ * for a terminal result; if the wait budget expires, the response remains
386
+ * `running` and the result is available from getSandboxExec. Only
387
+ * `running` sandboxes accept execs (409 otherwise).
388
+ */
389
+ post: operations["execInSandbox"];
390
+ delete?: never;
391
+ options?: never;
392
+ head?: never;
393
+ patch?: never;
394
+ trace?: never;
395
+ };
396
+ "/api/sandboxes/{sid}/execs/{eid}": {
397
+ parameters: {
398
+ query?: never;
399
+ header?: never;
400
+ path?: never;
401
+ cookie?: never;
402
+ };
403
+ /** Get an exec's status and result */
404
+ get: operations["getSandboxExec"];
405
+ put?: never;
406
+ post?: never;
407
+ delete?: never;
408
+ options?: never;
409
+ head?: never;
410
+ patch?: never;
411
+ trace?: never;
412
+ };
413
+ "/api/sandboxes/{sid}/execs/{eid}/cancel": {
414
+ parameters: {
415
+ query?: never;
416
+ header?: never;
417
+ path?: never;
418
+ cookie?: never;
419
+ };
420
+ get?: never;
421
+ put?: never;
422
+ /**
423
+ * Cancel a running exec
424
+ * @description Aborts a running exec. Idempotent; cancelling an exec that already
425
+ * finished returns its terminal result unchanged.
426
+ */
427
+ post: operations["cancelSandboxExec"];
428
+ delete?: never;
429
+ options?: never;
430
+ head?: never;
431
+ patch?: never;
432
+ trace?: never;
433
+ };
434
+ "/api/sandboxes/{sid}/start": {
435
+ parameters: {
436
+ query?: never;
437
+ header?: never;
438
+ path?: never;
439
+ cookie?: never;
440
+ };
441
+ get?: never;
442
+ put?: never;
443
+ /**
444
+ * Start or restart a sandbox
445
+ * @description Cold-boots the sandbox from its persisted configuration and disks. RAM
446
+ * and process state are not restored. Starting a pending or running
447
+ * sandbox is idempotent; a sandbox that is still stopping returns 409.
448
+ */
449
+ post: operations["startSandbox"];
450
+ delete?: never;
451
+ options?: never;
452
+ head?: never;
453
+ patch?: never;
454
+ trace?: never;
455
+ };
456
+ "/api/sandboxes/{sid}/stop": {
457
+ parameters: {
458
+ query?: never;
459
+ header?: never;
460
+ path?: never;
461
+ cookie?: never;
462
+ };
463
+ get?: never;
464
+ put?: never;
465
+ /**
466
+ * Stop a sandbox
467
+ * @description Shuts down the sandbox VM without taking a memory snapshot. The sandbox
468
+ * identity, configuration, and disks remain available for a later start.
469
+ */
470
+ post: operations["stopSandbox"];
471
+ delete?: never;
472
+ options?: never;
473
+ head?: never;
474
+ patch?: never;
475
+ trace?: never;
476
+ };
263
477
  }
264
478
  export type webhooks = Record<string, never>;
265
479
  export interface components {
@@ -270,6 +484,37 @@ export interface components {
270
484
  /** @example Invalid request parameters */
271
485
  error: string;
272
486
  };
487
+ ActivityEvent: {
488
+ accountId: string;
489
+ /**
490
+ * Format: uuid
491
+ * @description Unique, time-ordered event id.
492
+ */
493
+ eventId: string;
494
+ /** @example dsk-0123456789abcdef */
495
+ diskId: string;
496
+ /** @example disk.created */
497
+ eventType: string;
498
+ /**
499
+ * @description Event severity.
500
+ * @example error
501
+ * @enum {string}
502
+ */
503
+ level: "info" | "warning" | "error";
504
+ /** Format: date-time */
505
+ createdAt: string;
506
+ /** @description Event-specific attributes (e.g. diskName on disk.created; containerId, outcome, exitCode, failureClass on disk.exec). */
507
+ details: {
508
+ [key: string]: string;
509
+ };
510
+ };
511
+ ApiResponse_ActivityList: {
512
+ /** @example true */
513
+ success: boolean;
514
+ data: components["schemas"]["ActivityEvent"][];
515
+ /** @description Set when more events remain beyond this page. Pass it back as the `cursor` query parameter to fetch the next page. Absent on the last page. */
516
+ nextCursor?: string;
517
+ };
273
518
  ApiResponse_Empty: {
274
519
  /** @example true */
275
520
  success: boolean;
@@ -281,6 +526,115 @@ export interface components {
281
526
  message?: string;
282
527
  };
283
528
  };
529
+ /** @enum {string} */
530
+ SandboxState: "pending" | "running" | "stopping" | "stopped" | "exited" | "failed";
531
+ Sandbox: {
532
+ /** Format: uuid */
533
+ sandbox_id: string;
534
+ status: components["schemas"]["SandboxState"];
535
+ vcpu_count: number;
536
+ mem_size_mib: number;
537
+ /** @description Full lifetime budget applied independently to each powered-on session. */
538
+ max_ttl_seconds: number;
539
+ max_concurrent_execs: number;
540
+ port_mappings?: components["schemas"]["SandboxPortMapping"][];
541
+ /** Format: date-time */
542
+ created_at: string;
543
+ /** Format: date-time */
544
+ running_at?: string;
545
+ /** Format: date-time */
546
+ finished_at?: string;
547
+ /** Format: date-time */
548
+ last_active_at: string;
549
+ /**
550
+ * Format: date-time
551
+ * @description Current powered-on session deadline; absent while inactive.
552
+ */
553
+ expires_at?: string;
554
+ exit_reason?: string;
555
+ };
556
+ SandboxPortMapping: {
557
+ container_port: number;
558
+ /** @enum {string} */
559
+ protocol: "tcp" | "udp";
560
+ };
561
+ ApiResponse_Sandbox: {
562
+ /** @example true */
563
+ success: boolean;
564
+ data: components["schemas"]["Sandbox"];
565
+ };
566
+ /** @enum {string} */
567
+ SandboxExecState: "running" | "completed" | "failed" | "cancelled" | "timed_out";
568
+ SandboxExec: {
569
+ /** Format: uuid */
570
+ sandbox_id: string;
571
+ /** Format: uuid */
572
+ exec_id: string;
573
+ command: string;
574
+ status: components["schemas"]["SandboxExecState"];
575
+ exit_code?: number;
576
+ stdout?: string;
577
+ stderr?: string;
578
+ exit_reason?: string;
579
+ /** Format: int64 */
580
+ execute_time_ms?: number;
581
+ /** Format: date-time */
582
+ started_at: string;
583
+ /** Format: date-time */
584
+ finished_at?: string;
585
+ };
586
+ CreateSandboxRequest: {
587
+ vcpu_count?: number;
588
+ mem_size_mib?: number;
589
+ kernel?: string;
590
+ /**
591
+ * @description Base image for the sandbox root. Currently only `ubuntu:26.04` is supported.
592
+ * @default ubuntu:26.04
593
+ */
594
+ base_image: string;
595
+ port_mappings?: components["schemas"]["SandboxPortMapping"][];
596
+ /** @description Environment variables applied to every exec */
597
+ env?: {
598
+ [key: string]: string;
599
+ };
600
+ /** @description Lifetime budget applied independently to each powered-on session */
601
+ max_ttl_seconds?: number;
602
+ max_concurrent_execs?: number;
603
+ };
604
+ SandboxExecRequest: {
605
+ /** @description Shell command, run via `/bin/sh -c` */
606
+ command: string;
607
+ /** @description Allocate a TTY for the command */
608
+ command_tty?: boolean;
609
+ /** @description Extra environment variables for this command */
610
+ env?: {
611
+ [key: string]: string;
612
+ };
613
+ /**
614
+ * Format: int64
615
+ * @description Server-side execution deadline; the exec reports timed_out past it
616
+ */
617
+ timeout_seconds?: number;
618
+ };
619
+ ApiResponse_SandboxList: {
620
+ /** @example true */
621
+ success: boolean;
622
+ data: {
623
+ sandboxes?: components["schemas"]["Sandbox"][];
624
+ };
625
+ };
626
+ ApiResponse_SandboxExec: {
627
+ /** @example true */
628
+ success: boolean;
629
+ data: components["schemas"]["SandboxExec"];
630
+ };
631
+ ApiResponse_SandboxExecList: {
632
+ /** @example true */
633
+ success: boolean;
634
+ data: {
635
+ execs?: components["schemas"]["SandboxExec"][];
636
+ };
637
+ };
284
638
  CreateDiskRequest: {
285
639
  /**
286
640
  * @description Disk name (alphanumeric, dashes, underscores)
@@ -514,6 +868,8 @@ export interface components {
514
868
  expiresAt?: string;
515
869
  /** @description When true, the token can only be used for a single mount authentication. After the first successful mount, subsequent attempts are rejected. Consumed tokens remain visible in the disk's authorized users list. */
516
870
  oneUse?: boolean;
871
+ /** @description When true, the token grants read-only access. Mounts authenticated with this token reject writes with EROFS. */
872
+ readOnly?: boolean;
517
873
  };
518
874
  AwsStsUser: {
519
875
  /**
@@ -532,6 +888,8 @@ export interface components {
532
888
  expiresAt?: string;
533
889
  /** @description When true, the credential can only be used for a single mount authentication. */
534
890
  oneUse?: boolean;
891
+ /** @description When true, the credential grants read-only access. Mounts authenticated with this credential reject writes with EROFS. */
892
+ readOnly?: boolean;
535
893
  };
536
894
  DiskUser: components["schemas"]["TokenUser"] | components["schemas"]["AwsStsUser"];
537
895
  DiskResponse: {
@@ -682,6 +1040,8 @@ export interface components {
682
1040
  * @description When the one-use token was consumed (first successful mount auth). Absent if the token has not been consumed or is not one-use.
683
1041
  */
684
1042
  consumedAt?: string;
1043
+ /** @description Whether this token grants read-only access. */
1044
+ readOnly?: boolean;
685
1045
  /**
686
1046
  * @description Current lifecycle status of the token.
687
1047
  * @enum {string}
@@ -693,6 +1053,8 @@ export interface components {
693
1053
  /** @example true */
694
1054
  success: boolean;
695
1055
  data: components["schemas"]["DiskResponse"][];
1056
+ /** @description Set when more disks remain beyond this page. Pass it back as the `cursor` query parameter to fetch the next page. Absent on the last page. */
1057
+ nextCursor?: string;
696
1058
  };
697
1059
  ApiResponse_Disk: {
698
1060
  /** @example true */
@@ -726,6 +1088,46 @@ export interface components {
726
1088
  allowedIps: string[];
727
1089
  };
728
1090
  };
1091
+ DelegationEntry: {
1092
+ /**
1093
+ * @description ID of the client holding the delegation.
1094
+ * @example 12345
1095
+ */
1096
+ clientId: string;
1097
+ /**
1098
+ * Format: int64
1099
+ * @description Inode the delegation covers.
1100
+ */
1101
+ inodeId: number;
1102
+ /**
1103
+ * @description Absolute path of the inode, resolved best-effort. Omitted when the server could not resolve it.
1104
+ * @example workspace/data.db
1105
+ */
1106
+ path?: string;
1107
+ /** @description True while the delegation checkout is still in flight. */
1108
+ isPending: boolean;
1109
+ /** @description True when the holding client is no longer connected to the disk. */
1110
+ isOrphaned: boolean;
1111
+ };
1112
+ ApiResponse_Delegations: {
1113
+ /** @example true */
1114
+ success: boolean;
1115
+ data: {
1116
+ delegations: components["schemas"]["DelegationEntry"][];
1117
+ };
1118
+ };
1119
+ RevokeDelegationRequest: {
1120
+ /**
1121
+ * Format: int64
1122
+ * @description Inode the delegation covers.
1123
+ */
1124
+ inodeId: number;
1125
+ /**
1126
+ * @description ID of the client holding the delegation.
1127
+ * @example 12345
1128
+ */
1129
+ clientId: string;
1130
+ };
729
1131
  CreateApiTokenRequest: {
730
1132
  /** @description Token name */
731
1133
  name: string;
@@ -1034,7 +1436,13 @@ export interface components {
1034
1436
  parameters: {
1035
1437
  /** @description Disk ID (format `dsk-{16 hex chars}`) */
1036
1438
  DiskId: string;
1037
- /** @description Maximum number of items to return */
1439
+ /** @description Sandbox UUID */
1440
+ SandboxId: string;
1441
+ /** @description Exec UUID */
1442
+ ExecId: string;
1443
+ /** @description Hold the request for a completed start or exec result */
1444
+ Wait: boolean;
1445
+ /** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
1038
1446
  Limit: number;
1039
1447
  /** @description Pagination cursor from a previous response */
1040
1448
  Cursor: string;
@@ -1045,10 +1453,45 @@ export interface components {
1045
1453
  }
1046
1454
  export type $defs = Record<string, never>;
1047
1455
  export interface operations {
1456
+ listActivity: {
1457
+ parameters: {
1458
+ query?: {
1459
+ /** @description Maximum events to return per page (default 50). */
1460
+ limit?: number;
1461
+ /** @description Pagination cursor from a previous response */
1462
+ cursor?: components["parameters"]["Cursor"];
1463
+ /** @description Restrict to a single disk owned by the account. */
1464
+ diskId?: string;
1465
+ /** @description Restrict to the given event types (`disk.created`, `disk.deleted`, `disk.user_added`, `disk.user_removed`, `disk.exec`). Repeat the parameter to select multiple types. */
1466
+ eventType?: string[];
1467
+ /** @description Restrict to the given severity levels. Repeat the parameter to select multiple levels. */
1468
+ level?: ("info" | "warning" | "error")[];
1469
+ };
1470
+ header?: never;
1471
+ path?: never;
1472
+ cookie?: never;
1473
+ };
1474
+ requestBody?: never;
1475
+ responses: {
1476
+ /** @description Page of activity events */
1477
+ 200: {
1478
+ headers: {
1479
+ [name: string]: unknown;
1480
+ };
1481
+ content: {
1482
+ "application/json": components["schemas"]["ApiResponse_ActivityList"];
1483
+ };
1484
+ };
1485
+ 400: components["responses"]["ValidationError"];
1486
+ 401: components["responses"]["Unauthorized"];
1487
+ 404: components["responses"]["NotFound"];
1488
+ 500: components["responses"]["InternalError"];
1489
+ };
1490
+ };
1048
1491
  listDisks: {
1049
1492
  parameters: {
1050
1493
  query?: {
1051
- /** @description Maximum number of items to return */
1494
+ /** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
1052
1495
  limit?: components["parameters"]["Limit"];
1053
1496
  /** @description Pagination cursor from a previous response */
1054
1497
  cursor?: components["parameters"]["Cursor"];
@@ -1314,6 +1757,63 @@ export interface operations {
1314
1757
  500: components["responses"]["InternalError"];
1315
1758
  };
1316
1759
  };
1760
+ listDelegations: {
1761
+ parameters: {
1762
+ query?: never;
1763
+ header?: never;
1764
+ path: {
1765
+ /** @description Disk ID (format `dsk-{16 hex chars}`) */
1766
+ id: components["parameters"]["DiskId"];
1767
+ };
1768
+ cookie?: never;
1769
+ };
1770
+ requestBody?: never;
1771
+ responses: {
1772
+ /** @description Delegations currently held on the disk */
1773
+ 200: {
1774
+ headers: {
1775
+ [name: string]: unknown;
1776
+ };
1777
+ content: {
1778
+ "application/json": components["schemas"]["ApiResponse_Delegations"];
1779
+ };
1780
+ };
1781
+ 401: components["responses"]["Unauthorized"];
1782
+ 404: components["responses"]["NotFound"];
1783
+ 500: components["responses"]["InternalError"];
1784
+ };
1785
+ };
1786
+ revokeDelegation: {
1787
+ parameters: {
1788
+ query?: never;
1789
+ header?: never;
1790
+ path: {
1791
+ /** @description Disk ID (format `dsk-{16 hex chars}`) */
1792
+ id: components["parameters"]["DiskId"];
1793
+ };
1794
+ cookie?: never;
1795
+ };
1796
+ requestBody: {
1797
+ content: {
1798
+ "application/json": components["schemas"]["RevokeDelegationRequest"];
1799
+ };
1800
+ };
1801
+ responses: {
1802
+ /** @description Delegation revoked */
1803
+ 200: {
1804
+ headers: {
1805
+ [name: string]: unknown;
1806
+ };
1807
+ content: {
1808
+ "application/json": components["schemas"]["ApiResponse_Message"];
1809
+ };
1810
+ };
1811
+ 400: components["responses"]["ValidationError"];
1812
+ 401: components["responses"]["Unauthorized"];
1813
+ 404: components["responses"]["NotFound"];
1814
+ 500: components["responses"]["InternalError"];
1815
+ };
1816
+ };
1317
1817
  execDisk: {
1318
1818
  parameters: {
1319
1819
  query?: never;
@@ -1425,7 +1925,7 @@ export interface operations {
1425
1925
  listApiTokens: {
1426
1926
  parameters: {
1427
1927
  query?: {
1428
- /** @description Maximum number of items to return */
1928
+ /** @description Maximum number of items to return. Omit to return all items in a single unpaginated response; when set, the response may include a nextCursor to fetch the next page. */
1429
1929
  limit?: components["parameters"]["Limit"];
1430
1930
  /** @description Pagination cursor from a previous response */
1431
1931
  cursor?: components["parameters"]["Cursor"];
@@ -1502,4 +2002,313 @@ export interface operations {
1502
2002
  500: components["responses"]["InternalError"];
1503
2003
  };
1504
2004
  };
2005
+ listSandboxes: {
2006
+ parameters: {
2007
+ query?: {
2008
+ /** @description Only sandboxes that mount this disk */
2009
+ filesystem?: string;
2010
+ };
2011
+ header?: never;
2012
+ path?: never;
2013
+ cookie?: never;
2014
+ };
2015
+ requestBody?: never;
2016
+ responses: {
2017
+ /** @description Sandboxes for the account */
2018
+ 200: {
2019
+ headers: {
2020
+ [name: string]: unknown;
2021
+ };
2022
+ content: {
2023
+ "application/json": components["schemas"]["ApiResponse_SandboxList"];
2024
+ };
2025
+ };
2026
+ 400: components["responses"]["ValidationError"];
2027
+ 401: components["responses"]["Unauthorized"];
2028
+ 500: components["responses"]["InternalError"];
2029
+ };
2030
+ };
2031
+ createSandbox: {
2032
+ parameters: {
2033
+ query?: {
2034
+ /** @description Hold the request for a completed start or exec result */
2035
+ wait?: components["parameters"]["Wait"];
2036
+ };
2037
+ header?: never;
2038
+ path?: never;
2039
+ cookie?: never;
2040
+ };
2041
+ requestBody: {
2042
+ content: {
2043
+ "application/json": components["schemas"]["CreateSandboxRequest"];
2044
+ };
2045
+ };
2046
+ responses: {
2047
+ /** @description The sandbox was created */
2048
+ 202: {
2049
+ headers: {
2050
+ [name: string]: unknown;
2051
+ };
2052
+ content: {
2053
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2054
+ };
2055
+ };
2056
+ 400: components["responses"]["ValidationError"];
2057
+ 401: components["responses"]["Unauthorized"];
2058
+ /** @description Sandbox capacity reached */
2059
+ 429: {
2060
+ headers: {
2061
+ [name: string]: unknown;
2062
+ };
2063
+ content: {
2064
+ "application/json": components["schemas"]["ErrorResponse"];
2065
+ };
2066
+ };
2067
+ 500: components["responses"]["InternalError"];
2068
+ };
2069
+ };
2070
+ getSandbox: {
2071
+ parameters: {
2072
+ query?: never;
2073
+ header?: never;
2074
+ path: {
2075
+ /** @description Sandbox UUID */
2076
+ sid: components["parameters"]["SandboxId"];
2077
+ };
2078
+ cookie?: never;
2079
+ };
2080
+ requestBody?: never;
2081
+ responses: {
2082
+ /** @description The sandbox */
2083
+ 200: {
2084
+ headers: {
2085
+ [name: string]: unknown;
2086
+ };
2087
+ content: {
2088
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2089
+ };
2090
+ };
2091
+ 401: components["responses"]["Unauthorized"];
2092
+ 404: components["responses"]["NotFound"];
2093
+ 500: components["responses"]["InternalError"];
2094
+ };
2095
+ };
2096
+ listSandboxExecs: {
2097
+ parameters: {
2098
+ query?: never;
2099
+ header?: never;
2100
+ path: {
2101
+ /** @description Sandbox UUID */
2102
+ sid: components["parameters"]["SandboxId"];
2103
+ };
2104
+ cookie?: never;
2105
+ };
2106
+ requestBody?: never;
2107
+ responses: {
2108
+ /** @description Recent execs */
2109
+ 200: {
2110
+ headers: {
2111
+ [name: string]: unknown;
2112
+ };
2113
+ content: {
2114
+ "application/json": components["schemas"]["ApiResponse_SandboxExecList"];
2115
+ };
2116
+ };
2117
+ 401: components["responses"]["Unauthorized"];
2118
+ 404: components["responses"]["NotFound"];
2119
+ 500: components["responses"]["InternalError"];
2120
+ };
2121
+ };
2122
+ execInSandbox: {
2123
+ parameters: {
2124
+ query?: {
2125
+ /** @description Hold the request for a completed start or exec result */
2126
+ wait?: components["parameters"]["Wait"];
2127
+ };
2128
+ header?: never;
2129
+ path: {
2130
+ /** @description Sandbox UUID */
2131
+ sid: components["parameters"]["SandboxId"];
2132
+ };
2133
+ cookie?: never;
2134
+ };
2135
+ requestBody: {
2136
+ content: {
2137
+ "application/json": components["schemas"]["SandboxExecRequest"];
2138
+ };
2139
+ };
2140
+ responses: {
2141
+ /** @description The exec, terminal (result fields set) or still running */
2142
+ 202: {
2143
+ headers: {
2144
+ [name: string]: unknown;
2145
+ };
2146
+ content: {
2147
+ "application/json": components["schemas"]["ApiResponse_SandboxExec"];
2148
+ };
2149
+ };
2150
+ 400: components["responses"]["ValidationError"];
2151
+ 401: components["responses"]["Unauthorized"];
2152
+ 404: components["responses"]["NotFound"];
2153
+ /** @description The sandbox is not running */
2154
+ 409: {
2155
+ headers: {
2156
+ [name: string]: unknown;
2157
+ };
2158
+ content: {
2159
+ "application/json": components["schemas"]["ErrorResponse"];
2160
+ };
2161
+ };
2162
+ /** @description The sandbox's max_concurrent_execs cap is reached */
2163
+ 429: {
2164
+ headers: {
2165
+ [name: string]: unknown;
2166
+ };
2167
+ content: {
2168
+ "application/json": components["schemas"]["ErrorResponse"];
2169
+ };
2170
+ };
2171
+ 500: components["responses"]["InternalError"];
2172
+ };
2173
+ };
2174
+ getSandboxExec: {
2175
+ parameters: {
2176
+ query?: never;
2177
+ header?: never;
2178
+ path: {
2179
+ /** @description Sandbox UUID */
2180
+ sid: components["parameters"]["SandboxId"];
2181
+ /** @description Exec UUID */
2182
+ eid: components["parameters"]["ExecId"];
2183
+ };
2184
+ cookie?: never;
2185
+ };
2186
+ requestBody?: never;
2187
+ responses: {
2188
+ /** @description The exec; result fields are set once terminal */
2189
+ 200: {
2190
+ headers: {
2191
+ [name: string]: unknown;
2192
+ };
2193
+ content: {
2194
+ "application/json": components["schemas"]["ApiResponse_SandboxExec"];
2195
+ };
2196
+ };
2197
+ 401: components["responses"]["Unauthorized"];
2198
+ 404: components["responses"]["NotFound"];
2199
+ 500: components["responses"]["InternalError"];
2200
+ };
2201
+ };
2202
+ cancelSandboxExec: {
2203
+ parameters: {
2204
+ query?: never;
2205
+ header?: never;
2206
+ path: {
2207
+ /** @description Sandbox UUID */
2208
+ sid: components["parameters"]["SandboxId"];
2209
+ /** @description Exec UUID */
2210
+ eid: components["parameters"]["ExecId"];
2211
+ };
2212
+ cookie?: never;
2213
+ };
2214
+ requestBody?: never;
2215
+ responses: {
2216
+ /** @description The exec after the cancel */
2217
+ 200: {
2218
+ headers: {
2219
+ [name: string]: unknown;
2220
+ };
2221
+ content: {
2222
+ "application/json": components["schemas"]["ApiResponse_SandboxExec"];
2223
+ };
2224
+ };
2225
+ 401: components["responses"]["Unauthorized"];
2226
+ 404: components["responses"]["NotFound"];
2227
+ 500: components["responses"]["InternalError"];
2228
+ };
2229
+ };
2230
+ startSandbox: {
2231
+ parameters: {
2232
+ query?: {
2233
+ /** @description Hold the request for a completed start or exec result */
2234
+ wait?: components["parameters"]["Wait"];
2235
+ };
2236
+ header?: never;
2237
+ path: {
2238
+ /** @description Sandbox UUID */
2239
+ sid: components["parameters"]["SandboxId"];
2240
+ };
2241
+ cookie?: never;
2242
+ };
2243
+ requestBody?: never;
2244
+ responses: {
2245
+ /** @description The sandbox was already running */
2246
+ 200: {
2247
+ headers: {
2248
+ [name: string]: unknown;
2249
+ };
2250
+ content: {
2251
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2252
+ };
2253
+ };
2254
+ /** @description The sandbox start is pending */
2255
+ 202: {
2256
+ headers: {
2257
+ [name: string]: unknown;
2258
+ };
2259
+ content: {
2260
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2261
+ };
2262
+ };
2263
+ 400: components["responses"]["ValidationError"];
2264
+ 401: components["responses"]["Unauthorized"];
2265
+ 404: components["responses"]["NotFound"];
2266
+ /** @description The previous VM is still stopping */
2267
+ 409: {
2268
+ headers: {
2269
+ [name: string]: unknown;
2270
+ };
2271
+ content: {
2272
+ "application/json": components["schemas"]["ErrorResponse"];
2273
+ };
2274
+ };
2275
+ 500: components["responses"]["InternalError"];
2276
+ };
2277
+ };
2278
+ stopSandbox: {
2279
+ parameters: {
2280
+ query?: never;
2281
+ header?: never;
2282
+ path: {
2283
+ /** @description Sandbox UUID */
2284
+ sid: components["parameters"]["SandboxId"];
2285
+ };
2286
+ cookie?: never;
2287
+ };
2288
+ requestBody?: never;
2289
+ responses: {
2290
+ /** @description The sandbox was already inactive */
2291
+ 200: {
2292
+ headers: {
2293
+ [name: string]: unknown;
2294
+ };
2295
+ content: {
2296
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2297
+ };
2298
+ };
2299
+ /** @description The sandbox stop is in progress */
2300
+ 202: {
2301
+ headers: {
2302
+ [name: string]: unknown;
2303
+ };
2304
+ content: {
2305
+ "application/json": components["schemas"]["ApiResponse_Sandbox"];
2306
+ };
2307
+ };
2308
+ 400: components["responses"]["ValidationError"];
2309
+ 401: components["responses"]["Unauthorized"];
2310
+ 404: components["responses"]["NotFound"];
2311
+ 500: components["responses"]["InternalError"];
2312
+ };
2313
+ };
1505
2314
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@archildata/api-types",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "API types for the Archil control plane",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",