@zgeoff/imp-client 0.6.0 → 0.8.0

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.
package/dist/index.d.ts CHANGED
@@ -255,6 +255,14 @@ declare const impContract: {
255
255
  memoryMib: z.ZodOptional<z.ZodInt>;
256
256
  diskMib: z.ZodOptional<z.ZodInt>;
257
257
  httpPort: z.ZodOptional<z.ZodInt>;
258
+ policy: z.ZodOptional<z.ZodObject<{
259
+ mode: z.ZodEnum<{
260
+ box: "box";
261
+ none: "none";
262
+ open: "open";
263
+ }>;
264
+ allow: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
265
+ }, z.core.$strip>>;
258
266
  }, z.core.$strip>, z.ZodObject<{
259
267
  id: z.ZodString;
260
268
  name: z.ZodString;
@@ -308,6 +316,7 @@ declare const impContract: {
308
316
  imp: "imp";
309
317
  secret: "secret";
310
318
  session: "session";
319
+ "ssh-key": "ssh-key";
311
320
  token: "token";
312
321
  }>;
313
322
  name: z.ZodString;
@@ -324,6 +333,7 @@ declare const impContract: {
324
333
  imp: "imp";
325
334
  secret: "secret";
326
335
  session: "session";
336
+ "ssh-key": "ssh-key";
327
337
  token: "token";
328
338
  }>;
329
339
  name: z.ZodString;
@@ -434,6 +444,7 @@ declare const impContract: {
434
444
  imp: "imp";
435
445
  secret: "secret";
436
446
  session: "session";
447
+ "ssh-key": "ssh-key";
437
448
  token: "token";
438
449
  }>;
439
450
  name: z.ZodString;
@@ -450,6 +461,7 @@ declare const impContract: {
450
461
  imp: "imp";
451
462
  secret: "secret";
452
463
  session: "session";
464
+ "ssh-key": "ssh-key";
453
465
  token: "token";
454
466
  }>;
455
467
  name: z.ZodString;
@@ -562,6 +574,7 @@ declare const impContract: {
562
574
  imp: "imp";
563
575
  secret: "secret";
564
576
  session: "session";
577
+ "ssh-key": "ssh-key";
565
578
  token: "token";
566
579
  }>;
567
580
  name: z.ZodString;
@@ -578,6 +591,7 @@ declare const impContract: {
578
591
  imp: "imp";
579
592
  secret: "secret";
580
593
  session: "session";
594
+ "ssh-key": "ssh-key";
581
595
  token: "token";
582
596
  }>;
583
597
  name: z.ZodString;
@@ -649,6 +663,7 @@ declare const impContract: {
649
663
  imp: "imp";
650
664
  secret: "secret";
651
665
  session: "session";
666
+ "ssh-key": "ssh-key";
652
667
  token: "token";
653
668
  }>;
654
669
  name: z.ZodString;
@@ -665,6 +680,7 @@ declare const impContract: {
665
680
  imp: "imp";
666
681
  secret: "secret";
667
682
  session: "session";
683
+ "ssh-key": "ssh-key";
668
684
  token: "token";
669
685
  }>;
670
686
  name: z.ZodString;
@@ -777,6 +793,7 @@ declare const impContract: {
777
793
  imp: "imp";
778
794
  secret: "secret";
779
795
  session: "session";
796
+ "ssh-key": "ssh-key";
780
797
  token: "token";
781
798
  }>;
782
799
  name: z.ZodString;
@@ -793,6 +810,7 @@ declare const impContract: {
793
810
  imp: "imp";
794
811
  secret: "secret";
795
812
  session: "session";
813
+ "ssh-key": "ssh-key";
796
814
  token: "token";
797
815
  }>;
798
816
  name: z.ZodString;
@@ -905,6 +923,7 @@ declare const impContract: {
905
923
  imp: "imp";
906
924
  secret: "secret";
907
925
  session: "session";
926
+ "ssh-key": "ssh-key";
908
927
  token: "token";
909
928
  }>;
910
929
  name: z.ZodString;
@@ -921,6 +940,7 @@ declare const impContract: {
921
940
  imp: "imp";
922
941
  secret: "secret";
923
942
  session: "session";
943
+ "ssh-key": "ssh-key";
924
944
  token: "token";
925
945
  }>;
926
946
  name: z.ZodString;
@@ -1033,6 +1053,7 @@ declare const impContract: {
1033
1053
  imp: "imp";
1034
1054
  secret: "secret";
1035
1055
  session: "session";
1056
+ "ssh-key": "ssh-key";
1036
1057
  token: "token";
1037
1058
  }>;
1038
1059
  name: z.ZodString;
@@ -1049,6 +1070,7 @@ declare const impContract: {
1049
1070
  imp: "imp";
1050
1071
  secret: "secret";
1051
1072
  session: "session";
1073
+ "ssh-key": "ssh-key";
1052
1074
  token: "token";
1053
1075
  }>;
1054
1076
  name: z.ZodString;
@@ -1162,6 +1184,7 @@ declare const impContract: {
1162
1184
  imp: "imp";
1163
1185
  secret: "secret";
1164
1186
  session: "session";
1187
+ "ssh-key": "ssh-key";
1165
1188
  token: "token";
1166
1189
  }>;
1167
1190
  name: z.ZodString;
@@ -1178,6 +1201,7 @@ declare const impContract: {
1178
1201
  imp: "imp";
1179
1202
  secret: "secret";
1180
1203
  session: "session";
1204
+ "ssh-key": "ssh-key";
1181
1205
  token: "token";
1182
1206
  }>;
1183
1207
  name: z.ZodString;
@@ -1291,6 +1315,7 @@ declare const impContract: {
1291
1315
  imp: "imp";
1292
1316
  secret: "secret";
1293
1317
  session: "session";
1318
+ "ssh-key": "ssh-key";
1294
1319
  token: "token";
1295
1320
  }>;
1296
1321
  name: z.ZodString;
@@ -1307,6 +1332,7 @@ declare const impContract: {
1307
1332
  imp: "imp";
1308
1333
  secret: "secret";
1309
1334
  session: "session";
1335
+ "ssh-key": "ssh-key";
1310
1336
  token: "token";
1311
1337
  }>;
1312
1338
  name: z.ZodString;
@@ -1420,6 +1446,7 @@ declare const impContract: {
1420
1446
  imp: "imp";
1421
1447
  secret: "secret";
1422
1448
  session: "session";
1449
+ "ssh-key": "ssh-key";
1423
1450
  token: "token";
1424
1451
  }>;
1425
1452
  name: z.ZodString;
@@ -1436,6 +1463,7 @@ declare const impContract: {
1436
1463
  imp: "imp";
1437
1464
  secret: "secret";
1438
1465
  session: "session";
1466
+ "ssh-key": "ssh-key";
1439
1467
  token: "token";
1440
1468
  }>;
1441
1469
  name: z.ZodString;
@@ -1498,6 +1526,7 @@ declare const impContract: {
1498
1526
  }, z.core.$strip>, z.ZodObject<{
1499
1527
  local: z.ZodURL;
1500
1528
  https: z.ZodNullable<z.ZodURL>;
1529
+ service: z.ZodNullable<z.ZodURL>;
1501
1530
  tailnet: z.ZodNullable<z.ZodURL>;
1502
1531
  }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1503
1532
  NOT_FOUND: {
@@ -1511,6 +1540,207 @@ declare const impContract: {
1511
1540
  imp: "imp";
1512
1541
  secret: "secret";
1513
1542
  session: "session";
1543
+ "ssh-key": "ssh-key";
1544
+ token: "token";
1545
+ }>;
1546
+ name: z.ZodString;
1547
+ }, z.core.$strip>;
1548
+ };
1549
+ CONFLICT: {
1550
+ readonly message: "Already exists";
1551
+ readonly data: z.ZodObject<{
1552
+ kind: z.ZodEnum<{
1553
+ backup: "backup";
1554
+ checkpoint: "checkpoint";
1555
+ grant: "grant";
1556
+ image: "image";
1557
+ imp: "imp";
1558
+ secret: "secret";
1559
+ session: "session";
1560
+ "ssh-key": "ssh-key";
1561
+ token: "token";
1562
+ }>;
1563
+ name: z.ZodString;
1564
+ }, z.core.$strip>;
1565
+ };
1566
+ FORBIDDEN: {
1567
+ readonly message: "Not allowed";
1568
+ };
1569
+ PRECONDITION_FAILED: {
1570
+ readonly message: "Not possible on this host";
1571
+ };
1572
+ RAM_BUDGET_EXCEEDED: {
1573
+ readonly message: "Not enough RAM budget, even after sleeping idle imps";
1574
+ readonly status: 503;
1575
+ readonly data: z.ZodObject<{
1576
+ budgetMib: z.ZodInt;
1577
+ usedMib: z.ZodInt;
1578
+ requestedMib: z.ZodInt;
1579
+ }, z.core.$strip>;
1580
+ };
1581
+ SERVICE_UNAVAILABLE: {
1582
+ readonly message: "impd is stopping";
1583
+ };
1584
+ INVALID_STATE: {
1585
+ readonly message: "The imp is not in a state that allows this";
1586
+ readonly status: 409;
1587
+ readonly data: z.ZodObject<{
1588
+ state: z.ZodEnum<{
1589
+ creating: "creating";
1590
+ error: "error";
1591
+ running: "running";
1592
+ sleeping: "sleeping";
1593
+ stopped: "stopped";
1594
+ }>;
1595
+ allowed: z.ZodArray<z.ZodEnum<{
1596
+ creating: "creating";
1597
+ error: "error";
1598
+ running: "running";
1599
+ sleeping: "sleeping";
1600
+ stopped: "stopped";
1601
+ }>>;
1602
+ }, z.core.$strip>;
1603
+ };
1604
+ DISK_FULL: {
1605
+ readonly message: "Not enough free disk on the host";
1606
+ readonly status: 507;
1607
+ readonly data: z.ZodObject<{
1608
+ availableBytes: z.ZodInt;
1609
+ reserveBytes: z.ZodInt;
1610
+ requestedBytes: z.ZodInt;
1611
+ }, z.core.$strip>;
1612
+ };
1613
+ AGENT_OUTDATED: {
1614
+ readonly message: "The imp's agent is too old for this";
1615
+ readonly status: 409;
1616
+ };
1617
+ }>, Record<never, never>>;
1618
+ policy: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1619
+ name: z.ZodString;
1620
+ }, z.core.$strip>, z.ZodObject<{
1621
+ mode: z.ZodEnum<{
1622
+ box: "box";
1623
+ none: "none";
1624
+ open: "open";
1625
+ }>;
1626
+ allow: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1627
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1628
+ NOT_FOUND: {
1629
+ readonly message: "Not found";
1630
+ readonly data: z.ZodObject<{
1631
+ kind: z.ZodEnum<{
1632
+ backup: "backup";
1633
+ checkpoint: "checkpoint";
1634
+ grant: "grant";
1635
+ image: "image";
1636
+ imp: "imp";
1637
+ secret: "secret";
1638
+ session: "session";
1639
+ "ssh-key": "ssh-key";
1640
+ token: "token";
1641
+ }>;
1642
+ name: z.ZodString;
1643
+ }, z.core.$strip>;
1644
+ };
1645
+ CONFLICT: {
1646
+ readonly message: "Already exists";
1647
+ readonly data: z.ZodObject<{
1648
+ kind: z.ZodEnum<{
1649
+ backup: "backup";
1650
+ checkpoint: "checkpoint";
1651
+ grant: "grant";
1652
+ image: "image";
1653
+ imp: "imp";
1654
+ secret: "secret";
1655
+ session: "session";
1656
+ "ssh-key": "ssh-key";
1657
+ token: "token";
1658
+ }>;
1659
+ name: z.ZodString;
1660
+ }, z.core.$strip>;
1661
+ };
1662
+ FORBIDDEN: {
1663
+ readonly message: "Not allowed";
1664
+ };
1665
+ PRECONDITION_FAILED: {
1666
+ readonly message: "Not possible on this host";
1667
+ };
1668
+ RAM_BUDGET_EXCEEDED: {
1669
+ readonly message: "Not enough RAM budget, even after sleeping idle imps";
1670
+ readonly status: 503;
1671
+ readonly data: z.ZodObject<{
1672
+ budgetMib: z.ZodInt;
1673
+ usedMib: z.ZodInt;
1674
+ requestedMib: z.ZodInt;
1675
+ }, z.core.$strip>;
1676
+ };
1677
+ SERVICE_UNAVAILABLE: {
1678
+ readonly message: "impd is stopping";
1679
+ };
1680
+ INVALID_STATE: {
1681
+ readonly message: "The imp is not in a state that allows this";
1682
+ readonly status: 409;
1683
+ readonly data: z.ZodObject<{
1684
+ state: z.ZodEnum<{
1685
+ creating: "creating";
1686
+ error: "error";
1687
+ running: "running";
1688
+ sleeping: "sleeping";
1689
+ stopped: "stopped";
1690
+ }>;
1691
+ allowed: z.ZodArray<z.ZodEnum<{
1692
+ creating: "creating";
1693
+ error: "error";
1694
+ running: "running";
1695
+ sleeping: "sleeping";
1696
+ stopped: "stopped";
1697
+ }>>;
1698
+ }, z.core.$strip>;
1699
+ };
1700
+ DISK_FULL: {
1701
+ readonly message: "Not enough free disk on the host";
1702
+ readonly status: 507;
1703
+ readonly data: z.ZodObject<{
1704
+ availableBytes: z.ZodInt;
1705
+ reserveBytes: z.ZodInt;
1706
+ requestedBytes: z.ZodInt;
1707
+ }, z.core.$strip>;
1708
+ };
1709
+ AGENT_OUTDATED: {
1710
+ readonly message: "The imp's agent is too old for this";
1711
+ readonly status: 409;
1712
+ };
1713
+ }>, Record<never, never>>;
1714
+ setPolicy: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
1715
+ name: z.ZodString;
1716
+ policy: z.ZodObject<{
1717
+ mode: z.ZodEnum<{
1718
+ box: "box";
1719
+ none: "none";
1720
+ open: "open";
1721
+ }>;
1722
+ allow: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1723
+ }, z.core.$strip>;
1724
+ }, z.core.$strip>, z.ZodObject<{
1725
+ mode: z.ZodEnum<{
1726
+ box: "box";
1727
+ none: "none";
1728
+ open: "open";
1729
+ }>;
1730
+ allow: z.ZodDefault<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
1731
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
1732
+ NOT_FOUND: {
1733
+ readonly message: "Not found";
1734
+ readonly data: z.ZodObject<{
1735
+ kind: z.ZodEnum<{
1736
+ backup: "backup";
1737
+ checkpoint: "checkpoint";
1738
+ grant: "grant";
1739
+ image: "image";
1740
+ imp: "imp";
1741
+ secret: "secret";
1742
+ session: "session";
1743
+ "ssh-key": "ssh-key";
1514
1744
  token: "token";
1515
1745
  }>;
1516
1746
  name: z.ZodString;
@@ -1527,6 +1757,7 @@ declare const impContract: {
1527
1757
  imp: "imp";
1528
1758
  secret: "secret";
1529
1759
  session: "session";
1760
+ "ssh-key": "ssh-key";
1530
1761
  token: "token";
1531
1762
  }>;
1532
1763
  name: z.ZodString;
@@ -1641,6 +1872,7 @@ declare const impContract: {
1641
1872
  imp: "imp";
1642
1873
  secret: "secret";
1643
1874
  session: "session";
1875
+ "ssh-key": "ssh-key";
1644
1876
  token: "token";
1645
1877
  }>;
1646
1878
  name: z.ZodString;
@@ -1657,6 +1889,7 @@ declare const impContract: {
1657
1889
  imp: "imp";
1658
1890
  secret: "secret";
1659
1891
  session: "session";
1892
+ "ssh-key": "ssh-key";
1660
1893
  token: "token";
1661
1894
  }>;
1662
1895
  name: z.ZodString;
@@ -1737,6 +1970,7 @@ declare const impContract: {
1737
1970
  imp: "imp";
1738
1971
  secret: "secret";
1739
1972
  session: "session";
1973
+ "ssh-key": "ssh-key";
1740
1974
  token: "token";
1741
1975
  }>;
1742
1976
  name: z.ZodString;
@@ -1753,6 +1987,7 @@ declare const impContract: {
1753
1987
  imp: "imp";
1754
1988
  secret: "secret";
1755
1989
  session: "session";
1990
+ "ssh-key": "ssh-key";
1756
1991
  token: "token";
1757
1992
  }>;
1758
1993
  name: z.ZodString;
@@ -1830,6 +2065,7 @@ declare const impContract: {
1830
2065
  imp: "imp";
1831
2066
  secret: "secret";
1832
2067
  session: "session";
2068
+ "ssh-key": "ssh-key";
1833
2069
  token: "token";
1834
2070
  }>;
1835
2071
  name: z.ZodString;
@@ -1846,6 +2082,7 @@ declare const impContract: {
1846
2082
  imp: "imp";
1847
2083
  secret: "secret";
1848
2084
  session: "session";
2085
+ "ssh-key": "ssh-key";
1849
2086
  token: "token";
1850
2087
  }>;
1851
2088
  name: z.ZodString;
@@ -1959,6 +2196,7 @@ declare const impContract: {
1959
2196
  imp: "imp";
1960
2197
  secret: "secret";
1961
2198
  session: "session";
2199
+ "ssh-key": "ssh-key";
1962
2200
  token: "token";
1963
2201
  }>;
1964
2202
  name: z.ZodString;
@@ -1975,6 +2213,7 @@ declare const impContract: {
1975
2213
  imp: "imp";
1976
2214
  secret: "secret";
1977
2215
  session: "session";
2216
+ "ssh-key": "ssh-key";
1978
2217
  token: "token";
1979
2218
  }>;
1980
2219
  name: z.ZodString;
@@ -2047,6 +2286,7 @@ declare const impContract: {
2047
2286
  imp: "imp";
2048
2287
  secret: "secret";
2049
2288
  session: "session";
2289
+ "ssh-key": "ssh-key";
2050
2290
  token: "token";
2051
2291
  }>;
2052
2292
  name: z.ZodString;
@@ -2063,6 +2303,7 @@ declare const impContract: {
2063
2303
  imp: "imp";
2064
2304
  secret: "secret";
2065
2305
  session: "session";
2306
+ "ssh-key": "ssh-key";
2066
2307
  token: "token";
2067
2308
  }>;
2068
2309
  name: z.ZodString;
@@ -2143,6 +2384,7 @@ declare const impContract: {
2143
2384
  imp: "imp";
2144
2385
  secret: "secret";
2145
2386
  session: "session";
2387
+ "ssh-key": "ssh-key";
2146
2388
  token: "token";
2147
2389
  }>;
2148
2390
  name: z.ZodString;
@@ -2159,6 +2401,7 @@ declare const impContract: {
2159
2401
  imp: "imp";
2160
2402
  secret: "secret";
2161
2403
  session: "session";
2404
+ "ssh-key": "ssh-key";
2162
2405
  token: "token";
2163
2406
  }>;
2164
2407
  name: z.ZodString;
@@ -2240,6 +2483,7 @@ declare const impContract: {
2240
2483
  imp: "imp";
2241
2484
  secret: "secret";
2242
2485
  session: "session";
2486
+ "ssh-key": "ssh-key";
2243
2487
  token: "token";
2244
2488
  }>;
2245
2489
  name: z.ZodString;
@@ -2256,6 +2500,7 @@ declare const impContract: {
2256
2500
  imp: "imp";
2257
2501
  secret: "secret";
2258
2502
  session: "session";
2503
+ "ssh-key": "ssh-key";
2259
2504
  token: "token";
2260
2505
  }>;
2261
2506
  name: z.ZodString;
@@ -2379,6 +2624,7 @@ declare const impContract: {
2379
2624
  imp: "imp";
2380
2625
  secret: "secret";
2381
2626
  session: "session";
2627
+ "ssh-key": "ssh-key";
2382
2628
  token: "token";
2383
2629
  }>;
2384
2630
  name: z.ZodString;
@@ -2395,6 +2641,7 @@ declare const impContract: {
2395
2641
  imp: "imp";
2396
2642
  secret: "secret";
2397
2643
  session: "session";
2644
+ "ssh-key": "ssh-key";
2398
2645
  token: "token";
2399
2646
  }>;
2400
2647
  name: z.ZodString;
@@ -2466,6 +2713,7 @@ declare const impContract: {
2466
2713
  imp: "imp";
2467
2714
  secret: "secret";
2468
2715
  session: "session";
2716
+ "ssh-key": "ssh-key";
2469
2717
  token: "token";
2470
2718
  }>;
2471
2719
  name: z.ZodString;
@@ -2482,6 +2730,7 @@ declare const impContract: {
2482
2730
  imp: "imp";
2483
2731
  secret: "secret";
2484
2732
  session: "session";
2733
+ "ssh-key": "ssh-key";
2485
2734
  token: "token";
2486
2735
  }>;
2487
2736
  name: z.ZodString;
@@ -2560,6 +2809,7 @@ declare const impContract: {
2560
2809
  imp: "imp";
2561
2810
  secret: "secret";
2562
2811
  session: "session";
2812
+ "ssh-key": "ssh-key";
2563
2813
  token: "token";
2564
2814
  }>;
2565
2815
  name: z.ZodString;
@@ -2576,6 +2826,7 @@ declare const impContract: {
2576
2826
  imp: "imp";
2577
2827
  secret: "secret";
2578
2828
  session: "session";
2829
+ "ssh-key": "ssh-key";
2579
2830
  token: "token";
2580
2831
  }>;
2581
2832
  name: z.ZodString;
@@ -2655,6 +2906,7 @@ declare const impContract: {
2655
2906
  imp: "imp";
2656
2907
  secret: "secret";
2657
2908
  session: "session";
2909
+ "ssh-key": "ssh-key";
2658
2910
  token: "token";
2659
2911
  }>;
2660
2912
  name: z.ZodString;
@@ -2671,6 +2923,7 @@ declare const impContract: {
2671
2923
  imp: "imp";
2672
2924
  secret: "secret";
2673
2925
  session: "session";
2926
+ "ssh-key": "ssh-key";
2674
2927
  token: "token";
2675
2928
  }>;
2676
2929
  name: z.ZodString;
@@ -2751,6 +3004,7 @@ declare const impContract: {
2751
3004
  imp: "imp";
2752
3005
  secret: "secret";
2753
3006
  session: "session";
3007
+ "ssh-key": "ssh-key";
2754
3008
  token: "token";
2755
3009
  }>;
2756
3010
  name: z.ZodString;
@@ -2767,6 +3021,7 @@ declare const impContract: {
2767
3021
  imp: "imp";
2768
3022
  secret: "secret";
2769
3023
  session: "session";
3024
+ "ssh-key": "ssh-key";
2770
3025
  token: "token";
2771
3026
  }>;
2772
3027
  name: z.ZodString;
@@ -2838,6 +3093,7 @@ declare const impContract: {
2838
3093
  imp: "imp";
2839
3094
  secret: "secret";
2840
3095
  session: "session";
3096
+ "ssh-key": "ssh-key";
2841
3097
  token: "token";
2842
3098
  }>;
2843
3099
  name: z.ZodString;
@@ -2854,6 +3110,7 @@ declare const impContract: {
2854
3110
  imp: "imp";
2855
3111
  secret: "secret";
2856
3112
  session: "session";
3113
+ "ssh-key": "ssh-key";
2857
3114
  token: "token";
2858
3115
  }>;
2859
3116
  name: z.ZodString;
@@ -2930,6 +3187,7 @@ declare const impContract: {
2930
3187
  imp: "imp";
2931
3188
  secret: "secret";
2932
3189
  session: "session";
3190
+ "ssh-key": "ssh-key";
2933
3191
  token: "token";
2934
3192
  }>;
2935
3193
  name: z.ZodString;
@@ -2946,6 +3204,7 @@ declare const impContract: {
2946
3204
  imp: "imp";
2947
3205
  secret: "secret";
2948
3206
  session: "session";
3207
+ "ssh-key": "ssh-key";
2949
3208
  token: "token";
2950
3209
  }>;
2951
3210
  name: z.ZodString;
@@ -3035,6 +3294,7 @@ declare const impContract: {
3035
3294
  imp: "imp";
3036
3295
  secret: "secret";
3037
3296
  session: "session";
3297
+ "ssh-key": "ssh-key";
3038
3298
  token: "token";
3039
3299
  }>;
3040
3300
  name: z.ZodString;
@@ -3051,6 +3311,7 @@ declare const impContract: {
3051
3311
  imp: "imp";
3052
3312
  secret: "secret";
3053
3313
  session: "session";
3314
+ "ssh-key": "ssh-key";
3054
3315
  token: "token";
3055
3316
  }>;
3056
3317
  name: z.ZodString;
@@ -3123,6 +3384,7 @@ declare const impContract: {
3123
3384
  imp: "imp";
3124
3385
  secret: "secret";
3125
3386
  session: "session";
3387
+ "ssh-key": "ssh-key";
3126
3388
  token: "token";
3127
3389
  }>;
3128
3390
  name: z.ZodString;
@@ -3139,6 +3401,7 @@ declare const impContract: {
3139
3401
  imp: "imp";
3140
3402
  secret: "secret";
3141
3403
  session: "session";
3404
+ "ssh-key": "ssh-key";
3142
3405
  token: "token";
3143
3406
  }>;
3144
3407
  name: z.ZodString;
@@ -3250,6 +3513,7 @@ declare const impContract: {
3250
3513
  imp: "imp";
3251
3514
  secret: "secret";
3252
3515
  session: "session";
3516
+ "ssh-key": "ssh-key";
3253
3517
  token: "token";
3254
3518
  }>;
3255
3519
  name: z.ZodString;
@@ -3266,6 +3530,7 @@ declare const impContract: {
3266
3530
  imp: "imp";
3267
3531
  secret: "secret";
3268
3532
  session: "session";
3533
+ "ssh-key": "ssh-key";
3269
3534
  token: "token";
3270
3535
  }>;
3271
3536
  name: z.ZodString;
@@ -3355,6 +3620,7 @@ declare const impContract: {
3355
3620
  imp: "imp";
3356
3621
  secret: "secret";
3357
3622
  session: "session";
3623
+ "ssh-key": "ssh-key";
3358
3624
  token: "token";
3359
3625
  }>;
3360
3626
  name: z.ZodString;
@@ -3371,6 +3637,7 @@ declare const impContract: {
3371
3637
  imp: "imp";
3372
3638
  secret: "secret";
3373
3639
  session: "session";
3640
+ "ssh-key": "ssh-key";
3374
3641
  token: "token";
3375
3642
  }>;
3376
3643
  name: z.ZodString;
@@ -3442,6 +3709,7 @@ declare const impContract: {
3442
3709
  imp: "imp";
3443
3710
  secret: "secret";
3444
3711
  session: "session";
3712
+ "ssh-key": "ssh-key";
3445
3713
  token: "token";
3446
3714
  }>;
3447
3715
  name: z.ZodString;
@@ -3458,6 +3726,7 @@ declare const impContract: {
3458
3726
  imp: "imp";
3459
3727
  secret: "secret";
3460
3728
  session: "session";
3729
+ "ssh-key": "ssh-key";
3461
3730
  token: "token";
3462
3731
  }>;
3463
3732
  name: z.ZodString;
@@ -3532,6 +3801,7 @@ declare const impContract: {
3532
3801
  imp: "imp";
3533
3802
  secret: "secret";
3534
3803
  session: "session";
3804
+ "ssh-key": "ssh-key";
3535
3805
  token: "token";
3536
3806
  }>;
3537
3807
  name: z.ZodString;
@@ -3548,6 +3818,7 @@ declare const impContract: {
3548
3818
  imp: "imp";
3549
3819
  secret: "secret";
3550
3820
  session: "session";
3821
+ "ssh-key": "ssh-key";
3551
3822
  token: "token";
3552
3823
  }>;
3553
3824
  name: z.ZodString;
@@ -3620,6 +3891,7 @@ declare const impContract: {
3620
3891
  imp: "imp";
3621
3892
  secret: "secret";
3622
3893
  session: "session";
3894
+ "ssh-key": "ssh-key";
3623
3895
  token: "token";
3624
3896
  }>;
3625
3897
  name: z.ZodString;
@@ -3636,6 +3908,7 @@ declare const impContract: {
3636
3908
  imp: "imp";
3637
3909
  secret: "secret";
3638
3910
  session: "session";
3911
+ "ssh-key": "ssh-key";
3639
3912
  token: "token";
3640
3913
  }>;
3641
3914
  name: z.ZodString;
@@ -3707,6 +3980,7 @@ declare const impContract: {
3707
3980
  imp: "imp";
3708
3981
  secret: "secret";
3709
3982
  session: "session";
3983
+ "ssh-key": "ssh-key";
3710
3984
  token: "token";
3711
3985
  }>;
3712
3986
  name: z.ZodString;
@@ -3723,6 +3997,7 @@ declare const impContract: {
3723
3997
  imp: "imp";
3724
3998
  secret: "secret";
3725
3999
  session: "session";
4000
+ "ssh-key": "ssh-key";
3726
4001
  token: "token";
3727
4002
  }>;
3728
4003
  name: z.ZodString;
@@ -3808,6 +4083,7 @@ declare const impContract: {
3808
4083
  imp: "imp";
3809
4084
  secret: "secret";
3810
4085
  session: "session";
4086
+ "ssh-key": "ssh-key";
3811
4087
  token: "token";
3812
4088
  }>;
3813
4089
  name: z.ZodString;
@@ -3824,6 +4100,7 @@ declare const impContract: {
3824
4100
  imp: "imp";
3825
4101
  secret: "secret";
3826
4102
  session: "session";
4103
+ "ssh-key": "ssh-key";
3827
4104
  token: "token";
3828
4105
  }>;
3829
4106
  name: z.ZodString;
@@ -3909,6 +4186,7 @@ declare const impContract: {
3909
4186
  imp: "imp";
3910
4187
  secret: "secret";
3911
4188
  session: "session";
4189
+ "ssh-key": "ssh-key";
3912
4190
  token: "token";
3913
4191
  }>;
3914
4192
  name: z.ZodString;
@@ -3925,6 +4203,7 @@ declare const impContract: {
3925
4203
  imp: "imp";
3926
4204
  secret: "secret";
3927
4205
  session: "session";
4206
+ "ssh-key": "ssh-key";
3928
4207
  token: "token";
3929
4208
  }>;
3930
4209
  name: z.ZodString;
@@ -4290,6 +4569,7 @@ declare const impContract: {
4290
4569
  imp: "imp";
4291
4570
  secret: "secret";
4292
4571
  session: "session";
4572
+ "ssh-key": "ssh-key";
4293
4573
  token: "token";
4294
4574
  }>;
4295
4575
  name: z.ZodString;
@@ -4306,6 +4586,7 @@ declare const impContract: {
4306
4586
  imp: "imp";
4307
4587
  secret: "secret";
4308
4588
  session: "session";
4589
+ "ssh-key": "ssh-key";
4309
4590
  token: "token";
4310
4591
  }>;
4311
4592
  name: z.ZodString;
@@ -4407,6 +4688,13 @@ declare const impContract: {
4407
4688
  state: z.ZodNullable<z.ZodString>;
4408
4689
  hostname: z.ZodNullable<z.ZodString>;
4409
4690
  ip: z.ZodNullable<z.ZodString>;
4691
+ names: z.ZodNullable<z.ZodObject<{
4692
+ live: z.ZodInt;
4693
+ failed: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4694
+ name: z.ZodString;
4695
+ error: z.ZodString;
4696
+ }, z.core.$strip>>>;
4697
+ }, z.core.$strip>>;
4410
4698
  }, z.core.$strip>;
4411
4699
  }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4412
4700
  NOT_FOUND: {
@@ -4420,6 +4708,7 @@ declare const impContract: {
4420
4708
  imp: "imp";
4421
4709
  secret: "secret";
4422
4710
  session: "session";
4711
+ "ssh-key": "ssh-key";
4423
4712
  token: "token";
4424
4713
  }>;
4425
4714
  name: z.ZodString;
@@ -4436,6 +4725,7 @@ declare const impContract: {
4436
4725
  imp: "imp";
4437
4726
  secret: "secret";
4438
4727
  session: "session";
4728
+ "ssh-key": "ssh-key";
4439
4729
  token: "token";
4440
4730
  }>;
4441
4731
  name: z.ZodString;
@@ -4519,6 +4809,7 @@ declare const impContract: {
4519
4809
  imp: "imp";
4520
4810
  secret: "secret";
4521
4811
  session: "session";
4812
+ "ssh-key": "ssh-key";
4522
4813
  token: "token";
4523
4814
  }>;
4524
4815
  name: z.ZodString;
@@ -4535,6 +4826,7 @@ declare const impContract: {
4535
4826
  imp: "imp";
4536
4827
  secret: "secret";
4537
4828
  session: "session";
4829
+ "ssh-key": "ssh-key";
4538
4830
  token: "token";
4539
4831
  }>;
4540
4832
  name: z.ZodString;
@@ -4602,6 +4894,11 @@ declare const impContract: {
4602
4894
  read: "read";
4603
4895
  }>;
4604
4896
  imps: z.ZodNullable<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
4897
+ sshKeys: z.ZodReadonly<z.ZodArray<z.ZodObject<{
4898
+ fingerprint: z.ZodString;
4899
+ type: z.ZodString;
4900
+ comment: z.ZodString;
4901
+ }, z.core.$strip>>>;
4605
4902
  createdAt: z.ZodDate;
4606
4903
  }, z.core.$strip>>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
4607
4904
  NOT_FOUND: {
@@ -4615,6 +4912,7 @@ declare const impContract: {
4615
4912
  imp: "imp";
4616
4913
  secret: "secret";
4617
4914
  session: "session";
4915
+ "ssh-key": "ssh-key";
4618
4916
  token: "token";
4619
4917
  }>;
4620
4918
  name: z.ZodString;
@@ -4631,6 +4929,7 @@ declare const impContract: {
4631
4929
  imp: "imp";
4632
4930
  secret: "secret";
4633
4931
  session: "session";
4932
+ "ssh-key": "ssh-key";
4634
4933
  token: "token";
4635
4934
  }>;
4636
4935
  name: z.ZodString;
@@ -4696,6 +4995,7 @@ declare const impContract: {
4696
4995
  read: "read";
4697
4996
  }>;
4698
4997
  imps: z.ZodOptional<z.ZodArray<z.ZodString>>;
4998
+ sshKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
4699
4999
  }, z.core.$strip>, z.ZodObject<{
4700
5000
  token: z.ZodObject<{
4701
5001
  name: z.ZodString;
@@ -4705,6 +5005,11 @@ declare const impContract: {
4705
5005
  read: "read";
4706
5006
  }>;
4707
5007
  imps: z.ZodNullable<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
5008
+ sshKeys: z.ZodReadonly<z.ZodArray<z.ZodObject<{
5009
+ fingerprint: z.ZodString;
5010
+ type: z.ZodString;
5011
+ comment: z.ZodString;
5012
+ }, z.core.$strip>>>;
4708
5013
  createdAt: z.ZodDate;
4709
5014
  }, z.core.$strip>;
4710
5015
  secret: z.ZodString;
@@ -4720,6 +5025,7 @@ declare const impContract: {
4720
5025
  imp: "imp";
4721
5026
  secret: "secret";
4722
5027
  session: "session";
5028
+ "ssh-key": "ssh-key";
4723
5029
  token: "token";
4724
5030
  }>;
4725
5031
  name: z.ZodString;
@@ -4736,6 +5042,7 @@ declare const impContract: {
4736
5042
  imp: "imp";
4737
5043
  secret: "secret";
4738
5044
  session: "session";
5045
+ "ssh-key": "ssh-key";
4739
5046
  token: "token";
4740
5047
  }>;
4741
5048
  name: z.ZodString;
@@ -4807,6 +5114,191 @@ declare const impContract: {
4807
5114
  imp: "imp";
4808
5115
  secret: "secret";
4809
5116
  session: "session";
5117
+ "ssh-key": "ssh-key";
5118
+ token: "token";
5119
+ }>;
5120
+ name: z.ZodString;
5121
+ }, z.core.$strip>;
5122
+ };
5123
+ CONFLICT: {
5124
+ readonly message: "Already exists";
5125
+ readonly data: z.ZodObject<{
5126
+ kind: z.ZodEnum<{
5127
+ backup: "backup";
5128
+ checkpoint: "checkpoint";
5129
+ grant: "grant";
5130
+ image: "image";
5131
+ imp: "imp";
5132
+ secret: "secret";
5133
+ session: "session";
5134
+ "ssh-key": "ssh-key";
5135
+ token: "token";
5136
+ }>;
5137
+ name: z.ZodString;
5138
+ }, z.core.$strip>;
5139
+ };
5140
+ FORBIDDEN: {
5141
+ readonly message: "Not allowed";
5142
+ };
5143
+ PRECONDITION_FAILED: {
5144
+ readonly message: "Not possible on this host";
5145
+ };
5146
+ RAM_BUDGET_EXCEEDED: {
5147
+ readonly message: "Not enough RAM budget, even after sleeping idle imps";
5148
+ readonly status: 503;
5149
+ readonly data: z.ZodObject<{
5150
+ budgetMib: z.ZodInt;
5151
+ usedMib: z.ZodInt;
5152
+ requestedMib: z.ZodInt;
5153
+ }, z.core.$strip>;
5154
+ };
5155
+ SERVICE_UNAVAILABLE: {
5156
+ readonly message: "impd is stopping";
5157
+ };
5158
+ INVALID_STATE: {
5159
+ readonly message: "The imp is not in a state that allows this";
5160
+ readonly status: 409;
5161
+ readonly data: z.ZodObject<{
5162
+ state: z.ZodEnum<{
5163
+ creating: "creating";
5164
+ error: "error";
5165
+ running: "running";
5166
+ sleeping: "sleeping";
5167
+ stopped: "stopped";
5168
+ }>;
5169
+ allowed: z.ZodArray<z.ZodEnum<{
5170
+ creating: "creating";
5171
+ error: "error";
5172
+ running: "running";
5173
+ sleeping: "sleeping";
5174
+ stopped: "stopped";
5175
+ }>>;
5176
+ }, z.core.$strip>;
5177
+ };
5178
+ DISK_FULL: {
5179
+ readonly message: "Not enough free disk on the host";
5180
+ readonly status: 507;
5181
+ readonly data: z.ZodObject<{
5182
+ availableBytes: z.ZodInt;
5183
+ reserveBytes: z.ZodInt;
5184
+ requestedBytes: z.ZodInt;
5185
+ }, z.core.$strip>;
5186
+ };
5187
+ AGENT_OUTDATED: {
5188
+ readonly message: "The imp's agent is too old for this";
5189
+ readonly status: 409;
5190
+ };
5191
+ }>, Record<never, never>>;
5192
+ addKey: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
5193
+ name: z.ZodString;
5194
+ key: z.ZodString;
5195
+ }, z.core.$strip>, z.ZodObject<{
5196
+ fingerprint: z.ZodString;
5197
+ type: z.ZodString;
5198
+ comment: z.ZodString;
5199
+ }, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
5200
+ NOT_FOUND: {
5201
+ readonly message: "Not found";
5202
+ readonly data: z.ZodObject<{
5203
+ kind: z.ZodEnum<{
5204
+ backup: "backup";
5205
+ checkpoint: "checkpoint";
5206
+ grant: "grant";
5207
+ image: "image";
5208
+ imp: "imp";
5209
+ secret: "secret";
5210
+ session: "session";
5211
+ "ssh-key": "ssh-key";
5212
+ token: "token";
5213
+ }>;
5214
+ name: z.ZodString;
5215
+ }, z.core.$strip>;
5216
+ };
5217
+ CONFLICT: {
5218
+ readonly message: "Already exists";
5219
+ readonly data: z.ZodObject<{
5220
+ kind: z.ZodEnum<{
5221
+ backup: "backup";
5222
+ checkpoint: "checkpoint";
5223
+ grant: "grant";
5224
+ image: "image";
5225
+ imp: "imp";
5226
+ secret: "secret";
5227
+ session: "session";
5228
+ "ssh-key": "ssh-key";
5229
+ token: "token";
5230
+ }>;
5231
+ name: z.ZodString;
5232
+ }, z.core.$strip>;
5233
+ };
5234
+ FORBIDDEN: {
5235
+ readonly message: "Not allowed";
5236
+ };
5237
+ PRECONDITION_FAILED: {
5238
+ readonly message: "Not possible on this host";
5239
+ };
5240
+ RAM_BUDGET_EXCEEDED: {
5241
+ readonly message: "Not enough RAM budget, even after sleeping idle imps";
5242
+ readonly status: 503;
5243
+ readonly data: z.ZodObject<{
5244
+ budgetMib: z.ZodInt;
5245
+ usedMib: z.ZodInt;
5246
+ requestedMib: z.ZodInt;
5247
+ }, z.core.$strip>;
5248
+ };
5249
+ SERVICE_UNAVAILABLE: {
5250
+ readonly message: "impd is stopping";
5251
+ };
5252
+ INVALID_STATE: {
5253
+ readonly message: "The imp is not in a state that allows this";
5254
+ readonly status: 409;
5255
+ readonly data: z.ZodObject<{
5256
+ state: z.ZodEnum<{
5257
+ creating: "creating";
5258
+ error: "error";
5259
+ running: "running";
5260
+ sleeping: "sleeping";
5261
+ stopped: "stopped";
5262
+ }>;
5263
+ allowed: z.ZodArray<z.ZodEnum<{
5264
+ creating: "creating";
5265
+ error: "error";
5266
+ running: "running";
5267
+ sleeping: "sleeping";
5268
+ stopped: "stopped";
5269
+ }>>;
5270
+ }, z.core.$strip>;
5271
+ };
5272
+ DISK_FULL: {
5273
+ readonly message: "Not enough free disk on the host";
5274
+ readonly status: 507;
5275
+ readonly data: z.ZodObject<{
5276
+ availableBytes: z.ZodInt;
5277
+ reserveBytes: z.ZodInt;
5278
+ requestedBytes: z.ZodInt;
5279
+ }, z.core.$strip>;
5280
+ };
5281
+ AGENT_OUTDATED: {
5282
+ readonly message: "The imp's agent is too old for this";
5283
+ readonly status: 409;
5284
+ };
5285
+ }>, Record<never, never>>;
5286
+ removeKey: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
5287
+ name: z.ZodString;
5288
+ fingerprint: z.ZodString;
5289
+ }, z.core.$strip>, z.ZodObject<{}, z.core.$strip>, import("@orpc/contract").MergedErrorMap<Record<never, never>, {
5290
+ NOT_FOUND: {
5291
+ readonly message: "Not found";
5292
+ readonly data: z.ZodObject<{
5293
+ kind: z.ZodEnum<{
5294
+ backup: "backup";
5295
+ checkpoint: "checkpoint";
5296
+ grant: "grant";
5297
+ image: "image";
5298
+ imp: "imp";
5299
+ secret: "secret";
5300
+ session: "session";
5301
+ "ssh-key": "ssh-key";
4810
5302
  token: "token";
4811
5303
  }>;
4812
5304
  name: z.ZodString;
@@ -4823,6 +5315,7 @@ declare const impContract: {
4823
5315
  imp: "imp";
4824
5316
  secret: "secret";
4825
5317
  session: "session";
5318
+ "ssh-key": "ssh-key";
4826
5319
  token: "token";
4827
5320
  }>;
4828
5321
  name: z.ZodString;
@@ -4906,6 +5399,7 @@ declare const impContract: {
4906
5399
  imp: "imp";
4907
5400
  secret: "secret";
4908
5401
  session: "session";
5402
+ "ssh-key": "ssh-key";
4909
5403
  token: "token";
4910
5404
  }>;
4911
5405
  name: z.ZodString;
@@ -4922,6 +5416,7 @@ declare const impContract: {
4922
5416
  imp: "imp";
4923
5417
  secret: "secret";
4924
5418
  session: "session";
5419
+ "ssh-key": "ssh-key";
4925
5420
  token: "token";
4926
5421
  }>;
4927
5422
  name: z.ZodString;
@@ -5102,6 +5597,13 @@ declare const SystemInfoSchema: z.ZodObject<{
5102
5597
  state: z.ZodNullable<z.ZodString>;
5103
5598
  hostname: z.ZodNullable<z.ZodString>;
5104
5599
  ip: z.ZodNullable<z.ZodString>;
5600
+ names: z.ZodNullable<z.ZodObject<{
5601
+ live: z.ZodInt;
5602
+ failed: z.ZodReadonly<z.ZodArray<z.ZodObject<{
5603
+ name: z.ZodString;
5604
+ error: z.ZodString;
5605
+ }, z.core.$strip>>>;
5606
+ }, z.core.$strip>>;
5105
5607
  }, z.core.$strip>;
5106
5608
  }, z.core.$strip>;
5107
5609
  type SystemInfo = z.infer<typeof SystemInfoSchema>;
@@ -5113,6 +5615,12 @@ declare const ScopeSchema: z.ZodEnum<{
5113
5615
  read: "read";
5114
5616
  }>;
5115
5617
  type Scope = z.infer<typeof ScopeSchema>;
5618
+ declare const SshKeySchema: z.ZodObject<{
5619
+ fingerprint: z.ZodString;
5620
+ type: z.ZodString;
5621
+ comment: z.ZodString;
5622
+ }, z.core.$strip>;
5623
+ type SshKey = z.infer<typeof SshKeySchema>;
5116
5624
  declare const TokenSchema: z.ZodObject<{
5117
5625
  name: z.ZodString;
5118
5626
  scope: z.ZodEnum<{
@@ -5121,6 +5629,11 @@ declare const TokenSchema: z.ZodObject<{
5121
5629
  read: "read";
5122
5630
  }>;
5123
5631
  imps: z.ZodNullable<z.ZodReadonly<z.ZodArray<z.ZodString>>>;
5632
+ sshKeys: z.ZodReadonly<z.ZodArray<z.ZodObject<{
5633
+ fingerprint: z.ZodString;
5634
+ type: z.ZodString;
5635
+ comment: z.ZodString;
5636
+ }, z.core.$strip>>>;
5124
5637
  createdAt: z.ZodDate;
5125
5638
  }, z.core.$strip>;
5126
5639
  type Token = z.infer<typeof TokenSchema>;
@@ -5159,6 +5672,7 @@ interface ExecStart {
5159
5672
  readonly cols?: number;
5160
5673
  readonly rows?: number;
5161
5674
  readonly session?: string;
5675
+ readonly killGraceMs?: number;
5162
5676
  }
5163
5677
  interface ExecAttach {
5164
5678
  readonly name: string;
@@ -5170,6 +5684,7 @@ interface ExecStarted {
5170
5684
  readonly pid: number;
5171
5685
  readonly session: string | null;
5172
5686
  readonly created: boolean;
5687
+ readonly groupKill: boolean;
5173
5688
  }
5174
5689
  type ExecOutcome = {
5175
5690
  readonly kind: 'exit';
@@ -5200,6 +5715,7 @@ type ExecOutcome = {
5200
5715
  readonly kind: 'local_error';
5201
5716
  readonly error: unknown;
5202
5717
  };
5718
+ type ExecSocket = Pick<WebSocket, 'binaryType' | 'readyState' | 'bufferedAmount' | 'send' | 'close' | 'addEventListener'>;
5203
5719
  interface ExecSessionOptions {
5204
5720
  readonly baseUrl: string;
5205
5721
  readonly token: string | null;
@@ -5207,7 +5723,7 @@ interface ExecSessionOptions {
5207
5723
  readonly start: ExecStart | ExecAttach;
5208
5724
  readonly onStarted: (started: ExecStarted) => void;
5209
5725
  readonly onOutput: (channel: 'stdout' | 'stderr', data: Uint8Array) => void;
5210
- readonly connect: (url: string, headers: Readonly<Record<string, string>>) => WebSocket;
5726
+ readonly connect: (url: string, headers: Readonly<Record<string, string>>) => ExecSocket;
5211
5727
  readonly fetch?: (request: Request) => Promise<Response>;
5212
5728
  }
5213
5729
  interface ExecSession {
@@ -5230,6 +5746,7 @@ interface ExecOptions {
5230
5746
  readonly cols?: number;
5231
5747
  readonly rows?: number;
5232
5748
  readonly session?: string;
5749
+ readonly killGraceMs?: number;
5233
5750
  readonly signal?: Readonly<AbortSignal>;
5234
5751
  readonly maxUnreadBytes?: number;
5235
5752
  }
@@ -5274,6 +5791,7 @@ interface ImpClientOptions {
5274
5791
  readonly url: string;
5275
5792
  readonly token?: string;
5276
5793
  readonly fetch?: (request: Request) => Promise<Response>;
5794
+ readonly connect?: (url: string) => ExecSocket;
5277
5795
  }
5278
5796
  interface ImpClient extends RpcClient {
5279
5797
  readonly requireAwake: (name: string, options?: RequireAwakeOptions) => Promise<Imp>;
@@ -5285,6 +5803,57 @@ interface ImpClient extends RpcClient {
5285
5803
  }
5286
5804
  export declare function createImpClient(options: Readonly<ImpClientOptions>): ImpClient;
5287
5805
  //#endregion
5806
+ //#region src/reverse/open-reverse-forward.d.ts
5807
+ type ReverseGuest = {
5808
+ readonly network: 'unix';
5809
+ readonly path: string | null;
5810
+ } | {
5811
+ readonly network: 'tcp';
5812
+ readonly port: number;
5813
+ };
5814
+ interface ReverseListening {
5815
+ readonly path: string | null;
5816
+ readonly port: number | null;
5817
+ }
5818
+ type ReverseForwardEnd = {
5819
+ readonly kind: 'stopped';
5820
+ } | {
5821
+ readonly kind: 'lost';
5822
+ } | {
5823
+ readonly kind: 'failed';
5824
+ readonly code: string | null;
5825
+ readonly message: string;
5826
+ } | {
5827
+ readonly kind: 'closed';
5828
+ readonly code: number;
5829
+ readonly reason: string;
5830
+ };
5831
+ interface ReverseRelayHandlers {
5832
+ readonly onData: (data: Uint8Array) => Promise<void> | void;
5833
+ readonly onEof: () => void;
5834
+ readonly onClose: (lost: boolean) => void;
5835
+ }
5836
+ interface ReverseRelay {
5837
+ readonly send: (data: Uint8Array) => boolean;
5838
+ readonly waitForRoom: () => Promise<void>;
5839
+ readonly sendEof: () => void;
5840
+ readonly close: () => void;
5841
+ }
5842
+ interface ReverseForwardOptions {
5843
+ readonly baseUrl: string;
5844
+ readonly token: string | null;
5845
+ readonly name: string;
5846
+ readonly guest: ReverseGuest;
5847
+ readonly connect: (url: string, headers: Readonly<Record<string, string>>) => WebSocket;
5848
+ readonly onConnection: (accept: (handlers: ReverseRelayHandlers) => ReverseRelay) => void;
5849
+ }
5850
+ interface ReverseForward {
5851
+ readonly listening: Promise<ReverseListening>;
5852
+ readonly ended: Promise<ReverseForwardEnd>;
5853
+ readonly stop: () => void;
5854
+ }
5855
+ export declare function openReverseForward(options: Readonly<ReverseForwardOptions>): ReverseForward;
5856
+ //#endregion
5288
5857
  //#region src/exec/exec-error.d.ts
5289
5858
  type ExecClientErrorCode = 'UNAUTHORIZED' | 'UNREACHABLE' | 'RESTARTING' | 'CONNECTION_CLOSED' | 'DETACHED' | 'BAD_MESSAGE' | 'CLOSED' | 'OUTPUT_OVERFLOW' | 'LOCAL_ERROR';
5290
5859
  export declare class ExecError extends Error {
@@ -5296,4 +5865,4 @@ export declare class ExecError extends Error {
5296
5865
  }>);
5297
5866
  }
5298
5867
  //#endregion
5299
- export { type ApiCall, type AttachOptions, type Checkpoint, type ConsoleOptions, type DetachReason, type ExecClientErrorCode, type ExecExit, type ExecHandle, type ExecOptions, type ExecOutcome, type ExecSession, type ExecSessionOptions, type ExecStarted, type Identity, type Image, type Imp, type ImpClient, type ImpClientOptions, type ImpEvent, type ImpState, ORPCError, type RequireAwakeOptions, type RunOptions, type RunResult, type Scope, type ServerCheck, type Session, type SystemInfo, type Token, isDefinedError, safe };
5868
+ export { type ApiCall, type AttachOptions, type Checkpoint, type ConsoleOptions, type DetachReason, type ExecClientErrorCode, type ExecExit, type ExecHandle, type ExecOptions, type ExecOutcome, type ExecSession, type ExecSessionOptions, type ExecSocket, type ExecStarted, type Identity, type Image, type Imp, type ImpClient, type ImpClientOptions, type ImpEvent, type ImpState, ORPCError, type RequireAwakeOptions, type ReverseForward, type ReverseForwardEnd, type ReverseForwardOptions, type ReverseGuest, type ReverseListening, type ReverseRelay, type ReverseRelayHandlers, type RunOptions, type RunResult, type Scope, type ServerCheck, type Session, type SshKey, type SystemInfo, type Token, isDefinedError, safe };