@lightspeed-ai/sdk 0.4.0 → 0.5.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.
@@ -32,12 +32,12 @@ export const METHODS = [
32
32
  "environments/credentials/unbind",
33
33
  "environments/create",
34
34
  "environments/read",
35
+ "environments/update",
35
36
  "environments/list",
36
37
  "environments/close",
37
38
  "environments/external/create",
38
39
  "environments/ingress/put",
39
40
  "environments/power/put",
40
- "environments/idle-policy/put",
41
41
  "environments/provider-bindings/list",
42
42
  "environments/provider-bindings/read",
43
43
  "environments/templates/list",
@@ -48,6 +48,8 @@ export const METHODS = [
48
48
  "environments/registration-keys/create",
49
49
  "environments/registration-keys/read",
50
50
  "environments/registration-keys/list",
51
+ "environments/registration-keys/update",
52
+ "environments/registration-keys/rotate",
51
53
  "environments/registration-keys/revoke",
52
54
  "transcriptions/start",
53
55
  "transcriptions/read",
@@ -119,6 +121,8 @@ export const METHODS = [
119
121
  "channels/pairings/list",
120
122
  "channels/pairings/delete",
121
123
  "channels/conversations/read",
124
+ "deployment/sessions/deleted/list",
125
+ "deployment/sessions/purge",
122
126
  "deployment/environment-provider-bindings/list",
123
127
  "deployment/universes/create",
124
128
  "deployment/universes/list",
@@ -135,7 +139,6 @@ export const METHODS = [
135
139
  "deployment/environment-providers/delete",
136
140
  "deployment/environment-providers/bindings/put",
137
141
  "deployment/environment-providers/bindings/delete",
138
- "deployment/environments/adopt",
139
142
  "deployment/channels/accounts/list",
140
143
  ];
141
144
  export const METHOD_INFO = {
@@ -177,7 +180,7 @@ export const METHOD_INFO = {
177
180
  },
178
181
  "session/config/put": {
179
182
  scope: "universe",
180
- access: { "action": "control_session", "kind": "universe" },
183
+ access: { "action": "configure_session", "kind": "universe" },
181
184
  summary: "Replace session configuration",
182
185
  description: "Replaces the complete sparse config while the session is idle. Use the current config revision for safe read-modify-write; omitted features are revoked, an omitted model preserves the current model, and an identical document is a no-op.",
183
186
  },
@@ -189,19 +192,19 @@ export const METHOD_INFO = {
189
192
  },
190
193
  "session/metadata/put": {
191
194
  scope: "universe",
192
- access: { "action": "control_session", "kind": "universe" },
195
+ access: { "action": "configure_session", "kind": "universe" },
193
196
  summary: "Replace session metadata",
194
197
  description: "Replaces the complete descriptive key/value map (bounded like session/start); an omitted or empty map clears it. Record-only: the event log and updatedAtMs are untouched.",
195
198
  },
196
199
  "session/retention/put": {
197
200
  scope: "universe",
198
- access: { "action": "control_session", "kind": "universe" },
201
+ access: { "action": "set_session_retention", "kind": "universe" },
199
202
  summary: "Replace session retention",
200
- description: "Sets the positive close-relative automatic-deletion duration on a retention root, or clears it with null. Forks and delegated children inherit the root policy and cannot override it.",
203
+ description: "Sets the positive close-relative automatic soft-deletion duration on a retention root, or clears it with null. Forks and delegated children inherit the root policy and cannot override it. Retention does not permanently delete stored history.",
201
204
  },
202
205
  "session/close": {
203
206
  scope: "universe",
204
- access: { "action": "stop_session", "kind": "universe" },
207
+ access: { "action": "close_session", "kind": "universe" },
205
208
  summary: "Close a session",
206
209
  description: "Closes an idle session and detaches its environment bindings. Force mode cancels active work, drops queued runs, and can recover a session whose workflow is unavailable.",
207
210
  },
@@ -209,7 +212,7 @@ export const METHOD_INFO = {
209
212
  scope: "universe",
210
213
  access: { "action": "delete_session", "kind": "universe" },
211
214
  summary: "Delete closed sessions",
212
- description: "Permanently removes a closed retention-tree leaf, or its closed history-fork and delegated-child subtree when cascade is true. Config-only clones are never included.",
215
+ description: "Permanently deletes a closed retention-tree leaf, or its closed history-fork and delegated-child subtree when cascade is true. Set softDelete to true to hide sessions while retaining records and history until a deployment administrator purges them. Prior soft deletion is not required for permanent deletion. Config-only clones are never included.",
213
216
  },
214
217
  "session/share": {
215
218
  scope: "universe",
@@ -291,19 +294,19 @@ export const METHOD_INFO = {
291
294
  },
292
295
  "session/profiles/apply": {
293
296
  scope: "universe",
294
- access: { "action": "control_session", "kind": "universe" },
297
+ access: { "action": "configure_session", "kind": "universe" },
295
298
  summary: "Apply a profile to a session",
296
299
  description: "Applies a named or inline profile's config, instructions, and environment setup to an existing session; mutating profile sections require it to be open and idle. Pass current revisions to guard concurrent changes.",
297
300
  },
298
301
  "session/environments/activate": {
299
302
  scope: "universe",
300
- access: { "action": "control_session", "kind": "universe" },
303
+ access: { "action": "configure_session", "kind": "universe" },
301
304
  summary: "Activate a session environment",
302
305
  description: "Selects an attached, live universe environment for environment-targeted tools while the session is idle.",
303
306
  },
304
307
  "session/environments/deactivate": {
305
308
  scope: "universe",
306
- access: { "action": "control_session", "kind": "universe" },
309
+ access: { "action": "configure_session", "kind": "universe" },
307
310
  summary: "Deactivate the session environment",
308
311
  description: "Clears active environment selection without changing or closing the universe environment.",
309
312
  },
@@ -329,85 +332,85 @@ export const METHOD_INFO = {
329
332
  scope: "universe",
330
333
  access: { "action": "configure_resource", "kind": "universe" },
331
334
  summary: "Create an environment",
332
- description: "Records an idempotent provisioning intent against an enabled universe binding, attributed to the caller. The provider validates its provider-wide template and provisions through its backend asynchronously.",
335
+ description: "Creates a provisioned environment, attributed to the caller, from a template of a provider enabled for the universe. Idempotent per requestId: same inputs, same environment; others conflict. Provisioning until the target's first envd handshake, then open; idle overrides the template default.",
333
336
  },
334
337
  "environments/read": {
335
338
  scope: "universe",
336
339
  access: { "action": "read", "kind": "universe" },
337
340
  summary: "Read an environment",
338
- description: "Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.",
341
+ description: "Returns one environment: its source, lifecycle state, derived display status, state message, close reason, daemon build, and the latest provider observation.",
342
+ },
343
+ "environments/update": {
344
+ scope: "universe",
345
+ access: { "action": "configure_resource", "kind": "universe" },
346
+ summary: "Update an environment",
347
+ description: "Replaces the display name and caller metadata of an environment of any kind. Refused for a closed environment.",
339
348
  },
340
349
  "environments/list": {
341
350
  scope: "universe",
342
351
  access: { "action": "read", "kind": "universe" },
343
352
  summary: "List environments",
344
- description: "Lists the universe environments, optionally filtered by provider, binding, or logical lifecycle state.",
353
+ description: "Lists the universe environments in id order, one page at a time, optionally filtered by provider, registration key, state, or metadata. Closed environments are omitted unless includeClosed is set or state is closed. Continue from nextAfter.",
345
354
  },
346
355
  "environments/close": {
347
356
  scope: "universe",
348
357
  access: { "action": "configure_resource", "kind": "universe" },
349
358
  summary: "Close an environment",
350
- description: "Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.",
359
+ description: "Closes an environment; idempotent. A provisioned environment moves to closing while Lightspeed asks its provider to remove the target, retrying until it is gone, then closed. External and registered environments close at once, and a connected registered daemon is told its environment closed.",
351
360
  },
352
361
  "environments/external/create": {
353
362
  scope: "universe",
354
363
  access: { "action": "configure_resource", "kind": "universe" },
355
364
  summary: "Register an external environment",
356
- description: "Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint, attributed to the caller. Reachability is checked on demand.",
365
+ description: "Creates an open environment backed by a Lightspeed-reachable envd endpoint, attributed to the caller. Idempotent per requestId. Reachability is checked on use.",
357
366
  },
358
367
  "environments/ingress/put": {
359
368
  scope: "universe",
360
369
  access: { "action": "configure_resource", "kind": "universe" },
361
370
  summary: "Configure environment public ingress",
362
- description: "Synchronously enables or disables one provider-authorized HTTPS endpoint for a provisioned environment. The provider owns hostname allocation, the approved guest port, routing, TLS, and health.",
371
+ description: "Synchronously ensures or removes public ingress of an open provisioned environment through its provider; source.publicEndpoint carries the reported endpoint. Rejected when the provider offers no ingress; an internal error, safe to retry, when the provider is unreachable or times out. The provider owns hostname, guest port, routing, TLS, and health.",
363
372
  },
364
373
  "environments/power/put": {
365
374
  scope: "universe",
366
375
  access: { "action": "configure_resource", "kind": "universe" },
367
- summary: "Set environment power intent",
368
- description: "Records the desired power state (running, paused, suspended, or stopped) of a provisioned environment; the lifecycle reconciler converges the provider target asynchronously. Powered-down environments wake transparently on their next use. Rejected when the provider does not support the state.",
369
- },
370
- "environments/idle-policy/put": {
371
- scope: "universe",
372
- access: { "action": "configure_resource", "kind": "universe" },
373
- summary: "Set environment idle policy",
374
- description: "Replaces or clears the staged idle policy of a provisioned environment. The power reaper measures the daemon's idle duration against the pause/suspend/stop/close thresholds and escalates through the stages the provider supports.",
376
+ summary: "Set environment power",
377
+ description: "Synchronously moves an open provisioned environment's target to running, paused, suspended, or stopped via its provider and records the observation; the provider may also change power on idle. Rejected without provider power control or when the template lacks the state; an internal error, safe to retry, when the provider is unreachable or times out.",
375
378
  },
376
379
  "environments/provider-bindings/list": {
377
380
  scope: "universe",
378
381
  access: { "action": "read", "kind": "universe" },
379
382
  summary: "List environment provider bindings",
380
- description: "Lists this universe's revisioned routing and admission bindings to deployment-scoped physical providers.",
383
+ description: "Lists this universe's bindings to deployment providers and whether each is enabled.",
381
384
  },
382
385
  "environments/provider-bindings/read": {
383
386
  scope: "universe",
384
387
  access: { "action": "read", "kind": "universe" },
385
388
  summary: "Read an environment provider binding",
386
- description: "Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.",
389
+ description: "Returns this universe's binding to one provider. Templates and physical resource, network, and ingress policy remain provider-owned.",
387
390
  },
388
391
  "environments/templates/list": {
389
392
  scope: "universe",
390
393
  access: { "action": "read", "kind": "universe" },
391
394
  summary: "List environment templates",
392
- description: "Reads immutable templates directly from the selected bound provider controller.",
395
+ description: "Reads templates live from the controllers of the universe's enabled provider bindings, or of one provider: compute, power states, public ingress, and default idle policy.",
393
396
  },
394
397
  "environments/templates/read": {
395
398
  scope: "universe",
396
399
  access: { "action": "read", "kind": "universe" },
397
400
  summary: "Read an environment template",
398
- description: "Returns one immutable template version from the selected bound provider controller.",
401
+ description: "Returns one template, read live from a bound provider's controller.",
399
402
  },
400
403
  "environments/jobs/create": {
401
404
  scope: "universe",
402
405
  access: { "action": "use_resource", "kind": "universe" },
403
406
  summary: "Create environment jobs",
404
- description: "Starts a dependency-aware job group on one environment instance, injecting the environment's configured credentials at provider start. requestId is the retry identity; jobs are owned by the instance rather than a session. A powered-down environment is woken on use: the call fails with environment_not_ready while the wake is in progress; retry with backoff.",
407
+ description: "Starts a dependency-aware job group on one environment instance, injecting its configured credentials at provider start. requestId is the retry identity; jobs are owned by the instance, not a session. A powered-down environment wakes on its data route; the call fails with environment_not_ready while it wakes or reconnects; retry with backoff.",
405
408
  },
406
409
  "environments/jobs/read": {
407
410
  scope: "universe",
408
411
  access: { "action": "read", "kind": "universe" },
409
412
  summary: "Read environment jobs",
410
- description: "Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.",
413
+ description: "Reads selected job handles with bounded output from a byte offset or the output tail; continue from each entry's outputNext and poll on the returned status.",
411
414
  },
412
415
  "environments/jobs/cancel": {
413
416
  scope: "universe",
@@ -419,7 +422,7 @@ export const METHOD_INFO = {
419
422
  scope: "universe",
420
423
  access: { "action": "configure_resource", "kind": "universe" },
421
424
  summary: "Mint an environment registration key",
422
- description: "Creates a reusable universe-scoped key that lets outbound envd daemons register as environments. The plaintext secret is returned exactly once; only its hash is stored. Identity mode, active limit, disconnect grace, and expiry are the key's policy. Treat the secret like a cluster-join credential.",
425
+ description: "Creates a reusable universe-scoped key that lets outbound envd daemons register as environments. The plaintext secret is returned exactly once; only its hash is stored. Identity mode (immutable), active limit, disconnect grace, offline close-after, and expiry are the key's policy. Treat the secret like a cluster-join credential.",
423
426
  },
424
427
  "environments/registration-keys/read": {
425
428
  scope: "universe",
@@ -433,6 +436,18 @@ export const METHOD_INFO = {
433
436
  summary: "List environment registration keys",
434
437
  description: "Lists this universe's registration keys with policy, status, and derived counts. Each key is the group of the environments it admitted.",
435
438
  },
439
+ "environments/registration-keys/update": {
440
+ scope: "universe",
441
+ access: { "action": "configure_resource", "kind": "universe" },
442
+ summary: "Update an environment registration key",
443
+ description: "Replaces a key's editable policy: display name, active limit, disconnect grace, offline close-after, and expiry; an omitted field is unset. The identity mode is immutable. The active limit and expiry apply to later admissions; a changed disconnect grace or offline close-after applies at the next sweep to environments whose daemon is away.",
444
+ },
445
+ "environments/registration-keys/rotate": {
446
+ scope: "universe",
447
+ access: { "action": "configure_resource", "kind": "universe" },
448
+ summary: "Rotate an environment registration key",
449
+ description: "Replaces the key's secret and display prefix and retires the old secret at once. The key keeps its id, group, policy, and the environments it admitted; daemons already registered are unaffected because they never present the key again. Returns the new secret once. Refused for a revoked key.",
450
+ },
436
451
  "environments/registration-keys/revoke": {
437
452
  scope: "universe",
438
453
  access: { "action": "configure_resource", "kind": "universe" },
@@ -737,7 +752,7 @@ export const METHOD_INFO = {
737
752
  scope: "universe",
738
753
  access: { "action": "manage_bot", "kind": "universe" },
739
754
  summary: "Delete a bot",
740
- description: "Closes the bot if needed, waits for its controller to complete, deletes the sessions it closed, and removes the record so the bot id is free again.",
755
+ description: "Closes the bot if needed, waits for its controller to complete, retains its session history, and removes the record so the bot id is free again.",
741
756
  },
742
757
  "bots/state/read": {
743
758
  scope: "universe",
@@ -859,6 +874,18 @@ export const METHOD_INFO = {
859
874
  summary: "Read a conversation snapshot",
860
875
  description: "Queries the conversation workflow's live state for one chat, for debugging; absent when no workflow exists yet.",
861
876
  },
877
+ "deployment/sessions/deleted/list": {
878
+ scope: "deployment",
879
+ access: { "kind": "deployment" },
880
+ summary: "List deleted sessions",
881
+ description: "Administrative metadata for soft-deleted sessions, ordered by session ID. Unavailable through universe-scoped methods.",
882
+ },
883
+ "deployment/sessions/purge": {
884
+ scope: "deployment",
885
+ access: { "kind": "deployment" },
886
+ summary: "Permanently delete a session",
887
+ description: "Removes a soft-deleted session and its soft-deleted history subtree. Rejects any selected session that has not been soft-deleted. Releases event, checkpoint and blob references; unreferenced blobs follow normal garbage collection. Does not delete external workspaces, environments, backups or Temporal history.",
888
+ },
862
889
  "deployment/environment-provider-bindings/list": {
863
890
  scope: "deployment",
864
891
  access: { "kind": "deployment" },
@@ -923,43 +950,37 @@ export const METHOD_INFO = {
923
950
  scope: "deployment",
924
951
  access: { "kind": "deployment" },
925
952
  summary: "Put an environment provider",
926
- description: "Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.",
953
+ description: "Registers or replaces a deployment provider: controller endpoint, optional data route base, and optional bearer credential for controller and data routes (write-only: kept when omitted, removed by clearCredential, never returned). The controller is probed: a definitive refusal is invalid_request, unreachable is accepted. The provider never calls Lightspeed.",
927
954
  },
928
955
  "deployment/environment-providers/list": {
929
956
  scope: "deployment",
930
957
  access: { "kind": "deployment" },
931
958
  summary: "List environment providers",
932
- description: "Returns every deployment-registered deployment provider and its controller connection.",
959
+ description: "Returns every deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.",
933
960
  },
934
961
  "deployment/environment-providers/read": {
935
962
  scope: "deployment",
936
963
  access: { "kind": "deployment" },
937
964
  summary: "Read an environment provider",
938
- description: "Returns one deployment-registered deployment provider and its controller connection.",
965
+ description: "Returns one deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.",
939
966
  },
940
967
  "deployment/environment-providers/delete": {
941
968
  scope: "deployment",
942
969
  access: { "kind": "deployment" },
943
970
  summary: "Delete an environment provider",
944
- description: "Deletes a deployment provider only when no universe binding references it.",
971
+ description: "Deletes a deployment provider only when no universe binding and no non-closed environment references it.",
945
972
  },
946
973
  "deployment/environment-providers/bindings/put": {
947
974
  scope: "deployment",
948
975
  access: { "kind": "deployment" },
949
976
  summary: "Put an environment provider binding",
950
- description: "Creates or replaces one universe's complete revisioned routing and admission binding. A deployment provider may have at most one binding in a universe.",
977
+ description: "Creates or replaces one universe's binding to a deployment provider. Only an enabled binding admits creates, template listing, and data routes for the universe.",
951
978
  },
952
979
  "deployment/environment-providers/bindings/delete": {
953
980
  scope: "deployment",
954
981
  access: { "kind": "deployment" },
955
982
  summary: "Delete an environment provider binding",
956
- description: "Deletes a universe provider binding only after every referencing environment has reached Closed.",
957
- },
958
- "deployment/environments/adopt": {
959
- scope: "deployment",
960
- access: { "kind": "deployment" },
961
- summary: "Adopt a provider environment",
962
- description: "Creates a universe environment by transferring an existing provider target into Lightspeed's managed lifecycle. The caller must explicitly accept ownership transfer.",
983
+ description: "Deletes a universe's binding to a provider only when the universe has no non-closed environment of that provider.",
963
984
  },
964
985
  "deployment/channels/accounts/list": {
965
986
  scope: "deployment",
@@ -1052,7 +1073,7 @@ export const rpc = {
1052
1073
  /**
1053
1074
  * Replace session retention
1054
1075
  *
1055
- * Sets the positive close-relative automatic-deletion duration on a retention root, or clears it with null. Forks and delegated children inherit the root policy and cannot override it.
1076
+ * Sets the positive close-relative automatic soft-deletion duration on a retention root, or clears it with null. Forks and delegated children inherit the root policy and cannot override it. Retention does not permanently delete stored history.
1056
1077
  */
1057
1078
  sessionRetentionPut(client, params) {
1058
1079
  return client.call("session/retention/put", params);
@@ -1068,7 +1089,7 @@ export const rpc = {
1068
1089
  /**
1069
1090
  * Delete closed sessions
1070
1091
  *
1071
- * Permanently removes a closed retention-tree leaf, or its closed history-fork and delegated-child subtree when cascade is true. Config-only clones are never included.
1092
+ * Permanently deletes a closed retention-tree leaf, or its closed history-fork and delegated-child subtree when cascade is true. Set softDelete to true to hide sessions while retaining records and history until a deployment administrator purges them. Prior soft deletion is not required for permanent deletion. Config-only clones are never included.
1072
1093
  */
1073
1094
  sessionDelete(client, params) {
1074
1095
  return client.call("session/delete", params);
@@ -1228,7 +1249,7 @@ export const rpc = {
1228
1249
  /**
1229
1250
  * Create an environment
1230
1251
  *
1231
- * Records an idempotent provisioning intent against an enabled universe binding, attributed to the caller. The provider validates its provider-wide template and provisions through its backend asynchronously.
1252
+ * Creates a provisioned environment, attributed to the caller, from a template of a provider enabled for the universe. Idempotent per requestId: same inputs, same environment; others conflict. Provisioning until the target's first envd handshake, then open; idle overrides the template default.
1232
1253
  */
1233
1254
  environmentsCreate(client, params) {
1234
1255
  return client.call("environments/create", params);
@@ -1236,15 +1257,23 @@ export const rpc = {
1236
1257
  /**
1237
1258
  * Read an environment
1238
1259
  *
1239
- * Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.
1260
+ * Returns one environment: its source, lifecycle state, derived display status, state message, close reason, daemon build, and the latest provider observation.
1240
1261
  */
1241
1262
  environmentsRead(client, params) {
1242
1263
  return client.call("environments/read", params);
1243
1264
  },
1265
+ /**
1266
+ * Update an environment
1267
+ *
1268
+ * Replaces the display name and caller metadata of an environment of any kind. Refused for a closed environment.
1269
+ */
1270
+ environmentsUpdate(client, params) {
1271
+ return client.call("environments/update", params);
1272
+ },
1244
1273
  /**
1245
1274
  * List environments
1246
1275
  *
1247
- * Lists the universe environments, optionally filtered by provider, binding, or logical lifecycle state.
1276
+ * Lists the universe environments in id order, one page at a time, optionally filtered by provider, registration key, state, or metadata. Closed environments are omitted unless includeClosed is set or state is closed. Continue from nextAfter.
1248
1277
  */
1249
1278
  environmentsList(client, params) {
1250
1279
  return client.call("environments/list", params);
@@ -1252,7 +1281,7 @@ export const rpc = {
1252
1281
  /**
1253
1282
  * Close an environment
1254
1283
  *
1255
- * Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.
1284
+ * Closes an environment; idempotent. A provisioned environment moves to closing while Lightspeed asks its provider to remove the target, retrying until it is gone, then closed. External and registered environments close at once, and a connected registered daemon is told its environment closed.
1256
1285
  */
1257
1286
  environmentsClose(client, params) {
1258
1287
  return client.call("environments/close", params);
@@ -1260,7 +1289,7 @@ export const rpc = {
1260
1289
  /**
1261
1290
  * Register an external environment
1262
1291
  *
1263
- * Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint, attributed to the caller. Reachability is checked on demand.
1292
+ * Creates an open environment backed by a Lightspeed-reachable envd endpoint, attributed to the caller. Idempotent per requestId. Reachability is checked on use.
1264
1293
  */
1265
1294
  environmentsExternalCreate(client, params) {
1266
1295
  return client.call("environments/external/create", params);
@@ -1268,31 +1297,23 @@ export const rpc = {
1268
1297
  /**
1269
1298
  * Configure environment public ingress
1270
1299
  *
1271
- * Synchronously enables or disables one provider-authorized HTTPS endpoint for a provisioned environment. The provider owns hostname allocation, the approved guest port, routing, TLS, and health.
1300
+ * Synchronously ensures or removes public ingress of an open provisioned environment through its provider; source.publicEndpoint carries the reported endpoint. Rejected when the provider offers no ingress; an internal error, safe to retry, when the provider is unreachable or times out. The provider owns hostname, guest port, routing, TLS, and health.
1272
1301
  */
1273
1302
  environmentsIngressPut(client, params) {
1274
1303
  return client.call("environments/ingress/put", params);
1275
1304
  },
1276
1305
  /**
1277
- * Set environment power intent
1306
+ * Set environment power
1278
1307
  *
1279
- * Records the desired power state (running, paused, suspended, or stopped) of a provisioned environment; the lifecycle reconciler converges the provider target asynchronously. Powered-down environments wake transparently on their next use. Rejected when the provider does not support the state.
1308
+ * Synchronously moves an open provisioned environment's target to running, paused, suspended, or stopped via its provider and records the observation; the provider may also change power on idle. Rejected without provider power control or when the template lacks the state; an internal error, safe to retry, when the provider is unreachable or times out.
1280
1309
  */
1281
1310
  environmentsPowerPut(client, params) {
1282
1311
  return client.call("environments/power/put", params);
1283
1312
  },
1284
- /**
1285
- * Set environment idle policy
1286
- *
1287
- * Replaces or clears the staged idle policy of a provisioned environment. The power reaper measures the daemon's idle duration against the pause/suspend/stop/close thresholds and escalates through the stages the provider supports.
1288
- */
1289
- environmentsIdlePolicyPut(client, params) {
1290
- return client.call("environments/idle-policy/put", params);
1291
- },
1292
1313
  /**
1293
1314
  * List environment provider bindings
1294
1315
  *
1295
- * Lists this universe's revisioned routing and admission bindings to deployment-scoped physical providers.
1316
+ * Lists this universe's bindings to deployment providers and whether each is enabled.
1296
1317
  */
1297
1318
  environmentsProviderBindingsList(client, params) {
1298
1319
  return client.call("environments/provider-bindings/list", params);
@@ -1300,7 +1321,7 @@ export const rpc = {
1300
1321
  /**
1301
1322
  * Read an environment provider binding
1302
1323
  *
1303
- * Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.
1324
+ * Returns this universe's binding to one provider. Templates and physical resource, network, and ingress policy remain provider-owned.
1304
1325
  */
1305
1326
  environmentsProviderBindingsRead(client, params) {
1306
1327
  return client.call("environments/provider-bindings/read", params);
@@ -1308,7 +1329,7 @@ export const rpc = {
1308
1329
  /**
1309
1330
  * List environment templates
1310
1331
  *
1311
- * Reads immutable templates directly from the selected bound provider controller.
1332
+ * Reads templates live from the controllers of the universe's enabled provider bindings, or of one provider: compute, power states, public ingress, and default idle policy.
1312
1333
  */
1313
1334
  environmentsTemplatesList(client, params) {
1314
1335
  return client.call("environments/templates/list", params);
@@ -1316,7 +1337,7 @@ export const rpc = {
1316
1337
  /**
1317
1338
  * Read an environment template
1318
1339
  *
1319
- * Returns one immutable template version from the selected bound provider controller.
1340
+ * Returns one template, read live from a bound provider's controller.
1320
1341
  */
1321
1342
  environmentsTemplatesRead(client, params) {
1322
1343
  return client.call("environments/templates/read", params);
@@ -1324,7 +1345,7 @@ export const rpc = {
1324
1345
  /**
1325
1346
  * Create environment jobs
1326
1347
  *
1327
- * Starts a dependency-aware job group on one environment instance, injecting the environment's configured credentials at provider start. requestId is the retry identity; jobs are owned by the instance rather than a session. A powered-down environment is woken on use: the call fails with environment_not_ready while the wake is in progress; retry with backoff.
1348
+ * Starts a dependency-aware job group on one environment instance, injecting its configured credentials at provider start. requestId is the retry identity; jobs are owned by the instance, not a session. A powered-down environment wakes on its data route; the call fails with environment_not_ready while it wakes or reconnects; retry with backoff.
1328
1349
  */
1329
1350
  environmentsJobsCreate(client, params) {
1330
1351
  return client.call("environments/jobs/create", params);
@@ -1332,7 +1353,7 @@ export const rpc = {
1332
1353
  /**
1333
1354
  * Read environment jobs
1334
1355
  *
1335
- * Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.
1356
+ * Reads selected job handles with bounded output from a byte offset or the output tail; continue from each entry's outputNext and poll on the returned status.
1336
1357
  */
1337
1358
  environmentsJobsRead(client, params) {
1338
1359
  return client.call("environments/jobs/read", params);
@@ -1348,7 +1369,7 @@ export const rpc = {
1348
1369
  /**
1349
1370
  * Mint an environment registration key
1350
1371
  *
1351
- * Creates a reusable universe-scoped key that lets outbound envd daemons register as environments. The plaintext secret is returned exactly once; only its hash is stored. Identity mode, active limit, disconnect grace, and expiry are the key's policy. Treat the secret like a cluster-join credential.
1372
+ * Creates a reusable universe-scoped key that lets outbound envd daemons register as environments. The plaintext secret is returned exactly once; only its hash is stored. Identity mode (immutable), active limit, disconnect grace, offline close-after, and expiry are the key's policy. Treat the secret like a cluster-join credential.
1352
1373
  */
1353
1374
  environmentsRegistrationKeysCreate(client, params) {
1354
1375
  return client.call("environments/registration-keys/create", params);
@@ -1369,6 +1390,22 @@ export const rpc = {
1369
1390
  environmentsRegistrationKeysList(client, params) {
1370
1391
  return client.call("environments/registration-keys/list", params);
1371
1392
  },
1393
+ /**
1394
+ * Update an environment registration key
1395
+ *
1396
+ * Replaces a key's editable policy: display name, active limit, disconnect grace, offline close-after, and expiry; an omitted field is unset. The identity mode is immutable. The active limit and expiry apply to later admissions; a changed disconnect grace or offline close-after applies at the next sweep to environments whose daemon is away.
1397
+ */
1398
+ environmentsRegistrationKeysUpdate(client, params) {
1399
+ return client.call("environments/registration-keys/update", params);
1400
+ },
1401
+ /**
1402
+ * Rotate an environment registration key
1403
+ *
1404
+ * Replaces the key's secret and display prefix and retires the old secret at once. The key keeps its id, group, policy, and the environments it admitted; daemons already registered are unaffected because they never present the key again. Returns the new secret once. Refused for a revoked key.
1405
+ */
1406
+ environmentsRegistrationKeysRotate(client, params) {
1407
+ return client.call("environments/registration-keys/rotate", params);
1408
+ },
1372
1409
  /**
1373
1410
  * Revoke an environment registration key
1374
1411
  *
@@ -1772,7 +1809,7 @@ export const rpc = {
1772
1809
  /**
1773
1810
  * Delete a bot
1774
1811
  *
1775
- * Closes the bot if needed, waits for its controller to complete, deletes the sessions it closed, and removes the record so the bot id is free again.
1812
+ * Closes the bot if needed, waits for its controller to complete, retains its session history, and removes the record so the bot id is free again.
1776
1813
  */
1777
1814
  botsDelete(client, params) {
1778
1815
  return client.call("bots/delete", params);
@@ -1937,6 +1974,22 @@ export const rpc = {
1937
1974
  channelsConversationsRead(client, params) {
1938
1975
  return client.call("channels/conversations/read", params);
1939
1976
  },
1977
+ /**
1978
+ * List deleted sessions
1979
+ *
1980
+ * Administrative metadata for soft-deleted sessions, ordered by session ID. Unavailable through universe-scoped methods.
1981
+ */
1982
+ deploymentSessionsDeletedList(client, params) {
1983
+ return client.call("deployment/sessions/deleted/list", params);
1984
+ },
1985
+ /**
1986
+ * Permanently delete a session
1987
+ *
1988
+ * Removes a soft-deleted session and its soft-deleted history subtree. Rejects any selected session that has not been soft-deleted. Releases event, checkpoint and blob references; unreferenced blobs follow normal garbage collection. Does not delete external workspaces, environments, backups or Temporal history.
1989
+ */
1990
+ deploymentSessionsPurge(client, params) {
1991
+ return client.call("deployment/sessions/purge", params);
1992
+ },
1940
1993
  /**
1941
1994
  * List a universe's deployment provider bindings
1942
1995
  *
@@ -2020,7 +2073,7 @@ export const rpc = {
2020
2073
  /**
2021
2074
  * Put an environment provider
2022
2075
  *
2023
- * Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.
2076
+ * Registers or replaces a deployment provider: controller endpoint, optional data route base, and optional bearer credential for controller and data routes (write-only: kept when omitted, removed by clearCredential, never returned). The controller is probed: a definitive refusal is invalid_request, unreachable is accepted. The provider never calls Lightspeed.
2024
2077
  */
2025
2078
  deploymentEnvironmentProvidersPut(client, params) {
2026
2079
  return client.call("deployment/environment-providers/put", params);
@@ -2028,7 +2081,7 @@ export const rpc = {
2028
2081
  /**
2029
2082
  * List environment providers
2030
2083
  *
2031
- * Returns every deployment-registered deployment provider and its controller connection.
2084
+ * Returns every deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
2032
2085
  */
2033
2086
  deploymentEnvironmentProvidersList(client, params) {
2034
2087
  return client.call("deployment/environment-providers/list", params);
@@ -2036,7 +2089,7 @@ export const rpc = {
2036
2089
  /**
2037
2090
  * Read an environment provider
2038
2091
  *
2039
- * Returns one deployment-registered deployment provider and its controller connection.
2092
+ * Returns one deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
2040
2093
  */
2041
2094
  deploymentEnvironmentProvidersRead(client, params) {
2042
2095
  return client.call("deployment/environment-providers/read", params);
@@ -2044,7 +2097,7 @@ export const rpc = {
2044
2097
  /**
2045
2098
  * Delete an environment provider
2046
2099
  *
2047
- * Deletes a deployment provider only when no universe binding references it.
2100
+ * Deletes a deployment provider only when no universe binding and no non-closed environment references it.
2048
2101
  */
2049
2102
  deploymentEnvironmentProvidersDelete(client, params) {
2050
2103
  return client.call("deployment/environment-providers/delete", params);
@@ -2052,7 +2105,7 @@ export const rpc = {
2052
2105
  /**
2053
2106
  * Put an environment provider binding
2054
2107
  *
2055
- * Creates or replaces one universe's complete revisioned routing and admission binding. A deployment provider may have at most one binding in a universe.
2108
+ * Creates or replaces one universe's binding to a deployment provider. Only an enabled binding admits creates, template listing, and data routes for the universe.
2056
2109
  */
2057
2110
  deploymentEnvironmentProvidersBindingsPut(client, params) {
2058
2111
  return client.call("deployment/environment-providers/bindings/put", params);
@@ -2060,19 +2113,11 @@ export const rpc = {
2060
2113
  /**
2061
2114
  * Delete an environment provider binding
2062
2115
  *
2063
- * Deletes a universe provider binding only after every referencing environment has reached Closed.
2116
+ * Deletes a universe's binding to a provider only when the universe has no non-closed environment of that provider.
2064
2117
  */
2065
2118
  deploymentEnvironmentProvidersBindingsDelete(client, params) {
2066
2119
  return client.call("deployment/environment-providers/bindings/delete", params);
2067
2120
  },
2068
- /**
2069
- * Adopt a provider environment
2070
- *
2071
- * Creates a universe environment by transferring an existing provider target into Lightspeed's managed lifecycle. The caller must explicitly accept ownership transfer.
2072
- */
2073
- deploymentEnvironmentsAdopt(client, params) {
2074
- return client.call("deployment/environments/adopt", params);
2075
- },
2076
2121
  /**
2077
2122
  * List channel accounts across universes
2078
2123
  *