@toshicloud/sdk 0.5.1 → 0.7.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.
Files changed (48) hide show
  1. package/README.md +39 -455
  2. package/dist/client.d.ts +76 -6
  3. package/dist/client.js +20 -4
  4. package/dist/gen/toshi/permission_pb.d.ts +12 -0
  5. package/dist/gen/toshi/permission_pb.js +14 -2
  6. package/dist/gen/toshi/workspace/v1/connections_pb.d.ts +358 -29
  7. package/dist/gen/toshi/workspace/v1/connections_pb.js +112 -24
  8. package/dist/gen/toshi/workspace/v1/domains_pb.d.ts +26 -26
  9. package/dist/gen/toshi/workspace/v1/domains_pb.js +4 -4
  10. package/dist/gen/toshi/workspace/v1/{channels_pb.d.ts → endpoints_pb.d.ts} +945 -822
  11. package/dist/gen/toshi/workspace/v1/endpoints_pb.js +488 -0
  12. package/dist/gen/toshi/workspace/v1/grants_pb.d.ts +10 -10
  13. package/dist/gen/toshi/workspace/v1/grants_pb.js +3 -3
  14. package/dist/gen/toshi/workspace/v1/hostjobs_pb.d.ts +62 -24
  15. package/dist/gen/toshi/workspace/v1/hostjobs_pb.js +1 -1
  16. package/dist/gen/toshi/workspace/v1/hosts_pb.d.ts +110 -36
  17. package/dist/gen/toshi/workspace/v1/hosts_pb.js +1 -1
  18. package/dist/gen/toshi/workspace/v1/model_credentials_pb.d.ts +654 -0
  19. package/dist/gen/toshi/workspace/v1/model_credentials_pb.js +110 -0
  20. package/dist/gen/toshi/workspace/v1/recordings_pb.d.ts +21 -2
  21. package/dist/gen/toshi/workspace/v1/recordings_pb.js +1 -1
  22. package/dist/gen/toshi/workspace/v1/roles_pb.d.ts +1 -1
  23. package/dist/gen/toshi/workspace/v1/roles_pb.js +1 -1
  24. package/dist/gen/toshi/workspace/v1/secrets_pb.d.ts +19 -2
  25. package/dist/gen/toshi/workspace/v1/secrets_pb.js +1 -1
  26. package/dist/gen/toshi/workspace/v1/triggers_pb.d.ts +28 -28
  27. package/dist/gen/toshi/workspace/v1/triggers_pb.js +6 -6
  28. package/dist/gen/toshi/workspace/v1/webhook_pb.d.ts +202 -202
  29. package/dist/gen/toshi/workspace/v1/webhook_pb.js +46 -46
  30. package/dist/gen/toshi/workspace/v1/workloads_pb.d.ts +579 -30
  31. package/dist/gen/toshi/workspace/v1/workloads_pb.js +85 -55
  32. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +991 -123
  33. package/dist/gen/toshi/workspace/v1/workspace_pb.js +294 -102
  34. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +390 -8
  35. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +75 -50
  36. package/dist/index.d.ts +2 -1
  37. package/dist/index.js +2 -1
  38. package/dist/retry.js +38 -22
  39. package/dist/test/alarms.d.ts +29 -0
  40. package/dist/test/alarms.js +144 -0
  41. package/dist/test/fake.js +31 -0
  42. package/dist/test/index.d.ts +12 -2
  43. package/dist/test/index.js +12 -2
  44. package/dist/test/procedures.js +40 -34
  45. package/dist/version.d.ts +1 -1
  46. package/dist/version.js +1 -1
  47. package/package.json +1 -1
  48. package/dist/gen/toshi/workspace/v1/channels_pb.js +0 -483
@@ -575,7 +575,7 @@ export type Sandbox = Message<"toshi.workspace.v1.Sandbox"> & {
575
575
  shared?: SharedAccess | undefined;
576
576
  /**
577
577
  * The job of the sandbox's current run: the one created with it, then
578
- * the one each StartSandbox creates. The channel and display calls take
578
+ * the one each StartSandbox creates. The endpoint and display calls take
579
579
  * it as job_id, and through a grant as well. Set by Toshi.
580
580
  *
581
581
  * @generated from field: string job_id = 12;
@@ -678,7 +678,7 @@ export type SandboxJson = {
678
678
  shared?: SharedAccessJson;
679
679
  /**
680
680
  * The job of the sandbox's current run: the one created with it, then
681
- * the one each StartSandbox creates. The channel and display calls take
681
+ * the one each StartSandbox creates. The endpoint and display calls take
682
682
  * it as job_id, and through a grant as well. Set by Toshi.
683
683
  *
684
684
  * @generated from field: string job_id = 12;
@@ -761,10 +761,10 @@ export type SandboxStatus = Message<"toshi.workspace.v1.SandboxStatus"> & {
761
761
  */
762
762
  stopReason: StopReason;
763
763
  /**
764
- * While it runs, its previews: one for each of its http channels served
765
- * at a hostname of its own, the channel `preview` among them. Empty
766
- * while the control plane serves no previews. Making or deleting such a
767
- * channel changes the sandbox, so WatchSandboxes sends it again.
764
+ * While it runs, its previews: one for each of its http endpoints served
765
+ * at a hostname of its own, the endpoint `preview` among them. Empty
766
+ * while the control plane serves no previews. Making or deleting such an
767
+ * endpoint changes the sandbox, so WatchSandboxes sends it again.
768
768
  *
769
769
  * @generated from field: repeated toshi.workspace.v1.SandboxPreview previews = 10;
770
770
  */
@@ -790,6 +790,34 @@ export type SandboxStatus = Message<"toshi.workspace.v1.SandboxStatus"> & {
790
790
  * @generated from field: google.protobuf.Timestamp stopped_at = 13;
791
791
  */
792
792
  stoppedAt?: Timestamp | undefined;
793
+ /**
794
+ * The cause of a policy stop; unspecified for another stop.
795
+ *
796
+ * @generated from field: toshi.workspace.v1.StopCause stop_cause = 14;
797
+ */
798
+ stopCause: StopCause;
799
+ /**
800
+ * While held, its owner cannot start, wake or delete it and its public
801
+ * names answer a page naming the hold; only an operator releases it.
802
+ *
803
+ * @generated from field: toshi.workspace.v1.OperatorHold operator_hold = 15;
804
+ */
805
+ operatorHold: OperatorHold;
806
+ /**
807
+ * When the current operator hold was placed; unset when not held.
808
+ *
809
+ * @generated from field: google.protobuf.Timestamp held_at = 16;
810
+ */
811
+ heldAt?: Timestamp | undefined;
812
+ /**
813
+ * Where its owner writes about the hold, as the deployment's operator set
814
+ * it: an email address or a URL. Set only while the workload is held and
815
+ * the operator set one; empty otherwise. Set by Toshi; ignored in a
816
+ * request.
817
+ *
818
+ * @generated from field: string hold_contact = 17;
819
+ */
820
+ holdContact: string;
793
821
  };
794
822
  /**
795
823
  * SandboxStatus is a sandbox's state and when it got there.
@@ -844,10 +872,10 @@ export type SandboxStatusJson = {
844
872
  */
845
873
  stopReason?: StopReasonJson;
846
874
  /**
847
- * While it runs, its previews: one for each of its http channels served
848
- * at a hostname of its own, the channel `preview` among them. Empty
849
- * while the control plane serves no previews. Making or deleting such a
850
- * channel changes the sandbox, so WatchSandboxes sends it again.
875
+ * While it runs, its previews: one for each of its http endpoints served
876
+ * at a hostname of its own, the endpoint `preview` among them. Empty
877
+ * while the control plane serves no previews. Making or deleting such an
878
+ * endpoint changes the sandbox, so WatchSandboxes sends it again.
851
879
  *
852
880
  * @generated from field: repeated toshi.workspace.v1.SandboxPreview previews = 10;
853
881
  */
@@ -873,6 +901,34 @@ export type SandboxStatusJson = {
873
901
  * @generated from field: google.protobuf.Timestamp stopped_at = 13;
874
902
  */
875
903
  stoppedAt?: TimestampJson;
904
+ /**
905
+ * The cause of a policy stop; unspecified for another stop.
906
+ *
907
+ * @generated from field: toshi.workspace.v1.StopCause stop_cause = 14;
908
+ */
909
+ stopCause?: StopCauseJson;
910
+ /**
911
+ * While held, its owner cannot start, wake or delete it and its public
912
+ * names answer a page naming the hold; only an operator releases it.
913
+ *
914
+ * @generated from field: toshi.workspace.v1.OperatorHold operator_hold = 15;
915
+ */
916
+ operatorHold?: OperatorHoldJson;
917
+ /**
918
+ * When the current operator hold was placed; unset when not held.
919
+ *
920
+ * @generated from field: google.protobuf.Timestamp held_at = 16;
921
+ */
922
+ heldAt?: TimestampJson;
923
+ /**
924
+ * Where its owner writes about the hold, as the deployment's operator set
925
+ * it: an email address or a URL. Set only while the workload is held and
926
+ * the operator set one; empty otherwise. Set by Toshi; ignored in a
927
+ * request.
928
+ *
929
+ * @generated from field: string hold_contact = 17;
930
+ */
931
+ holdContact?: string;
876
932
  };
877
933
  /**
878
934
  * Describes the message toshi.workspace.v1.SandboxStatus.
@@ -1297,9 +1353,9 @@ export type ServiceStatus = Message<"toshi.workspace.v1.ServiceStatus"> & {
1297
1353
  */
1298
1354
  liveRun?: ServiceRun | undefined;
1299
1355
  /**
1300
- * The names visitors reach the service's http channels at, one per
1301
- * channel of its current revision's recipe that has one: the front
1302
- * channel first, at "<service>.<workspace>.svc.<domain>", then every
1356
+ * The names visitors reach the service's http endpoints at, one per
1357
+ * endpoint of its current revision's recipe that has one: the front
1358
+ * endpoint first, at "<service>.<workspace>.svc.<domain>", then every
1303
1359
  * other in recipe order at "<port>-<service>.<workspace>.svc.<domain>".
1304
1360
  * Empty while the
1305
1361
  * deployment hosts no names. Set by Toshi on GetService; ignored in a
@@ -1309,7 +1365,7 @@ export type ServiceStatus = Message<"toshi.workspace.v1.ServiceStatus"> & {
1309
1365
  */
1310
1366
  providedNames: ProvidedName[];
1311
1367
  /**
1312
- * Why a service with an http channel has no provided names, such as a
1368
+ * Why a service with an http endpoint has no provided names, such as a
1313
1369
  * name that does not start with a letter; empty otherwise. Set by Toshi
1314
1370
  * on GetService.
1315
1371
  *
@@ -1324,6 +1380,40 @@ export type ServiceStatus = Message<"toshi.workspace.v1.ServiceStatus"> & {
1324
1380
  * @generated from field: toshi.workspace.v1.ServiceBackup backup = 12;
1325
1381
  */
1326
1382
  backup?: ServiceBackup | undefined;
1383
+ /**
1384
+ * Why it was stopped.
1385
+ *
1386
+ * @generated from field: toshi.workspace.v1.StopReason stop_reason = 13;
1387
+ */
1388
+ stopReason: StopReason;
1389
+ /**
1390
+ * The cause of a policy stop; unspecified for another stop.
1391
+ *
1392
+ * @generated from field: toshi.workspace.v1.StopCause stop_cause = 14;
1393
+ */
1394
+ stopCause: StopCause;
1395
+ /**
1396
+ * While held, its owner cannot start, wake or delete it and its public
1397
+ * names answer a page naming the hold; only an operator releases it.
1398
+ *
1399
+ * @generated from field: toshi.workspace.v1.OperatorHold operator_hold = 15;
1400
+ */
1401
+ operatorHold: OperatorHold;
1402
+ /**
1403
+ * When the current operator hold was placed; unset when not held.
1404
+ *
1405
+ * @generated from field: google.protobuf.Timestamp held_at = 16;
1406
+ */
1407
+ heldAt?: Timestamp | undefined;
1408
+ /**
1409
+ * Where its owner writes about the hold, as the deployment's operator set
1410
+ * it: an email address or a URL. Set only while the workload is held and
1411
+ * the operator set one; empty otherwise. Set by Toshi; ignored in a
1412
+ * request.
1413
+ *
1414
+ * @generated from field: string hold_contact = 17;
1415
+ */
1416
+ holdContact: string;
1327
1417
  };
1328
1418
  /**
1329
1419
  * ServiceStatus is a service's state and when it got there.
@@ -1378,9 +1468,9 @@ export type ServiceStatusJson = {
1378
1468
  */
1379
1469
  liveRun?: ServiceRunJson;
1380
1470
  /**
1381
- * The names visitors reach the service's http channels at, one per
1382
- * channel of its current revision's recipe that has one: the front
1383
- * channel first, at "<service>.<workspace>.svc.<domain>", then every
1471
+ * The names visitors reach the service's http endpoints at, one per
1472
+ * endpoint of its current revision's recipe that has one: the front
1473
+ * endpoint first, at "<service>.<workspace>.svc.<domain>", then every
1384
1474
  * other in recipe order at "<port>-<service>.<workspace>.svc.<domain>".
1385
1475
  * Empty while the
1386
1476
  * deployment hosts no names. Set by Toshi on GetService; ignored in a
@@ -1390,7 +1480,7 @@ export type ServiceStatusJson = {
1390
1480
  */
1391
1481
  providedNames?: ProvidedNameJson[];
1392
1482
  /**
1393
- * Why a service with an http channel has no provided names, such as a
1483
+ * Why a service with an http endpoint has no provided names, such as a
1394
1484
  * name that does not start with a letter; empty otherwise. Set by Toshi
1395
1485
  * on GetService.
1396
1486
  *
@@ -1405,6 +1495,40 @@ export type ServiceStatusJson = {
1405
1495
  * @generated from field: toshi.workspace.v1.ServiceBackup backup = 12;
1406
1496
  */
1407
1497
  backup?: ServiceBackupJson;
1498
+ /**
1499
+ * Why it was stopped.
1500
+ *
1501
+ * @generated from field: toshi.workspace.v1.StopReason stop_reason = 13;
1502
+ */
1503
+ stopReason?: StopReasonJson;
1504
+ /**
1505
+ * The cause of a policy stop; unspecified for another stop.
1506
+ *
1507
+ * @generated from field: toshi.workspace.v1.StopCause stop_cause = 14;
1508
+ */
1509
+ stopCause?: StopCauseJson;
1510
+ /**
1511
+ * While held, its owner cannot start, wake or delete it and its public
1512
+ * names answer a page naming the hold; only an operator releases it.
1513
+ *
1514
+ * @generated from field: toshi.workspace.v1.OperatorHold operator_hold = 15;
1515
+ */
1516
+ operatorHold?: OperatorHoldJson;
1517
+ /**
1518
+ * When the current operator hold was placed; unset when not held.
1519
+ *
1520
+ * @generated from field: google.protobuf.Timestamp held_at = 16;
1521
+ */
1522
+ heldAt?: TimestampJson;
1523
+ /**
1524
+ * Where its owner writes about the hold, as the deployment's operator set
1525
+ * it: an email address or a URL. Set only while the workload is held and
1526
+ * the operator set one; empty otherwise. Set by Toshi; ignored in a
1527
+ * request.
1528
+ *
1529
+ * @generated from field: string hold_contact = 17;
1530
+ */
1531
+ holdContact?: string;
1408
1532
  };
1409
1533
  /**
1410
1534
  * Describes the message toshi.workspace.v1.ServiceStatus.
@@ -1501,17 +1625,17 @@ export declare const ServiceBackupSchema: GenMessage<ServiceBackup, {
1501
1625
  jsonType: ServiceBackupJson;
1502
1626
  }>;
1503
1627
  /**
1504
- * ProvidedName is the name one http channel of a service is reached at.
1628
+ * ProvidedName is the name one http endpoint of a service is reached at.
1505
1629
  *
1506
1630
  * @generated from message toshi.workspace.v1.ProvidedName
1507
1631
  */
1508
1632
  export type ProvidedName = Message<"toshi.workspace.v1.ProvidedName"> & {
1509
1633
  /**
1510
- * The channel's name in the service's recipe.
1634
+ * The endpoint's name in the service's recipe.
1511
1635
  *
1512
- * @generated from field: string channel = 1;
1636
+ * @generated from field: string endpoint = 1;
1513
1637
  */
1514
- channel: string;
1638
+ endpoint: string;
1515
1639
  /**
1516
1640
  * The full name, without a scheme or a port.
1517
1641
  *
@@ -1520,17 +1644,17 @@ export type ProvidedName = Message<"toshi.workspace.v1.ProvidedName"> & {
1520
1644
  host: string;
1521
1645
  };
1522
1646
  /**
1523
- * ProvidedName is the name one http channel of a service is reached at.
1647
+ * ProvidedName is the name one http endpoint of a service is reached at.
1524
1648
  *
1525
1649
  * @generated from message toshi.workspace.v1.ProvidedName
1526
1650
  */
1527
1651
  export type ProvidedNameJson = {
1528
1652
  /**
1529
- * The channel's name in the service's recipe.
1653
+ * The endpoint's name in the service's recipe.
1530
1654
  *
1531
- * @generated from field: string channel = 1;
1655
+ * @generated from field: string endpoint = 1;
1532
1656
  */
1533
- channel?: string;
1657
+ endpoint?: string;
1534
1658
  /**
1535
1659
  * The full name, without a scheme or a port.
1536
1660
  *
@@ -1752,11 +1876,11 @@ export type Binding = Message<"toshi.workspace.v1.Binding"> & {
1752
1876
  */
1753
1877
  target: {
1754
1878
  /**
1755
- * A channel of a service of the workload's project and environment.
1879
+ * An endpoint of a service of the workload's project and environment.
1756
1880
  *
1757
- * @generated from field: toshi.workspace.v1.ServiceChannel service = 2;
1881
+ * @generated from field: toshi.workspace.v1.ServiceEndpoint service = 2;
1758
1882
  */
1759
- value: ServiceChannel;
1883
+ value: ServiceEndpoint;
1760
1884
  case: "service";
1761
1885
  } | {
1762
1886
  /**
@@ -1794,11 +1918,11 @@ export type BindingJson = {
1794
1918
  */
1795
1919
  name?: string;
1796
1920
  /**
1797
- * A channel of a service of the workload's project and environment.
1921
+ * An endpoint of a service of the workload's project and environment.
1798
1922
  *
1799
- * @generated from field: toshi.workspace.v1.ServiceChannel service = 2;
1923
+ * @generated from field: toshi.workspace.v1.ServiceEndpoint service = 2;
1800
1924
  */
1801
- service?: ServiceChannelJson;
1925
+ service?: ServiceEndpointJson;
1802
1926
  /**
1803
1927
  * The secret set of the workload's environment.
1804
1928
  *
@@ -1821,45 +1945,45 @@ export declare const BindingSchema: GenMessage<Binding, {
1821
1945
  jsonType: BindingJson;
1822
1946
  }>;
1823
1947
  /**
1824
- * ServiceChannel is a channel of a service, by the service's name and the
1825
- * channel's name in its recipe, as a recipe's uses names it:
1826
- * "<service>.<channel>".
1948
+ * ServiceEndpoint is an endpoint of a service, by the service's name and the
1949
+ * endpoint's name in its recipe, as a recipe's uses names it:
1950
+ * "<service>.<endpoint>".
1827
1951
  *
1828
- * @generated from message toshi.workspace.v1.ServiceChannel
1952
+ * @generated from message toshi.workspace.v1.ServiceEndpoint
1829
1953
  */
1830
- export type ServiceChannel = Message<"toshi.workspace.v1.ServiceChannel"> & {
1954
+ export type ServiceEndpoint = Message<"toshi.workspace.v1.ServiceEndpoint"> & {
1831
1955
  /**
1832
1956
  * @generated from field: string service = 1;
1833
1957
  */
1834
1958
  service: string;
1835
1959
  /**
1836
- * @generated from field: string channel = 2;
1960
+ * @generated from field: string endpoint = 2;
1837
1961
  */
1838
- channel: string;
1962
+ endpoint: string;
1839
1963
  };
1840
1964
  /**
1841
- * ServiceChannel is a channel of a service, by the service's name and the
1842
- * channel's name in its recipe, as a recipe's uses names it:
1843
- * "<service>.<channel>".
1965
+ * ServiceEndpoint is an endpoint of a service, by the service's name and the
1966
+ * endpoint's name in its recipe, as a recipe's uses names it:
1967
+ * "<service>.<endpoint>".
1844
1968
  *
1845
- * @generated from message toshi.workspace.v1.ServiceChannel
1969
+ * @generated from message toshi.workspace.v1.ServiceEndpoint
1846
1970
  */
1847
- export type ServiceChannelJson = {
1971
+ export type ServiceEndpointJson = {
1848
1972
  /**
1849
1973
  * @generated from field: string service = 1;
1850
1974
  */
1851
1975
  service?: string;
1852
1976
  /**
1853
- * @generated from field: string channel = 2;
1977
+ * @generated from field: string endpoint = 2;
1854
1978
  */
1855
- channel?: string;
1979
+ endpoint?: string;
1856
1980
  };
1857
1981
  /**
1858
- * Describes the message toshi.workspace.v1.ServiceChannel.
1859
- * Use `create(ServiceChannelSchema)` to create a new message.
1982
+ * Describes the message toshi.workspace.v1.ServiceEndpoint.
1983
+ * Use `create(ServiceEndpointSchema)` to create a new message.
1860
1984
  */
1861
- export declare const ServiceChannelSchema: GenMessage<ServiceChannel, {
1862
- jsonType: ServiceChannelJson;
1985
+ export declare const ServiceEndpointSchema: GenMessage<ServiceEndpoint, {
1986
+ jsonType: ServiceEndpointJson;
1863
1987
  }>;
1864
1988
  /**
1865
1989
  * EnvironmentSecrets binds the secret set of the workload's environment,
@@ -1984,7 +2108,7 @@ export declare const BoundBindingSchema: GenMessage<BoundBinding, {
1984
2108
  jsonType: BoundBindingJson;
1985
2109
  }>;
1986
2110
  /**
1987
- * BoundService is a service channel as it was when the workload started.
2111
+ * BoundService is a service endpoint as it was when the workload started.
1988
2112
  *
1989
2113
  * @generated from message toshi.workspace.v1.BoundService
1990
2114
  */
@@ -2006,11 +2130,11 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2006
2130
  */
2007
2131
  revision: bigint;
2008
2132
  /**
2009
- * @generated from field: string channel = 4;
2133
+ * @generated from field: string endpoint = 4;
2010
2134
  */
2011
- channel: string;
2135
+ endpoint: string;
2012
2136
  /**
2013
- * The channel's shape and, for an http channel, its guest port.
2137
+ * The endpoint's shape and, for an http endpoint, its guest port.
2014
2138
  *
2015
2139
  * @generated from field: string shape = 5;
2016
2140
  */
@@ -2020,7 +2144,7 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2020
2144
  */
2021
2145
  port: number;
2022
2146
  /**
2023
- * What the channel accepts from the caller: "workload_identity", a
2147
+ * What the endpoint accepts from the caller: "workload_identity", a
2024
2148
  * connect credential signed by the workload identity issuer
2025
2149
  * naming audience and this binding. Minted when the job's command
2026
2150
  * starts, and passed only to that command.
@@ -2041,7 +2165,7 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2041
2165
  credentialId: string;
2042
2166
  };
2043
2167
  /**
2044
- * BoundService is a service channel as it was when the workload started.
2168
+ * BoundService is a service endpoint as it was when the workload started.
2045
2169
  *
2046
2170
  * @generated from message toshi.workspace.v1.BoundService
2047
2171
  */
@@ -2063,11 +2187,11 @@ export type BoundServiceJson = {
2063
2187
  */
2064
2188
  revision?: string;
2065
2189
  /**
2066
- * @generated from field: string channel = 4;
2190
+ * @generated from field: string endpoint = 4;
2067
2191
  */
2068
- channel?: string;
2192
+ endpoint?: string;
2069
2193
  /**
2070
- * The channel's shape and, for an http channel, its guest port.
2194
+ * The endpoint's shape and, for an http endpoint, its guest port.
2071
2195
  *
2072
2196
  * @generated from field: string shape = 5;
2073
2197
  */
@@ -2077,7 +2201,7 @@ export type BoundServiceJson = {
2077
2201
  */
2078
2202
  port?: number;
2079
2203
  /**
2080
- * What the channel accepts from the caller: "workload_identity", a
2204
+ * What the endpoint accepts from the caller: "workload_identity", a
2081
2205
  * connect credential signed by the workload identity issuer
2082
2206
  * naming audience and this binding. Minted when the job's command
2083
2207
  * starts, and passed only to that command.
@@ -2303,11 +2427,11 @@ export type SandboxSpec = Message<"toshi.workspace.v1.SandboxSpec"> & {
2303
2427
  maxDuration?: Duration | undefined;
2304
2428
  /**
2305
2429
  * What in its workspace the sandbox uses: the secret set of its
2306
- * environment and the channels of its project's and environment's
2430
+ * environment and the endpoints of its project's and environment's
2307
2431
  * services. Checked at create and fixed when the sandbox starts; each
2308
2432
  * Execute gets the secret set's fixed values in its command's
2309
- * environment, and reaches a bound http channel by the service's name,
2310
- * <service>.toshi, at the channel's port.
2433
+ * environment, and reaches a bound http endpoint by the service's name,
2434
+ * <service>.toshi, at the endpoint's port.
2311
2435
  *
2312
2436
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 3;
2313
2437
  */
@@ -2415,6 +2539,23 @@ export type SandboxSpec = Message<"toshi.workspace.v1.SandboxSpec"> & {
2415
2539
  * @generated from field: bool keep_vm = 14;
2416
2540
  */
2417
2541
  keepVm: boolean;
2542
+ /**
2543
+ * Create only: a command the sandbox's host runs in it at every stop
2544
+ * but the loss of its host: StopSandbox, the duration cap, the spending
2545
+ * cap, a policy stop, an operator's hold, the workspace's suspension and
2546
+ * deletion. New executions are refused first; pre_stop runs while the
2547
+ * running ones go on, and they are cancelled once it ends. It has two
2548
+ * minutes at StopSandbox and the duration cap, and 15 seconds at the
2549
+ * others; past that it is killed. It never keeps the sandbox from
2550
+ * stopping: an exit other than 0, or the end of its time, is written on
2551
+ * the stop's event as last_error.code "pre_stop_failed" and the stop
2552
+ * goes on. It runs where and with the environment setup does. The
2553
+ * sandbox is placed only on a host that runs workload hooks. Unset:
2554
+ * none.
2555
+ *
2556
+ * @generated from field: toshi.workspace.v1.Command pre_stop = 15;
2557
+ */
2558
+ preStop?: Command | undefined;
2418
2559
  };
2419
2560
  /**
2420
2561
  * SandboxSpec is a sandbox: a VM that runs until its owner
@@ -2441,11 +2582,11 @@ export type SandboxSpecJson = {
2441
2582
  maxDuration?: DurationJson;
2442
2583
  /**
2443
2584
  * What in its workspace the sandbox uses: the secret set of its
2444
- * environment and the channels of its project's and environment's
2585
+ * environment and the endpoints of its project's and environment's
2445
2586
  * services. Checked at create and fixed when the sandbox starts; each
2446
2587
  * Execute gets the secret set's fixed values in its command's
2447
- * environment, and reaches a bound http channel by the service's name,
2448
- * <service>.toshi, at the channel's port.
2588
+ * environment, and reaches a bound http endpoint by the service's name,
2589
+ * <service>.toshi, at the endpoint's port.
2449
2590
  *
2450
2591
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 3;
2451
2592
  */
@@ -2553,6 +2694,23 @@ export type SandboxSpecJson = {
2553
2694
  * @generated from field: bool keep_vm = 14;
2554
2695
  */
2555
2696
  keepVm?: boolean;
2697
+ /**
2698
+ * Create only: a command the sandbox's host runs in it at every stop
2699
+ * but the loss of its host: StopSandbox, the duration cap, the spending
2700
+ * cap, a policy stop, an operator's hold, the workspace's suspension and
2701
+ * deletion. New executions are refused first; pre_stop runs while the
2702
+ * running ones go on, and they are cancelled once it ends. It has two
2703
+ * minutes at StopSandbox and the duration cap, and 15 seconds at the
2704
+ * others; past that it is killed. It never keeps the sandbox from
2705
+ * stopping: an exit other than 0, or the end of its time, is written on
2706
+ * the stop's event as last_error.code "pre_stop_failed" and the stop
2707
+ * goes on. It runs where and with the environment setup does. The
2708
+ * sandbox is placed only on a host that runs workload hooks. Unset:
2709
+ * none.
2710
+ *
2711
+ * @generated from field: toshi.workspace.v1.Command pre_stop = 15;
2712
+ */
2713
+ preStop?: CommandJson;
2556
2714
  };
2557
2715
  /**
2558
2716
  * Describes the message toshi.workspace.v1.SandboxSpec.
@@ -2697,7 +2855,7 @@ export type ServiceSpec = Message<"toshi.workspace.v1.ServiceSpec"> & {
2697
2855
  stateVolume?: StateVolumeSpec | undefined;
2698
2856
  /**
2699
2857
  * Create only: the service's bindings, a secret set or its project's
2700
- * and environment's services' channels. Answers leave them empty.
2858
+ * and environment's services' endpoints. Answers leave them empty.
2701
2859
  *
2702
2860
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 8;
2703
2861
  */
@@ -2821,7 +2979,7 @@ export type ServiceSpecJson = {
2821
2979
  stateVolume?: StateVolumeSpecJson;
2822
2980
  /**
2823
2981
  * Create only: the service's bindings, a secret set or its project's
2824
- * and environment's services' channels. Answers leave them empty.
2982
+ * and environment's services' endpoints. Answers leave them empty.
2825
2983
  *
2826
2984
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 8;
2827
2985
  */
@@ -2986,20 +3144,20 @@ export declare const CommandSchema: GenMessage<Command, {
2986
3144
  jsonType: CommandJson;
2987
3145
  }>;
2988
3146
  /**
2989
- * SandboxPreview is where a browser opens one http channel of a sandbox.
3147
+ * SandboxPreview is where a browser opens one http endpoint of a sandbox.
2990
3148
  *
2991
3149
  * @generated from message toshi.workspace.v1.SandboxPreview
2992
3150
  */
2993
3151
  export type SandboxPreview = Message<"toshi.workspace.v1.SandboxPreview"> & {
2994
3152
  /**
2995
- * The channel's name; `preview` for the port the sandbox's image
3153
+ * The endpoint's name; `preview` for the port the sandbox's image
2996
3154
  * declares.
2997
3155
  *
2998
- * @generated from field: string channel = 1;
3156
+ * @generated from field: string endpoint = 1;
2999
3157
  */
3000
- channel: string;
3158
+ endpoint: string;
3001
3159
  /**
3002
- * The guest port the channel reaches.
3160
+ * The guest port the endpoint reaches.
3003
3161
  *
3004
3162
  * @generated from field: int32 port = 2;
3005
3163
  */
@@ -3012,20 +3170,20 @@ export type SandboxPreview = Message<"toshi.workspace.v1.SandboxPreview"> & {
3012
3170
  url: string;
3013
3171
  };
3014
3172
  /**
3015
- * SandboxPreview is where a browser opens one http channel of a sandbox.
3173
+ * SandboxPreview is where a browser opens one http endpoint of a sandbox.
3016
3174
  *
3017
3175
  * @generated from message toshi.workspace.v1.SandboxPreview
3018
3176
  */
3019
3177
  export type SandboxPreviewJson = {
3020
3178
  /**
3021
- * The channel's name; `preview` for the port the sandbox's image
3179
+ * The endpoint's name; `preview` for the port the sandbox's image
3022
3180
  * declares.
3023
3181
  *
3024
- * @generated from field: string channel = 1;
3182
+ * @generated from field: string endpoint = 1;
3025
3183
  */
3026
- channel?: string;
3184
+ endpoint?: string;
3027
3185
  /**
3028
- * The guest port the channel reaches.
3186
+ * The guest port the endpoint reaches.
3029
3187
  *
3030
3188
  * @generated from field: int32 port = 2;
3031
3189
  */
@@ -4851,6 +5009,46 @@ export type Event = Message<"toshi.workspace.v1.Event"> & {
4851
5009
  */
4852
5010
  value: KeptVMDiscardedEvent;
4853
5011
  case: "keptVmDiscarded";
5012
+ } | {
5013
+ /**
5014
+ * For ENDPOINT_ACP_PERMISSION_REQUESTED and ENDPOINT_ACP_TURN_ENDED.
5015
+ *
5016
+ * @generated from field: toshi.workspace.v1.EndpointACPEvent endpoint_acp = 25;
5017
+ */
5018
+ value: EndpointACPEvent;
5019
+ case: "endpointAcp";
5020
+ } | {
5021
+ /**
5022
+ * For SERVICE_RESTORED.
5023
+ *
5024
+ * @generated from field: toshi.workspace.v1.ServiceRestoredEvent service_restored = 26;
5025
+ */
5026
+ value: ServiceRestoredEvent;
5027
+ case: "serviceRestored";
5028
+ } | {
5029
+ /**
5030
+ * For SERVICE_SNAPSHOT_FAILED.
5031
+ *
5032
+ * @generated from field: toshi.workspace.v1.ServiceSnapshotFailedEvent service_snapshot_failed = 27;
5033
+ */
5034
+ value: ServiceSnapshotFailedEvent;
5035
+ case: "serviceSnapshotFailed";
5036
+ } | {
5037
+ /**
5038
+ * For SERVICE_SIGNIN and SERVICE_SIGNOUT.
5039
+ *
5040
+ * @generated from field: toshi.workspace.v1.ServiceSignInEvent service_sign_in = 28;
5041
+ */
5042
+ value: ServiceSignInEvent;
5043
+ case: "serviceSignIn";
5044
+ } | {
5045
+ /**
5046
+ * For MAIL_BOUNCED and MAIL_COMPLAINED.
5047
+ *
5048
+ * @generated from field: toshi.workspace.v1.MailNoticeEvent mail_notice = 29;
5049
+ */
5050
+ value: MailNoticeEvent;
5051
+ case: "mailNotice";
4854
5052
  } | {
4855
5053
  case: undefined;
4856
5054
  value?: undefined;
@@ -5001,6 +5199,36 @@ export type EventJson = {
5001
5199
  * @generated from field: toshi.workspace.v1.KeptVMDiscardedEvent kept_vm_discarded = 24;
5002
5200
  */
5003
5201
  keptVmDiscarded?: KeptVMDiscardedEventJson;
5202
+ /**
5203
+ * For ENDPOINT_ACP_PERMISSION_REQUESTED and ENDPOINT_ACP_TURN_ENDED.
5204
+ *
5205
+ * @generated from field: toshi.workspace.v1.EndpointACPEvent endpoint_acp = 25;
5206
+ */
5207
+ endpointAcp?: EndpointACPEventJson;
5208
+ /**
5209
+ * For SERVICE_RESTORED.
5210
+ *
5211
+ * @generated from field: toshi.workspace.v1.ServiceRestoredEvent service_restored = 26;
5212
+ */
5213
+ serviceRestored?: ServiceRestoredEventJson;
5214
+ /**
5215
+ * For SERVICE_SNAPSHOT_FAILED.
5216
+ *
5217
+ * @generated from field: toshi.workspace.v1.ServiceSnapshotFailedEvent service_snapshot_failed = 27;
5218
+ */
5219
+ serviceSnapshotFailed?: ServiceSnapshotFailedEventJson;
5220
+ /**
5221
+ * For SERVICE_SIGNIN and SERVICE_SIGNOUT.
5222
+ *
5223
+ * @generated from field: toshi.workspace.v1.ServiceSignInEvent service_sign_in = 28;
5224
+ */
5225
+ serviceSignIn?: ServiceSignInEventJson;
5226
+ /**
5227
+ * For MAIL_BOUNCED and MAIL_COMPLAINED.
5228
+ *
5229
+ * @generated from field: toshi.workspace.v1.MailNoticeEvent mail_notice = 29;
5230
+ */
5231
+ mailNotice?: MailNoticeEventJson;
5004
5232
  /**
5005
5233
  * The project the workload or the connection's event belongs to; set on
5006
5234
  * every event.
@@ -5029,6 +5257,79 @@ export type EventJson = {
5029
5257
  export declare const EventSchema: GenMessage<Event, {
5030
5258
  jsonType: EventJson;
5031
5259
  }>;
5260
+ /**
5261
+ * MailNoticeEvent is what the mail provider reported about one recipient of
5262
+ * a message the workload sent. It never holds the message.
5263
+ *
5264
+ * @generated from message toshi.workspace.v1.MailNoticeEvent
5265
+ */
5266
+ export type MailNoticeEvent = Message<"toshi.workspace.v1.MailNoticeEvent"> & {
5267
+ /**
5268
+ * The message's Message-ID header, without its angle brackets.
5269
+ *
5270
+ * @generated from field: string message_id = 1;
5271
+ */
5272
+ messageId: string;
5273
+ /**
5274
+ * The id the mail provider gave the message.
5275
+ *
5276
+ * @generated from field: string provider_message_id = 2;
5277
+ */
5278
+ providerMessageId: string;
5279
+ /**
5280
+ * The recipient the notice is about.
5281
+ *
5282
+ * @generated from field: string recipient = 3;
5283
+ */
5284
+ recipient: string;
5285
+ /**
5286
+ * The provider's own kind of bounce or complaint, as it reported it,
5287
+ * such as "Permanent/General"; empty when it gave none.
5288
+ *
5289
+ * @generated from field: string detail = 4;
5290
+ */
5291
+ detail: string;
5292
+ };
5293
+ /**
5294
+ * MailNoticeEvent is what the mail provider reported about one recipient of
5295
+ * a message the workload sent. It never holds the message.
5296
+ *
5297
+ * @generated from message toshi.workspace.v1.MailNoticeEvent
5298
+ */
5299
+ export type MailNoticeEventJson = {
5300
+ /**
5301
+ * The message's Message-ID header, without its angle brackets.
5302
+ *
5303
+ * @generated from field: string message_id = 1;
5304
+ */
5305
+ messageId?: string;
5306
+ /**
5307
+ * The id the mail provider gave the message.
5308
+ *
5309
+ * @generated from field: string provider_message_id = 2;
5310
+ */
5311
+ providerMessageId?: string;
5312
+ /**
5313
+ * The recipient the notice is about.
5314
+ *
5315
+ * @generated from field: string recipient = 3;
5316
+ */
5317
+ recipient?: string;
5318
+ /**
5319
+ * The provider's own kind of bounce or complaint, as it reported it,
5320
+ * such as "Permanent/General"; empty when it gave none.
5321
+ *
5322
+ * @generated from field: string detail = 4;
5323
+ */
5324
+ detail?: string;
5325
+ };
5326
+ /**
5327
+ * Describes the message toshi.workspace.v1.MailNoticeEvent.
5328
+ * Use `create(MailNoticeEventSchema)` to create a new message.
5329
+ */
5330
+ export declare const MailNoticeEventSchema: GenMessage<MailNoticeEvent, {
5331
+ jsonType: MailNoticeEventJson;
5332
+ }>;
5032
5333
  /**
5033
5334
  * KeptVMDiscardedEvent records a kept VM discarded before a fresh run.
5034
5335
  *
@@ -5074,6 +5375,199 @@ export type KeptVMDiscardedEventJson = {
5074
5375
  export declare const KeptVMDiscardedEventSchema: GenMessage<KeptVMDiscardedEvent, {
5075
5376
  jsonType: KeptVMDiscardedEventJson;
5076
5377
  }>;
5378
+ /**
5379
+ * ServiceRestoredEvent records a service run restored from a snapshot.
5380
+ *
5381
+ * @generated from message toshi.workspace.v1.ServiceRestoredEvent
5382
+ */
5383
+ export type ServiceRestoredEvent = Message<"toshi.workspace.v1.ServiceRestoredEvent"> & {
5384
+ /**
5385
+ * The job ID of the restored run.
5386
+ *
5387
+ * @generated from field: string run_id = 1;
5388
+ */
5389
+ runId: string;
5390
+ /**
5391
+ * The snapshot it was restored from.
5392
+ *
5393
+ * @generated from field: string snapshot_id = 2;
5394
+ */
5395
+ snapshotId: string;
5396
+ /**
5397
+ * When the snapshot was taken: the run before it went to sleep then.
5398
+ *
5399
+ * @generated from field: google.protobuf.Timestamp snapshot_taken_at = 3;
5400
+ */
5401
+ snapshotTakenAt?: Timestamp | undefined;
5402
+ /**
5403
+ * When the run was restored.
5404
+ *
5405
+ * @generated from field: google.protobuf.Timestamp restored_at = 4;
5406
+ */
5407
+ restoredAt?: Timestamp | undefined;
5408
+ /**
5409
+ * The time between the two: how long the service's process was
5410
+ * stopped.
5411
+ *
5412
+ * @generated from field: google.protobuf.Duration lost = 5;
5413
+ */
5414
+ lost?: Duration | undefined;
5415
+ };
5416
+ /**
5417
+ * ServiceRestoredEvent records a service run restored from a snapshot.
5418
+ *
5419
+ * @generated from message toshi.workspace.v1.ServiceRestoredEvent
5420
+ */
5421
+ export type ServiceRestoredEventJson = {
5422
+ /**
5423
+ * The job ID of the restored run.
5424
+ *
5425
+ * @generated from field: string run_id = 1;
5426
+ */
5427
+ runId?: string;
5428
+ /**
5429
+ * The snapshot it was restored from.
5430
+ *
5431
+ * @generated from field: string snapshot_id = 2;
5432
+ */
5433
+ snapshotId?: string;
5434
+ /**
5435
+ * When the snapshot was taken: the run before it went to sleep then.
5436
+ *
5437
+ * @generated from field: google.protobuf.Timestamp snapshot_taken_at = 3;
5438
+ */
5439
+ snapshotTakenAt?: TimestampJson;
5440
+ /**
5441
+ * When the run was restored.
5442
+ *
5443
+ * @generated from field: google.protobuf.Timestamp restored_at = 4;
5444
+ */
5445
+ restoredAt?: TimestampJson;
5446
+ /**
5447
+ * The time between the two: how long the service's process was
5448
+ * stopped.
5449
+ *
5450
+ * @generated from field: google.protobuf.Duration lost = 5;
5451
+ */
5452
+ lost?: DurationJson;
5453
+ };
5454
+ /**
5455
+ * Describes the message toshi.workspace.v1.ServiceRestoredEvent.
5456
+ * Use `create(ServiceRestoredEventSchema)` to create a new message.
5457
+ */
5458
+ export declare const ServiceRestoredEventSchema: GenMessage<ServiceRestoredEvent, {
5459
+ jsonType: ServiceRestoredEventJson;
5460
+ }>;
5461
+ /**
5462
+ * ServiceSnapshotFailedEvent records a snapshot a service run could not
5463
+ * keep at sleep or restore at wake. The service's next wake, or this one,
5464
+ * starts cold.
5465
+ *
5466
+ * @generated from message toshi.workspace.v1.ServiceSnapshotFailedEvent
5467
+ */
5468
+ export type ServiceSnapshotFailedEvent = Message<"toshi.workspace.v1.ServiceSnapshotFailedEvent"> & {
5469
+ /**
5470
+ * The job ID of the run.
5471
+ *
5472
+ * @generated from field: string run_id = 1;
5473
+ */
5474
+ runId: string;
5475
+ /**
5476
+ * The snapshot that could not be restored; empty when none was taken.
5477
+ *
5478
+ * @generated from field: string snapshot_id = 2;
5479
+ */
5480
+ snapshotId: string;
5481
+ /**
5482
+ * "snapshot" when the sleep kept none, "restore" when the wake started
5483
+ * cold.
5484
+ *
5485
+ * @generated from field: string step = 3;
5486
+ */
5487
+ step: string;
5488
+ /**
5489
+ * Why.
5490
+ *
5491
+ * @generated from field: string error = 4;
5492
+ */
5493
+ error: string;
5494
+ };
5495
+ /**
5496
+ * ServiceSnapshotFailedEvent records a snapshot a service run could not
5497
+ * keep at sleep or restore at wake. The service's next wake, or this one,
5498
+ * starts cold.
5499
+ *
5500
+ * @generated from message toshi.workspace.v1.ServiceSnapshotFailedEvent
5501
+ */
5502
+ export type ServiceSnapshotFailedEventJson = {
5503
+ /**
5504
+ * The job ID of the run.
5505
+ *
5506
+ * @generated from field: string run_id = 1;
5507
+ */
5508
+ runId?: string;
5509
+ /**
5510
+ * The snapshot that could not be restored; empty when none was taken.
5511
+ *
5512
+ * @generated from field: string snapshot_id = 2;
5513
+ */
5514
+ snapshotId?: string;
5515
+ /**
5516
+ * "snapshot" when the sleep kept none, "restore" when the wake started
5517
+ * cold.
5518
+ *
5519
+ * @generated from field: string step = 3;
5520
+ */
5521
+ step?: string;
5522
+ /**
5523
+ * Why.
5524
+ *
5525
+ * @generated from field: string error = 4;
5526
+ */
5527
+ error?: string;
5528
+ };
5529
+ /**
5530
+ * Describes the message toshi.workspace.v1.ServiceSnapshotFailedEvent.
5531
+ * Use `create(ServiceSnapshotFailedEventSchema)` to create a new message.
5532
+ */
5533
+ export declare const ServiceSnapshotFailedEventSchema: GenMessage<ServiceSnapshotFailedEvent, {
5534
+ jsonType: ServiceSnapshotFailedEventJson;
5535
+ }>;
5536
+ /**
5537
+ * ServiceSignInEvent is a service's sign-in or sign-out. The service is the
5538
+ * event's workload and the time is the event's time.
5539
+ *
5540
+ * @generated from message toshi.workspace.v1.ServiceSignInEvent
5541
+ */
5542
+ export type ServiceSignInEvent = Message<"toshi.workspace.v1.ServiceSignInEvent"> & {
5543
+ /**
5544
+ * The sign-in program's name, as the recipe declares it.
5545
+ *
5546
+ * @generated from field: string program = 1;
5547
+ */
5548
+ program: string;
5549
+ };
5550
+ /**
5551
+ * ServiceSignInEvent is a service's sign-in or sign-out. The service is the
5552
+ * event's workload and the time is the event's time.
5553
+ *
5554
+ * @generated from message toshi.workspace.v1.ServiceSignInEvent
5555
+ */
5556
+ export type ServiceSignInEventJson = {
5557
+ /**
5558
+ * The sign-in program's name, as the recipe declares it.
5559
+ *
5560
+ * @generated from field: string program = 1;
5561
+ */
5562
+ program?: string;
5563
+ };
5564
+ /**
5565
+ * Describes the message toshi.workspace.v1.ServiceSignInEvent.
5566
+ * Use `create(ServiceSignInEventSchema)` to create a new message.
5567
+ */
5568
+ export declare const ServiceSignInEventSchema: GenMessage<ServiceSignInEvent, {
5569
+ jsonType: ServiceSignInEventJson;
5570
+ }>;
5077
5571
  /**
5078
5572
  * UpgradeRolledBackEvent is a service upgrade that failed in its window and
5079
5573
  * was rolled back.
@@ -5420,7 +5914,7 @@ export declare const EgressDenialSchema: GenMessage<EgressDenial, {
5420
5914
  /**
5421
5915
  * TriggerResult is the payload of a trigger's events: the trigger, the key
5422
5916
  * its event named, the workload it made for the key, the event that caused
5423
- * it, the link of the workload's channel once it is ready, why it failed or
5917
+ * it, the link of the workload's endpoint once it is ready, why it failed or
5424
5918
  * was removed, and the commit it was made from.
5425
5919
  *
5426
5920
  * @generated from message toshi.workspace.v1.TriggerResult
@@ -5453,7 +5947,7 @@ export type TriggerResult = Message<"toshi.workspace.v1.TriggerResult"> & {
5453
5947
  */
5454
5948
  eventId: string;
5455
5949
  /**
5456
- * The link of the workload's channel, once it is ready.
5950
+ * The link of the workload's endpoint, once it is ready.
5457
5951
  *
5458
5952
  * @generated from field: string link = 6;
5459
5953
  */
@@ -5490,7 +5984,7 @@ export type TriggerResult = Message<"toshi.workspace.v1.TriggerResult"> & {
5490
5984
  /**
5491
5985
  * TriggerResult is the payload of a trigger's events: the trigger, the key
5492
5986
  * its event named, the workload it made for the key, the event that caused
5493
- * it, the link of the workload's channel once it is ready, why it failed or
5987
+ * it, the link of the workload's endpoint once it is ready, why it failed or
5494
5988
  * was removed, and the commit it was made from.
5495
5989
  *
5496
5990
  * @generated from message toshi.workspace.v1.TriggerResult
@@ -5523,7 +6017,7 @@ export type TriggerResultJson = {
5523
6017
  */
5524
6018
  eventId?: string;
5525
6019
  /**
5526
- * The link of the workload's channel, once it is ready.
6020
+ * The link of the workload's endpoint, once it is ready.
5527
6021
  *
5528
6022
  * @generated from field: string link = 6;
5529
6023
  */
@@ -5772,6 +6266,79 @@ export type MailSentEventJson = {
5772
6266
  export declare const MailSentEventSchema: GenMessage<MailSentEvent, {
5773
6267
  jsonType: MailSentEventJson;
5774
6268
  }>;
6269
+ /**
6270
+ * EndpointACPEvent is an event of an ACP endpoint: the endpoint, its ACP
6271
+ * session, and the tool call's kind a permission request named or the reason
6272
+ * a turn ended. It carries no title, content or path.
6273
+ *
6274
+ * @generated from message toshi.workspace.v1.EndpointACPEvent
6275
+ */
6276
+ export type EndpointACPEvent = Message<"toshi.workspace.v1.EndpointACPEvent"> & {
6277
+ /**
6278
+ * The endpoint's name on its job.
6279
+ *
6280
+ * @generated from field: string endpoint = 1;
6281
+ */
6282
+ endpoint: string;
6283
+ /**
6284
+ * The ACP session the event belongs to.
6285
+ *
6286
+ * @generated from field: string session_id = 2;
6287
+ */
6288
+ sessionId: string;
6289
+ /**
6290
+ * The tool call's kind, on a permission request.
6291
+ *
6292
+ * @generated from field: string tool_kind = 3;
6293
+ */
6294
+ toolKind: string;
6295
+ /**
6296
+ * The prompt response's stopReason, at a turn's end.
6297
+ *
6298
+ * @generated from field: string stop_reason = 4;
6299
+ */
6300
+ stopReason: string;
6301
+ };
6302
+ /**
6303
+ * EndpointACPEvent is an event of an ACP endpoint: the endpoint, its ACP
6304
+ * session, and the tool call's kind a permission request named or the reason
6305
+ * a turn ended. It carries no title, content or path.
6306
+ *
6307
+ * @generated from message toshi.workspace.v1.EndpointACPEvent
6308
+ */
6309
+ export type EndpointACPEventJson = {
6310
+ /**
6311
+ * The endpoint's name on its job.
6312
+ *
6313
+ * @generated from field: string endpoint = 1;
6314
+ */
6315
+ endpoint?: string;
6316
+ /**
6317
+ * The ACP session the event belongs to.
6318
+ *
6319
+ * @generated from field: string session_id = 2;
6320
+ */
6321
+ sessionId?: string;
6322
+ /**
6323
+ * The tool call's kind, on a permission request.
6324
+ *
6325
+ * @generated from field: string tool_kind = 3;
6326
+ */
6327
+ toolKind?: string;
6328
+ /**
6329
+ * The prompt response's stopReason, at a turn's end.
6330
+ *
6331
+ * @generated from field: string stop_reason = 4;
6332
+ */
6333
+ stopReason?: string;
6334
+ };
6335
+ /**
6336
+ * Describes the message toshi.workspace.v1.EndpointACPEvent.
6337
+ * Use `create(EndpointACPEventSchema)` to create a new message.
6338
+ */
6339
+ export declare const EndpointACPEventSchema: GenMessage<EndpointACPEvent, {
6340
+ jsonType: EndpointACPEventJson;
6341
+ }>;
5775
6342
  /**
5776
6343
  * AgentPrompt is a question or an approval an agent workload asked that
5777
6344
  * nobody has answered yet. AnswerPrompt answers it.
@@ -6370,14 +6937,14 @@ export type PreviewShareLink = Message<"toshi.workspace.v1.PreviewShareLink"> &
6370
6937
  */
6371
6938
  endedAt?: Timestamp | undefined;
6372
6939
  /**
6373
- * The channel whose preview the link opens: `preview` for the sandbox's
6374
- * own hostname, or another of its http channels.
6940
+ * The endpoint whose preview the link opens: `preview` for the sandbox's
6941
+ * own hostname, or another of its http endpoints.
6375
6942
  *
6376
- * @generated from field: string channel = 11;
6943
+ * @generated from field: string endpoint = 11;
6377
6944
  */
6378
- channel: string;
6945
+ endpoint: string;
6379
6946
  /**
6380
- * The guest port that channel reaches.
6947
+ * The guest port that endpoint reaches.
6381
6948
  *
6382
6949
  * @generated from field: int32 port = 12;
6383
6950
  */
@@ -6445,14 +7012,14 @@ export type PreviewShareLinkJson = {
6445
7012
  */
6446
7013
  endedAt?: TimestampJson;
6447
7014
  /**
6448
- * The channel whose preview the link opens: `preview` for the sandbox's
6449
- * own hostname, or another of its http channels.
7015
+ * The endpoint whose preview the link opens: `preview` for the sandbox's
7016
+ * own hostname, or another of its http endpoints.
6450
7017
  *
6451
- * @generated from field: string channel = 11;
7018
+ * @generated from field: string endpoint = 11;
6452
7019
  */
6453
- channel?: string;
7020
+ endpoint?: string;
6454
7021
  /**
6455
- * The guest port that channel reaches.
7022
+ * The guest port that endpoint reaches.
6456
7023
  *
6457
7024
  * @generated from field: int32 port = 12;
6458
7025
  */
@@ -6498,17 +7065,17 @@ export type CreatePreviewShareLinkRequest = Message<"toshi.workspace.v1.CreatePr
6498
7065
  */
6499
7066
  maxBytes: bigint;
6500
7067
  /**
6501
- * The preview the link opens: one of the sandbox's http channels, by
6502
- * its name or by its guest port. Neither set is the channel `preview`.
7068
+ * The preview the link opens: one of the sandbox's http endpoints, by
7069
+ * its name or by its guest port. Neither set is the endpoint `preview`.
6503
7070
  *
6504
- * @generated from oneof toshi.workspace.v1.CreatePreviewShareLinkRequest.channel_ref
7071
+ * @generated from oneof toshi.workspace.v1.CreatePreviewShareLinkRequest.endpoint_ref
6505
7072
  */
6506
- channelRef: {
7073
+ endpointRef: {
6507
7074
  /**
6508
- * @generated from field: string channel = 6;
7075
+ * @generated from field: string endpoint = 6;
6509
7076
  */
6510
7077
  value: string;
6511
- case: "channel";
7078
+ case: "endpoint";
6512
7079
  } | {
6513
7080
  /**
6514
7081
  * @generated from field: int32 port = 7;
@@ -6553,9 +7120,9 @@ export type CreatePreviewShareLinkRequestJson = {
6553
7120
  */
6554
7121
  maxBytes?: string;
6555
7122
  /**
6556
- * @generated from field: string channel = 6;
7123
+ * @generated from field: string endpoint = 6;
6557
7124
  */
6558
- channel?: string;
7125
+ endpoint?: string;
6559
7126
  /**
6560
7127
  * @generated from field: int32 port = 7;
6561
7128
  */
@@ -6804,12 +7371,12 @@ export type ServiceShareLink = Message<"toshi.workspace.v1.ServiceShareLink"> &
6804
7371
  */
6805
7372
  serviceId: string;
6806
7373
  /**
6807
- * The http channel of the service's recipe whose provided name the link
7374
+ * The http endpoint of the service's recipe whose provided name the link
6808
7375
  * opens.
6809
7376
  *
6810
- * @generated from field: string channel = 3;
7377
+ * @generated from field: string endpoint = 3;
6811
7378
  */
6812
- channel: string;
7379
+ endpoint: string;
6813
7380
  /**
6814
7381
  * @generated from field: toshi.workspace.v1.PreviewShareLinkState state = 4;
6815
7382
  */
@@ -6874,12 +7441,12 @@ export type ServiceShareLinkJson = {
6874
7441
  */
6875
7442
  serviceId?: string;
6876
7443
  /**
6877
- * The http channel of the service's recipe whose provided name the link
7444
+ * The http endpoint of the service's recipe whose provided name the link
6878
7445
  * opens.
6879
7446
  *
6880
- * @generated from field: string channel = 3;
7447
+ * @generated from field: string endpoint = 3;
6881
7448
  */
6882
- channel?: string;
7449
+ endpoint?: string;
6883
7450
  /**
6884
7451
  * @generated from field: toshi.workspace.v1.PreviewShareLinkState state = 4;
6885
7452
  */
@@ -6949,12 +7516,12 @@ export type CreateServiceShareLinkRequest = Message<"toshi.workspace.v1.CreateSe
6949
7516
  */
6950
7517
  serviceId: string;
6951
7518
  /**
6952
- * The http channel whose provided name the link opens; empty is the
6953
- * service's front channel, the one at the service's own name.
7519
+ * The http endpoint whose provided name the link opens; empty is the
7520
+ * service's front endpoint, the one at the service's own name.
6954
7521
  *
6955
- * @generated from field: string channel = 4;
7522
+ * @generated from field: string endpoint = 4;
6956
7523
  */
6957
- channel: string;
7524
+ endpoint: string;
6958
7525
  /**
6959
7526
  * How long the link stays valid, at most the plan's maximum; unset is
6960
7527
  * 24 hours, or the plan's maximum when that is shorter.
@@ -6989,12 +7556,12 @@ export type CreateServiceShareLinkRequestJson = {
6989
7556
  */
6990
7557
  serviceId?: string;
6991
7558
  /**
6992
- * The http channel whose provided name the link opens; empty is the
6993
- * service's front channel, the one at the service's own name.
7559
+ * The http endpoint whose provided name the link opens; empty is the
7560
+ * service's front endpoint, the one at the service's own name.
6994
7561
  *
6995
- * @generated from field: string channel = 4;
7562
+ * @generated from field: string endpoint = 4;
6996
7563
  */
6997
- channel?: string;
7564
+ endpoint?: string;
6998
7565
  /**
6999
7566
  * How long the link stays valid, at most the plan's maximum; unset is
7000
7567
  * 24 hours, or the plan's maximum when that is shorter.
@@ -7716,6 +8283,134 @@ export type WakeServiceResponseJson = {
7716
8283
  export declare const WakeServiceResponseSchema: GenMessage<WakeServiceResponse, {
7717
8284
  jsonType: WakeServiceResponseJson;
7718
8285
  }>;
8286
+ /**
8287
+ * HoldWorkloadRequest names the sandbox or service and its operator hold.
8288
+ *
8289
+ * @generated from message toshi.workspace.v1.HoldWorkloadRequest
8290
+ */
8291
+ export type HoldWorkloadRequest = Message<"toshi.workspace.v1.HoldWorkloadRequest"> & {
8292
+ /**
8293
+ * @generated from field: string project = 1;
8294
+ */
8295
+ project: string;
8296
+ /**
8297
+ * @generated from field: string environment = 2;
8298
+ */
8299
+ environment: string;
8300
+ /**
8301
+ * @generated from field: string workload_id = 3;
8302
+ */
8303
+ workloadId: string;
8304
+ /**
8305
+ * @generated from field: toshi.workspace.v1.OperatorHold hold = 4;
8306
+ */
8307
+ hold: OperatorHold;
8308
+ };
8309
+ /**
8310
+ * HoldWorkloadRequest names the sandbox or service and its operator hold.
8311
+ *
8312
+ * @generated from message toshi.workspace.v1.HoldWorkloadRequest
8313
+ */
8314
+ export type HoldWorkloadRequestJson = {
8315
+ /**
8316
+ * @generated from field: string project = 1;
8317
+ */
8318
+ project?: string;
8319
+ /**
8320
+ * @generated from field: string environment = 2;
8321
+ */
8322
+ environment?: string;
8323
+ /**
8324
+ * @generated from field: string workload_id = 3;
8325
+ */
8326
+ workloadId?: string;
8327
+ /**
8328
+ * @generated from field: toshi.workspace.v1.OperatorHold hold = 4;
8329
+ */
8330
+ hold?: OperatorHoldJson;
8331
+ };
8332
+ /**
8333
+ * Describes the message toshi.workspace.v1.HoldWorkloadRequest.
8334
+ * Use `create(HoldWorkloadRequestSchema)` to create a new message.
8335
+ */
8336
+ export declare const HoldWorkloadRequestSchema: GenMessage<HoldWorkloadRequest, {
8337
+ jsonType: HoldWorkloadRequestJson;
8338
+ }>;
8339
+ /**
8340
+ * @generated from message toshi.workspace.v1.HoldWorkloadResponse
8341
+ */
8342
+ export type HoldWorkloadResponse = Message<"toshi.workspace.v1.HoldWorkloadResponse"> & {};
8343
+ /**
8344
+ * @generated from message toshi.workspace.v1.HoldWorkloadResponse
8345
+ */
8346
+ export type HoldWorkloadResponseJson = {};
8347
+ /**
8348
+ * Describes the message toshi.workspace.v1.HoldWorkloadResponse.
8349
+ * Use `create(HoldWorkloadResponseSchema)` to create a new message.
8350
+ */
8351
+ export declare const HoldWorkloadResponseSchema: GenMessage<HoldWorkloadResponse, {
8352
+ jsonType: HoldWorkloadResponseJson;
8353
+ }>;
8354
+ /**
8355
+ * ReleaseWorkloadRequest names the sandbox or service to release.
8356
+ *
8357
+ * @generated from message toshi.workspace.v1.ReleaseWorkloadRequest
8358
+ */
8359
+ export type ReleaseWorkloadRequest = Message<"toshi.workspace.v1.ReleaseWorkloadRequest"> & {
8360
+ /**
8361
+ * @generated from field: string project = 1;
8362
+ */
8363
+ project: string;
8364
+ /**
8365
+ * @generated from field: string environment = 2;
8366
+ */
8367
+ environment: string;
8368
+ /**
8369
+ * @generated from field: string workload_id = 3;
8370
+ */
8371
+ workloadId: string;
8372
+ };
8373
+ /**
8374
+ * ReleaseWorkloadRequest names the sandbox or service to release.
8375
+ *
8376
+ * @generated from message toshi.workspace.v1.ReleaseWorkloadRequest
8377
+ */
8378
+ export type ReleaseWorkloadRequestJson = {
8379
+ /**
8380
+ * @generated from field: string project = 1;
8381
+ */
8382
+ project?: string;
8383
+ /**
8384
+ * @generated from field: string environment = 2;
8385
+ */
8386
+ environment?: string;
8387
+ /**
8388
+ * @generated from field: string workload_id = 3;
8389
+ */
8390
+ workloadId?: string;
8391
+ };
8392
+ /**
8393
+ * Describes the message toshi.workspace.v1.ReleaseWorkloadRequest.
8394
+ * Use `create(ReleaseWorkloadRequestSchema)` to create a new message.
8395
+ */
8396
+ export declare const ReleaseWorkloadRequestSchema: GenMessage<ReleaseWorkloadRequest, {
8397
+ jsonType: ReleaseWorkloadRequestJson;
8398
+ }>;
8399
+ /**
8400
+ * @generated from message toshi.workspace.v1.ReleaseWorkloadResponse
8401
+ */
8402
+ export type ReleaseWorkloadResponse = Message<"toshi.workspace.v1.ReleaseWorkloadResponse"> & {};
8403
+ /**
8404
+ * @generated from message toshi.workspace.v1.ReleaseWorkloadResponse
8405
+ */
8406
+ export type ReleaseWorkloadResponseJson = {};
8407
+ /**
8408
+ * Describes the message toshi.workspace.v1.ReleaseWorkloadResponse.
8409
+ * Use `create(ReleaseWorkloadResponseSchema)` to create a new message.
8410
+ */
8411
+ export declare const ReleaseWorkloadResponseSchema: GenMessage<ReleaseWorkloadResponse, {
8412
+ jsonType: ReleaseWorkloadResponseJson;
8413
+ }>;
7719
8414
  /**
7720
8415
  * @generated from message toshi.workspace.v1.HoldServiceRequest
7721
8416
  */
@@ -9658,6 +10353,14 @@ export type ServiceRun = Message<"toshi.workspace.v1.ServiceRun"> & {
9658
10353
  * @generated from field: string error = 10;
9659
10354
  */
9660
10355
  error: string;
10356
+ /**
10357
+ * The snapshot the run was restored from: the VM of the run before it,
10358
+ * as it was when that run went to sleep. Empty for a run that started
10359
+ * cold.
10360
+ *
10361
+ * @generated from field: string restored_from = 11;
10362
+ */
10363
+ restoredFrom: string;
9661
10364
  };
9662
10365
  /**
9663
10366
  * ServiceRun is one run of a service: a job on a host.
@@ -9727,6 +10430,14 @@ export type ServiceRunJson = {
9727
10430
  * @generated from field: string error = 10;
9728
10431
  */
9729
10432
  error?: string;
10433
+ /**
10434
+ * The snapshot the run was restored from: the VM of the run before it,
10435
+ * as it was when that run went to sleep. Empty for a run that started
10436
+ * cold.
10437
+ *
10438
+ * @generated from field: string restored_from = 11;
10439
+ */
10440
+ restoredFrom?: string;
9730
10441
  };
9731
10442
  /**
9732
10443
  * Describes the message toshi.workspace.v1.ServiceRun.
@@ -9790,7 +10501,7 @@ export type EndReasonJson = "END_REASON_UNSPECIFIED" | "END_REASON_EXITED" | "EN
9790
10501
  */
9791
10502
  export declare const EndReasonSchema: GenEnum<EndReason, EndReasonJson>;
9792
10503
  /**
9793
- * StopReason is why a sandbox was stopped.
10504
+ * StopReason is why a sandbox or service was stopped.
9794
10505
  *
9795
10506
  * @generated from enum toshi.workspace.v1.StopReason
9796
10507
  */
@@ -9834,18 +10545,114 @@ export declare enum StopReason {
9834
10545
  *
9835
10546
  * @generated from enum value: STOP_REASON_OPERATOR = 6;
9836
10547
  */
9837
- OPERATOR = 6
10548
+ OPERATOR = 6,
10549
+ /**
10550
+ * Toshi stopped it for a policy; stop_cause says which.
10551
+ *
10552
+ * @generated from enum value: STOP_REASON_POLICY = 7;
10553
+ */
10554
+ POLICY = 7
9838
10555
  }
9839
10556
  /**
9840
- * StopReason is why a sandbox was stopped.
10557
+ * StopReason is why a sandbox or service was stopped.
9841
10558
  *
9842
10559
  * @generated from enum toshi.workspace.v1.StopReason
9843
10560
  */
9844
- export type StopReasonJson = "STOP_REASON_UNSPECIFIED" | "STOP_REASON_OWNER" | "STOP_REASON_MAX_DURATION" | "STOP_REASON_SPEND_CAP" | "STOP_REASON_TENANT_SUSPENDED" | "STOP_REASON_TENANT_DELETED" | "STOP_REASON_OPERATOR";
10561
+ export type StopReasonJson = "STOP_REASON_UNSPECIFIED" | "STOP_REASON_OWNER" | "STOP_REASON_MAX_DURATION" | "STOP_REASON_SPEND_CAP" | "STOP_REASON_TENANT_SUSPENDED" | "STOP_REASON_TENANT_DELETED" | "STOP_REASON_OPERATOR" | "STOP_REASON_POLICY";
9845
10562
  /**
9846
10563
  * Describes the enum toshi.workspace.v1.StopReason.
9847
10564
  */
9848
10565
  export declare const StopReasonSchema: GenEnum<StopReason, StopReasonJson>;
10566
+ /**
10567
+ * StopCause identifies the policy behind a stop.
10568
+ *
10569
+ * @generated from enum toshi.workspace.v1.StopCause
10570
+ */
10571
+ export declare enum StopCause {
10572
+ /**
10573
+ * @generated from enum value: STOP_CAUSE_UNSPECIFIED = 0;
10574
+ */
10575
+ UNSPECIFIED = 0,
10576
+ /**
10577
+ * Executions exceeded their rate.
10578
+ *
10579
+ * @generated from enum value: STOP_CAUSE_EXEC_RATE = 1;
10580
+ */
10581
+ EXEC_RATE = 1,
10582
+ /**
10583
+ * Outbound connections exceeded their rate.
10584
+ *
10585
+ * @generated from enum value: STOP_CAUSE_CONNECTION_RATE = 2;
10586
+ */
10587
+ CONNECTION_RATE = 2,
10588
+ /**
10589
+ * Requests at its public names exceeded their rate.
10590
+ *
10591
+ * @generated from enum value: STOP_CAUSE_REQUEST_RATE = 3;
10592
+ */
10593
+ REQUEST_RATE = 3,
10594
+ /**
10595
+ * Its CPU and traffic looked like mining.
10596
+ *
10597
+ * @generated from enum value: STOP_CAUSE_MINING = 4;
10598
+ */
10599
+ MINING = 4,
10600
+ /**
10601
+ * An operator stopped it.
10602
+ *
10603
+ * @generated from enum value: STOP_CAUSE_OPERATOR = 5;
10604
+ */
10605
+ OPERATOR = 5,
10606
+ /**
10607
+ * a job from a pull request from a fork was handed a runner whose VM could not be narrowed before it started
10608
+ *
10609
+ * @generated from enum value: STOP_CAUSE_RUNNER_SWAP = 6;
10610
+ */
10611
+ RUNNER_SWAP = 6
10612
+ }
10613
+ /**
10614
+ * StopCause identifies the policy behind a stop.
10615
+ *
10616
+ * @generated from enum toshi.workspace.v1.StopCause
10617
+ */
10618
+ export type StopCauseJson = "STOP_CAUSE_UNSPECIFIED" | "STOP_CAUSE_EXEC_RATE" | "STOP_CAUSE_CONNECTION_RATE" | "STOP_CAUSE_REQUEST_RATE" | "STOP_CAUSE_MINING" | "STOP_CAUSE_OPERATOR" | "STOP_CAUSE_RUNNER_SWAP";
10619
+ /**
10620
+ * Describes the enum toshi.workspace.v1.StopCause.
10621
+ */
10622
+ export declare const StopCauseSchema: GenEnum<StopCause, StopCauseJson>;
10623
+ /**
10624
+ * OperatorHold is an operator's hold on a workload.
10625
+ *
10626
+ * @generated from enum toshi.workspace.v1.OperatorHold
10627
+ */
10628
+ export declare enum OperatorHold {
10629
+ /**
10630
+ * @generated from enum value: OPERATOR_HOLD_UNSPECIFIED = 0;
10631
+ */
10632
+ UNSPECIFIED = 0,
10633
+ /**
10634
+ * Abuse is suspected.
10635
+ *
10636
+ * @generated from enum value: OPERATOR_HOLD_ABUSE_SUSPECTED = 1;
10637
+ */
10638
+ ABUSE_SUSPECTED = 1,
10639
+ /**
10640
+ * Abuse is confirmed.
10641
+ *
10642
+ * @generated from enum value: OPERATOR_HOLD_ABUSE_CONFIRMED = 2;
10643
+ */
10644
+ ABUSE_CONFIRMED = 2
10645
+ }
10646
+ /**
10647
+ * OperatorHold is an operator's hold on a workload.
10648
+ *
10649
+ * @generated from enum toshi.workspace.v1.OperatorHold
10650
+ */
10651
+ export type OperatorHoldJson = "OPERATOR_HOLD_UNSPECIFIED" | "OPERATOR_HOLD_ABUSE_SUSPECTED" | "OPERATOR_HOLD_ABUSE_CONFIRMED";
10652
+ /**
10653
+ * Describes the enum toshi.workspace.v1.OperatorHold.
10654
+ */
10655
+ export declare const OperatorHoldSchema: GenEnum<OperatorHold, OperatorHoldJson>;
9849
10656
  /**
9850
10657
  * JobState is where a job is in its life. A job can skip a state: one
9851
10658
  * cancelled while queued ends without running.
@@ -10184,7 +10991,7 @@ export declare enum ServiceMode {
10184
10991
  ALWAYS_ON = 1,
10185
10992
  /**
10186
10993
  * Runs while it is awake: woken by WakeService, a hold or a connect on
10187
- * one of its channels, and asleep again after its recipe's idle period
10994
+ * one of its endpoints, and asleep again after its recipe's idle period
10188
10995
  * with no hold.
10189
10996
  *
10190
10997
  * @generated from enum value: SERVICE_MODE_ON_DEMAND = 2;
@@ -10281,7 +11088,7 @@ export declare enum EventType {
10281
11088
  */
10282
11089
  SECRET_WITHHELD = 10,
10283
11090
  /**
10284
- * A workload a trigger made is ready, with the link of its channel. Name:
11091
+ * A workload a trigger made is ready, with the link of its endpoint. Name:
10285
11092
  * "trigger.ready".
10286
11093
  *
10287
11094
  * @generated from enum value: EVENT_TYPE_TRIGGER_READY = 11;
@@ -10335,7 +11142,68 @@ export declare enum EventType {
10335
11142
  *
10336
11143
  * @generated from enum value: EVENT_TYPE_KEPT_VM_DISCARDED = 18;
10337
11144
  */
10338
- KEPT_VM_DISCARDED = 18
11145
+ KEPT_VM_DISCARDED = 18,
11146
+ /**
11147
+ * An ACP endpoint's agent asked the client's permission to use a tool.
11148
+ * Name: "endpoint.acp.permission_requested". Payload: EndpointACPEvent.
11149
+ *
11150
+ * @generated from enum value: EVENT_TYPE_ENDPOINT_ACP_PERMISSION_REQUESTED = 19;
11151
+ */
11152
+ ENDPOINT_ACP_PERMISSION_REQUESTED = 19,
11153
+ /**
11154
+ * An ACP endpoint's agent finished a prompt. Name:
11155
+ * "endpoint.acp.turn_ended". Payload: EndpointACPEvent.
11156
+ *
11157
+ * @generated from enum value: EVENT_TYPE_ENDPOINT_ACP_TURN_ENDED = 20;
11158
+ */
11159
+ ENDPOINT_ACP_TURN_ENDED = 20,
11160
+ /**
11161
+ * A service's run was restored from the snapshot its VM left when the
11162
+ * run before it went to sleep, with when the snapshot was taken and how
11163
+ * much time passed since. Name: "service.restored". Payload:
11164
+ * ServiceRestoredEvent.
11165
+ *
11166
+ * @generated from enum value: EVENT_TYPE_SERVICE_RESTORED = 21;
11167
+ */
11168
+ SERVICE_RESTORED = 21,
11169
+ /**
11170
+ * A service's run could not keep a snapshot when it went to sleep, or
11171
+ * its snapshot could not be restored and the run started cold, with
11172
+ * why. Name: "service.snapshot_failed" or "service.restore_failed".
11173
+ * Payload: ServiceSnapshotFailedEvent.
11174
+ *
11175
+ * @generated from enum value: EVENT_TYPE_SERVICE_SNAPSHOT_FAILED = 22;
11176
+ */
11177
+ SERVICE_SNAPSHOT_FAILED = 22,
11178
+ /**
11179
+ * A service's sign-in program signed the service in. Name:
11180
+ * "service.signin". Payload: ServiceSignInEvent.
11181
+ *
11182
+ * @generated from enum value: EVENT_TYPE_SERVICE_SIGNIN = 23;
11183
+ */
11184
+ SERVICE_SIGNIN = 23,
11185
+ /**
11186
+ * A status command found a service's sign-in program signed out after
11187
+ * Toshi recorded its sign-in. Name: "service.signout". Payload:
11188
+ * ServiceSignInEvent.
11189
+ *
11190
+ * @generated from enum value: EVENT_TYPE_SERVICE_SIGNOUT = 24;
11191
+ */
11192
+ SERVICE_SIGNOUT = 24,
11193
+ /**
11194
+ * The mail provider reported that a message the workload sent did not
11195
+ * reach a recipient. Name: "mail.bounced". Payload: MailNoticeEvent.
11196
+ *
11197
+ * @generated from enum value: EVENT_TYPE_MAIL_BOUNCED = 25;
11198
+ */
11199
+ MAIL_BOUNCED = 25,
11200
+ /**
11201
+ * A recipient of a message the workload sent reported it to their mail
11202
+ * provider as unwanted. Name: "mail.complained". Payload: MailNoticeEvent.
11203
+ *
11204
+ * @generated from enum value: EVENT_TYPE_MAIL_COMPLAINED = 26;
11205
+ */
11206
+ MAIL_COMPLAINED = 26
10339
11207
  }
10340
11208
  /**
10341
11209
  * EventType is the closed set of event types. Built-in event names are
@@ -10345,7 +11213,7 @@ export declare enum EventType {
10345
11213
  *
10346
11214
  * @generated from enum toshi.workspace.v1.EventType
10347
11215
  */
10348
- export type EventTypeJson = "EVENT_TYPE_UNSPECIFIED" | "EVENT_TYPE_WORKLOAD_CREATED" | "EVENT_TYPE_WORKLOAD_STATE_CHANGED" | "EVENT_TYPE_WORKLOAD_UPDATED" | "EVENT_TYPE_WORKLOAD_DELETED" | "EVENT_TYPE_EXECUTION_STARTED" | "EVENT_TYPE_EXECUTION_ENDED" | "EVENT_TYPE_EMITTED" | "EVENT_TYPE_RECORDING_READY" | "EVENT_TYPE_CONNECTION" | "EVENT_TYPE_SECRET_WITHHELD" | "EVENT_TYPE_TRIGGER_READY" | "EVENT_TYPE_TRIGGER_FAILED" | "EVENT_TYPE_TRIGGER_REMOVED" | "EVENT_TYPE_UPGRADE_ROLLED_BACK" | "EVENT_TYPE_AGENT_ANSWERED" | "EVENT_TYPE_EGRESS_DENIED" | "EVENT_TYPE_MAIL_SENT" | "EVENT_TYPE_KEPT_VM_DISCARDED";
11216
+ export type EventTypeJson = "EVENT_TYPE_UNSPECIFIED" | "EVENT_TYPE_WORKLOAD_CREATED" | "EVENT_TYPE_WORKLOAD_STATE_CHANGED" | "EVENT_TYPE_WORKLOAD_UPDATED" | "EVENT_TYPE_WORKLOAD_DELETED" | "EVENT_TYPE_EXECUTION_STARTED" | "EVENT_TYPE_EXECUTION_ENDED" | "EVENT_TYPE_EMITTED" | "EVENT_TYPE_RECORDING_READY" | "EVENT_TYPE_CONNECTION" | "EVENT_TYPE_SECRET_WITHHELD" | "EVENT_TYPE_TRIGGER_READY" | "EVENT_TYPE_TRIGGER_FAILED" | "EVENT_TYPE_TRIGGER_REMOVED" | "EVENT_TYPE_UPGRADE_ROLLED_BACK" | "EVENT_TYPE_AGENT_ANSWERED" | "EVENT_TYPE_EGRESS_DENIED" | "EVENT_TYPE_MAIL_SENT" | "EVENT_TYPE_KEPT_VM_DISCARDED" | "EVENT_TYPE_ENDPOINT_ACP_PERMISSION_REQUESTED" | "EVENT_TYPE_ENDPOINT_ACP_TURN_ENDED" | "EVENT_TYPE_SERVICE_RESTORED" | "EVENT_TYPE_SERVICE_SNAPSHOT_FAILED" | "EVENT_TYPE_SERVICE_SIGNIN" | "EVENT_TYPE_SERVICE_SIGNOUT" | "EVENT_TYPE_MAIL_BOUNCED" | "EVENT_TYPE_MAIL_COMPLAINED";
10349
11217
  /**
10350
11218
  * Describes the enum toshi.workspace.v1.EventType.
10351
11219
  */
@@ -10377,7 +11245,7 @@ export declare enum PreviewShareLinkState {
10377
11245
  */
10378
11246
  REVOKED = 3,
10379
11247
  /**
10380
- * Its connections carried its byte cap, or its channel was deleted.
11248
+ * Its connections carried its byte cap, or its endpoint was deleted.
10381
11249
  *
10382
11250
  * @generated from enum value: PREVIEW_SHARE_LINK_STATE_ENDED = 4;
10383
11251
  */