@toshicloud/sdk 0.6.0 → 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 (44) hide show
  1. package/README.md +39 -510
  2. package/dist/client.d.ts +6 -4
  3. package/dist/client.js +4 -2
  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 +213 -19
  7. package/dist/gen/toshi/workspace/v1/connections_pb.js +97 -25
  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 +46 -22
  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 +552 -29
  31. package/dist/gen/toshi/workspace/v1/workloads_pb.js +85 -55
  32. package/dist/gen/toshi/workspace/v1/workspace_pb.d.ts +639 -119
  33. package/dist/gen/toshi/workspace/v1/workspace_pb.js +174 -88
  34. package/dist/gen/toshi/workspace/v1/workspace_service_pb.d.ts +101 -4
  35. package/dist/gen/toshi/workspace/v1/workspace_service_pb.js +20 -15
  36. package/dist/index.d.ts +2 -1
  37. package/dist/index.js +2 -1
  38. package/dist/retry.js +33 -22
  39. package/dist/test/alarms.js +1 -1
  40. package/dist/test/procedures.js +35 -25
  41. package/dist/version.d.ts +1 -1
  42. package/dist/version.js +1 -1
  43. package/package.json +1 -1
  44. 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
  */
@@ -872,10 +872,10 @@ export type SandboxStatusJson = {
872
872
  */
873
873
  stopReason?: StopReasonJson;
874
874
  /**
875
- * While it runs, its previews: one for each of its http channels served
876
- * at a hostname of its own, the channel `preview` among them. Empty
877
- * while the control plane serves no previews. Making or deleting such a
878
- * 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.
879
879
  *
880
880
  * @generated from field: repeated toshi.workspace.v1.SandboxPreview previews = 10;
881
881
  */
@@ -1353,9 +1353,9 @@ export type ServiceStatus = Message<"toshi.workspace.v1.ServiceStatus"> & {
1353
1353
  */
1354
1354
  liveRun?: ServiceRun | undefined;
1355
1355
  /**
1356
- * The names visitors reach the service's http channels at, one per
1357
- * channel of its current revision's recipe that has one: the front
1358
- * 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
1359
1359
  * other in recipe order at "<port>-<service>.<workspace>.svc.<domain>".
1360
1360
  * Empty while the
1361
1361
  * deployment hosts no names. Set by Toshi on GetService; ignored in a
@@ -1365,7 +1365,7 @@ export type ServiceStatus = Message<"toshi.workspace.v1.ServiceStatus"> & {
1365
1365
  */
1366
1366
  providedNames: ProvidedName[];
1367
1367
  /**
1368
- * 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
1369
1369
  * name that does not start with a letter; empty otherwise. Set by Toshi
1370
1370
  * on GetService.
1371
1371
  *
@@ -1468,9 +1468,9 @@ export type ServiceStatusJson = {
1468
1468
  */
1469
1469
  liveRun?: ServiceRunJson;
1470
1470
  /**
1471
- * The names visitors reach the service's http channels at, one per
1472
- * channel of its current revision's recipe that has one: the front
1473
- * 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
1474
1474
  * other in recipe order at "<port>-<service>.<workspace>.svc.<domain>".
1475
1475
  * Empty while the
1476
1476
  * deployment hosts no names. Set by Toshi on GetService; ignored in a
@@ -1480,7 +1480,7 @@ export type ServiceStatusJson = {
1480
1480
  */
1481
1481
  providedNames?: ProvidedNameJson[];
1482
1482
  /**
1483
- * 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
1484
1484
  * name that does not start with a letter; empty otherwise. Set by Toshi
1485
1485
  * on GetService.
1486
1486
  *
@@ -1625,17 +1625,17 @@ export declare const ServiceBackupSchema: GenMessage<ServiceBackup, {
1625
1625
  jsonType: ServiceBackupJson;
1626
1626
  }>;
1627
1627
  /**
1628
- * 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.
1629
1629
  *
1630
1630
  * @generated from message toshi.workspace.v1.ProvidedName
1631
1631
  */
1632
1632
  export type ProvidedName = Message<"toshi.workspace.v1.ProvidedName"> & {
1633
1633
  /**
1634
- * The channel's name in the service's recipe.
1634
+ * The endpoint's name in the service's recipe.
1635
1635
  *
1636
- * @generated from field: string channel = 1;
1636
+ * @generated from field: string endpoint = 1;
1637
1637
  */
1638
- channel: string;
1638
+ endpoint: string;
1639
1639
  /**
1640
1640
  * The full name, without a scheme or a port.
1641
1641
  *
@@ -1644,17 +1644,17 @@ export type ProvidedName = Message<"toshi.workspace.v1.ProvidedName"> & {
1644
1644
  host: string;
1645
1645
  };
1646
1646
  /**
1647
- * 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.
1648
1648
  *
1649
1649
  * @generated from message toshi.workspace.v1.ProvidedName
1650
1650
  */
1651
1651
  export type ProvidedNameJson = {
1652
1652
  /**
1653
- * The channel's name in the service's recipe.
1653
+ * The endpoint's name in the service's recipe.
1654
1654
  *
1655
- * @generated from field: string channel = 1;
1655
+ * @generated from field: string endpoint = 1;
1656
1656
  */
1657
- channel?: string;
1657
+ endpoint?: string;
1658
1658
  /**
1659
1659
  * The full name, without a scheme or a port.
1660
1660
  *
@@ -1876,11 +1876,11 @@ export type Binding = Message<"toshi.workspace.v1.Binding"> & {
1876
1876
  */
1877
1877
  target: {
1878
1878
  /**
1879
- * 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.
1880
1880
  *
1881
- * @generated from field: toshi.workspace.v1.ServiceChannel service = 2;
1881
+ * @generated from field: toshi.workspace.v1.ServiceEndpoint service = 2;
1882
1882
  */
1883
- value: ServiceChannel;
1883
+ value: ServiceEndpoint;
1884
1884
  case: "service";
1885
1885
  } | {
1886
1886
  /**
@@ -1918,11 +1918,11 @@ export type BindingJson = {
1918
1918
  */
1919
1919
  name?: string;
1920
1920
  /**
1921
- * 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.
1922
1922
  *
1923
- * @generated from field: toshi.workspace.v1.ServiceChannel service = 2;
1923
+ * @generated from field: toshi.workspace.v1.ServiceEndpoint service = 2;
1924
1924
  */
1925
- service?: ServiceChannelJson;
1925
+ service?: ServiceEndpointJson;
1926
1926
  /**
1927
1927
  * The secret set of the workload's environment.
1928
1928
  *
@@ -1945,45 +1945,45 @@ export declare const BindingSchema: GenMessage<Binding, {
1945
1945
  jsonType: BindingJson;
1946
1946
  }>;
1947
1947
  /**
1948
- * ServiceChannel is a channel of a service, by the service's name and the
1949
- * channel's name in its recipe, as a recipe's uses names it:
1950
- * "<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>".
1951
1951
  *
1952
- * @generated from message toshi.workspace.v1.ServiceChannel
1952
+ * @generated from message toshi.workspace.v1.ServiceEndpoint
1953
1953
  */
1954
- export type ServiceChannel = Message<"toshi.workspace.v1.ServiceChannel"> & {
1954
+ export type ServiceEndpoint = Message<"toshi.workspace.v1.ServiceEndpoint"> & {
1955
1955
  /**
1956
1956
  * @generated from field: string service = 1;
1957
1957
  */
1958
1958
  service: string;
1959
1959
  /**
1960
- * @generated from field: string channel = 2;
1960
+ * @generated from field: string endpoint = 2;
1961
1961
  */
1962
- channel: string;
1962
+ endpoint: string;
1963
1963
  };
1964
1964
  /**
1965
- * ServiceChannel is a channel of a service, by the service's name and the
1966
- * channel's name in its recipe, as a recipe's uses names it:
1967
- * "<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>".
1968
1968
  *
1969
- * @generated from message toshi.workspace.v1.ServiceChannel
1969
+ * @generated from message toshi.workspace.v1.ServiceEndpoint
1970
1970
  */
1971
- export type ServiceChannelJson = {
1971
+ export type ServiceEndpointJson = {
1972
1972
  /**
1973
1973
  * @generated from field: string service = 1;
1974
1974
  */
1975
1975
  service?: string;
1976
1976
  /**
1977
- * @generated from field: string channel = 2;
1977
+ * @generated from field: string endpoint = 2;
1978
1978
  */
1979
- channel?: string;
1979
+ endpoint?: string;
1980
1980
  };
1981
1981
  /**
1982
- * Describes the message toshi.workspace.v1.ServiceChannel.
1983
- * 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.
1984
1984
  */
1985
- export declare const ServiceChannelSchema: GenMessage<ServiceChannel, {
1986
- jsonType: ServiceChannelJson;
1985
+ export declare const ServiceEndpointSchema: GenMessage<ServiceEndpoint, {
1986
+ jsonType: ServiceEndpointJson;
1987
1987
  }>;
1988
1988
  /**
1989
1989
  * EnvironmentSecrets binds the secret set of the workload's environment,
@@ -2108,7 +2108,7 @@ export declare const BoundBindingSchema: GenMessage<BoundBinding, {
2108
2108
  jsonType: BoundBindingJson;
2109
2109
  }>;
2110
2110
  /**
2111
- * 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.
2112
2112
  *
2113
2113
  * @generated from message toshi.workspace.v1.BoundService
2114
2114
  */
@@ -2130,11 +2130,11 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2130
2130
  */
2131
2131
  revision: bigint;
2132
2132
  /**
2133
- * @generated from field: string channel = 4;
2133
+ * @generated from field: string endpoint = 4;
2134
2134
  */
2135
- channel: string;
2135
+ endpoint: string;
2136
2136
  /**
2137
- * 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.
2138
2138
  *
2139
2139
  * @generated from field: string shape = 5;
2140
2140
  */
@@ -2144,7 +2144,7 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2144
2144
  */
2145
2145
  port: number;
2146
2146
  /**
2147
- * What the channel accepts from the caller: "workload_identity", a
2147
+ * What the endpoint accepts from the caller: "workload_identity", a
2148
2148
  * connect credential signed by the workload identity issuer
2149
2149
  * naming audience and this binding. Minted when the job's command
2150
2150
  * starts, and passed only to that command.
@@ -2165,7 +2165,7 @@ export type BoundService = Message<"toshi.workspace.v1.BoundService"> & {
2165
2165
  credentialId: string;
2166
2166
  };
2167
2167
  /**
2168
- * 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.
2169
2169
  *
2170
2170
  * @generated from message toshi.workspace.v1.BoundService
2171
2171
  */
@@ -2187,11 +2187,11 @@ export type BoundServiceJson = {
2187
2187
  */
2188
2188
  revision?: string;
2189
2189
  /**
2190
- * @generated from field: string channel = 4;
2190
+ * @generated from field: string endpoint = 4;
2191
2191
  */
2192
- channel?: string;
2192
+ endpoint?: string;
2193
2193
  /**
2194
- * 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.
2195
2195
  *
2196
2196
  * @generated from field: string shape = 5;
2197
2197
  */
@@ -2201,7 +2201,7 @@ export type BoundServiceJson = {
2201
2201
  */
2202
2202
  port?: number;
2203
2203
  /**
2204
- * What the channel accepts from the caller: "workload_identity", a
2204
+ * What the endpoint accepts from the caller: "workload_identity", a
2205
2205
  * connect credential signed by the workload identity issuer
2206
2206
  * naming audience and this binding. Minted when the job's command
2207
2207
  * starts, and passed only to that command.
@@ -2427,11 +2427,11 @@ export type SandboxSpec = Message<"toshi.workspace.v1.SandboxSpec"> & {
2427
2427
  maxDuration?: Duration | undefined;
2428
2428
  /**
2429
2429
  * What in its workspace the sandbox uses: the secret set of its
2430
- * environment and the channels of its project's and environment's
2430
+ * environment and the endpoints of its project's and environment's
2431
2431
  * services. Checked at create and fixed when the sandbox starts; each
2432
2432
  * Execute gets the secret set's fixed values in its command's
2433
- * environment, and reaches a bound http channel by the service's name,
2434
- * <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.
2435
2435
  *
2436
2436
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 3;
2437
2437
  */
@@ -2539,6 +2539,23 @@ export type SandboxSpec = Message<"toshi.workspace.v1.SandboxSpec"> & {
2539
2539
  * @generated from field: bool keep_vm = 14;
2540
2540
  */
2541
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;
2542
2559
  };
2543
2560
  /**
2544
2561
  * SandboxSpec is a sandbox: a VM that runs until its owner
@@ -2565,11 +2582,11 @@ export type SandboxSpecJson = {
2565
2582
  maxDuration?: DurationJson;
2566
2583
  /**
2567
2584
  * What in its workspace the sandbox uses: the secret set of its
2568
- * environment and the channels of its project's and environment's
2585
+ * environment and the endpoints of its project's and environment's
2569
2586
  * services. Checked at create and fixed when the sandbox starts; each
2570
2587
  * Execute gets the secret set's fixed values in its command's
2571
- * environment, and reaches a bound http channel by the service's name,
2572
- * <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.
2573
2590
  *
2574
2591
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 3;
2575
2592
  */
@@ -2677,6 +2694,23 @@ export type SandboxSpecJson = {
2677
2694
  * @generated from field: bool keep_vm = 14;
2678
2695
  */
2679
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;
2680
2714
  };
2681
2715
  /**
2682
2716
  * Describes the message toshi.workspace.v1.SandboxSpec.
@@ -2821,7 +2855,7 @@ export type ServiceSpec = Message<"toshi.workspace.v1.ServiceSpec"> & {
2821
2855
  stateVolume?: StateVolumeSpec | undefined;
2822
2856
  /**
2823
2857
  * Create only: the service's bindings, a secret set or its project's
2824
- * and environment's services' channels. Answers leave them empty.
2858
+ * and environment's services' endpoints. Answers leave them empty.
2825
2859
  *
2826
2860
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 8;
2827
2861
  */
@@ -2945,7 +2979,7 @@ export type ServiceSpecJson = {
2945
2979
  stateVolume?: StateVolumeSpecJson;
2946
2980
  /**
2947
2981
  * Create only: the service's bindings, a secret set or its project's
2948
- * and environment's services' channels. Answers leave them empty.
2982
+ * and environment's services' endpoints. Answers leave them empty.
2949
2983
  *
2950
2984
  * @generated from field: repeated toshi.workspace.v1.Binding bindings = 8;
2951
2985
  */
@@ -3110,20 +3144,20 @@ export declare const CommandSchema: GenMessage<Command, {
3110
3144
  jsonType: CommandJson;
3111
3145
  }>;
3112
3146
  /**
3113
- * 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.
3114
3148
  *
3115
3149
  * @generated from message toshi.workspace.v1.SandboxPreview
3116
3150
  */
3117
3151
  export type SandboxPreview = Message<"toshi.workspace.v1.SandboxPreview"> & {
3118
3152
  /**
3119
- * 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
3120
3154
  * declares.
3121
3155
  *
3122
- * @generated from field: string channel = 1;
3156
+ * @generated from field: string endpoint = 1;
3123
3157
  */
3124
- channel: string;
3158
+ endpoint: string;
3125
3159
  /**
3126
- * The guest port the channel reaches.
3160
+ * The guest port the endpoint reaches.
3127
3161
  *
3128
3162
  * @generated from field: int32 port = 2;
3129
3163
  */
@@ -3136,20 +3170,20 @@ export type SandboxPreview = Message<"toshi.workspace.v1.SandboxPreview"> & {
3136
3170
  url: string;
3137
3171
  };
3138
3172
  /**
3139
- * 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.
3140
3174
  *
3141
3175
  * @generated from message toshi.workspace.v1.SandboxPreview
3142
3176
  */
3143
3177
  export type SandboxPreviewJson = {
3144
3178
  /**
3145
- * 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
3146
3180
  * declares.
3147
3181
  *
3148
- * @generated from field: string channel = 1;
3182
+ * @generated from field: string endpoint = 1;
3149
3183
  */
3150
- channel?: string;
3184
+ endpoint?: string;
3151
3185
  /**
3152
- * The guest port the channel reaches.
3186
+ * The guest port the endpoint reaches.
3153
3187
  *
3154
3188
  * @generated from field: int32 port = 2;
3155
3189
  */
@@ -4975,6 +5009,46 @@ export type Event = Message<"toshi.workspace.v1.Event"> & {
4975
5009
  */
4976
5010
  value: KeptVMDiscardedEvent;
4977
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";
4978
5052
  } | {
4979
5053
  case: undefined;
4980
5054
  value?: undefined;
@@ -5125,6 +5199,36 @@ export type EventJson = {
5125
5199
  * @generated from field: toshi.workspace.v1.KeptVMDiscardedEvent kept_vm_discarded = 24;
5126
5200
  */
5127
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;
5128
5232
  /**
5129
5233
  * The project the workload or the connection's event belongs to; set on
5130
5234
  * every event.
@@ -5153,6 +5257,79 @@ export type EventJson = {
5153
5257
  export declare const EventSchema: GenMessage<Event, {
5154
5258
  jsonType: EventJson;
5155
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
+ }>;
5156
5333
  /**
5157
5334
  * KeptVMDiscardedEvent records a kept VM discarded before a fresh run.
5158
5335
  *
@@ -5198,6 +5375,199 @@ export type KeptVMDiscardedEventJson = {
5198
5375
  export declare const KeptVMDiscardedEventSchema: GenMessage<KeptVMDiscardedEvent, {
5199
5376
  jsonType: KeptVMDiscardedEventJson;
5200
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
+ }>;
5201
5571
  /**
5202
5572
  * UpgradeRolledBackEvent is a service upgrade that failed in its window and
5203
5573
  * was rolled back.
@@ -5544,7 +5914,7 @@ export declare const EgressDenialSchema: GenMessage<EgressDenial, {
5544
5914
  /**
5545
5915
  * TriggerResult is the payload of a trigger's events: the trigger, the key
5546
5916
  * its event named, the workload it made for the key, the event that caused
5547
- * 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
5548
5918
  * was removed, and the commit it was made from.
5549
5919
  *
5550
5920
  * @generated from message toshi.workspace.v1.TriggerResult
@@ -5577,7 +5947,7 @@ export type TriggerResult = Message<"toshi.workspace.v1.TriggerResult"> & {
5577
5947
  */
5578
5948
  eventId: string;
5579
5949
  /**
5580
- * The link of the workload's channel, once it is ready.
5950
+ * The link of the workload's endpoint, once it is ready.
5581
5951
  *
5582
5952
  * @generated from field: string link = 6;
5583
5953
  */
@@ -5614,7 +5984,7 @@ export type TriggerResult = Message<"toshi.workspace.v1.TriggerResult"> & {
5614
5984
  /**
5615
5985
  * TriggerResult is the payload of a trigger's events: the trigger, the key
5616
5986
  * its event named, the workload it made for the key, the event that caused
5617
- * 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
5618
5988
  * was removed, and the commit it was made from.
5619
5989
  *
5620
5990
  * @generated from message toshi.workspace.v1.TriggerResult
@@ -5647,7 +6017,7 @@ export type TriggerResultJson = {
5647
6017
  */
5648
6018
  eventId?: string;
5649
6019
  /**
5650
- * The link of the workload's channel, once it is ready.
6020
+ * The link of the workload's endpoint, once it is ready.
5651
6021
  *
5652
6022
  * @generated from field: string link = 6;
5653
6023
  */
@@ -5896,6 +6266,79 @@ export type MailSentEventJson = {
5896
6266
  export declare const MailSentEventSchema: GenMessage<MailSentEvent, {
5897
6267
  jsonType: MailSentEventJson;
5898
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
+ }>;
5899
6342
  /**
5900
6343
  * AgentPrompt is a question or an approval an agent workload asked that
5901
6344
  * nobody has answered yet. AnswerPrompt answers it.
@@ -6494,14 +6937,14 @@ export type PreviewShareLink = Message<"toshi.workspace.v1.PreviewShareLink"> &
6494
6937
  */
6495
6938
  endedAt?: Timestamp | undefined;
6496
6939
  /**
6497
- * The channel whose preview the link opens: `preview` for the sandbox's
6498
- * 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.
6499
6942
  *
6500
- * @generated from field: string channel = 11;
6943
+ * @generated from field: string endpoint = 11;
6501
6944
  */
6502
- channel: string;
6945
+ endpoint: string;
6503
6946
  /**
6504
- * The guest port that channel reaches.
6947
+ * The guest port that endpoint reaches.
6505
6948
  *
6506
6949
  * @generated from field: int32 port = 12;
6507
6950
  */
@@ -6569,14 +7012,14 @@ export type PreviewShareLinkJson = {
6569
7012
  */
6570
7013
  endedAt?: TimestampJson;
6571
7014
  /**
6572
- * The channel whose preview the link opens: `preview` for the sandbox's
6573
- * 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.
6574
7017
  *
6575
- * @generated from field: string channel = 11;
7018
+ * @generated from field: string endpoint = 11;
6576
7019
  */
6577
- channel?: string;
7020
+ endpoint?: string;
6578
7021
  /**
6579
- * The guest port that channel reaches.
7022
+ * The guest port that endpoint reaches.
6580
7023
  *
6581
7024
  * @generated from field: int32 port = 12;
6582
7025
  */
@@ -6622,17 +7065,17 @@ export type CreatePreviewShareLinkRequest = Message<"toshi.workspace.v1.CreatePr
6622
7065
  */
6623
7066
  maxBytes: bigint;
6624
7067
  /**
6625
- * The preview the link opens: one of the sandbox's http channels, by
6626
- * 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`.
6627
7070
  *
6628
- * @generated from oneof toshi.workspace.v1.CreatePreviewShareLinkRequest.channel_ref
7071
+ * @generated from oneof toshi.workspace.v1.CreatePreviewShareLinkRequest.endpoint_ref
6629
7072
  */
6630
- channelRef: {
7073
+ endpointRef: {
6631
7074
  /**
6632
- * @generated from field: string channel = 6;
7075
+ * @generated from field: string endpoint = 6;
6633
7076
  */
6634
7077
  value: string;
6635
- case: "channel";
7078
+ case: "endpoint";
6636
7079
  } | {
6637
7080
  /**
6638
7081
  * @generated from field: int32 port = 7;
@@ -6677,9 +7120,9 @@ export type CreatePreviewShareLinkRequestJson = {
6677
7120
  */
6678
7121
  maxBytes?: string;
6679
7122
  /**
6680
- * @generated from field: string channel = 6;
7123
+ * @generated from field: string endpoint = 6;
6681
7124
  */
6682
- channel?: string;
7125
+ endpoint?: string;
6683
7126
  /**
6684
7127
  * @generated from field: int32 port = 7;
6685
7128
  */
@@ -6928,12 +7371,12 @@ export type ServiceShareLink = Message<"toshi.workspace.v1.ServiceShareLink"> &
6928
7371
  */
6929
7372
  serviceId: string;
6930
7373
  /**
6931
- * 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
6932
7375
  * opens.
6933
7376
  *
6934
- * @generated from field: string channel = 3;
7377
+ * @generated from field: string endpoint = 3;
6935
7378
  */
6936
- channel: string;
7379
+ endpoint: string;
6937
7380
  /**
6938
7381
  * @generated from field: toshi.workspace.v1.PreviewShareLinkState state = 4;
6939
7382
  */
@@ -6998,12 +7441,12 @@ export type ServiceShareLinkJson = {
6998
7441
  */
6999
7442
  serviceId?: string;
7000
7443
  /**
7001
- * 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
7002
7445
  * opens.
7003
7446
  *
7004
- * @generated from field: string channel = 3;
7447
+ * @generated from field: string endpoint = 3;
7005
7448
  */
7006
- channel?: string;
7449
+ endpoint?: string;
7007
7450
  /**
7008
7451
  * @generated from field: toshi.workspace.v1.PreviewShareLinkState state = 4;
7009
7452
  */
@@ -7073,12 +7516,12 @@ export type CreateServiceShareLinkRequest = Message<"toshi.workspace.v1.CreateSe
7073
7516
  */
7074
7517
  serviceId: string;
7075
7518
  /**
7076
- * The http channel whose provided name the link opens; empty is the
7077
- * 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.
7078
7521
  *
7079
- * @generated from field: string channel = 4;
7522
+ * @generated from field: string endpoint = 4;
7080
7523
  */
7081
- channel: string;
7524
+ endpoint: string;
7082
7525
  /**
7083
7526
  * How long the link stays valid, at most the plan's maximum; unset is
7084
7527
  * 24 hours, or the plan's maximum when that is shorter.
@@ -7113,12 +7556,12 @@ export type CreateServiceShareLinkRequestJson = {
7113
7556
  */
7114
7557
  serviceId?: string;
7115
7558
  /**
7116
- * The http channel whose provided name the link opens; empty is the
7117
- * 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.
7118
7561
  *
7119
- * @generated from field: string channel = 4;
7562
+ * @generated from field: string endpoint = 4;
7120
7563
  */
7121
- channel?: string;
7564
+ endpoint?: string;
7122
7565
  /**
7123
7566
  * How long the link stays valid, at most the plan's maximum; unset is
7124
7567
  * 24 hours, or the plan's maximum when that is shorter.
@@ -9910,6 +10353,14 @@ export type ServiceRun = Message<"toshi.workspace.v1.ServiceRun"> & {
9910
10353
  * @generated from field: string error = 10;
9911
10354
  */
9912
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;
9913
10364
  };
9914
10365
  /**
9915
10366
  * ServiceRun is one run of a service: a job on a host.
@@ -9979,6 +10430,14 @@ export type ServiceRunJson = {
9979
10430
  * @generated from field: string error = 10;
9980
10431
  */
9981
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;
9982
10441
  };
9983
10442
  /**
9984
10443
  * Describes the message toshi.workspace.v1.ServiceRun.
@@ -10532,7 +10991,7 @@ export declare enum ServiceMode {
10532
10991
  ALWAYS_ON = 1,
10533
10992
  /**
10534
10993
  * Runs while it is awake: woken by WakeService, a hold or a connect on
10535
- * 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
10536
10995
  * with no hold.
10537
10996
  *
10538
10997
  * @generated from enum value: SERVICE_MODE_ON_DEMAND = 2;
@@ -10629,7 +11088,7 @@ export declare enum EventType {
10629
11088
  */
10630
11089
  SECRET_WITHHELD = 10,
10631
11090
  /**
10632
- * 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:
10633
11092
  * "trigger.ready".
10634
11093
  *
10635
11094
  * @generated from enum value: EVENT_TYPE_TRIGGER_READY = 11;
@@ -10683,7 +11142,68 @@ export declare enum EventType {
10683
11142
  *
10684
11143
  * @generated from enum value: EVENT_TYPE_KEPT_VM_DISCARDED = 18;
10685
11144
  */
10686
- 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
10687
11207
  }
10688
11208
  /**
10689
11209
  * EventType is the closed set of event types. Built-in event names are
@@ -10693,7 +11213,7 @@ export declare enum EventType {
10693
11213
  *
10694
11214
  * @generated from enum toshi.workspace.v1.EventType
10695
11215
  */
10696
- 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";
10697
11217
  /**
10698
11218
  * Describes the enum toshi.workspace.v1.EventType.
10699
11219
  */
@@ -10725,7 +11245,7 @@ export declare enum PreviewShareLinkState {
10725
11245
  */
10726
11246
  REVOKED = 3,
10727
11247
  /**
10728
- * Its connections carried its byte cap, or its channel was deleted.
11248
+ * Its connections carried its byte cap, or its endpoint was deleted.
10729
11249
  *
10730
11250
  * @generated from enum value: PREVIEW_SHARE_LINK_STATE_ENDED = 4;
10731
11251
  */