@leaflow/sdk 0.0.0-dev.439.g15ccd50 → 0.0.0-dev.443.g1eb982e

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 (114) hide show
  1. package/dist/compute/v2/generated/models.d.ts +37 -0
  2. package/dist/compute/v2/generated/models.js +5 -0
  3. package/dist/compute/v2/generated/validators/createElasticIPResponseBody.zod.d.ts +9 -0
  4. package/dist/compute/v2/generated/validators/createInstanceResponseBody.zod.d.ts +9 -0
  5. package/dist/compute/v2/generated/validators/createPrivateImageResponseBody.zod.d.ts +9 -0
  6. package/dist/compute/v2/generated/validators/createVolumeBackupResponseBody.zod.d.ts +9 -0
  7. package/dist/compute/v2/generated/validators/createVolumeResponseBody.zod.d.ts +9 -0
  8. package/dist/compute/v2/generated/validators/createVolumeSnapshotResponseBody.zod.d.ts +9 -0
  9. package/dist/compute/v2/generated/validators/deleteElasticIPResponseBody.zod.d.ts +9 -0
  10. package/dist/compute/v2/generated/validators/deleteInstanceResponseBody.zod.d.ts +9 -0
  11. package/dist/compute/v2/generated/validators/deletePrivateImageResponseBody.zod.d.ts +9 -0
  12. package/dist/compute/v2/generated/validators/deleteVolumeBackupResponseBody.zod.d.ts +9 -0
  13. package/dist/compute/v2/generated/validators/deleteVolumeResponseBody.zod.d.ts +9 -0
  14. package/dist/compute/v2/generated/validators/deleteVolumeSnapshotResponseBody.zod.d.ts +9 -0
  15. package/dist/compute/v2/generated/validators/elasticIP.zod.d.ts +9 -0
  16. package/dist/compute/v2/generated/validators/elasticIP.zod.js +4 -0
  17. package/dist/compute/v2/generated/validators/elasticIPListResponseBody.zod.d.ts +9 -0
  18. package/dist/compute/v2/generated/validators/instance.zod.d.ts +9 -0
  19. package/dist/compute/v2/generated/validators/instance.zod.js +4 -0
  20. package/dist/compute/v2/generated/validators/instanceListResponseBody.zod.d.ts +9 -0
  21. package/dist/compute/v2/generated/validators/latestOperation.zod.d.ts +46 -0
  22. package/dist/compute/v2/generated/validators/latestOperation.zod.js +46 -0
  23. package/dist/compute/v2/generated/validators/networkInterface.zod.d.ts +9 -0
  24. package/dist/compute/v2/generated/validators/networkInterface.zod.js +4 -0
  25. package/dist/compute/v2/generated/validators/networkInterfaceListResponseBody.zod.d.ts +9 -0
  26. package/dist/compute/v2/generated/validators/privateImageListResponseBody.zod.d.ts +9 -0
  27. package/dist/compute/v2/generated/validators/privateImageResource.zod.d.ts +9 -0
  28. package/dist/compute/v2/generated/validators/privateImageResource.zod.js +4 -0
  29. package/dist/compute/v2/generated/validators/rebuildInstanceResponseBody.zod.d.ts +9 -0
  30. package/dist/compute/v2/generated/validators/rescueInstanceResponseBody.zod.d.ts +9 -0
  31. package/dist/compute/v2/generated/validators/updateElasticIPResponseBody.zod.d.ts +9 -0
  32. package/dist/compute/v2/generated/validators/updateInstanceResponseBody.zod.d.ts +9 -0
  33. package/dist/compute/v2/generated/validators/updateVolumeResponseBody.zod.d.ts +9 -0
  34. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.d.ts +9 -0
  35. package/dist/compute/v2/generated/validators/virtualPrivateCloud.zod.js +4 -0
  36. package/dist/compute/v2/generated/validators/virtualPrivateCloudListResponseBody.zod.d.ts +9 -0
  37. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringListResponseBody.zod.d.ts +9 -0
  38. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.d.ts +9 -0
  39. package/dist/compute/v2/generated/validators/virtualPrivateCloudPeeringResource.zod.js +4 -0
  40. package/dist/compute/v2/generated/validators/volumeBackupListResponseBody.zod.d.ts +9 -0
  41. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.d.ts +9 -0
  42. package/dist/compute/v2/generated/validators/volumeBackupResource.zod.js +4 -0
  43. package/dist/compute/v2/generated/validators/volumeListResponseBody.zod.d.ts +9 -0
  44. package/dist/compute/v2/generated/validators/volumeResource.zod.d.ts +9 -0
  45. package/dist/compute/v2/generated/validators/volumeResource.zod.js +4 -0
  46. package/dist/compute/v2/generated/validators/volumeSnapshotListResponseBody.zod.d.ts +9 -0
  47. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.d.ts +9 -0
  48. package/dist/compute/v2/generated/validators/volumeSnapshotResource.zod.js +4 -0
  49. package/dist/eventbus/v1/generated/functions.d.ts +21 -23
  50. package/dist/eventbus/v1/generated/functions.js +1 -2
  51. package/dist/eventbus/v1/generated/models.d.ts +53 -40
  52. package/dist/eventbus/v1/generated/schemas.zod.d.ts +25 -25
  53. package/dist/eventbus/v1/generated/schemas.zod.js +21 -23
  54. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.d.ts +20 -21
  55. package/dist/eventbus/v1/generated/validators/createEventRequest.zod.js +20 -21
  56. package/dist/eventbus/v1/generated/validators/createNamespaceRequest.zod.d.ts +20 -21
  57. package/dist/eventbus/v1/generated/validators/createNamespaceRequest.zod.js +20 -21
  58. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.d.ts +20 -21
  59. package/dist/eventbus/v1/generated/validators/createVersionRequest.zod.js +20 -21
  60. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.d.ts +20 -21
  61. package/dist/eventbus/v1/generated/validators/cursorPagination.zod.js +20 -21
  62. package/dist/eventbus/v1/generated/validators/error.zod.d.ts +20 -21
  63. package/dist/eventbus/v1/generated/validators/error.zod.js +20 -21
  64. package/dist/eventbus/v1/generated/validators/errorStatus.zod.d.ts +20 -21
  65. package/dist/eventbus/v1/generated/validators/errorStatus.zod.js +20 -21
  66. package/dist/eventbus/v1/generated/validators/eventDetail.zod.d.ts +20 -21
  67. package/dist/eventbus/v1/generated/validators/eventDetail.zod.js +20 -21
  68. package/dist/eventbus/v1/generated/validators/eventList.zod.d.ts +20 -21
  69. package/dist/eventbus/v1/generated/validators/eventList.zod.js +20 -21
  70. package/dist/eventbus/v1/generated/validators/eventMessage.zod.d.ts +29 -25
  71. package/dist/eventbus/v1/generated/validators/eventMessage.zod.js +27 -26
  72. package/dist/eventbus/v1/generated/validators/eventResource.zod.d.ts +20 -21
  73. package/dist/eventbus/v1/generated/validators/eventResource.zod.js +20 -21
  74. package/dist/eventbus/v1/generated/validators/eventStatus.zod.d.ts +20 -21
  75. package/dist/eventbus/v1/generated/validators/eventStatus.zod.js +20 -21
  76. package/dist/eventbus/v1/generated/validators/eventVersion.zod.d.ts +20 -21
  77. package/dist/eventbus/v1/generated/validators/eventVersion.zod.js +20 -21
  78. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.d.ts +20 -21
  79. package/dist/eventbus/v1/generated/validators/fieldViolation.zod.js +20 -21
  80. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.d.ts +20 -21
  81. package/dist/eventbus/v1/generated/validators/listEventsParams.zod.js +20 -21
  82. package/dist/eventbus/v1/generated/validators/listNamespacesParams.zod.d.ts +20 -21
  83. package/dist/eventbus/v1/generated/validators/listNamespacesParams.zod.js +20 -21
  84. package/dist/eventbus/v1/generated/validators/namespaceList.zod.d.ts +20 -21
  85. package/dist/eventbus/v1/generated/validators/namespaceList.zod.js +20 -21
  86. package/dist/eventbus/v1/generated/validators/namespaceResource.zod.d.ts +20 -21
  87. package/dist/eventbus/v1/generated/validators/namespaceResource.zod.js +20 -21
  88. package/dist/eventbus/v1/generated/validators/namespaceStatus.zod.d.ts +20 -21
  89. package/dist/eventbus/v1/generated/validators/namespaceStatus.zod.js +20 -21
  90. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.d.ts +20 -21
  91. package/dist/eventbus/v1/generated/validators/offsetPagination.zod.js +20 -21
  92. package/dist/eventbus/v1/generated/validators/publication.zod.d.ts +23 -23
  93. package/dist/eventbus/v1/generated/validators/publication.zod.js +22 -27
  94. package/dist/eventbus/v1/generated/validators/publicationRecipient.zod.d.ts +89 -0
  95. package/dist/eventbus/v1/generated/validators/publicationRecipient.zod.js +89 -0
  96. package/dist/eventbus/v1/generated/validators/publishRequest.zod.d.ts +25 -24
  97. package/dist/eventbus/v1/generated/validators/publishRequest.zod.js +23 -23
  98. package/dist/eventbus/v1/generated/validators/publishResponse.zod.d.ts +20 -21
  99. package/dist/eventbus/v1/generated/validators/publishResponse.zod.js +20 -21
  100. package/dist/eventbus/v1/generated/validators/publishedMessage.zod.d.ts +20 -21
  101. package/dist/eventbus/v1/generated/validators/publishedMessage.zod.js +20 -21
  102. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.d.ts +20 -22
  103. package/dist/eventbus/v1/generated/validators/realtimeTicket.zod.js +20 -24
  104. package/dist/eventbus/v1/generated/validators/realtimeTicketRequest.zod.d.ts +20 -21
  105. package/dist/eventbus/v1/generated/validators/realtimeTicketRequest.zod.js +20 -21
  106. package/dist/eventbus/v1/generated/validators/recipient.zod.d.ts +89 -0
  107. package/dist/eventbus/v1/generated/validators/recipient.zod.js +89 -0
  108. package/dist/eventbus/v1/generated/validators/sender.zod.d.ts +89 -0
  109. package/dist/eventbus/v1/generated/validators/sender.zod.js +92 -0
  110. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.d.ts +20 -21
  111. package/dist/eventbus/v1/generated/validators/updateEventRequest.zod.js +20 -21
  112. package/dist/eventbus/v1/generated/validators/updateNamespaceRequest.zod.d.ts +20 -21
  113. package/dist/eventbus/v1/generated/validators/updateNamespaceRequest.zod.js +20 -21
  114. package/package.json +1 -1
@@ -35,6 +35,7 @@
35
35
  import * as zod from "zod";
36
36
  import { ImageID } from "./imageID.zod.js";
37
37
  import { InstanceID } from "./instanceID.zod.js";
38
+ import { LatestOperation } from "./latestOperation.zod.js";
38
39
  import { RegionID } from "./regionID.zod.js";
39
40
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
40
41
  export const privateImageResourceLoginUsernameMax = 32;
@@ -111,5 +112,8 @@ export const PrivateImageResource = zod
111
112
  release_set: zod
112
113
  .array(ReleaseSetItem)
113
114
  .describe("The subscription that pays for this private image, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
115
+ latest_operation: zod
116
+ .union([LatestOperation, zod.null()])
117
+ .describe("The most recent operation started on the image; null when none has been recorded."),
114
118
  })
115
119
  .describe("An image this project captured from one of its instances, used to install instances of this project. Its storage is billed only to this project. Reclaimed for non-payment while instances installed from it remain, it is kept, unusable and no longer charged, and deleted once the last of them is released.");
@@ -144,6 +144,15 @@ export declare const RebuildInstanceResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>;
148
157
  password: zod.ZodNullable<zod.ZodString>;
149
158
  }, zod.z.core.$strict>;
@@ -145,6 +145,15 @@ export declare const RescueInstanceResponseBody: zod.ZodObject<{
145
145
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
147
147
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
148
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
149
+ name: zod.ZodString;
150
+ state: zod.ZodEnum<{
151
+ failed: "failed";
152
+ succeeded: "succeeded";
153
+ operating: "operating";
154
+ }>;
155
+ started_at: zod.z.ZodISODateTime;
156
+ }, zod.z.core.$strict>, zod.ZodNull]>;
148
157
  }, zod.z.core.$strict>;
149
158
  }, zod.z.core.$strict>;
150
159
  export type RescueInstanceResponseBody = zod.input<typeof RescueInstanceResponseBody>;
@@ -124,6 +124,15 @@ export declare const UpdateElasticIPResponseBody: zod.ZodObject<{
124
124
  disassociated_at: zod.ZodNullable<zod.z.ZodISODateTime>;
125
125
  released_at: zod.ZodNullable<zod.z.ZodISODateTime>;
126
126
  }, zod.z.core.$strict>, zod.ZodNull]>;
127
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
128
+ name: zod.ZodString;
129
+ state: zod.ZodEnum<{
130
+ failed: "failed";
131
+ succeeded: "succeeded";
132
+ operating: "operating";
133
+ }>;
134
+ started_at: zod.z.ZodISODateTime;
135
+ }, zod.z.core.$strict>, zod.ZodNull]>;
127
136
  }, zod.z.core.$strict>;
128
137
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
129
138
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -144,6 +144,15 @@ export declare const UpdateInstanceResponseBody: zod.ZodObject<{
144
144
  source_volume_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
145
145
  launch_template_id: zod.ZodUnion<readonly [zod.ZodString, zod.ZodNull]>;
146
146
  launch_template_version_number: zod.ZodNullable<zod.ZodInt>;
147
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
148
+ name: zod.ZodString;
149
+ state: zod.ZodEnum<{
150
+ failed: "failed";
151
+ succeeded: "succeeded";
152
+ operating: "operating";
153
+ }>;
154
+ started_at: zod.z.ZodISODateTime;
155
+ }, zod.z.core.$strict>, zod.ZodNull]>;
147
156
  }, zod.z.core.$strict>;
148
157
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
149
158
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -135,6 +135,15 @@ export declare const UpdateVolumeResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>;
139
148
  checkout_session_id: zod.ZodNullable<zod.ZodUUID>;
140
149
  order_id: zod.ZodNullable<zod.ZodUUID>;
@@ -49,6 +49,15 @@ export declare const VirtualPrivateCloud: zod.ZodObject<{
49
49
  }>;
50
50
  created_at: zod.z.ZodISODateTime;
51
51
  updated_at: zod.z.ZodISODateTime;
52
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
53
+ name: zod.ZodString;
54
+ state: zod.ZodEnum<{
55
+ failed: "failed";
56
+ succeeded: "succeeded";
57
+ operating: "operating";
58
+ }>;
59
+ started_at: zod.z.ZodISODateTime;
60
+ }, zod.z.core.$strict>, zod.ZodNull]>;
52
61
  }, zod.z.core.$strict>;
53
62
  export type VirtualPrivateCloud = zod.input<typeof VirtualPrivateCloud>;
54
63
  export type VirtualPrivateCloudOutput = zod.output<typeof VirtualPrivateCloud>;
@@ -33,6 +33,7 @@
33
33
  * OpenAPI spec version: 2.0.0
34
34
  */
35
35
  import * as zod from "zod";
36
+ import { LatestOperation } from "./latestOperation.zod.js";
36
37
  import { RegionID } from "./regionID.zod.js";
37
38
  import { VirtualPrivateCloudID } from "./virtualPrivateCloudID.zod.js";
38
39
  export const VirtualPrivateCloud = zod.strictObject({
@@ -49,4 +50,7 @@ export const VirtualPrivateCloud = zod.strictObject({
49
50
  .describe("`available` from creation: the network and router are created in the backend by the first member that needs them, so a virtual private cloud nothing uses holds no capacity there. `failed` means the cloud reports the network broken; instances cannot be created in it then and are refused with `VIRTUAL_PRIVATE_CLOUD_UNAVAILABLE`. `deleting` from the moment its deletion began until it is gone: subnets, security groups and routes in it can no longer be created, changed or deleted, and are refused with `VIRTUAL_PRIVATE_CLOUD_DELETING`. A deletion that stopped before the end leaves it `deleting`, and deleting it again resumes from where it stopped. `creating`, `enabling_ipv6` and `disabling_ipv6` name operations in progress; the network refuses another operation until they end."),
50
51
  created_at: zod.iso.datetime({ offset: true }),
51
52
  updated_at: zod.iso.datetime({ offset: true }),
53
+ latest_operation: zod
54
+ .union([LatestOperation, zod.null()])
55
+ .describe("The most recent operation started on the virtual private cloud; null when none has been recorded."),
52
56
  });
@@ -50,6 +50,15 @@ export declare const VirtualPrivateCloudListResponseBody: zod.ZodObject<{
50
50
  }>;
51
51
  created_at: zod.z.ZodISODateTime;
52
52
  updated_at: zod.z.ZodISODateTime;
53
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
54
+ name: zod.ZodString;
55
+ state: zod.ZodEnum<{
56
+ failed: "failed";
57
+ succeeded: "succeeded";
58
+ operating: "operating";
59
+ }>;
60
+ started_at: zod.z.ZodISODateTime;
61
+ }, zod.z.core.$strict>, zod.ZodNull]>;
53
62
  }, zod.z.core.$strict>>;
54
63
  pagination: zod.ZodObject<{
55
64
  page: zod.ZodInt;
@@ -57,6 +57,15 @@ export declare const VirtualPrivateCloudPeeringListResponseBody: zod.ZodObject<{
57
57
  }>;
58
58
  created_at: zod.z.ZodISODateTime;
59
59
  failure_reason: zod.ZodNullable<zod.ZodString>;
60
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
61
+ name: zod.ZodString;
62
+ state: zod.ZodEnum<{
63
+ failed: "failed";
64
+ succeeded: "succeeded";
65
+ operating: "operating";
66
+ }>;
67
+ started_at: zod.z.ZodISODateTime;
68
+ }, zod.z.core.$strict>, zod.ZodNull]>;
60
69
  }, zod.z.core.$strict>>;
61
70
  pagination: zod.ZodObject<{
62
71
  page: zod.ZodInt;
@@ -56,6 +56,15 @@ export declare const VirtualPrivateCloudPeeringResource: zod.ZodObject<{
56
56
  }>;
57
57
  created_at: zod.z.ZodISODateTime;
58
58
  failure_reason: zod.ZodNullable<zod.ZodString>;
59
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
60
+ name: zod.ZodString;
61
+ state: zod.ZodEnum<{
62
+ failed: "failed";
63
+ succeeded: "succeeded";
64
+ operating: "operating";
65
+ }>;
66
+ started_at: zod.z.ZodISODateTime;
67
+ }, zod.z.core.$strict>, zod.ZodNull]>;
59
68
  }, zod.z.core.$strict>;
60
69
  export type VirtualPrivateCloudPeeringResource = zod.input<typeof VirtualPrivateCloudPeeringResource>;
61
70
  export type VirtualPrivateCloudPeeringResourceOutput = zod.output<typeof VirtualPrivateCloudPeeringResource>;
@@ -33,6 +33,7 @@
33
33
  * OpenAPI spec version: 2.0.0
34
34
  */
35
35
  import * as zod from "zod";
36
+ import { LatestOperation } from "./latestOperation.zod.js";
36
37
  import { RegionID } from "./regionID.zod.js";
37
38
  import { VirtualPrivateCloudID } from "./virtualPrivateCloudID.zod.js";
38
39
  import { VirtualPrivateCloudPeeringID } from "./virtualPrivateCloudPeeringID.zod.js";
@@ -55,4 +56,7 @@ export const VirtualPrivateCloudPeeringResource = zod.strictObject({
55
56
  .string()
56
57
  .nullable()
57
58
  .describe("Why provisioning failed; null unless `status` is `failed`."),
59
+ latest_operation: zod
60
+ .union([LatestOperation, zod.null()])
61
+ .describe("The most recent operation started on the peering; null when none has been recorded."),
58
62
  });
@@ -98,6 +98,15 @@ export declare const VolumeBackupListResponseBody: zod.ZodObject<{
98
98
  name: zod.ZodString;
99
99
  }, zod.z.core.$strict>], "type">;
100
100
  }, zod.z.core.$strict>>;
101
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
102
+ name: zod.ZodString;
103
+ state: zod.ZodEnum<{
104
+ failed: "failed";
105
+ succeeded: "succeeded";
106
+ operating: "operating";
107
+ }>;
108
+ started_at: zod.z.ZodISODateTime;
109
+ }, zod.z.core.$strict>, zod.ZodNull]>;
101
110
  }, zod.z.core.$strict>>>;
102
111
  pagination: zod.ZodObject<{
103
112
  page: zod.ZodInt;
@@ -97,6 +97,15 @@ export declare const VolumeBackupResource: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>;
101
110
  export type VolumeBackupResource = zod.input<typeof VolumeBackupResource>;
102
111
  export type VolumeBackupResourceOutput = zod.output<typeof VolumeBackupResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeBackupID } from "./volumeBackupID.zod.js";
@@ -82,5 +83,8 @@ export const VolumeBackupResource = zod
82
83
  release_set: zod
83
84
  .array(ReleaseSetItem)
84
85
  .describe("The subscription that pays for this volume backup, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
86
+ latest_operation: zod
87
+ .union([LatestOperation, zod.null()])
88
+ .describe("The most recent operation started on the backup; null when none has been recorded."),
85
89
  })
86
90
  .describe("A retained copy of a volume, restorable after its source volume is deleted. Compute project quotas constrain its count; retained storage is metered independently.");
@@ -135,6 +135,15 @@ export declare const VolumeListResponseBody: zod.ZodObject<{
135
135
  throughput_bytes_per_second: zod.ZodInt;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
137
  }, zod.z.core.$strict>, zod.ZodNull]>;
138
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
139
+ name: zod.ZodString;
140
+ state: zod.ZodEnum<{
141
+ failed: "failed";
142
+ succeeded: "succeeded";
143
+ operating: "operating";
144
+ }>;
145
+ started_at: zod.z.ZodISODateTime;
146
+ }, zod.z.core.$strict>, zod.ZodNull]>;
138
147
  }, zod.z.core.$strict>>>;
139
148
  pagination: zod.ZodObject<{
140
149
  page: zod.ZodInt;
@@ -134,6 +134,15 @@ export declare const VolumeResource: zod.ZodObject<{
134
134
  throughput_bytes_per_second: zod.ZodInt;
135
135
  }, zod.z.core.$strict>, zod.ZodNull]>;
136
136
  }, zod.z.core.$strict>, zod.ZodNull]>;
137
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
138
+ name: zod.ZodString;
139
+ state: zod.ZodEnum<{
140
+ failed: "failed";
141
+ succeeded: "succeeded";
142
+ operating: "operating";
143
+ }>;
144
+ started_at: zod.z.ZodISODateTime;
145
+ }, zod.z.core.$strict>, zod.ZodNull]>;
137
146
  }, zod.z.core.$strict>;
138
147
  export type VolumeResource = zod.input<typeof VolumeResource>;
139
148
  export type VolumeResourceOutput = zod.output<typeof VolumeResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeAttachment } from "./volumeAttachment.zod.js";
@@ -101,4 +102,7 @@ export const VolumeResource = zod.strictObject({
101
102
  .nullable()
102
103
  .describe("Why creation failed; null unless `status` is `failed`. `checkout_expired` means checkout was not completed before its Checkout Session expired. `provisioning_failed` means creation failed after the order was accepted, and the charge for this volume is refunded."),
103
104
  attachment: zod.union([VolumeAttachment, zod.null()]),
105
+ latest_operation: zod
106
+ .union([LatestOperation, zod.null()])
107
+ .describe("The most recent operation started on the volume; null when none has been recorded."),
104
108
  });
@@ -97,6 +97,15 @@ export declare const VolumeSnapshotListResponseBody: zod.ZodObject<{
97
97
  name: zod.ZodString;
98
98
  }, zod.z.core.$strict>], "type">;
99
99
  }, zod.z.core.$strict>>;
100
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
101
+ name: zod.ZodString;
102
+ state: zod.ZodEnum<{
103
+ failed: "failed";
104
+ succeeded: "succeeded";
105
+ operating: "operating";
106
+ }>;
107
+ started_at: zod.z.ZodISODateTime;
108
+ }, zod.z.core.$strict>, zod.ZodNull]>;
100
109
  }, zod.z.core.$strict>>>;
101
110
  pagination: zod.ZodObject<{
102
111
  page: zod.ZodInt;
@@ -96,6 +96,15 @@ export declare const VolumeSnapshotResource: zod.ZodObject<{
96
96
  name: zod.ZodString;
97
97
  }, zod.z.core.$strict>], "type">;
98
98
  }, zod.z.core.$strict>>;
99
+ latest_operation: zod.ZodUnion<readonly [zod.ZodObject<{
100
+ name: zod.ZodString;
101
+ state: zod.ZodEnum<{
102
+ failed: "failed";
103
+ succeeded: "succeeded";
104
+ operating: "operating";
105
+ }>;
106
+ started_at: zod.z.ZodISODateTime;
107
+ }, zod.z.core.$strict>, zod.ZodNull]>;
99
108
  }, zod.z.core.$strict>;
100
109
  export type VolumeSnapshotResource = zod.input<typeof VolumeSnapshotResource>;
101
110
  export type VolumeSnapshotResourceOutput = zod.output<typeof VolumeSnapshotResource>;
@@ -34,6 +34,7 @@
34
34
  */
35
35
  import * as zod from "zod";
36
36
  import { AvailabilityZoneID } from "./availabilityZoneID.zod.js";
37
+ import { LatestOperation } from "./latestOperation.zod.js";
37
38
  import { RegionID } from "./regionID.zod.js";
38
39
  import { ReleaseSetItem } from "./releaseSetItem.zod.js";
39
40
  import { VolumeID } from "./volumeID.zod.js";
@@ -79,5 +80,8 @@ export const VolumeSnapshotResource = zod
79
80
  release_set: zod
80
81
  .array(ReleaseSetItem)
81
82
  .describe("The subscription that pays for this snapshot, with the resource it pays for, so that a cancellation through Billing can name what it releases. Empty when no subscription pays for it, and once it is released."),
83
+ latest_operation: zod
84
+ .union([LatestOperation, zod.null()])
85
+ .describe("The most recent operation started on the snapshot; null when none has been recorded."),
82
86
  })
83
87
  .describe("A snapshot of a volume. Compute project quotas constrain its count; retained storage is metered independently of that quota.");
@@ -28,54 +28,53 @@
28
28
  * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
29
  * later does not receive earlier messages.
30
30
  *
31
- * Messages published through this API are sent to the current project. A message may name one
32
- * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
- * sent to every member of the project.
31
+ * Messages published through this API are sent to the current project. A message may name a
32
+ * `recipient`, a member of the project; it is then sent to that member only. Without a recipient
33
+ * it is sent to every member of the project.
34
34
  *
35
- * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
- * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
- * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
- * can recognise its own messages. A client ID does not need to be unique: several connections
39
- * may share one.
35
+ * Every message names its `sender`: an `id` and the `name` the publisher had when the message was
36
+ * accepted. A publication may also carry a `client_id`, any label the client chooses, such as one
37
+ * per browser tab. Receivers get it unchanged, so a client can recognise its own messages by
38
+ * `sender` and `client_id`. A client ID need not be unique; a realtime connection is identified
39
+ * by its `connection_id`.
40
40
  *
41
41
  * ## Realtime
42
42
  *
43
- * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
- * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
43
+ * Every message has a topic `{event}/{recipient project_id|-}/{recipient id|-}/{key levels}`, where
44
+ * `-` stands for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
45
  * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
46
  * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
47
  * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
48
  * person outside any project.
49
49
  *
50
50
  * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
- * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
- * platform event they cover messages sent to the caller, messages sent to no recipient and,
51
+ * response lists the topic filters the ticket covers. For a platform event they cover messages sent to the caller, messages sent to no recipient and,
53
52
  * where the caller's permissions allow, messages sent within the project; for a project event
54
53
  * they cover messages sent within the project. Without a selected project, use
55
54
  * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
55
  * caller or to no recipient, and cannot publish.
57
56
  * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
- * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
- * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
57
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`, where `client_id` is optional. The
58
+ * reply is `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
59
  * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
60
  * every reconnection.
62
- * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
61
+ * 3. Only after `authenticated`, send `{"type":"subscribe","id":"…","topics":[…]}`; a
62
+ * subscription sent before is rejected. Each topic must be one of the returned
63
63
  * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
64
  * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
- * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
- * while the connection is open.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`.
67
66
  * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
67
  * message matching several subscriptions on one connection arrives once for each of them.
69
68
  * 5. A connection may switch to another ticket of the same user at any time by sending
70
69
  * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
- * project ticket, or to move to another project. `client_id` may be omitted while the
72
- * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
- * required. Subscriptions the new ticket does not cover are removed at once and reported in a
70
+ * project ticket, or to move to another project. Wait for its `authenticated` reply before
71
+ * changing subscriptions; if it is rejected, the previous ticket stays in effect. `client_id`
72
+ * may be omitted to keep the current one. Subscriptions the new ticket does not cover are removed at once and reported in a
74
73
  * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
74
  * with code 4401, as does letting the ticket expire.
76
75
  *
77
76
  * A connection holding a project ticket may publish the project's own events with
78
- * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
77
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","recipient":{"id":"…"},"data":{…}}]}`;
79
78
  * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
79
  * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
80
  * Every reply carries the `id` of the request it answers.
@@ -606,8 +605,7 @@ export declare const getCreateAccountRealtimeTicketUrl: () => string;
606
605
  /**
607
606
  * Issues a short-lived ticket for a caller who has not selected a project, or belongs to none. Only
608
607
  * platform events are accepted, and the ticket covers only messages sent to the caller outside
609
- * any project or to no recipient. The ticket cannot publish. Its `client_id_prefix` is `user.{user_id}.`. The
610
- * ticket lives no longer than the token it was created with.
608
+ * any project or to no recipient. The ticket cannot publish. The ticket lives no longer than the token it was created with.
611
609
  * @summary Create an account realtime ticket
612
610
  */
613
611
  export declare const createAccountRealtimeTicket: (realtimeTicketRequest: RealtimeTicketRequest, options?: RequestInit, fetchFn?: typeof globalThis.fetch) => Promise<createAccountRealtimeTicketResponse>;
@@ -369,8 +369,7 @@ export const getCreateAccountRealtimeTicketUrl = () => {
369
369
  /**
370
370
  * Issues a short-lived ticket for a caller who has not selected a project, or belongs to none. Only
371
371
  * platform events are accepted, and the ticket covers only messages sent to the caller outside
372
- * any project or to no recipient. The ticket cannot publish. Its `client_id_prefix` is `user.{user_id}.`. The
373
- * ticket lives no longer than the token it was created with.
372
+ * any project or to no recipient. The ticket cannot publish. The ticket lives no longer than the token it was created with.
374
373
  * @summary Create an account realtime ticket
375
374
  */
376
375
  export const createAccountRealtimeTicket = async (realtimeTicketRequest, options, fetchFn) => {
@@ -28,54 +28,53 @@
28
28
  * wait for consumers. Messages are not stored and are not replayed: a consumer that connects
29
29
  * later does not receive earlier messages.
30
30
  *
31
- * Messages published through this API are sent to the current project. A message may name one
32
- * `subject`, a member of the project; it is then sent to that member only. Without a subject it is
33
- * sent to every member of the project.
31
+ * Messages published through this API are sent to the current project. A message may name a
32
+ * `recipient`, a member of the project; it is then sent to that member only. Without a recipient
33
+ * it is sent to every member of the project.
34
34
  *
35
- * Every publication names a `client_id`. It starts with the prefix returned with a realtime
36
- * ticket, `user.{user_id}.project.{project_id}.`, followed by one segment chosen by the
37
- * client, such as a random identifier per browser tab. Receivers get it unchanged, so a client
38
- * can recognise its own messages. A client ID does not need to be unique: several connections
39
- * may share one.
35
+ * Every message names its `sender`: an `id` and the `name` the publisher had when the message was
36
+ * accepted. A publication may also carry a `client_id`, any label the client chooses, such as one
37
+ * per browser tab. Receivers get it unchanged, so a client can recognise its own messages by
38
+ * `sender` and `client_id`. A client ID need not be unique; a realtime connection is identified
39
+ * by its `connection_id`.
40
40
  *
41
41
  * ## Realtime
42
42
  *
43
- * Every message has a topic `{event}/{project_id|-}/{subject|-}/{key levels}`, where `-` stands
44
- * for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
43
+ * Every message has a topic `{event}/{recipient project_id|-}/{recipient id|-}/{key levels}`, where
44
+ * `-` stands for a missing recipient and the key, split at `/`, supplies the remaining levels. A topic filter
45
45
  * uses `+` to match exactly one level and `#`, only as the last level, to match that level and
46
46
  * every level below it, including none. For example, `{event}/{project_id}/-/#` matches every
47
47
  * message sent to the members of a project, and `{event}/-/{user_id}/#` every message sent to one
48
48
  * person outside any project.
49
49
  *
50
50
  * 1. Create a ticket with `POST /api/v1/realtime/tickets`, naming the events to receive. The
51
- * response lists the topic filters the ticket covers and the `client_id_prefix` to use. For a
52
- * platform event they cover messages sent to the caller, messages sent to no recipient and,
51
+ * response lists the topic filters the ticket covers. For a platform event they cover messages sent to the caller, messages sent to no recipient and,
53
52
  * where the caller's permissions allow, messages sent within the project; for a project event
54
53
  * they cover messages sent within the project. Without a selected project, use
55
54
  * `POST /api/v1/account/realtime/tickets`; such a ticket covers only messages sent to the
56
55
  * caller or to no recipient, and cannot publish.
57
56
  * 2. Open a WebSocket to `wss://eventbus.leaflow.cloud/realtime` and send, within 15 seconds:
58
- * `{"type":"authenticate","ticket":"…","client_id":"…"}`. The reply is
59
- * `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
57
+ * `{"type":"authenticate","ticket":"…","client_id":"…"}`, where `client_id` is optional. The
58
+ * reply is `{"type":"authenticated","client_id":"…","connection_id":"…","expires_at":"…"}`.
60
59
  * `connection_id` identifies this connection; it is assigned by EventBus and changes on
61
60
  * every reconnection.
62
- * 3. Send `{"type":"subscribe","id":"…","topics":[…]}`. Each topic must be one of the returned
61
+ * 3. Only after `authenticated`, send `{"type":"subscribe","id":"…","topics":[…]}`; a
62
+ * subscription sent before is rejected. Each topic must be one of the returned
63
63
  * `topics` or lie within one of them, for example by naming a key level where the ticket has
64
64
  * `#`; a batch with any other topic is rejected as a whole. The reply is `subscribed`.
65
- * `unsubscribe` takes the same form and replies `unsubscribed`. Both may be sent at any time
66
- * while the connection is open.
65
+ * `unsubscribe` takes the same form and replies `unsubscribed`.
67
66
  * 4. Messages arrive as `{"type":"messages","messages":[…]}`, each element an `EventMessage`. A
68
67
  * message matching several subscriptions on one connection arrives once for each of them.
69
68
  * 5. A connection may switch to another ticket of the same user at any time by sending
70
69
  * `authenticate` again: to renew before `expires_at`, to move from an account ticket to a
71
- * project ticket, or to move to another project. `client_id` may be omitted while the
72
- * `client_id_prefix` stays the same; when it changes, a client ID under the new prefix is
73
- * required. Subscriptions the new ticket does not cover are removed at once and reported in a
70
+ * project ticket, or to move to another project. Wait for its `authenticated` reply before
71
+ * changing subscriptions; if it is rejected, the previous ticket stays in effect. `client_id`
72
+ * may be omitted to keep the current one. Subscriptions the new ticket does not cover are removed at once and reported in a
74
73
  * `{"type":"revoked","topics":[…]}` frame. A ticket for another user closes the connection
75
74
  * with code 4401, as does letting the ticket expire.
76
75
  *
77
76
  * A connection holding a project ticket may publish the project's own events with
78
- * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","subject":"…","data":{…}}]}`;
77
+ * `{"type":"publish","id":"…","messages":[{"event":"…","key":"…","recipient":{"id":"…"},"data":{…}}]}`;
79
78
  * the reply is `published` with the identity of each message. `ping` is answered with `pong`.
80
79
  * A rejected request is answered with `{"type":"error","id":"…","code":"…","message":"…"}`.
81
80
  * Every reply carries the `id` of the request it answers.
@@ -377,6 +376,13 @@ export interface UpdateEventRequest {
377
376
  tags?: string[];
378
377
  status?: EventStatus;
379
378
  }
379
+ /**
380
+ * A member of the current project; when set, only that member receives the message
381
+ */
382
+ export interface PublicationRecipient {
383
+ /** @maxLength 128 */
384
+ id: string;
385
+ }
380
386
  /**
381
387
  * The message payload
382
388
  */
@@ -400,21 +406,16 @@ export interface Publication {
400
406
  * @maxLength 256
401
407
  */
402
408
  key?: string;
403
- /**
404
- * A member of the current project; when set, only that member receives the message
405
- * @maxLength 128
406
- */
407
- subject?: string;
409
+ recipient?: PublicationRecipient;
408
410
  /** The message payload */
409
411
  data: PublicationData;
410
412
  }
411
413
  export interface PublishRequest {
412
414
  /**
413
- * The publishing client: the caller's prefix, `user.{user_id}.project.{project_id}.`,
414
- * followed by one segment of up to 64 letters, digits, hyphens or underscores
415
- * @maxLength 192
415
+ * Any label for the publishing client, such as one per browser tab; it need not be unique
416
+ * @maxLength 128
416
417
  */
417
- client_id: string;
418
+ client_id?: string;
418
419
  /**
419
420
  * @minItems 1
420
421
  * @maxItems 64
@@ -452,14 +453,30 @@ export interface RealtimeTicket {
452
453
  ticket: string;
453
454
  /** When the ticket expires, in UTC RFC 3339; renew the connection before then */
454
455
  expires_at: string;
455
- /** The prefix every client ID on this ticket must start with */
456
- client_id_prefix: string;
457
456
  /** The topic filters the ticket covers; subscribe to these or to filters within them */
458
457
  topics: string[];
459
458
  }
460
459
  export type EventMessageData = {
461
460
  [key: string]: unknown;
462
461
  };
462
+ /**
463
+ * Who published a message, as established when it was accepted
464
+ */
465
+ export interface Sender {
466
+ /** The publisher's identity */
467
+ id: string;
468
+ /** The publisher's display name when the message was accepted; absent when none is known */
469
+ name?: string;
470
+ }
471
+ /**
472
+ * Who a message is sent to; absent for a message sent to no recipient. With only `project_id` the
473
+ * message goes to the members of the project; with only `id` it goes to that person outside any
474
+ * project; with both it goes to that person as a member of the project.
475
+ */
476
+ export interface Recipient {
477
+ project_id?: string;
478
+ id?: string;
479
+ }
463
480
  /**
464
481
  * A message as delivered over a realtime connection
465
482
  */
@@ -469,16 +486,12 @@ export interface EventMessage {
469
486
  /** @minimum 1 */
470
487
  version: number;
471
488
  key?: string;
472
- /** The publisher; the platform service for an event in a platform namespace, or the publishing user otherwise */
473
- source: string;
474
- /** The publishing client, exactly as it identified itself */
475
- client_id: string;
489
+ sender: Sender;
490
+ recipient?: Recipient;
491
+ /** The label the publishing client gave, exactly as given; absent when it gave none */
492
+ client_id?: string;
476
493
  /** The realtime connection the message was published on; absent for messages published over HTTP or by platform services */
477
494
  connection_id?: string;
478
- /** The project the message was sent to */
479
- project_id?: string;
480
- /** The person the message was sent to */
481
- subject?: string;
482
495
  created_at: string;
483
496
  data: EventMessageData;
484
497
  }