@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.
@@ -38,12 +38,12 @@ export const METHODS = [
38
38
  "environments/credentials/unbind",
39
39
  "environments/create",
40
40
  "environments/read",
41
+ "environments/update",
41
42
  "environments/list",
42
43
  "environments/close",
43
44
  "environments/external/create",
44
45
  "environments/ingress/put",
45
46
  "environments/power/put",
46
- "environments/idle-policy/put",
47
47
  "environments/provider-bindings/list",
48
48
  "environments/provider-bindings/read",
49
49
  "environments/templates/list",
@@ -54,6 +54,8 @@ export const METHODS = [
54
54
  "environments/registration-keys/create",
55
55
  "environments/registration-keys/read",
56
56
  "environments/registration-keys/list",
57
+ "environments/registration-keys/update",
58
+ "environments/registration-keys/rotate",
57
59
  "environments/registration-keys/revoke",
58
60
  "transcriptions/start",
59
61
  "transcriptions/read",
@@ -125,6 +127,8 @@ export const METHODS = [
125
127
  "channels/pairings/list",
126
128
  "channels/pairings/delete",
127
129
  "channels/conversations/read",
130
+ "deployment/sessions/deleted/list",
131
+ "deployment/sessions/purge",
128
132
  "deployment/environment-provider-bindings/list",
129
133
  "deployment/universes/create",
130
134
  "deployment/universes/list",
@@ -141,7 +145,6 @@ export const METHODS = [
141
145
  "deployment/environment-providers/delete",
142
146
  "deployment/environment-providers/bindings/put",
143
147
  "deployment/environment-providers/bindings/delete",
144
- "deployment/environments/adopt",
145
148
  "deployment/channels/accounts/list",
146
149
  ] as const;
147
150
 
@@ -184,7 +187,7 @@ export const METHOD_INFO = {
184
187
  },
185
188
  "session/config/put": {
186
189
  scope: "universe",
187
- access: {"action":"control_session","kind":"universe"},
190
+ access: {"action":"configure_session","kind":"universe"},
188
191
  summary: "Replace session configuration",
189
192
  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.",
190
193
  },
@@ -196,19 +199,19 @@ export const METHOD_INFO = {
196
199
  },
197
200
  "session/metadata/put": {
198
201
  scope: "universe",
199
- access: {"action":"control_session","kind":"universe"},
202
+ access: {"action":"configure_session","kind":"universe"},
200
203
  summary: "Replace session metadata",
201
204
  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.",
202
205
  },
203
206
  "session/retention/put": {
204
207
  scope: "universe",
205
- access: {"action":"control_session","kind":"universe"},
208
+ access: {"action":"set_session_retention","kind":"universe"},
206
209
  summary: "Replace session retention",
207
- 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.",
210
+ 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.",
208
211
  },
209
212
  "session/close": {
210
213
  scope: "universe",
211
- access: {"action":"stop_session","kind":"universe"},
214
+ access: {"action":"close_session","kind":"universe"},
212
215
  summary: "Close a session",
213
216
  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.",
214
217
  },
@@ -216,7 +219,7 @@ export const METHOD_INFO = {
216
219
  scope: "universe",
217
220
  access: {"action":"delete_session","kind":"universe"},
218
221
  summary: "Delete closed sessions",
219
- 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.",
222
+ 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.",
220
223
  },
221
224
  "session/share": {
222
225
  scope: "universe",
@@ -298,19 +301,19 @@ export const METHOD_INFO = {
298
301
  },
299
302
  "session/profiles/apply": {
300
303
  scope: "universe",
301
- access: {"action":"control_session","kind":"universe"},
304
+ access: {"action":"configure_session","kind":"universe"},
302
305
  summary: "Apply a profile to a session",
303
306
  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.",
304
307
  },
305
308
  "session/environments/activate": {
306
309
  scope: "universe",
307
- access: {"action":"control_session","kind":"universe"},
310
+ access: {"action":"configure_session","kind":"universe"},
308
311
  summary: "Activate a session environment",
309
312
  description: "Selects an attached, live universe environment for environment-targeted tools while the session is idle.",
310
313
  },
311
314
  "session/environments/deactivate": {
312
315
  scope: "universe",
313
- access: {"action":"control_session","kind":"universe"},
316
+ access: {"action":"configure_session","kind":"universe"},
314
317
  summary: "Deactivate the session environment",
315
318
  description: "Clears active environment selection without changing or closing the universe environment.",
316
319
  },
@@ -336,85 +339,85 @@ export const METHOD_INFO = {
336
339
  scope: "universe",
337
340
  access: {"action":"configure_resource","kind":"universe"},
338
341
  summary: "Create an environment",
339
- 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.",
342
+ 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.",
340
343
  },
341
344
  "environments/read": {
342
345
  scope: "universe",
343
346
  access: {"action":"read","kind":"universe"},
344
347
  summary: "Read an environment",
345
- description: "Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.",
348
+ description: "Returns one environment: its source, lifecycle state, derived display status, state message, close reason, daemon build, and the latest provider observation.",
349
+ },
350
+ "environments/update": {
351
+ scope: "universe",
352
+ access: {"action":"configure_resource","kind":"universe"},
353
+ summary: "Update an environment",
354
+ description: "Replaces the display name and caller metadata of an environment of any kind. Refused for a closed environment.",
346
355
  },
347
356
  "environments/list": {
348
357
  scope: "universe",
349
358
  access: {"action":"read","kind":"universe"},
350
359
  summary: "List environments",
351
- description: "Lists the universe environments, optionally filtered by provider, binding, or logical lifecycle state.",
360
+ 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.",
352
361
  },
353
362
  "environments/close": {
354
363
  scope: "universe",
355
364
  access: {"action":"configure_resource","kind":"universe"},
356
365
  summary: "Close an environment",
357
- description: "Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.",
366
+ 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.",
358
367
  },
359
368
  "environments/external/create": {
360
369
  scope: "universe",
361
370
  access: {"action":"configure_resource","kind":"universe"},
362
371
  summary: "Register an external environment",
363
- description: "Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint, attributed to the caller. Reachability is checked on demand.",
372
+ description: "Creates an open environment backed by a Lightspeed-reachable envd endpoint, attributed to the caller. Idempotent per requestId. Reachability is checked on use.",
364
373
  },
365
374
  "environments/ingress/put": {
366
375
  scope: "universe",
367
376
  access: {"action":"configure_resource","kind":"universe"},
368
377
  summary: "Configure environment public ingress",
369
- 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.",
378
+ 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.",
370
379
  },
371
380
  "environments/power/put": {
372
381
  scope: "universe",
373
382
  access: {"action":"configure_resource","kind":"universe"},
374
- summary: "Set environment power intent",
375
- 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.",
376
- },
377
- "environments/idle-policy/put": {
378
- scope: "universe",
379
- access: {"action":"configure_resource","kind":"universe"},
380
- summary: "Set environment idle policy",
381
- 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.",
383
+ summary: "Set environment power",
384
+ 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.",
382
385
  },
383
386
  "environments/provider-bindings/list": {
384
387
  scope: "universe",
385
388
  access: {"action":"read","kind":"universe"},
386
389
  summary: "List environment provider bindings",
387
- description: "Lists this universe's revisioned routing and admission bindings to deployment-scoped physical providers.",
390
+ description: "Lists this universe's bindings to deployment providers and whether each is enabled.",
388
391
  },
389
392
  "environments/provider-bindings/read": {
390
393
  scope: "universe",
391
394
  access: {"action":"read","kind":"universe"},
392
395
  summary: "Read an environment provider binding",
393
- description: "Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.",
396
+ description: "Returns this universe's binding to one provider. Templates and physical resource, network, and ingress policy remain provider-owned.",
394
397
  },
395
398
  "environments/templates/list": {
396
399
  scope: "universe",
397
400
  access: {"action":"read","kind":"universe"},
398
401
  summary: "List environment templates",
399
- description: "Reads immutable templates directly from the selected bound provider controller.",
402
+ 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.",
400
403
  },
401
404
  "environments/templates/read": {
402
405
  scope: "universe",
403
406
  access: {"action":"read","kind":"universe"},
404
407
  summary: "Read an environment template",
405
- description: "Returns one immutable template version from the selected bound provider controller.",
408
+ description: "Returns one template, read live from a bound provider's controller.",
406
409
  },
407
410
  "environments/jobs/create": {
408
411
  scope: "universe",
409
412
  access: {"action":"use_resource","kind":"universe"},
410
413
  summary: "Create environment jobs",
411
- 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.",
414
+ 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.",
412
415
  },
413
416
  "environments/jobs/read": {
414
417
  scope: "universe",
415
418
  access: {"action":"read","kind":"universe"},
416
419
  summary: "Read environment jobs",
417
- description: "Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.",
420
+ 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.",
418
421
  },
419
422
  "environments/jobs/cancel": {
420
423
  scope: "universe",
@@ -426,7 +429,7 @@ export const METHOD_INFO = {
426
429
  scope: "universe",
427
430
  access: {"action":"configure_resource","kind":"universe"},
428
431
  summary: "Mint an environment registration key",
429
- 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.",
432
+ 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.",
430
433
  },
431
434
  "environments/registration-keys/read": {
432
435
  scope: "universe",
@@ -440,6 +443,18 @@ export const METHOD_INFO = {
440
443
  summary: "List environment registration keys",
441
444
  description: "Lists this universe's registration keys with policy, status, and derived counts. Each key is the group of the environments it admitted.",
442
445
  },
446
+ "environments/registration-keys/update": {
447
+ scope: "universe",
448
+ access: {"action":"configure_resource","kind":"universe"},
449
+ summary: "Update an environment registration key",
450
+ 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.",
451
+ },
452
+ "environments/registration-keys/rotate": {
453
+ scope: "universe",
454
+ access: {"action":"configure_resource","kind":"universe"},
455
+ summary: "Rotate an environment registration key",
456
+ 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.",
457
+ },
443
458
  "environments/registration-keys/revoke": {
444
459
  scope: "universe",
445
460
  access: {"action":"configure_resource","kind":"universe"},
@@ -744,7 +759,7 @@ export const METHOD_INFO = {
744
759
  scope: "universe",
745
760
  access: {"action":"manage_bot","kind":"universe"},
746
761
  summary: "Delete a bot",
747
- 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.",
762
+ 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.",
748
763
  },
749
764
  "bots/state/read": {
750
765
  scope: "universe",
@@ -866,6 +881,18 @@ export const METHOD_INFO = {
866
881
  summary: "Read a conversation snapshot",
867
882
  description: "Queries the conversation workflow's live state for one chat, for debugging; absent when no workflow exists yet.",
868
883
  },
884
+ "deployment/sessions/deleted/list": {
885
+ scope: "deployment",
886
+ access: {"kind":"deployment"},
887
+ summary: "List deleted sessions",
888
+ description: "Administrative metadata for soft-deleted sessions, ordered by session ID. Unavailable through universe-scoped methods.",
889
+ },
890
+ "deployment/sessions/purge": {
891
+ scope: "deployment",
892
+ access: {"kind":"deployment"},
893
+ summary: "Permanently delete a session",
894
+ 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.",
895
+ },
869
896
  "deployment/environment-provider-bindings/list": {
870
897
  scope: "deployment",
871
898
  access: {"kind":"deployment"},
@@ -930,43 +957,37 @@ export const METHOD_INFO = {
930
957
  scope: "deployment",
931
958
  access: {"kind":"deployment"},
932
959
  summary: "Put an environment provider",
933
- description: "Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.",
960
+ 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.",
934
961
  },
935
962
  "deployment/environment-providers/list": {
936
963
  scope: "deployment",
937
964
  access: {"kind":"deployment"},
938
965
  summary: "List environment providers",
939
- description: "Returns every deployment-registered deployment provider and its controller connection.",
966
+ description: "Returns every deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.",
940
967
  },
941
968
  "deployment/environment-providers/read": {
942
969
  scope: "deployment",
943
970
  access: {"kind":"deployment"},
944
971
  summary: "Read an environment provider",
945
- description: "Returns one deployment-registered deployment provider and its controller connection.",
972
+ description: "Returns one deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.",
946
973
  },
947
974
  "deployment/environment-providers/delete": {
948
975
  scope: "deployment",
949
976
  access: {"kind":"deployment"},
950
977
  summary: "Delete an environment provider",
951
- description: "Deletes a deployment provider only when no universe binding references it.",
978
+ description: "Deletes a deployment provider only when no universe binding and no non-closed environment references it.",
952
979
  },
953
980
  "deployment/environment-providers/bindings/put": {
954
981
  scope: "deployment",
955
982
  access: {"kind":"deployment"},
956
983
  summary: "Put an environment provider binding",
957
- 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.",
984
+ 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.",
958
985
  },
959
986
  "deployment/environment-providers/bindings/delete": {
960
987
  scope: "deployment",
961
988
  access: {"kind":"deployment"},
962
989
  summary: "Delete an environment provider binding",
963
- description: "Deletes a universe provider binding only after every referencing environment has reached Closed.",
964
- },
965
- "deployment/environments/adopt": {
966
- scope: "deployment",
967
- access: {"kind":"deployment"},
968
- summary: "Adopt a provider environment",
969
- description: "Creates a universe environment by transferring an existing provider target into Lightspeed's managed lifecycle. The caller must explicitly accept ownership transfer.",
990
+ description: "Deletes a universe's binding to a provider only when the universe has no non-closed environment of that provider.",
970
991
  },
971
992
  "deployment/channels/accounts/list": {
972
993
  scope: "deployment",
@@ -1073,7 +1094,7 @@ export interface MethodMap {
1073
1094
  /**
1074
1095
  * Replace session retention
1075
1096
  *
1076
- * 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.
1097
+ * 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.
1077
1098
  */
1078
1099
  "session/retention/put": {
1079
1100
  params: Api.SessionRetentionPutParams;
@@ -1091,7 +1112,7 @@ export interface MethodMap {
1091
1112
  /**
1092
1113
  * Delete closed sessions
1093
1114
  *
1094
- * 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.
1115
+ * 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.
1095
1116
  */
1096
1117
  "session/delete": {
1097
1118
  params: Api.SessionDeleteParams;
@@ -1271,7 +1292,7 @@ export interface MethodMap {
1271
1292
  /**
1272
1293
  * Create an environment
1273
1294
  *
1274
- * 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.
1295
+ * 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.
1275
1296
  */
1276
1297
  "environments/create": {
1277
1298
  params: Api.EnvironmentCreateParams;
@@ -1280,16 +1301,25 @@ export interface MethodMap {
1280
1301
  /**
1281
1302
  * Read an environment
1282
1303
  *
1283
- * Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.
1304
+ * Returns one environment: its source, lifecycle state, derived display status, state message, close reason, daemon build, and the latest provider observation.
1284
1305
  */
1285
1306
  "environments/read": {
1286
1307
  params: Api.EnvironmentReadParams;
1287
1308
  result: Api.AgentApiOutcomeOfEnvironmentReadResponse;
1288
1309
  };
1310
+ /**
1311
+ * Update an environment
1312
+ *
1313
+ * Replaces the display name and caller metadata of an environment of any kind. Refused for a closed environment.
1314
+ */
1315
+ "environments/update": {
1316
+ params: Api.EnvironmentUpdateParams;
1317
+ result: Api.AgentApiOutcomeOfEnvironmentUpdateResponse;
1318
+ };
1289
1319
  /**
1290
1320
  * List environments
1291
1321
  *
1292
- * Lists the universe environments, optionally filtered by provider, binding, or logical lifecycle state.
1322
+ * 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.
1293
1323
  */
1294
1324
  "environments/list": {
1295
1325
  params: Api.EnvironmentListParams;
@@ -1298,7 +1328,7 @@ export interface MethodMap {
1298
1328
  /**
1299
1329
  * Close an environment
1300
1330
  *
1301
- * Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.
1331
+ * 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.
1302
1332
  */
1303
1333
  "environments/close": {
1304
1334
  params: Api.EnvironmentCloseParams;
@@ -1307,7 +1337,7 @@ export interface MethodMap {
1307
1337
  /**
1308
1338
  * Register an external environment
1309
1339
  *
1310
- * Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint, attributed to the caller. Reachability is checked on demand.
1340
+ * Creates an open environment backed by a Lightspeed-reachable envd endpoint, attributed to the caller. Idempotent per requestId. Reachability is checked on use.
1311
1341
  */
1312
1342
  "environments/external/create": {
1313
1343
  params: Api.EnvironmentExternalCreateParams;
@@ -1316,34 +1346,25 @@ export interface MethodMap {
1316
1346
  /**
1317
1347
  * Configure environment public ingress
1318
1348
  *
1319
- * 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.
1349
+ * 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.
1320
1350
  */
1321
1351
  "environments/ingress/put": {
1322
1352
  params: Api.EnvironmentIngressPutParams;
1323
1353
  result: Api.AgentApiOutcomeOfEnvironmentIngressPutResponse;
1324
1354
  };
1325
1355
  /**
1326
- * Set environment power intent
1356
+ * Set environment power
1327
1357
  *
1328
- * 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.
1358
+ * 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.
1329
1359
  */
1330
1360
  "environments/power/put": {
1331
1361
  params: Api.EnvironmentPowerPutParams;
1332
1362
  result: Api.AgentApiOutcomeOfEnvironmentPowerPutResponse;
1333
1363
  };
1334
- /**
1335
- * Set environment idle policy
1336
- *
1337
- * 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.
1338
- */
1339
- "environments/idle-policy/put": {
1340
- params: Api.EnvironmentIdlePolicyPutParams;
1341
- result: Api.AgentApiOutcomeOfEnvironmentIdlePolicyPutResponse;
1342
- };
1343
1364
  /**
1344
1365
  * List environment provider bindings
1345
1366
  *
1346
- * Lists this universe's revisioned routing and admission bindings to deployment-scoped physical providers.
1367
+ * Lists this universe's bindings to deployment providers and whether each is enabled.
1347
1368
  */
1348
1369
  "environments/provider-bindings/list": {
1349
1370
  params: Api.EnvironmentProviderBindingListParams;
@@ -1352,7 +1373,7 @@ export interface MethodMap {
1352
1373
  /**
1353
1374
  * Read an environment provider binding
1354
1375
  *
1355
- * Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.
1376
+ * Returns this universe's binding to one provider. Templates and physical resource, network, and ingress policy remain provider-owned.
1356
1377
  */
1357
1378
  "environments/provider-bindings/read": {
1358
1379
  params: Api.EnvironmentProviderBindingReadParams;
@@ -1361,7 +1382,7 @@ export interface MethodMap {
1361
1382
  /**
1362
1383
  * List environment templates
1363
1384
  *
1364
- * Reads immutable templates directly from the selected bound provider controller.
1385
+ * 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.
1365
1386
  */
1366
1387
  "environments/templates/list": {
1367
1388
  params: Api.EnvironmentTemplateListParams;
@@ -1370,7 +1391,7 @@ export interface MethodMap {
1370
1391
  /**
1371
1392
  * Read an environment template
1372
1393
  *
1373
- * Returns one immutable template version from the selected bound provider controller.
1394
+ * Returns one template, read live from a bound provider's controller.
1374
1395
  */
1375
1396
  "environments/templates/read": {
1376
1397
  params: Api.EnvironmentTemplateReadParams;
@@ -1379,7 +1400,7 @@ export interface MethodMap {
1379
1400
  /**
1380
1401
  * Create environment jobs
1381
1402
  *
1382
- * 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.
1403
+ * 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.
1383
1404
  */
1384
1405
  "environments/jobs/create": {
1385
1406
  params: Api.EnvironmentJobCreateParams;
@@ -1388,7 +1409,7 @@ export interface MethodMap {
1388
1409
  /**
1389
1410
  * Read environment jobs
1390
1411
  *
1391
- * Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.
1412
+ * 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.
1392
1413
  */
1393
1414
  "environments/jobs/read": {
1394
1415
  params: Api.EnvironmentJobReadParams;
@@ -1406,7 +1427,7 @@ export interface MethodMap {
1406
1427
  /**
1407
1428
  * Mint an environment registration key
1408
1429
  *
1409
- * 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.
1430
+ * 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.
1410
1431
  */
1411
1432
  "environments/registration-keys/create": {
1412
1433
  params: Api.EnvironmentRegistrationKeyCreateParams;
@@ -1430,6 +1451,24 @@ export interface MethodMap {
1430
1451
  params: Api.EnvironmentRegistrationKeyListParams;
1431
1452
  result: Api.AgentApiOutcomeOfEnvironmentRegistrationKeyListResponse;
1432
1453
  };
1454
+ /**
1455
+ * Update an environment registration key
1456
+ *
1457
+ * 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.
1458
+ */
1459
+ "environments/registration-keys/update": {
1460
+ params: Api.EnvironmentRegistrationKeyUpdateParams;
1461
+ result: Api.AgentApiOutcomeOfEnvironmentRegistrationKeyUpdateResponse;
1462
+ };
1463
+ /**
1464
+ * Rotate an environment registration key
1465
+ *
1466
+ * 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.
1467
+ */
1468
+ "environments/registration-keys/rotate": {
1469
+ params: Api.EnvironmentRegistrationKeyRotateParams;
1470
+ result: Api.AgentApiOutcomeOfEnvironmentRegistrationKeyRotateResponse;
1471
+ };
1433
1472
  /**
1434
1473
  * Revoke an environment registration key
1435
1474
  *
@@ -1883,7 +1922,7 @@ export interface MethodMap {
1883
1922
  /**
1884
1923
  * Delete a bot
1885
1924
  *
1886
- * 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.
1925
+ * 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.
1887
1926
  */
1888
1927
  "bots/delete": {
1889
1928
  params: Api.BotDeleteParams;
@@ -2069,6 +2108,24 @@ export interface MethodMap {
2069
2108
  params: Api.ChannelConversationReadParams;
2070
2109
  result: Api.AgentApiOutcomeOfChannelConversationReadResponse;
2071
2110
  };
2111
+ /**
2112
+ * List deleted sessions
2113
+ *
2114
+ * Administrative metadata for soft-deleted sessions, ordered by session ID. Unavailable through universe-scoped methods.
2115
+ */
2116
+ "deployment/sessions/deleted/list": {
2117
+ params: Api.DeploymentDeletedSessionsListParams;
2118
+ result: Api.AgentApiOutcomeOfDeploymentDeletedSessionsListResponse;
2119
+ };
2120
+ /**
2121
+ * Permanently delete a session
2122
+ *
2123
+ * 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.
2124
+ */
2125
+ "deployment/sessions/purge": {
2126
+ params: Api.DeploymentSessionPurgeParams;
2127
+ result: Api.AgentApiOutcomeOfDeploymentSessionPurgeResponse;
2128
+ };
2072
2129
  /**
2073
2130
  * List a universe's deployment provider bindings
2074
2131
  *
@@ -2162,7 +2219,7 @@ export interface MethodMap {
2162
2219
  /**
2163
2220
  * Put an environment provider
2164
2221
  *
2165
- * Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.
2222
+ * 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.
2166
2223
  */
2167
2224
  "deployment/environment-providers/put": {
2168
2225
  params: Api.DeploymentEnvironmentProviderPutParams;
@@ -2171,7 +2228,7 @@ export interface MethodMap {
2171
2228
  /**
2172
2229
  * List environment providers
2173
2230
  *
2174
- * Returns every deployment-registered deployment provider and its controller connection.
2231
+ * Returns every deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
2175
2232
  */
2176
2233
  "deployment/environment-providers/list": {
2177
2234
  params: Api.DeploymentEnvironmentProviderListParams;
@@ -2180,7 +2237,7 @@ export interface MethodMap {
2180
2237
  /**
2181
2238
  * Read an environment provider
2182
2239
  *
2183
- * Returns one deployment-registered deployment provider and its controller connection.
2240
+ * Returns one deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
2184
2241
  */
2185
2242
  "deployment/environment-providers/read": {
2186
2243
  params: Api.DeploymentEnvironmentProviderReadParams;
@@ -2189,7 +2246,7 @@ export interface MethodMap {
2189
2246
  /**
2190
2247
  * Delete an environment provider
2191
2248
  *
2192
- * Deletes a deployment provider only when no universe binding references it.
2249
+ * Deletes a deployment provider only when no universe binding and no non-closed environment references it.
2193
2250
  */
2194
2251
  "deployment/environment-providers/delete": {
2195
2252
  params: Api.DeploymentEnvironmentProviderDeleteParams;
@@ -2198,7 +2255,7 @@ export interface MethodMap {
2198
2255
  /**
2199
2256
  * Put an environment provider binding
2200
2257
  *
2201
- * Creates or replaces one universe's complete revisioned routing and admission binding. A deployment provider may have at most one binding in a universe.
2258
+ * 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.
2202
2259
  */
2203
2260
  "deployment/environment-providers/bindings/put": {
2204
2261
  params: Api.DeploymentProviderBindingPutParams;
@@ -2207,21 +2264,12 @@ export interface MethodMap {
2207
2264
  /**
2208
2265
  * Delete an environment provider binding
2209
2266
  *
2210
- * Deletes a universe provider binding only after every referencing environment has reached Closed.
2267
+ * Deletes a universe's binding to a provider only when the universe has no non-closed environment of that provider.
2211
2268
  */
2212
2269
  "deployment/environment-providers/bindings/delete": {
2213
2270
  params: Api.DeploymentProviderBindingDeleteParams;
2214
2271
  result: Api.AgentApiOutcomeOfDeploymentProviderBindingDeleteResponse;
2215
2272
  };
2216
- /**
2217
- * Adopt a provider environment
2218
- *
2219
- * Creates a universe environment by transferring an existing provider target into Lightspeed's managed lifecycle. The caller must explicitly accept ownership transfer.
2220
- */
2221
- "deployment/environments/adopt": {
2222
- params: Api.DeploymentEnvironmentAdoptParams;
2223
- result: Api.AgentApiOutcomeOfDeploymentEnvironmentAdoptResponse;
2224
- };
2225
2273
  /**
2226
2274
  * List channel accounts across universes
2227
2275
  *
@@ -2316,7 +2364,7 @@ export const rpc = {
2316
2364
  /**
2317
2365
  * Replace session retention
2318
2366
  *
2319
- * 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.
2367
+ * 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.
2320
2368
  */
2321
2369
  sessionRetentionPut(client: RpcCaller, params: Api.SessionRetentionPutParams): Promise<Api.AgentApiOutcomeOfSessionRetentionPutResponse> {
2322
2370
  return client.call("session/retention/put", params);
@@ -2332,7 +2380,7 @@ export const rpc = {
2332
2380
  /**
2333
2381
  * Delete closed sessions
2334
2382
  *
2335
- * 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.
2383
+ * 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.
2336
2384
  */
2337
2385
  sessionDelete(client: RpcCaller, params: Api.SessionDeleteParams): Promise<Api.AgentApiOutcomeOfSessionDeleteResponse> {
2338
2386
  return client.call("session/delete", params);
@@ -2492,7 +2540,7 @@ export const rpc = {
2492
2540
  /**
2493
2541
  * Create an environment
2494
2542
  *
2495
- * 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.
2543
+ * 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.
2496
2544
  */
2497
2545
  environmentsCreate(client: RpcCaller, params: Api.EnvironmentCreateParams): Promise<Api.AgentApiOutcomeOfEnvironmentCreateResponse> {
2498
2546
  return client.call("environments/create", params);
@@ -2500,15 +2548,23 @@ export const rpc = {
2500
2548
  /**
2501
2549
  * Read an environment
2502
2550
  *
2503
- * Returns the durable universe resource, source binding, logical lifecycle state, and minimal current-incarnation identity.
2551
+ * Returns one environment: its source, lifecycle state, derived display status, state message, close reason, daemon build, and the latest provider observation.
2504
2552
  */
2505
2553
  environmentsRead(client: RpcCaller, params: Api.EnvironmentReadParams): Promise<Api.AgentApiOutcomeOfEnvironmentReadResponse> {
2506
2554
  return client.call("environments/read", params);
2507
2555
  },
2556
+ /**
2557
+ * Update an environment
2558
+ *
2559
+ * Replaces the display name and caller metadata of an environment of any kind. Refused for a closed environment.
2560
+ */
2561
+ environmentsUpdate(client: RpcCaller, params: Api.EnvironmentUpdateParams): Promise<Api.AgentApiOutcomeOfEnvironmentUpdateResponse> {
2562
+ return client.call("environments/update", params);
2563
+ },
2508
2564
  /**
2509
2565
  * List environments
2510
2566
  *
2511
- * Lists the universe environments, optionally filtered by provider, binding, or logical lifecycle state.
2567
+ * 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.
2512
2568
  */
2513
2569
  environmentsList(client: RpcCaller, params: Api.EnvironmentListParams): Promise<Api.AgentApiOutcomeOfEnvironmentListResponse> {
2514
2570
  return client.call("environments/list", params);
@@ -2516,7 +2572,7 @@ export const rpc = {
2516
2572
  /**
2517
2573
  * Close an environment
2518
2574
  *
2519
- * Records an asynchronous idempotent close intent. Provider cleanup is resumed by lifecycle reconciliation; quota is released only after Closed.
2575
+ * 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.
2520
2576
  */
2521
2577
  environmentsClose(client: RpcCaller, params: Api.EnvironmentCloseParams): Promise<Api.AgentApiOutcomeOfEnvironmentCloseResponse> {
2522
2578
  return client.call("environments/close", params);
@@ -2524,7 +2580,7 @@ export const rpc = {
2524
2580
  /**
2525
2581
  * Register an external environment
2526
2582
  *
2527
- * Creates an environment backed by a Lightspeed-reachable envd WebSocket endpoint, attributed to the caller. Reachability is checked on demand.
2583
+ * Creates an open environment backed by a Lightspeed-reachable envd endpoint, attributed to the caller. Idempotent per requestId. Reachability is checked on use.
2528
2584
  */
2529
2585
  environmentsExternalCreate(client: RpcCaller, params: Api.EnvironmentExternalCreateParams): Promise<Api.AgentApiOutcomeOfEnvironmentExternalCreateResponse> {
2530
2586
  return client.call("environments/external/create", params);
@@ -2532,31 +2588,23 @@ export const rpc = {
2532
2588
  /**
2533
2589
  * Configure environment public ingress
2534
2590
  *
2535
- * 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.
2591
+ * 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.
2536
2592
  */
2537
2593
  environmentsIngressPut(client: RpcCaller, params: Api.EnvironmentIngressPutParams): Promise<Api.AgentApiOutcomeOfEnvironmentIngressPutResponse> {
2538
2594
  return client.call("environments/ingress/put", params);
2539
2595
  },
2540
2596
  /**
2541
- * Set environment power intent
2597
+ * Set environment power
2542
2598
  *
2543
- * 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.
2599
+ * 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.
2544
2600
  */
2545
2601
  environmentsPowerPut(client: RpcCaller, params: Api.EnvironmentPowerPutParams): Promise<Api.AgentApiOutcomeOfEnvironmentPowerPutResponse> {
2546
2602
  return client.call("environments/power/put", params);
2547
2603
  },
2548
- /**
2549
- * Set environment idle policy
2550
- *
2551
- * 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.
2552
- */
2553
- environmentsIdlePolicyPut(client: RpcCaller, params: Api.EnvironmentIdlePolicyPutParams): Promise<Api.AgentApiOutcomeOfEnvironmentIdlePolicyPutResponse> {
2554
- return client.call("environments/idle-policy/put", params);
2555
- },
2556
2604
  /**
2557
2605
  * List environment provider bindings
2558
2606
  *
2559
- * Lists this universe's revisioned routing and admission bindings to deployment-scoped physical providers.
2607
+ * Lists this universe's bindings to deployment providers and whether each is enabled.
2560
2608
  */
2561
2609
  environmentsProviderBindingsList(client: RpcCaller, params: Api.EnvironmentProviderBindingListParams): Promise<Api.AgentApiOutcomeOfEnvironmentProviderBindingListResponse> {
2562
2610
  return client.call("environments/provider-bindings/list", params);
@@ -2564,7 +2612,7 @@ export const rpc = {
2564
2612
  /**
2565
2613
  * Read an environment provider binding
2566
2614
  *
2567
- * Returns one universe routing and admission binding. Provider-wide templates and physical resource, network, and ingress policy remain provider-owned.
2615
+ * Returns this universe's binding to one provider. Templates and physical resource, network, and ingress policy remain provider-owned.
2568
2616
  */
2569
2617
  environmentsProviderBindingsRead(client: RpcCaller, params: Api.EnvironmentProviderBindingReadParams): Promise<Api.AgentApiOutcomeOfEnvironmentProviderBindingReadResponse> {
2570
2618
  return client.call("environments/provider-bindings/read", params);
@@ -2572,7 +2620,7 @@ export const rpc = {
2572
2620
  /**
2573
2621
  * List environment templates
2574
2622
  *
2575
- * Reads immutable templates directly from the selected bound provider controller.
2623
+ * 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.
2576
2624
  */
2577
2625
  environmentsTemplatesList(client: RpcCaller, params: Api.EnvironmentTemplateListParams): Promise<Api.AgentApiOutcomeOfEnvironmentTemplateListResponse> {
2578
2626
  return client.call("environments/templates/list", params);
@@ -2580,7 +2628,7 @@ export const rpc = {
2580
2628
  /**
2581
2629
  * Read an environment template
2582
2630
  *
2583
- * Returns one immutable template version from the selected bound provider controller.
2631
+ * Returns one template, read live from a bound provider's controller.
2584
2632
  */
2585
2633
  environmentsTemplatesRead(client: RpcCaller, params: Api.EnvironmentTemplateReadParams): Promise<Api.AgentApiOutcomeOfEnvironmentTemplateReadResponse> {
2586
2634
  return client.call("environments/templates/read", params);
@@ -2588,7 +2636,7 @@ export const rpc = {
2588
2636
  /**
2589
2637
  * Create environment jobs
2590
2638
  *
2591
- * 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.
2639
+ * 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.
2592
2640
  */
2593
2641
  environmentsJobsCreate(client: RpcCaller, params: Api.EnvironmentJobCreateParams): Promise<Api.AgentApiOutcomeOfEnvironmentJobCreateResponse> {
2594
2642
  return client.call("environments/jobs/create", params);
@@ -2596,7 +2644,7 @@ export const rpc = {
2596
2644
  /**
2597
2645
  * Read environment jobs
2598
2646
  *
2599
- * Reads selected job handles with bounded output, optional sequence continuation, and optional artifacts; use returned status/sequence data for polling.
2647
+ * 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.
2600
2648
  */
2601
2649
  environmentsJobsRead(client: RpcCaller, params: Api.EnvironmentJobReadParams): Promise<Api.AgentApiOutcomeOfEnvironmentJobReadResponse> {
2602
2650
  return client.call("environments/jobs/read", params);
@@ -2612,7 +2660,7 @@ export const rpc = {
2612
2660
  /**
2613
2661
  * Mint an environment registration key
2614
2662
  *
2615
- * 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.
2663
+ * 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.
2616
2664
  */
2617
2665
  environmentsRegistrationKeysCreate(client: RpcCaller, params: Api.EnvironmentRegistrationKeyCreateParams): Promise<Api.AgentApiOutcomeOfEnvironmentRegistrationKeyCreateResponse> {
2618
2666
  return client.call("environments/registration-keys/create", params);
@@ -2633,6 +2681,22 @@ export const rpc = {
2633
2681
  environmentsRegistrationKeysList(client: RpcCaller, params: Api.EnvironmentRegistrationKeyListParams): Promise<Api.AgentApiOutcomeOfEnvironmentRegistrationKeyListResponse> {
2634
2682
  return client.call("environments/registration-keys/list", params);
2635
2683
  },
2684
+ /**
2685
+ * Update an environment registration key
2686
+ *
2687
+ * 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.
2688
+ */
2689
+ environmentsRegistrationKeysUpdate(client: RpcCaller, params: Api.EnvironmentRegistrationKeyUpdateParams): Promise<Api.AgentApiOutcomeOfEnvironmentRegistrationKeyUpdateResponse> {
2690
+ return client.call("environments/registration-keys/update", params);
2691
+ },
2692
+ /**
2693
+ * Rotate an environment registration key
2694
+ *
2695
+ * 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.
2696
+ */
2697
+ environmentsRegistrationKeysRotate(client: RpcCaller, params: Api.EnvironmentRegistrationKeyRotateParams): Promise<Api.AgentApiOutcomeOfEnvironmentRegistrationKeyRotateResponse> {
2698
+ return client.call("environments/registration-keys/rotate", params);
2699
+ },
2636
2700
  /**
2637
2701
  * Revoke an environment registration key
2638
2702
  *
@@ -3036,7 +3100,7 @@ export const rpc = {
3036
3100
  /**
3037
3101
  * Delete a bot
3038
3102
  *
3039
- * 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.
3103
+ * 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.
3040
3104
  */
3041
3105
  botsDelete(client: RpcCaller, params: Api.BotDeleteParams): Promise<Api.AgentApiOutcomeOfBotDeleteResponse> {
3042
3106
  return client.call("bots/delete", params);
@@ -3201,6 +3265,22 @@ export const rpc = {
3201
3265
  channelsConversationsRead(client: RpcCaller, params: Api.ChannelConversationReadParams): Promise<Api.AgentApiOutcomeOfChannelConversationReadResponse> {
3202
3266
  return client.call("channels/conversations/read", params);
3203
3267
  },
3268
+ /**
3269
+ * List deleted sessions
3270
+ *
3271
+ * Administrative metadata for soft-deleted sessions, ordered by session ID. Unavailable through universe-scoped methods.
3272
+ */
3273
+ deploymentSessionsDeletedList(client: RpcCaller, params: Api.DeploymentDeletedSessionsListParams): Promise<Api.AgentApiOutcomeOfDeploymentDeletedSessionsListResponse> {
3274
+ return client.call("deployment/sessions/deleted/list", params);
3275
+ },
3276
+ /**
3277
+ * Permanently delete a session
3278
+ *
3279
+ * 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.
3280
+ */
3281
+ deploymentSessionsPurge(client: RpcCaller, params: Api.DeploymentSessionPurgeParams): Promise<Api.AgentApiOutcomeOfDeploymentSessionPurgeResponse> {
3282
+ return client.call("deployment/sessions/purge", params);
3283
+ },
3204
3284
  /**
3205
3285
  * List a universe's deployment provider bindings
3206
3286
  *
@@ -3284,7 +3364,7 @@ export const rpc = {
3284
3364
  /**
3285
3365
  * Put an environment provider
3286
3366
  *
3287
- * Registers or replaces one deployment provider and its controller connection. The provider does not call this API or require access to Lightspeed.
3367
+ * 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.
3288
3368
  */
3289
3369
  deploymentEnvironmentProvidersPut(client: RpcCaller, params: Api.DeploymentEnvironmentProviderPutParams): Promise<Api.AgentApiOutcomeOfDeploymentEnvironmentProviderPutResponse> {
3290
3370
  return client.call("deployment/environment-providers/put", params);
@@ -3292,7 +3372,7 @@ export const rpc = {
3292
3372
  /**
3293
3373
  * List environment providers
3294
3374
  *
3295
- * Returns every deployment-registered deployment provider and its controller connection.
3375
+ * Returns every deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
3296
3376
  */
3297
3377
  deploymentEnvironmentProvidersList(client: RpcCaller, params: Api.DeploymentEnvironmentProviderListParams): Promise<Api.AgentApiOutcomeOfDeploymentEnvironmentProviderListResponse> {
3298
3378
  return client.call("deployment/environment-providers/list", params);
@@ -3300,7 +3380,7 @@ export const rpc = {
3300
3380
  /**
3301
3381
  * Read an environment provider
3302
3382
  *
3303
- * Returns one deployment-registered deployment provider and its controller connection.
3383
+ * Returns one deployment-registered provider with its controller endpoint, data route base, and whether a credential is stored.
3304
3384
  */
3305
3385
  deploymentEnvironmentProvidersRead(client: RpcCaller, params: Api.DeploymentEnvironmentProviderReadParams): Promise<Api.AgentApiOutcomeOfDeploymentEnvironmentProviderReadResponse> {
3306
3386
  return client.call("deployment/environment-providers/read", params);
@@ -3308,7 +3388,7 @@ export const rpc = {
3308
3388
  /**
3309
3389
  * Delete an environment provider
3310
3390
  *
3311
- * Deletes a deployment provider only when no universe binding references it.
3391
+ * Deletes a deployment provider only when no universe binding and no non-closed environment references it.
3312
3392
  */
3313
3393
  deploymentEnvironmentProvidersDelete(client: RpcCaller, params: Api.DeploymentEnvironmentProviderDeleteParams): Promise<Api.AgentApiOutcomeOfDeploymentEnvironmentProviderDeleteResponse> {
3314
3394
  return client.call("deployment/environment-providers/delete", params);
@@ -3316,7 +3396,7 @@ export const rpc = {
3316
3396
  /**
3317
3397
  * Put an environment provider binding
3318
3398
  *
3319
- * Creates or replaces one universe's complete revisioned routing and admission binding. A deployment provider may have at most one binding in a universe.
3399
+ * 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.
3320
3400
  */
3321
3401
  deploymentEnvironmentProvidersBindingsPut(client: RpcCaller, params: Api.DeploymentProviderBindingPutParams): Promise<Api.AgentApiOutcomeOfDeploymentProviderBindingPutResponse> {
3322
3402
  return client.call("deployment/environment-providers/bindings/put", params);
@@ -3324,19 +3404,11 @@ export const rpc = {
3324
3404
  /**
3325
3405
  * Delete an environment provider binding
3326
3406
  *
3327
- * Deletes a universe provider binding only after every referencing environment has reached Closed.
3407
+ * Deletes a universe's binding to a provider only when the universe has no non-closed environment of that provider.
3328
3408
  */
3329
3409
  deploymentEnvironmentProvidersBindingsDelete(client: RpcCaller, params: Api.DeploymentProviderBindingDeleteParams): Promise<Api.AgentApiOutcomeOfDeploymentProviderBindingDeleteResponse> {
3330
3410
  return client.call("deployment/environment-providers/bindings/delete", params);
3331
3411
  },
3332
- /**
3333
- * Adopt a provider environment
3334
- *
3335
- * Creates a universe environment by transferring an existing provider target into Lightspeed's managed lifecycle. The caller must explicitly accept ownership transfer.
3336
- */
3337
- deploymentEnvironmentsAdopt(client: RpcCaller, params: Api.DeploymentEnvironmentAdoptParams): Promise<Api.AgentApiOutcomeOfDeploymentEnvironmentAdoptResponse> {
3338
- return client.call("deployment/environments/adopt", params);
3339
- },
3340
3412
  /**
3341
3413
  * List channel accounts across universes
3342
3414
  *