@qwen-code/web-shell 0.25.1 → 0.25.2-nightly.20261016.b4614845f0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/NOTICES.txt +2467 -0
  2. package/README.md +70 -12
  3. package/dist/PierreFilePreview-C735lVHA.js +13124 -0
  4. package/dist/SpreadsheetPreview-C3Rm6nLP.js +379 -0
  5. package/dist/WorkspaceFileBrowser-BBnusVo2.js +9102 -0
  6. package/dist/{agents-route-CufkSNnD.js → agents-route-DS1sYuAH.js} +35 -35
  7. package/dist/c-eeMepfLm.js +6 -0
  8. package/dist/cpp-C0xArK63.js +19 -0
  9. package/dist/csharp-B2h9rwLg.js +6 -0
  10. package/dist/css-D8kMf1Az.js +6 -0
  11. package/dist/daemon-react-sdk.js +1 -1
  12. package/dist/diff-BxzP2J8R.js +6 -0
  13. package/dist/dockerfile-CsHqm9tx.js +6 -0
  14. package/dist/github-dark-DenFmJkN.js +4 -0
  15. package/dist/github-light-JYsPkUQd.js +4 -0
  16. package/dist/go-EbF93JXO.js +6 -0
  17. package/dist/html-Wr5yTrgx.js +10 -0
  18. package/dist/{index-Deg_ZdBo.js → index-BRdReCMn.js} +56288 -51231
  19. package/dist/index.js +29 -29
  20. package/dist/ini-BZIuRIvJ.js +6 -0
  21. package/dist/java-DY6VlHhP.js +6 -0
  22. package/dist/javascript-C25yR2R2.js +6 -0
  23. package/dist/json-DxJze_jm.js +6 -0
  24. package/dist/jsonc-CHjZD8gR.js +6 -0
  25. package/dist/jsx-BtKADgXT.js +6 -0
  26. package/dist/kotlin-ByBMgTeR.js +6 -0
  27. package/dist/lua-Bp3IRv7I.js +8 -0
  28. package/dist/makefile-CsMclxtr.js +6 -0
  29. package/dist/markdown-CrScaQ96.js +6 -0
  30. package/dist/objective-cpp-DGt5UKRO.js +6 -0
  31. package/dist/php-DBsTw_pP.js +18 -0
  32. package/dist/python-BFNSHbwJ.js +6 -0
  33. package/dist/ruby-vDzP41xB.js +41 -0
  34. package/dist/rust-BMMJSOUe.js +6 -0
  35. package/dist/shellscript-InADTalH.js +6 -0
  36. package/dist/sql-CZBvVSLl.js +6 -0
  37. package/dist/sw.js +1 -1
  38. package/dist/swift-DOmCYlRt.js +6 -0
  39. package/dist/toml-DY62mUL_.js +6 -0
  40. package/dist/transcript.js +9749 -9499
  41. package/dist/tsx-B8rCNbgL.js +6 -0
  42. package/dist/types/App.d.ts +8 -5
  43. package/dist/types/adapters/transcriptAdapter.d.ts +1 -1
  44. package/dist/types/browser-turn-notifications.d.ts +2 -1
  45. package/dist/types/components/ChatContextHeader.d.ts +12 -3
  46. package/dist/types/components/ChatEditor.d.ts +7 -0
  47. package/dist/types/components/ChatPane.d.ts +2 -1
  48. package/dist/types/components/ContextUsagePopover.d.ts +2 -1
  49. package/dist/types/components/SplitView.d.ts +2 -1
  50. package/dist/types/components/StreamingStatus.d.ts +2 -1
  51. package/dist/types/components/WorkspaceSelector.d.ts +2 -1
  52. package/dist/types/components/artifacts/ArtifactPanel.d.ts +17 -3
  53. package/dist/types/components/artifacts/PierreFilePreview.d.ts +4 -0
  54. package/dist/types/components/artifacts/SpreadsheetPreview.d.ts +7 -0
  55. package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +9 -0
  56. package/dist/types/components/artifacts/TrajectoryInspector.d.ts +6 -1
  57. package/dist/types/components/artifacts/TrajectoryPanel.d.ts +2 -1
  58. package/dist/types/components/artifacts/WorkspaceFileBrowser.d.ts +11 -0
  59. package/dist/types/components/artifacts/artifactUtils.d.ts +1 -0
  60. package/dist/types/components/artifacts/excel-preview-parser.d.ts +5 -0
  61. package/dist/types/components/artifacts/excel-preview-types.d.ts +44 -0
  62. package/dist/types/components/artifacts/excel-preview.worker.d.ts +1 -0
  63. package/dist/types/components/artifacts/file-name-display.d.ts +1 -0
  64. package/dist/types/components/artifacts/files-messages.d.ts +66 -0
  65. package/dist/types/components/artifacts/files-messages.transcript-stub.d.ts +2 -0
  66. package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +7 -2
  67. package/dist/types/components/managed/ManagedSessionsPage.d.ts +4 -1
  68. package/dist/types/components/managed/ManagedTaskPanel.d.ts +15 -0
  69. package/dist/types/components/managed/ManagedToolResultPanel.d.ts +6 -1
  70. package/dist/types/components/managed/RemoteWorkspaceRegistration.d.ts +9 -0
  71. package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +3 -1
  72. package/dist/types/components/managed/generated/managed-agent-api.d.ts +653 -15
  73. package/dist/types/components/managed/java-managed-agent-client.d.ts +76 -0
  74. package/dist/types/components/managed/java-managed-agent-provider.d.ts +4 -0
  75. package/dist/types/components/managed/managed-agent-provider.d.ts +117 -0
  76. package/dist/types/components/managed/managed-development-options.d.ts +7 -0
  77. package/dist/types/components/managed/managed-session-storage.d.ts +1 -1
  78. package/dist/types/components/managed/managed-task-messages.d.ts +9 -0
  79. package/dist/types/components/managed/managed-task-messages.transcript-stub.d.ts +7 -0
  80. package/dist/types/components/managed/managed-task.test-fixtures.d.ts +4 -0
  81. package/dist/types/components/managed/managed-workspace-messages.d.ts +7 -0
  82. package/dist/types/components/managed/managed-workspace-messages.transcript-stub.d.ts +7 -0
  83. package/dist/types/components/managed/use-managed-approval-change.d.ts +24 -0
  84. package/dist/types/components/managed/use-managed-model-change.d.ts +23 -0
  85. package/dist/types/components/managed/use-managed-task-cancel.d.ts +12 -0
  86. package/dist/types/components/managed/use-managed-tasks.d.ts +49 -0
  87. package/dist/types/components/messages/BrowserNotificationControl.d.ts +1 -0
  88. package/dist/types/components/messages/SelectionCopyMenu.d.ts +8 -0
  89. package/dist/types/components/messages/SelectionCopyMenu.transcript-stub.d.ts +2 -0
  90. package/dist/types/components/messages/TasksStatusMessage.d.ts +2 -1
  91. package/dist/types/components/messages/ToolApproval.d.ts +2 -1
  92. package/dist/types/components/messages/WorkflowExecutionView.d.ts +3 -1
  93. package/dist/types/components/messages/toolFormatting.d.ts +3 -3
  94. package/dist/types/components/messages/workflow-agent-details.d.ts +3 -0
  95. package/dist/types/components/messages/workflow-agent-details.transcript-stub.d.ts +1 -0
  96. package/dist/types/components/panels/EnvironmentPanel.d.ts +5 -0
  97. package/dist/types/components/sidebar/WebShellSidebar.d.ts +4 -1
  98. package/dist/types/components/ui/alert.d.ts +1 -1
  99. package/dist/types/components/ui/drawer.d.ts +1 -1
  100. package/dist/types/components/ui/resizable.d.ts +5 -0
  101. package/dist/types/components/workflows/WorkflowRunsPage.d.ts +3 -1
  102. package/dist/types/constants/sessions.d.ts +1 -0
  103. package/dist/types/constants/toolNames.d.ts +1 -0
  104. package/dist/types/customization.d.ts +7 -5
  105. package/dist/types/daemon/session/turn-notification-context.d.ts +2 -1
  106. package/dist/types/daemon/session/types.d.ts +7 -2
  107. package/dist/types/hooks/useComposerCore.d.ts +3 -2
  108. package/dist/types/hooks/useMcpAppMessages.d.ts +22 -0
  109. package/dist/types/index.d.ts +1 -1
  110. package/dist/types/mcp-app/messages.d.ts +7 -0
  111. package/dist/types/mcp-app/messages.transcript-stub.d.ts +7 -0
  112. package/dist/types/mcpAppHostContext.d.ts +13 -0
  113. package/dist/types/subagentDetailsContext.d.ts +1 -1
  114. package/dist/types/trajectory/execution-messages.d.ts +9 -0
  115. package/dist/types/trajectory/execution-messages.transcript-stub.d.ts +7 -0
  116. package/dist/types/trajectory/project-trajectory-executions.d.ts +23 -0
  117. package/dist/types/trajectory/project-trajectory-lifecycle.d.ts +27 -0
  118. package/dist/types/trajectory/trajectory-live-context.d.ts +3 -0
  119. package/dist/types/trajectory/trajectory-live-store.d.ts +36 -0
  120. package/dist/types/trajectory/transcriptPageLoader.d.ts +5 -1
  121. package/dist/types/trajectory/useTrajectoryWindow.d.ts +2 -0
  122. package/dist/types/utils/askUserPermission.d.ts +1 -1
  123. package/dist/types/utils/composerModels.d.ts +18 -0
  124. package/dist/types/utils/planMode.d.ts +1 -1
  125. package/dist/types/utils/promptAdmission.d.ts +4 -0
  126. package/dist/types/utils/selectionClipboard.d.ts +5 -0
  127. package/dist/types/voice/messages.d.ts +9 -0
  128. package/dist/types/voice/messages.transcript-stub.d.ts +7 -0
  129. package/dist/types/voice/voice-error.d.ts +7 -0
  130. package/dist/typescript-RycA9KXf.js +6 -0
  131. package/dist/{toolNames-Co4lBbW-.js → useDaemonMidTurnInjected-DJOlO2pI.js} +5943 -5082
  132. package/dist/vue-IHw0KG71.js +33 -0
  133. package/dist/wasm-DQxwEHae.js +7 -0
  134. package/dist/xml-C2J0sS9M.js +8 -0
  135. package/dist/yaml-DaO7k5B1.js +6 -0
  136. package/package.json +21 -4
@@ -57,7 +57,7 @@ export interface paths {
57
57
  };
58
58
  get?: never;
59
59
  put?: never;
60
- /** @description POST SSE consumed through fetch response.body. An afterSequence below the replay floor ends the stream with one agent.session.resync_required frame instead of a 409 only while the Snapshot backs the floor (replay_floor_sequence <= snapshot_through_sequence); a stream reconciliation discards the Snapshot without lowering the floor, and during that rebuild such a cursor is served from the retained events. On the resync frame, reload the transcript and resume after its lastSequence. */
60
+ /** @description POST SSE consumed through fetch response.body. An afterSequence strictly below the durable replay floor ends the stream with one agent.session.resync_required frame. Projection rebuilds preserve that floor and the current immutable Snapshot. On the resync frame, reload the transcript and resume after its lastSequence. */
61
61
  post: operations["webShellStreamEvents"];
62
62
  delete?: never;
63
63
  options?: never;
@@ -74,7 +74,7 @@ export interface paths {
74
74
  };
75
75
  get?: never;
76
76
  put?: never;
77
- /** @description Maps workspaceId/cwdRelative to public Workspace selection without using environmentId or absolute cwd. Shares G0's opt-in initial file-tool Turn admission with public Session creation: the fixed server-owned profile for the built-in qwen-code agent, and the profile selected by a stored definition's single allowlisted hosted_profile tools entry for a definition-pinned Session. Any caller holding the OPERATOR role may submit later Turns and rename the Session under the same opt-in, while the Workspace registry row stays ACTIVE and still backs the binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session on the frozen execution profile or pinned to a stored definition; Workspace close follows its separate close capability and lifecycle admission; the same caller may cancel a running Turn (its delivery re-checks no grant it needs survives the cancellation), and the Session's own liveness keeps OPERATOR access even when its Workspace's background-exit observation closes some other bound Session; cancel is always allowed for its own running Turn even outside the Workspace files opt-in. A definition-pinned Session keeps its pinned revision's tool profile, model and instructions for its whole life, and a replay of the create command reuses the original pin; a WebShell Session inherits its Workspace's default Workspace selection when the request omits one. */
77
+ /** @description Maps workspaceId/cwdRelative to public Workspace selection without using environmentId or absolute cwd. Shares G0's opt-in initial file-tool Turn admission with public Session creation: the server-selected profile for the built-in qwen-code agent, and the profile selected by a stored definition's single allowlisted hosted_profile tools entry for a definition-pinned Session. Newly bound qwen-code Sessions, including empty creation, persist hosted-workspace-shell/1 with mandatory default/auto-edit approval when the Shell deployment opt-in is enabled; otherwise they persist hosted-workspace-files/1 with the configured file approval mode. The switch does not override a stored AgentDefinition's compiled profile or approval mode. Public callers cannot select the built-in profile. Any caller holding the OPERATOR role may submit later Turns and rename the Session under the same opt-in, while the Workspace registry row stays ACTIVE and still backs the binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session on the frozen execution profile or pinned to a stored definition; Workspace close follows its separate close capability and lifecycle admission; the same caller may cancel a running Turn (its delivery re-checks no grant it needs survives the cancellation), and the Session's own liveness keeps OPERATOR access even when its Workspace's background-exit observation closes some other bound Session; cancel is always allowed for its own running Turn even outside the Workspace files opt-in. A definition-pinned Session keeps its pinned revision's tool profile, model and instructions for its whole life, and a replay of the create command reuses the original pin; a WebShell Session inherits its Workspace's default Workspace selection when the request omits one. Shell Sessions additionally require the Shell opt-in and valid persisted approval for fresh Turns; disabling only Shell admission preserves original-key replay and accepted approvals and cancellation while Workspace files remain enabled and persisted approval remains valid. The public Shell tool list does not include the child agent tool. Invalid approval or files-off can refuse attachment. Public Shell close, archive, unarchive and delete stay unavailable, including protocol-0. Fresh Shell sending also requires foregroundShell=true; workspaceTurns advertises submit/rename permission and is not sufficient Shell Turn admission. */
78
78
  post: operations["webShellCreateSession"];
79
79
  delete?: never;
80
80
  options?: never;
@@ -173,7 +173,7 @@ export interface paths {
173
173
  };
174
174
  get?: never;
175
175
  put?: never;
176
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
176
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
177
177
  post: operations["queryWebShellActions"];
178
178
  delete?: never;
179
179
  options?: never;
@@ -190,7 +190,7 @@ export interface paths {
190
190
  };
191
191
  get?: never;
192
192
  put?: never;
193
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
193
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
194
194
  post: operations["getWebShellAction"];
195
195
  delete?: never;
196
196
  options?: never;
@@ -207,7 +207,7 @@ export interface paths {
207
207
  };
208
208
  get?: never;
209
209
  put?: never;
210
- /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
210
+ /** @description D6 serves Hosted permission Actions. Question Actions and vote_recorded remain planned. Reads follow Session authorization; the Session's recorded owner or any caller holding OPERATOR on the bound Workspace may respond; a Shell Session's Actions may be answered only by its recorded owner (an unbound Session with no recorded creator and no recorded create command answers to any caller in its tenant, matching its read ACL; a bound Session without an owner record answers through the create-command actor recorded for it, or through the Workspace role arm). Responses are durable operations, reconciled against the original journal decision. */
211
211
  post: operations["respondWebShellAction"];
212
212
  delete?: never;
213
213
  options?: never;
@@ -404,7 +404,7 @@ export interface paths {
404
404
  };
405
405
  get?: never;
406
406
  put?: never;
407
- /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the current visible Session without repeating the mutation; a deleted Session returns 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
407
+ /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the recorded outcome without repeating the mutation; a replay after delete answers with the Session as last visible — its pre-delete status — rather than 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
408
408
  post: operations["unarchiveWebShellSession"];
409
409
  delete?: never;
410
410
  options?: never;
@@ -412,6 +412,176 @@ export interface paths {
412
412
  patch?: never;
413
413
  trace?: never;
414
414
  };
415
+ "/api/agent/web-shell/v1/workspaces/create": {
416
+ parameters: {
417
+ query?: never;
418
+ header?: never;
419
+ path?: never;
420
+ cookie?: never;
421
+ };
422
+ get?: never;
423
+ put?: never;
424
+ /** @description Create an independent empty Workspace under the operator-controlled creation root and grant its authenticated creator OWNER access. Disabled deployments reject creation. The actor-scoped idempotency key freezes the normalized name and storage registration; retry the same request after an uncertain response. Completed replay checks current access and does not restore removed Workspaces or revoked grants. No host path is accepted or returned. */
425
+ post: operations["webShellCreateWorkspace"];
426
+ delete?: never;
427
+ options?: never;
428
+ head?: never;
429
+ patch?: never;
430
+ trace?: never;
431
+ };
432
+ "/api/agent/web-shell/v1/session-options/query": {
433
+ parameters: {
434
+ query?: never;
435
+ header?: never;
436
+ path?: never;
437
+ cookie?: never;
438
+ };
439
+ get?: never;
440
+ put?: never;
441
+ /** @description Read effective approval policy options for an Agent in the authenticated tenant. Requires an actor. Does not create a Session or change an existing policy. */
442
+ post: operations["queryWebShellSessionOptions"];
443
+ delete?: never;
444
+ options?: never;
445
+ head?: never;
446
+ patch?: never;
447
+ trace?: never;
448
+ };
449
+ "/api/agent/web-shell/v1/session-models/query": {
450
+ parameters: {
451
+ query?: never;
452
+ header?: never;
453
+ path?: never;
454
+ cookie?: never;
455
+ };
456
+ get?: never;
457
+ put?: never;
458
+ /** @description Read the allowed model catalog and current model selection of a readable Session. No credentials or provider routes are returned. */
459
+ post: operations["queryWebShellSessionModels"];
460
+ delete?: never;
461
+ options?: never;
462
+ head?: never;
463
+ patch?: never;
464
+ trace?: never;
465
+ };
466
+ "/api/agent/web-shell/v1/session-models/change": {
467
+ parameters: {
468
+ query?: never;
469
+ header?: never;
470
+ path?: never;
471
+ cookie?: never;
472
+ };
473
+ get?: never;
474
+ put?: never;
475
+ /** @description Change the model of an idle Workspace Session for later Turns. The actor-scoped idempotency key replays an earlier completed change before current admission checks; expectedRevision prevents overwriting a concurrent selection. */
476
+ post: operations["changeWebShellSessionModel"];
477
+ delete?: never;
478
+ options?: never;
479
+ head?: never;
480
+ patch?: never;
481
+ trace?: never;
482
+ };
483
+ "/api/agent/web-shell/v1/session-approval/query": {
484
+ parameters: {
485
+ query?: never;
486
+ header?: never;
487
+ path?: never;
488
+ cookie?: never;
489
+ };
490
+ get?: never;
491
+ put?: never;
492
+ /** @description Read the current policy and owner-authorized change support of a readable Workspace Session. */
493
+ post: operations["queryWebShellSessionApproval"];
494
+ delete?: never;
495
+ options?: never;
496
+ head?: never;
497
+ patch?: never;
498
+ trace?: never;
499
+ };
500
+ "/api/agent/web-shell/v1/session-approval/change": {
501
+ parameters: {
502
+ query?: never;
503
+ header?: never;
504
+ path?: never;
505
+ cookie?: never;
506
+ };
507
+ get?: never;
508
+ put?: never;
509
+ /** @description Change the next-Turn policy of an idle built-in Workspace Session. Requires its recorded owner and current OPERATOR access. Changes are revision-checked and actor/session-scoped idempotent. */
510
+ post: operations["changeWebShellSessionApproval"];
511
+ delete?: never;
512
+ options?: never;
513
+ head?: never;
514
+ patch?: never;
515
+ trace?: never;
516
+ };
517
+ "/api/agent/web-shell/v1/runtime-nodes/query": {
518
+ parameters: {
519
+ query?: never;
520
+ header?: never;
521
+ path?: never;
522
+ cookie?: never;
523
+ };
524
+ get?: never;
525
+ put?: never;
526
+ /** @description Lists only administrator-configured SSH nodes authorized for the current tenant and actor. Requires a trusted actor. Registration is disabled by default and answers 200 with supported=false and an empty data array; an enabled deployment may answer supported=true with no authorized nodes. Node credentials, SSH aliases and server paths are not exposed. This read starts no worker. */
527
+ post: operations["webShellQueryRuntimeNodes"];
528
+ delete?: never;
529
+ options?: never;
530
+ head?: never;
531
+ patch?: never;
532
+ trace?: never;
533
+ };
534
+ "/api/agent/web-shell/v1/workspaces/check-directory": {
535
+ parameters: {
536
+ query?: never;
537
+ header?: never;
538
+ path?: never;
539
+ cookie?: never;
540
+ };
541
+ get?: never;
542
+ put?: never;
543
+ /** @description Checks the configured Node.js and pinned qwen-code versions, allowed directory range, existing canonical directory and access permissions over SSH. Requires an enabled deployment and an exact tenant/actor node grant; disabled registration answers 404 ssh_runtime_disabled and an unknown or unauthorized node answers 403 runtime_node_forbidden. This is a preview: registration revalidates the directory and never creates a directory, clones a repository or starts a worker. */
544
+ post: operations["webShellCheckWorkspaceDirectory"];
545
+ delete?: never;
546
+ options?: never;
547
+ head?: never;
548
+ patch?: never;
549
+ trace?: never;
550
+ };
551
+ "/api/agent/web-shell/v1/workspaces/operations/get": {
552
+ parameters: {
553
+ query?: never;
554
+ header?: never;
555
+ path?: never;
556
+ cookie?: never;
557
+ };
558
+ get?: never;
559
+ put?: never;
560
+ /** @description Reads only a Workspace registration owned by the current tenant and actor; an unknown operation or another actor's operation answers 404 operation_not_found. Queries and accepted registration settlement remain available when new registration is disabled. Pending or running operations may resume their original registration attempt. recovery_blocked is terminal and preserves the original physical owner; querying never unlocks it or starts a Runtime worker. */
561
+ post: operations["webShellGetWorkspaceOperation"];
562
+ delete?: never;
563
+ options?: never;
564
+ head?: never;
565
+ patch?: never;
566
+ trace?: never;
567
+ };
568
+ "/api/agent/web-shell/v1/workspaces/register": {
569
+ parameters: {
570
+ query?: never;
571
+ header?: never;
572
+ path?: never;
573
+ cookie?: never;
574
+ };
575
+ get?: never;
576
+ put?: never;
577
+ /** @description Admits actor-scoped, idempotent registration of an existing remote directory. The request body carries idempotencyKey; a retry with the same nodeId, path and displayName returns the original operation and its latest durable state, even after new registration is disabled or node admission is revoked. Reusing the key for different content answers 409 idempotency_conflict. Fresh admission requires an enabled deployment and an authorized node (404 ssh_runtime_disabled or 403 runtime_node_forbidden). A completed operation atomically creates the Workspace and creator OWNER grant. 202 does not mean registration is complete; query the operation, then read the Workspace and its canCreateSession hint. This operation creates no Session and starts no Runtime worker. requestId is trace-only and excluded from the request digest. */
578
+ post: operations["webShellRegisterWorkspace"];
579
+ delete?: never;
580
+ options?: never;
581
+ head?: never;
582
+ patch?: never;
583
+ trace?: never;
584
+ };
415
585
  }
416
586
  export type webhooks = Record<string, never>;
417
587
  export interface components {
@@ -474,10 +644,17 @@ export interface components {
474
644
  agentId: string;
475
645
  /** @description Planned; phase one rejects non-blank values. */
476
646
  environmentId?: string | null;
647
+ /** @description The server enforces the bound in UTF-16 code units (Java String.length()), so an astral character counts as two: a title this schema's code-point maxLength accepts can still exceed the server's 256-unit bound and answer 400 invalid_title. */
477
648
  title?: string | null;
649
+ /** @description Each block adds to a 4,000,000-character aggregate admission budget per command (per-block 1,000,000-character cap applies). Admission ceiling only: a command whose serialized prompt or durable Session-store record exceeds the Hosted Harness's 64 KiB durable-record limit is accepted and then fails the Turn with hosted_harness_rejected. */
478
650
  input?: components["schemas"]["InputBlock"][];
479
651
  metadata?: components["schemas"]["WebShellMetadata"];
480
652
  workspace?: components["schemas"]["WebShellWorkspaceSelection"];
653
+ /**
654
+ * @description Optional policy for Workspace-bound creation only. Omission preserves the existing default and idempotency digest. Explicit selection is validated against the resolved Agent and tool profile and frozen in the Session; Shell refuses yolo and definitions retain their compiled policy.
655
+ * @enum {string}
656
+ */
657
+ approvalMode?: "default" | "auto-edit" | "yolo";
481
658
  };
482
659
  WebShellSubmitRequest: {
483
660
  /** @description Trace correlation only. */
@@ -485,6 +662,7 @@ export interface components {
485
662
  idempotencyKey: string;
486
663
  /** Format: uuid */
487
664
  sessionId: string;
665
+ /** @description Each block adds to a 4,000,000-character aggregate admission budget per command (per-block 1,000,000-character cap applies). Admission ceiling only: a command whose serialized prompt or durable Session-store record exceeds the Hosted Harness's 64 KiB durable-record limit is accepted and then fails the Turn with hosted_harness_rejected. */
488
666
  input?: components["schemas"]["InputBlock"][];
489
667
  metadata?: components["schemas"]["WebShellMetadata"];
490
668
  };
@@ -496,8 +674,9 @@ export interface components {
496
674
  sessionId: string;
497
675
  turnId: string;
498
676
  };
677
+ /** @description Arbitrary caller metadata, as a JSON object (or null). Accepted and ignored in Phase 1: nothing from it is persisted. On WebShellCreateRequest the Session title travels in that request's own `title` field; WebShellSubmitRequest has no title surface. Any keys are valid. */
499
678
  WebShellMetadata: {
500
- clientId?: string;
679
+ [key: string]: unknown;
501
680
  } | null;
502
681
  /** @description With durable_operations enabled, all three target fields are returned. accepted means Java durable delivery responsibility, not model execution. Missing fields retain the deployed legacy response semantics. */
503
682
  WebShellAdmission: {
@@ -517,9 +696,6 @@ export interface components {
517
696
  /** Format: int64 */
518
697
  completedAt?: number | null;
519
698
  errorCode?: string | null;
520
- usage?: {
521
- [key: string]: unknown;
522
- } | null;
523
699
  };
524
700
  WebShellSession: {
525
701
  /** Format: uuid */
@@ -539,6 +715,20 @@ export interface components {
539
715
  lastSequence: number;
540
716
  workspace?: components["schemas"]["WebShellWorkspaceContext"];
541
717
  capabilities: components["schemas"]["WebShellSessionCapabilities"];
718
+ /**
719
+ * @description Current effective approval policy; initialApprovalMode retains the immutable creation policy.
720
+ * @enum {string}
721
+ */
722
+ approvalMode?: "default" | "auto-edit" | "yolo";
723
+ modelContext?: components["schemas"]["WebShellModelContext"];
724
+ modelSelection?: components["schemas"]["WebShellModelSelection"];
725
+ /** Format: int64 */
726
+ approvalRevision?: number;
727
+ /**
728
+ * @description Immutable creation-time policy, used to confirm creation replay.
729
+ * @enum {string}
730
+ */
731
+ initialApprovalMode?: "default" | "auto-edit" | "yolo";
542
732
  };
543
733
  WebShellSessionCapabilities: {
544
734
  /**
@@ -549,7 +739,7 @@ export interface components {
549
739
  /** @default false */
550
740
  actions: boolean;
551
741
  /**
552
- * @description True when the caller may submit later Turns of this Workspace-bound Session or rename it: the deployment enables Workspace files, the caller holds the OPERATOR role on a Workspace registry row whose state is ACTIVE and still backs the Session's binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session or a Session pinned to a stored definition (both on the Workspace's frozen execution profile). Cancelling only aborts work already running, so an OPERATOR caller may cancel a running Turn even when this is false; the capability does not gate cancellation. False for every other caller and for unbound Sessions, which do not use it.
742
+ * @description True when the caller may submit later Turns of this Workspace-bound Session or rename it: the deployment enables Workspace files, the caller holds the OPERATOR role on a Workspace registry row whose state is ACTIVE and still backs the Session's binding, the actor recorded by the Workspace create command keeps OPERATOR or above, and the Session is active and undeleted and is either a qwen-code Session or a Session pinned to a stored definition (both on the Workspace's frozen execution profile). Cancelling only aborts work already running, so an OPERATOR caller may cancel a running Turn even when this is false; the capability does not gate cancellation. False for every other caller and for unbound Sessions, which do not use it. Shell Sessions also require foregroundShell=true for fresh sending; workspaceTurns may remain true with Shell admission disabled and is not sufficient Shell Turn admission.
553
743
  * @default false
554
744
  */
555
745
  workspaceTurns: boolean;
@@ -575,6 +765,12 @@ export interface components {
575
765
  * @default false
576
766
  */
577
767
  sessionDelete?: boolean;
768
+ /** @description Present only for persisted Shell Sessions, with no schema default; files and unbound Sessions omit it. True when Workspace files, Shell deployment admission and a valid persisted approval mode are valid. False prevents fresh sending. Disabling only the Shell flag preserves accepted cancellation and approval while Workspace files remain enabled and persisted approval remains valid; files-off or invalid approval can refuse attachment. This capability does not override authorization or recovery refusals. */
769
+ foregroundShell?: boolean;
770
+ /** @description The caller may request an idle Session model change using the server model catalog. Missing means unsupported; authorization and revision admission still apply. */
771
+ modelChange?: boolean;
772
+ /** @description The caller owns this built-in Workspace Session with OPERATOR access and the Harness supports approval-selection/1. Idle-state admission is checked separately. Missing means false. */
773
+ approvalModeChange?: boolean;
578
774
  };
579
775
  WebShellSessionPage: {
580
776
  data: components["schemas"]["WebShellSession"][];
@@ -710,8 +906,12 @@ export interface components {
710
906
  * @default false
711
907
  */
712
908
  workspaceContext: boolean;
713
- /** @description Supports authorized Workspace discovery, Session creation, and saved binding read-back. This capability does not advertise execution readiness. Deployments may separately opt in to an initial Workspace Read/Write/Edit Turn at creation; callers holding the OPERATOR role may submit later Turns or rename under the same opt-in while the registry row stays ACTIVE and still backs the Session's binding and the actor recorded by the Workspace create command keeps OPERATOR or above, and may cancel a running Turn (its delivery re-checks no grants), while close follows its separate capability and lifecycle admission; archive, delete and unarchive follow their separate retention capabilities after reliable Workspace close. */
909
+ /** @description Supports authorized Workspace discovery, Session creation, and saved binding read-back. This capability does not advertise execution readiness. Deployments may separately opt in to an initial Workspace Turn at creation: Read/Write/Edit under hosted-workspace-files/1, or file tools plus mandatory-approval foreground Shell under hosted-workspace-shell/1 when the Shell opt-in is enabled. The public Shell tool list does not include the child agent tool. Callers holding the OPERATOR role may submit later Turns or rename under the same opt-in while the registry row stays ACTIVE and still backs the Session's binding and the actor recorded by the Workspace create command keeps OPERATOR or above, and may cancel a running Turn (its delivery re-checks no grants). Shell fresh sending also requires foregroundShell=true. Public Shell close, archive, unarchive and delete stay unavailable, including protocol-0, while close of other profiles follows its separate capability and lifecycle admission; archive, delete and unarchive follow their separate retention capabilities after reliable Workspace close. */
714
910
  workspaceBinding: boolean;
911
+ /** @description Supports creating empty Workspaces under the operator-controlled root. Missing or false means unsupported; current actor and server admission checks still apply. */
912
+ workspaceCreation?: boolean;
913
+ /** @description Supports effective Session policy options and explicit Workspace-bound creation policy. Missing or false means unsupported. */
914
+ approvalModeSelection?: boolean;
715
915
  };
716
916
  /** @description Same authorized explicit default as default_workspace, including when outside this page; null if absent or not creatable. A non-null default is active and has canCreateSession=true. */
717
917
  defaultWorkspace: (components["schemas"]["WebShellWorkspace"] & {
@@ -919,7 +1119,7 @@ export interface components {
919
1119
  */
920
1120
  TaskRuntimeState: "unbound" | "provisioning" | "ready" | "draining" | "lost";
921
1121
  /**
922
- * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40, child_agent tasks in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
1122
+ * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40 for child_agent and 1.46 for workflow, tasks of those kinds in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
923
1123
  * @enum {string}
924
1124
  */
925
1125
  TaskActionCapability: "cancel" | "send_input" | "read_output";
@@ -1094,6 +1294,134 @@ export interface components {
1094
1294
  */
1095
1295
  byteLength: number;
1096
1296
  };
1297
+ WebShellWorkspaceCreateRequest: {
1298
+ /** @description Trimmed display name, without control characters. The server validates the normalized name. */
1299
+ displayName: string;
1300
+ idempotencyKey: string;
1301
+ };
1302
+ WebShellSessionOptionsRequest: {
1303
+ agentId: string;
1304
+ };
1305
+ WebShellSessionOptions: {
1306
+ /** @enum {string} */
1307
+ approvalMode: "default" | "auto-edit" | "yolo";
1308
+ /** @description Effective modes for this Agent/profile. Stored definitions offer only their pinned mode; auto and plan are unsupported. */
1309
+ availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
1310
+ };
1311
+ /** @description Safe allowlisted observation for a Workspace-bound Session. Unknown counts are omitted, never estimated. */
1312
+ WebShellModelContext: {
1313
+ /** @description Actual model identity from the committed main-model usage resource. */
1314
+ modelId: string;
1315
+ /** @description Provider prompt token count for the latest successfully committed main-model request; not cumulative billing usage. */
1316
+ inputTokens?: number;
1317
+ /** @description Context capacity from the same resolved model configuration. Missing means unknown. */
1318
+ contextWindowSize?: number;
1319
+ /** @description Timestamp of the committed source observation, in Unix epoch milliseconds. */
1320
+ observedAt: number;
1321
+ };
1322
+ WebShellModelSelection: {
1323
+ modelId?: string;
1324
+ /** Format: int64 */
1325
+ revision: number;
1326
+ };
1327
+ WebShellModelOption: {
1328
+ modelId: string;
1329
+ label: string;
1330
+ };
1331
+ WebShellSessionModelsRequest: {
1332
+ sessionId: string;
1333
+ };
1334
+ WebShellSessionModels: {
1335
+ models: components["schemas"]["WebShellModelOption"][];
1336
+ modelSelection: components["schemas"]["WebShellModelSelection"];
1337
+ supported: boolean;
1338
+ };
1339
+ WebShellChangeModelRequest: {
1340
+ sessionId: string;
1341
+ modelId: string;
1342
+ /** Format: int64 */
1343
+ expectedRevision: number;
1344
+ idempotencyKey: string;
1345
+ requestId?: string;
1346
+ };
1347
+ WebShellModelChangeResult: {
1348
+ sessionId: string;
1349
+ modelSelection: components["schemas"]["WebShellModelSelection"];
1350
+ replayed: boolean;
1351
+ };
1352
+ WebShellSessionApprovalRequest: {
1353
+ sessionId: string;
1354
+ };
1355
+ WebShellSessionApproval: {
1356
+ /** @enum {string} */
1357
+ approvalMode: "default" | "auto-edit" | "yolo";
1358
+ /** Format: int64 */
1359
+ approvalRevision: number;
1360
+ availableApprovalModes: ("default" | "auto-edit" | "yolo")[];
1361
+ supported: boolean;
1362
+ };
1363
+ WebShellChangeApprovalRequest: {
1364
+ sessionId: string;
1365
+ /** Format: int64 */
1366
+ expectedRevision: number;
1367
+ idempotencyKey: string;
1368
+ requestId?: string;
1369
+ /** @enum {string} */
1370
+ approvalMode: "default" | "auto-edit" | "yolo";
1371
+ };
1372
+ WebShellApprovalChangeResult: {
1373
+ sessionId: string;
1374
+ /** @enum {string} */
1375
+ approvalMode: "default" | "auto-edit" | "yolo";
1376
+ /** Format: int64 */
1377
+ approvalRevision: number;
1378
+ replayed: boolean;
1379
+ };
1380
+ WebShellRuntimeNode: {
1381
+ nodeId: string;
1382
+ displayName: string;
1383
+ };
1384
+ /** @description Disabled registration returns supported=false and no nodes. This capability controls fresh registration only; existing operation queries remain available. */
1385
+ WebShellRuntimeNodePage: {
1386
+ /** @default false */
1387
+ supported: boolean;
1388
+ data: components["schemas"]["WebShellRuntimeNode"][];
1389
+ } & unknown;
1390
+ WebShellWorkspaceDirectoryRequest: {
1391
+ nodeId: string;
1392
+ /** @description Existing absolute directory on the selected node; no directory or repository is created. */
1393
+ path: string;
1394
+ };
1395
+ WebShellWorkspaceDirectory: {
1396
+ nodeId: string;
1397
+ /** @description Canonical absolute path after remote directory validation. */
1398
+ canonicalPath: string;
1399
+ /** @enum {string} */
1400
+ platform: "linux" | "darwin";
1401
+ };
1402
+ WebShellWorkspaceOperationRequest: {
1403
+ operationId: string;
1404
+ };
1405
+ /** @description workspaceId is returned only after completed registration. recovery_blocked preserves the original ownership and requires administrator review; a new browser draft does not release it. replayed=true identifies an existing operation returned by a repeated key or a query. */
1406
+ WebShellWorkspaceCreateOperation: {
1407
+ operationId: string;
1408
+ /** @constant */
1409
+ type: "workspace_create";
1410
+ /** @enum {string} */
1411
+ status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
1412
+ workspaceId?: string | null;
1413
+ failureCode?: string | null;
1414
+ replayed: boolean;
1415
+ };
1416
+ WebShellWorkspaceRegisterRequest: {
1417
+ nodeId: string;
1418
+ path: string;
1419
+ displayName: string;
1420
+ /** @description Actor-scoped registration key. Reuse this key and the same semantic fields until the operation identity is known. */
1421
+ idempotencyKey: string;
1422
+ /** @description Trace correlation only; excluded from the request digest, so a retry with another requestId still replays. A header-safe value (1 to 128 visible ASCII characters) is echoed as X-Request-Id; any other value is replaced by a server-chosen id. */
1423
+ requestId?: string | null;
1424
+ };
1097
1425
  };
1098
1426
  responses: {
1099
1427
  /** @description The authenticated actor belongs to another tenant than X-Qwen-Tenant-Id or has an invalid ID (actor_scope_mismatch, which the tenant filter answers on every /v1/agents/ and WebShell route), or the resource is readable but the actor lacks this operation or the original Action responder permission. Artifact content reads may also return artifact_content_forbidden when the actor cannot read the original bytes. */
@@ -1172,7 +1500,7 @@ export interface components {
1172
1500
  parameters: never;
1173
1501
  requestBodies: never;
1174
1502
  headers: {
1175
- /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the current visible Session; operation responses represent the original operation at its current state. */
1503
+ /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the recorded outcome on the Session as last visible — a rename or unarchive replay after delete answers with the Session's pre-delete status rather than 404, while a create replay after delete answers 404 on the public create route, which re-reads the Session before responding, and answers the recorded 202 admission carrying the tombstoned sessionId on the WebShell create route, which does not re-read it; operation responses represent the original operation at its current state. */
1176
1504
  IdempotentReplay: boolean;
1177
1505
  /** @description Trace-only correlation identifier; never an idempotency key. */
1178
1506
  RequestId: string;
@@ -1565,7 +1893,7 @@ export interface operations {
1565
1893
  };
1566
1894
  400: components["responses"]["BadRequest"];
1567
1895
  401: components["responses"]["Unauthorized"];
1568
- /** @description Responding requires the Session's recorded owner or a Workspace OPERATOR (action_forbidden). An unbound Session with no recorded creator and no recorded create command (anonymous open-mode creation, or an unbound Session created before the V40 migration that also has no Workspace creation record) answers to any caller in its tenant, matching its read ACL; a bound Session with no recorded owner answers through the create-command actor recorded for it, or through the Workspace role arm. The tenant filter's 403 actor_scope_mismatch also applies on this route. */
1896
+ /** @description Responding requires the Session's recorded owner or a Workspace OPERATOR (action_forbidden); a Shell Session's Actions may be answered only by its recorded owner. An unbound Session with no recorded creator and no recorded create command (anonymous open-mode creation, or an unbound Session created before the V40 migration that also has no Workspace creation record) answers to any caller in its tenant, matching its read ACL; a bound Session with no recorded owner answers through the create-command actor recorded for it, or through the Workspace role arm. The tenant filter's 403 actor_scope_mismatch also applies on this route. */
1569
1897
  403: components["responses"]["Forbidden"];
1570
1898
  /** @description Unknown or unreadable Session (session_not_found), or unknown Action (action_not_found). */
1571
1899
  404: components["responses"]["NotFound"];
@@ -2032,4 +2360,314 @@ export interface operations {
2032
2360
  413: components["responses"]["PayloadTooLarge"];
2033
2361
  };
2034
2362
  };
2363
+ webShellCreateWorkspace: {
2364
+ parameters: {
2365
+ query?: never;
2366
+ header?: never;
2367
+ path?: never;
2368
+ cookie?: never;
2369
+ };
2370
+ requestBody: {
2371
+ content: {
2372
+ "application/json": components["schemas"]["WebShellWorkspaceCreateRequest"];
2373
+ };
2374
+ };
2375
+ responses: {
2376
+ /** @description Created Workspace or authorized same-key replay. */
2377
+ 200: {
2378
+ headers: {
2379
+ [name: string]: unknown;
2380
+ };
2381
+ content: {
2382
+ "application/json": components["schemas"]["WebShellWorkspace"];
2383
+ };
2384
+ };
2385
+ 400: components["responses"]["BadRequest"];
2386
+ 401: components["responses"]["Unauthorized"];
2387
+ 403: components["responses"]["Forbidden"];
2388
+ 404: components["responses"]["NotFound"];
2389
+ 409: components["responses"]["Conflict"];
2390
+ 413: components["responses"]["PayloadTooLarge"];
2391
+ };
2392
+ };
2393
+ queryWebShellSessionOptions: {
2394
+ parameters: {
2395
+ query?: never;
2396
+ header?: never;
2397
+ path?: never;
2398
+ cookie?: never;
2399
+ };
2400
+ requestBody: {
2401
+ content: {
2402
+ "application/json": components["schemas"]["WebShellSessionOptionsRequest"];
2403
+ };
2404
+ };
2405
+ responses: {
2406
+ /** @description Effective default and supported policies. */
2407
+ 200: {
2408
+ headers: {
2409
+ [name: string]: unknown;
2410
+ };
2411
+ content: {
2412
+ "application/json": components["schemas"]["WebShellSessionOptions"];
2413
+ };
2414
+ };
2415
+ 400: components["responses"]["BadRequest"];
2416
+ 401: components["responses"]["Unauthorized"];
2417
+ 403: components["responses"]["Forbidden"];
2418
+ 404: components["responses"]["NotFound"];
2419
+ 413: components["responses"]["PayloadTooLarge"];
2420
+ };
2421
+ };
2422
+ queryWebShellSessionModels: {
2423
+ parameters: {
2424
+ query?: never;
2425
+ header?: never;
2426
+ path?: never;
2427
+ cookie?: never;
2428
+ };
2429
+ requestBody: {
2430
+ content: {
2431
+ "application/json": components["schemas"]["WebShellSessionModelsRequest"];
2432
+ };
2433
+ };
2434
+ responses: {
2435
+ /** @description Session model options. */
2436
+ 200: {
2437
+ headers: {
2438
+ [name: string]: unknown;
2439
+ };
2440
+ content: {
2441
+ "application/json": components["schemas"]["WebShellSessionModels"];
2442
+ };
2443
+ };
2444
+ 400: components["responses"]["BadRequest"];
2445
+ 401: components["responses"]["Unauthorized"];
2446
+ 403: components["responses"]["Forbidden"];
2447
+ 404: components["responses"]["NotFound"];
2448
+ 409: components["responses"]["Conflict"];
2449
+ 413: components["responses"]["PayloadTooLarge"];
2450
+ };
2451
+ };
2452
+ changeWebShellSessionModel: {
2453
+ parameters: {
2454
+ query?: never;
2455
+ header?: never;
2456
+ path?: never;
2457
+ cookie?: never;
2458
+ };
2459
+ requestBody: {
2460
+ content: {
2461
+ "application/json": components["schemas"]["WebShellChangeModelRequest"];
2462
+ };
2463
+ };
2464
+ responses: {
2465
+ /** @description The admitted model selection, or the same original result on replay. */
2466
+ 200: {
2467
+ headers: {
2468
+ [name: string]: unknown;
2469
+ };
2470
+ content: {
2471
+ "application/json": components["schemas"]["WebShellModelChangeResult"];
2472
+ };
2473
+ };
2474
+ 400: components["responses"]["BadRequest"];
2475
+ 401: components["responses"]["Unauthorized"];
2476
+ 403: components["responses"]["Forbidden"];
2477
+ 404: components["responses"]["NotFound"];
2478
+ 409: components["responses"]["Conflict"];
2479
+ 413: components["responses"]["PayloadTooLarge"];
2480
+ };
2481
+ };
2482
+ queryWebShellSessionApproval: {
2483
+ parameters: {
2484
+ query?: never;
2485
+ header?: never;
2486
+ path?: never;
2487
+ cookie?: never;
2488
+ };
2489
+ requestBody: {
2490
+ content: {
2491
+ "application/json": components["schemas"]["WebShellSessionApprovalRequest"];
2492
+ };
2493
+ };
2494
+ responses: {
2495
+ /** @description The current policy options. */
2496
+ 200: {
2497
+ headers: {
2498
+ [name: string]: unknown;
2499
+ };
2500
+ content: {
2501
+ "application/json": components["schemas"]["WebShellSessionApproval"];
2502
+ };
2503
+ };
2504
+ 400: components["responses"]["BadRequest"];
2505
+ 401: components["responses"]["Unauthorized"];
2506
+ 403: components["responses"]["Forbidden"];
2507
+ 404: components["responses"]["NotFound"];
2508
+ 409: components["responses"]["Conflict"];
2509
+ 413: components["responses"]["PayloadTooLarge"];
2510
+ };
2511
+ };
2512
+ changeWebShellSessionApproval: {
2513
+ parameters: {
2514
+ query?: never;
2515
+ header?: never;
2516
+ path?: never;
2517
+ cookie?: never;
2518
+ };
2519
+ requestBody: {
2520
+ content: {
2521
+ "application/json": components["schemas"]["WebShellChangeApprovalRequest"];
2522
+ };
2523
+ };
2524
+ responses: {
2525
+ /** @description The committed approval selection, or its original receipt on replay. */
2526
+ 200: {
2527
+ headers: {
2528
+ [name: string]: unknown;
2529
+ };
2530
+ content: {
2531
+ "application/json": components["schemas"]["WebShellApprovalChangeResult"];
2532
+ };
2533
+ };
2534
+ 400: components["responses"]["BadRequest"];
2535
+ 401: components["responses"]["Unauthorized"];
2536
+ 403: components["responses"]["Forbidden"];
2537
+ 404: components["responses"]["NotFound"];
2538
+ 409: components["responses"]["Conflict"];
2539
+ 413: components["responses"]["PayloadTooLarge"];
2540
+ };
2541
+ };
2542
+ webShellQueryRuntimeNodes: {
2543
+ parameters: {
2544
+ query?: never;
2545
+ header?: never;
2546
+ path?: never;
2547
+ cookie?: never;
2548
+ };
2549
+ requestBody?: never;
2550
+ responses: {
2551
+ /** @description SSH registration capability and authorized machine display names. */
2552
+ 200: {
2553
+ headers: {
2554
+ "X-Request-Id": components["headers"]["RequestId"];
2555
+ "Cache-Control"?: "no-store";
2556
+ [name: string]: unknown;
2557
+ };
2558
+ content: {
2559
+ "application/json": components["schemas"]["WebShellRuntimeNodePage"];
2560
+ };
2561
+ };
2562
+ 400: components["responses"]["BadRequest"];
2563
+ 401: components["responses"]["Unauthorized"];
2564
+ 403: components["responses"]["Forbidden"];
2565
+ 413: components["responses"]["PayloadTooLarge"];
2566
+ };
2567
+ };
2568
+ webShellCheckWorkspaceDirectory: {
2569
+ parameters: {
2570
+ query?: never;
2571
+ header?: never;
2572
+ path?: never;
2573
+ cookie?: never;
2574
+ };
2575
+ requestBody: {
2576
+ content: {
2577
+ "application/json": components["schemas"]["WebShellWorkspaceDirectoryRequest"];
2578
+ };
2579
+ };
2580
+ responses: {
2581
+ /** @description Validated canonical directory on the selected Linux or macOS node. */
2582
+ 200: {
2583
+ headers: {
2584
+ "X-Request-Id": components["headers"]["RequestId"];
2585
+ "Cache-Control"?: "no-store";
2586
+ [name: string]: unknown;
2587
+ };
2588
+ content: {
2589
+ "application/json": components["schemas"]["WebShellWorkspaceDirectory"];
2590
+ };
2591
+ };
2592
+ 400: components["responses"]["BadRequest"];
2593
+ 401: components["responses"]["Unauthorized"];
2594
+ 403: components["responses"]["Forbidden"];
2595
+ 404: components["responses"]["NotFound"];
2596
+ 409: components["responses"]["Conflict"];
2597
+ 413: components["responses"]["PayloadTooLarge"];
2598
+ /** @description The SSH bootstrap response is invalid. */
2599
+ 502: {
2600
+ headers: {
2601
+ [name: string]: unknown;
2602
+ };
2603
+ content: {
2604
+ "application/json": components["schemas"]["ErrorEnvelope"];
2605
+ };
2606
+ };
2607
+ 503: components["responses"]["Unavailable"];
2608
+ };
2609
+ };
2610
+ webShellGetWorkspaceOperation: {
2611
+ parameters: {
2612
+ query?: never;
2613
+ header?: never;
2614
+ path?: never;
2615
+ cookie?: never;
2616
+ };
2617
+ requestBody: {
2618
+ content: {
2619
+ "application/json": components["schemas"]["WebShellWorkspaceOperationRequest"];
2620
+ };
2621
+ };
2622
+ responses: {
2623
+ /** @description Latest durable state of the original actor-owned registration. */
2624
+ 200: {
2625
+ headers: {
2626
+ "X-Request-Id": components["headers"]["RequestId"];
2627
+ "Cache-Control"?: "no-store";
2628
+ [name: string]: unknown;
2629
+ };
2630
+ content: {
2631
+ "application/json": components["schemas"]["WebShellWorkspaceCreateOperation"];
2632
+ };
2633
+ };
2634
+ 400: components["responses"]["BadRequest"];
2635
+ 401: components["responses"]["Unauthorized"];
2636
+ 403: components["responses"]["Forbidden"];
2637
+ 404: components["responses"]["NotFound"];
2638
+ 413: components["responses"]["PayloadTooLarge"];
2639
+ };
2640
+ };
2641
+ webShellRegisterWorkspace: {
2642
+ parameters: {
2643
+ query?: never;
2644
+ header?: never;
2645
+ path?: never;
2646
+ cookie?: never;
2647
+ };
2648
+ requestBody: {
2649
+ content: {
2650
+ "application/json": components["schemas"]["WebShellWorkspaceRegisterRequest"];
2651
+ };
2652
+ };
2653
+ responses: {
2654
+ /** @description Durable registration operation; repeated requests retain the original identity. */
2655
+ 202: {
2656
+ headers: {
2657
+ "X-Request-Id": components["headers"]["RequestId"];
2658
+ "Cache-Control"?: "no-store";
2659
+ [name: string]: unknown;
2660
+ };
2661
+ content: {
2662
+ "application/json": components["schemas"]["WebShellWorkspaceCreateOperation"];
2663
+ };
2664
+ };
2665
+ 400: components["responses"]["BadRequest"];
2666
+ 401: components["responses"]["Unauthorized"];
2667
+ 403: components["responses"]["Forbidden"];
2668
+ 404: components["responses"]["NotFound"];
2669
+ 409: components["responses"]["Conflict"];
2670
+ 413: components["responses"]["PayloadTooLarge"];
2671
+ };
2672
+ };
2035
2673
  }