@qwen-code/web-shell 0.25.4-preview.1 → 0.26.0-nightly.20261022.bf66a26c97

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 (92) hide show
  1. package/README.md +82 -34
  2. package/dist/{PierreFilePreview-DDGm1BwT.js → PierreFilePreview-4cB4L1-g.js} +1 -1
  3. package/dist/{SpreadsheetPreview-Bo3dF5jL.js → SpreadsheetPreview-DGbGBaEF.js} +2 -2
  4. package/dist/{WorkspaceFileBrowser-K5x5fG6c.js → WorkspaceFileBrowser-B5XfnDl5.js} +1008 -1041
  5. package/dist/{agents-route-hV5r9VDG.js → agents-route-hl7LLKgC.js} +2 -2
  6. package/dist/daemon-react-sdk.js +1 -1
  7. package/dist/{index-CU9u4ISL.js → index-OJ6CsSGD.js} +63040 -58550
  8. package/dist/index.js +3 -3
  9. package/dist/sw.js +1 -1
  10. package/dist/transcript.js +7992 -8072
  11. package/dist/types/App.d.ts +6 -1
  12. package/dist/types/ManagedStandaloneApp.d.ts +9 -0
  13. package/dist/types/components/ChatEditor.d.ts +8 -2
  14. package/dist/types/components/ChatPane.d.ts +4 -1
  15. package/dist/types/components/ContextCompressionFeedback.d.ts +2 -2
  16. package/dist/types/components/ContextUsagePopover.d.ts +2 -2
  17. package/dist/types/components/ModelRefreshControl.d.ts +3 -0
  18. package/dist/types/components/SessionPrBadge.d.ts +7 -2
  19. package/dist/types/components/SplitView.d.ts +4 -1
  20. package/dist/types/components/UnavailableModelTooltip.d.ts +12 -0
  21. package/dist/types/components/WorkspaceSelector.d.ts +3 -1
  22. package/dist/types/components/artifacts/ArtifactPanel.d.ts +4 -1
  23. package/dist/types/components/artifacts/SideTaskPanel.d.ts +4 -1
  24. package/dist/types/components/artifacts/TrajectoryDetail.d.ts +34 -0
  25. package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +6 -8
  26. package/dist/types/components/artifacts/TrajectoryOverview.d.ts +2 -0
  27. package/dist/types/components/artifacts/TrajectorySummaryBar.d.ts +35 -0
  28. package/dist/types/components/artifacts/TrajectoryToolbar.d.ts +24 -0
  29. package/dist/types/components/artifacts/TurnCallsPanel.d.ts +5 -0
  30. package/dist/types/components/artifacts/tool-call-content.d.ts +34 -0
  31. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +5 -1
  32. package/dist/types/components/dialogs/SessionRenameDialog.d.ts +10 -0
  33. package/dist/types/components/dialogs/WorkspaceAddStatusDialog.d.ts +3 -1
  34. package/dist/types/components/managed/ManagedChildSessionView.d.ts +8 -0
  35. package/dist/types/components/managed/ManagedMcpManagerPage.d.ts +8 -0
  36. package/dist/types/components/managed/ManagedRecoveryPanel.d.ts +9 -0
  37. package/dist/types/components/managed/ManagedSessionActions.d.ts +18 -0
  38. package/dist/types/components/managed/ManagedSessionsPage.d.ts +20 -3
  39. package/dist/types/components/managed/ManagedTaskPanel.d.ts +3 -1
  40. package/dist/types/components/managed/ManagedWorkspaceNavigation.d.ts +16 -0
  41. package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +17 -2
  42. package/dist/types/components/managed/generated/managed-agent-api.d.ts +807 -68
  43. package/dist/types/components/managed/java-managed-agent-client.d.ts +70 -0
  44. package/dist/types/components/managed/java-managed-agent-provider.d.ts +2 -5
  45. package/dist/types/components/managed/managed-agent-provider.d.ts +95 -7
  46. package/dist/types/components/managed/managed-creation-skills.d.ts +7 -0
  47. package/dist/types/components/managed/managed-lifecycle-messages.d.ts +80 -0
  48. package/dist/types/components/managed/managed-lifecycle-messages.transcript-stub.d.ts +2 -0
  49. package/dist/types/components/managed/managed-mcp-command-storage.d.ts +16 -0
  50. package/dist/types/components/managed/managed-mcp-management-types.d.ts +8 -0
  51. package/dist/types/components/managed/managed-mcp-messages.d.ts +4 -0
  52. package/dist/types/components/managed/managed-mcp-messages.transcript-stub.d.ts +2 -0
  53. package/dist/types/components/managed/managed-recovery-handoff.d.ts +17 -0
  54. package/dist/types/components/managed/managed-recovery-messages.d.ts +31 -0
  55. package/dist/types/components/managed/managed-session-export.d.ts +21 -0
  56. package/dist/types/components/managed/use-managed-actions.d.ts +2 -1
  57. package/dist/types/components/managed/use-managed-context-compression.d.ts +23 -0
  58. package/dist/types/components/managed/use-managed-mcp-management.d.ts +25 -0
  59. package/dist/types/components/managed/use-managed-mcp.d.ts +3 -0
  60. package/dist/types/components/managed/use-managed-recovery.d.ts +14 -0
  61. package/dist/types/components/managed/use-managed-session-lifecycle.d.ts +26 -0
  62. package/dist/types/components/managed/use-managed-session-rename.d.ts +13 -0
  63. package/dist/types/components/managed/use-managed-session.d.ts +1 -0
  64. package/dist/types/components/managed/use-managed-skills.d.ts +9 -2
  65. package/dist/types/components/managed/use-managed-tasks.d.ts +3 -0
  66. package/dist/types/components/managed/use-managed-turn-cancel.d.ts +9 -0
  67. package/dist/types/components/mcp/McpDetails.d.ts +30 -0
  68. package/dist/types/components/messages/McpApp.d.ts +4 -0
  69. package/dist/types/components/plugins/PluginManagerPage.d.ts +8 -1
  70. package/dist/types/components/sidebar/WebShellSidebar.d.ts +5 -1
  71. package/dist/types/components/sidebar/WorkspaceSection.d.ts +2 -1
  72. package/dist/types/components/ui/tabs.d.ts +1 -1
  73. package/dist/types/components/workspaces/WorkspaceExecutionSelect.d.ts +6 -0
  74. package/dist/types/daemon/index.d.ts +1 -1
  75. package/dist/types/daemon/workspace/index.d.ts +1 -1
  76. package/dist/types/daemon/workspace/types.d.ts +19 -0
  77. package/dist/types/daemon-react-sdk.d.ts +2 -0
  78. package/dist/types/desktop-relay/desktop-relay-client.d.ts +1 -1
  79. package/dist/types/hooks/useContextUsageControls.d.ts +8 -3
  80. package/dist/types/index.d.ts +1 -0
  81. package/dist/types/main.d.ts +3 -1
  82. package/dist/types/mcpAppHostContext.d.ts +10 -1
  83. package/dist/types/settings.d.ts +1 -0
  84. package/dist/types/trajectory/summarizeTrajectory.d.ts +5 -0
  85. package/dist/types/trajectory/trajectory-status.d.ts +51 -0
  86. package/dist/types/trajectory/useTrajectoryWindow.d.ts +2 -0
  87. package/dist/types/unavailableModels.d.ts +24 -0
  88. package/dist/types/utils/composerModels.d.ts +18 -0
  89. package/dist/{useDaemonMidTurnInjected-CfhBFIym.js → useDaemonMidTurnInjected-TnZPRjfx.js} +4256 -4021
  90. package/package.json +1 -1
  91. package/dist/types/components/artifacts/TrajectoryFilters.d.ts +0 -15
  92. package/dist/types/components/artifacts/TrajectoryInspector.d.ts +0 -25
@@ -31,6 +31,23 @@ export interface paths {
31
31
  patch?: never;
32
32
  trace?: never;
33
33
  };
34
+ "/api/agent/web-shell/v1/sessions/rename": {
35
+ parameters: {
36
+ query?: never;
37
+ header?: never;
38
+ path?: never;
39
+ cookie?: never;
40
+ };
41
+ get?: never;
42
+ put?: never;
43
+ /** @description Synchronously rename a Session through the same durable, fenced title service as public PATCH. HTTP 200 confirms persistence; an unavailable or unknown Harness outcome remains an error and is never a pending success. Workspace-bound fresh renames require current OPERATOR access and the original binding's execution facts; unbound Sessions use the existing tenant-scoped rename authorization. An active Turn does not itself block rename. Reuse the same idempotency key only for the same Session and title; completed replay returns the Session's current persisted title without another Harness rename, including the existing last-visible result after deletion. Fresh-rename capability changes do not preclude authorized replay. The result title is authoritative and can differ from the requested title when a later rename already completed. */
44
+ post: operations["webShellRenameSession"];
45
+ delete?: never;
46
+ options?: never;
47
+ head?: never;
48
+ patch?: never;
49
+ trace?: never;
50
+ };
34
51
  "/api/agent/web-shell/v1/transcript/query": {
35
52
  parameters: {
36
53
  query?: never;
@@ -74,7 +91,7 @@ export interface paths {
74
91
  };
75
92
  get?: never;
76
93
  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 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. */
94
+ /** @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. Qualified new public Shell Sessions expose agent by default under the public-child deployment switch and runtime/Harness admission; existing Sessions retain their original tool scope. 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 alone is not sufficient Shell Turn admission. Manual rename uses the independent rename capability. */
78
95
  post: operations["webShellCreateSession"];
79
96
  delete?: never;
80
97
  options?: never;
@@ -506,7 +523,7 @@ export interface paths {
506
523
  };
507
524
  get?: never;
508
525
  put?: never;
509
- /** @description Change the next-user-Turn policy of an idle eligible Workspace Session: built-in qwen-code or a stored AgentDefinition on exactly hosted-workspace-files/1 or hosted-workspace-shell/1,/2. Requires its recorded owner, current OPERATOR or OWNER access and Session-specific Harness feature support. Changes are revision-checked and actor/session-scoped idempotent. Definition creation policy and pins remain immutable. */
526
+ /** @description Change the execution approval policy of an eligible Workspace Session: built-in qwen-code or a stored AgentDefinition on exactly hosted-workspace-files/1 or hosted-workspace-shell/1,/2. With liveSupported, execution policy changes affect subsequent current-Turn permission checks and permit eligible pending ordinary tool approvals. Otherwise the Session must be idle. Plan changes remain idle-only. Requires its recorded owner, current OPERATOR or OWNER access and Session-specific Harness feature support. Changes are revision-checked and actor/session-scoped idempotent. Definition creation policy and pins remain immutable. */
510
527
  post: operations["changeWebShellSessionApproval"];
511
528
  delete?: never;
512
529
  options?: never;
@@ -599,6 +616,23 @@ export interface paths {
599
616
  patch?: never;
600
617
  trace?: never;
601
618
  };
619
+ "/api/agent/web-shell/v1/session-mcp/query": {
620
+ parameters: {
621
+ query?: never;
622
+ header?: never;
623
+ path?: never;
624
+ cookie?: never;
625
+ };
626
+ get?: never;
627
+ put?: never;
628
+ /** @description Read the selected Session's sanitized, committed MCP catalog. Requires a trusted actor and Workspace read access. Discovery states describe the published snapshot, not live Runtime health. Does not configure servers, discover capabilities or execute tools, resources or prompts. */
629
+ post: operations["queryWebShellSessionMcp"];
630
+ delete?: never;
631
+ options?: never;
632
+ head?: never;
633
+ patch?: never;
634
+ trace?: never;
635
+ };
602
636
  "/api/agent/web-shell/v1/session-skills/query": {
603
637
  parameters: {
604
638
  query?: never;
@@ -672,10 +706,180 @@ export interface paths {
672
706
  patch?: never;
673
707
  trace?: never;
674
708
  };
709
+ "/api/agent/web-shell/v1/sessions/compress": {
710
+ parameters: {
711
+ query?: never;
712
+ header?: never;
713
+ path?: never;
714
+ cookie?: never;
715
+ };
716
+ get?: never;
717
+ put?: never;
718
+ /** @description Admits idle-only context compression without creating a Turn. A trusted Workspace OPERATOR or OWNER is required. Read authorization precedes actor-scoped idempotency replay; replay precedes mutable role, capability, revision and busy checks. Expected compaction revision begins at zero. Returns 409 session_context_busy for active or queued Turns, approvals, unsettled Hooks, recovery or conflicting context operations; 409 compaction_revision_conflict for a stale revision; 409 idempotency_conflict for key reuse with different content. A 202 is durable admission; query the original operation for completion. Unknown acceptance is reconciled from native evidence without blind redelivery. A compressed outcome invalidates the prior context usage until a new main-model observation; noop and failure preserve history and revision. */
719
+ post: operations["webShellCompressContext"];
720
+ delete?: never;
721
+ options?: never;
722
+ head?: never;
723
+ patch?: never;
724
+ trace?: never;
725
+ };
726
+ "/api/agent/web-shell/v1/session-mcp/management/query": {
727
+ parameters: {
728
+ query?: never;
729
+ header?: never;
730
+ path?: never;
731
+ cookie?: never;
732
+ };
733
+ get?: never;
734
+ put?: never;
735
+ /** @description Requires a trusted Workspace operator and the Session creator execution grants. Manage only the selected active public Session; commands retain immutable definition pins, serialize while idle, and select only deployed Runtime definitions. Status reads persisted receipts without restarting or replaying the original effect. Management reattachment never drives recovery, cleanup, or wake dispatch. After a Harness restart, continue or recover the Session through its normal execution flow first; otherwise management returns 409 hosted_mcp_session_load_required. A fresh empty Session can initialize without a Turn; command status never creates one. Unsupported management queries return supported=false. Responses never include private executable recipes or credentials. */
736
+ post: operations["queryWebShellSessionMcpManagement"];
737
+ delete?: never;
738
+ options?: never;
739
+ head?: never;
740
+ patch?: never;
741
+ trace?: never;
742
+ };
743
+ "/api/agent/web-shell/v1/session-mcp/management/submit": {
744
+ parameters: {
745
+ query?: never;
746
+ header?: never;
747
+ path?: never;
748
+ cookie?: never;
749
+ };
750
+ get?: never;
751
+ put?: never;
752
+ /** @description Requires a trusted Workspace operator and the Session creator execution grants. Manage only the selected active public Session; commands retain immutable definition pins, serialize while idle, and select only deployed Runtime definitions. Status reads persisted receipts without restarting or replaying the original effect. Management reattachment never drives recovery, cleanup, or wake dispatch. After a Harness restart, continue or recover the Session through its normal execution flow first; otherwise management returns 409 hosted_mcp_session_load_required. A fresh empty Session can initialize without a Turn; command status never creates one. Unsupported management queries return supported=false. Responses never include private executable recipes or credentials. */
753
+ post: operations["submitWebShellSessionMcpManagement"];
754
+ delete?: never;
755
+ options?: never;
756
+ head?: never;
757
+ patch?: never;
758
+ trace?: never;
759
+ };
760
+ "/api/agent/web-shell/v1/session-mcp/management/operations/query": {
761
+ parameters: {
762
+ query?: never;
763
+ header?: never;
764
+ path?: never;
765
+ cookie?: never;
766
+ };
767
+ get?: never;
768
+ put?: never;
769
+ /** @description Requires a trusted Workspace operator and the Session creator execution grants. Manage only the selected active public Session; commands retain immutable definition pins, serialize while idle, and select only deployed Runtime definitions. Status reads persisted receipts without restarting or replaying the original effect. Management reattachment never drives recovery, cleanup, or wake dispatch. After a Harness restart, continue or recover the Session through its normal execution flow first; otherwise management returns 409 hosted_mcp_session_load_required. A fresh empty Session can initialize without a Turn; command status never creates one. Unsupported management queries return supported=false. Responses never include private executable recipes or credentials. */
770
+ post: operations["queryWebShellSessionMcpManagementOperation"];
771
+ delete?: never;
772
+ options?: never;
773
+ head?: never;
774
+ patch?: never;
775
+ trace?: never;
776
+ };
777
+ "/api/agent/web-shell/v1/session-recovery/query": {
778
+ parameters: {
779
+ query?: never;
780
+ header?: never;
781
+ path?: never;
782
+ cookie?: never;
783
+ };
784
+ get?: never;
785
+ put?: never;
786
+ /** @description Read authorized durable recovery facts and only already attached Harness evidence without loading a Session, acquiring a Runtime, invoking tools or models, stopping work or clearing a block. Missing or unreadable native readiness evidence never proves ready. This is Session-scoped; ordinary Workspace admission and concurrent unrelated Sessions remain independent. */
787
+ post: operations["queryWebShellSessionRecovery"];
788
+ delete?: never;
789
+ options?: never;
790
+ head?: never;
791
+ patch?: never;
792
+ trace?: never;
793
+ };
794
+ "/api/agent/web-shell/v1/session-recovery/recheck": {
795
+ parameters: {
796
+ query?: never;
797
+ header?: never;
798
+ path?: never;
799
+ cookie?: never;
800
+ };
801
+ get?: never;
802
+ put?: never;
803
+ /** @description Recheck only the latest original Turn under the existing cancellation/cleanup authorization. Repeated requests coalesce and may only advance existing cancellation/reconciliation or retry settled cleanup; they never resubmit input, replay effects, reset retry budgets or change claim generations. A stale Turn returns recovery_target_changed and ineligible work returns recovery_recheck_unavailable. 202 means requested, not cancelled or ready. For a terminal Java Turn whose Harness attachment is cold or whose status cannot be read, this POST may attempt a narrow cleanup-only load. It must verify the original prompt has a durable native terminal, covered continuation checkpoint or lawful initial state, and no pending input before retrying only its existing cleanup. It never resumes models, tools, MCP or Hooks, clears a permanent journal block, or treats a historical SQL failure as native settlement. */
804
+ post: operations["recheckWebShellSessionRecovery"];
805
+ delete?: never;
806
+ options?: never;
807
+ head?: never;
808
+ patch?: never;
809
+ trace?: never;
810
+ };
811
+ "/api/agent/web-shell/v1/sessions/export/query": {
812
+ parameters: {
813
+ query?: never;
814
+ header?: never;
815
+ path?: never;
816
+ cookie?: never;
817
+ };
818
+ get?: never;
819
+ put?: never;
820
+ /**
821
+ * Read one immutable public Session snapshot page for reading exports
822
+ * @description Requires current Session read authorization on every page. Reuses the public item snapshot cursor, whose subsequent pages retain the original snapshot version and watermark. No private journal, Runtime or storage credentials are returned. The client waits for a snapshot covering its captured Session watermark before using its first page.
823
+ */
824
+ post: operations["webShellExportSession"];
825
+ delete?: never;
826
+ options?: never;
827
+ head?: never;
828
+ patch?: never;
829
+ trace?: never;
830
+ };
675
831
  }
676
832
  export type webhooks = Record<string, never>;
677
833
  export interface components {
678
834
  schemas: {
835
+ PublicMcpCatalog: {
836
+ /** @constant */
837
+ object: "agent.mcp_catalog";
838
+ /** Format: uuid */
839
+ session_id: string;
840
+ servers: components["schemas"]["PublicMcpServerCatalog"][];
841
+ };
842
+ PublicMcpServerCatalog: {
843
+ server_id: string;
844
+ server_revision: number;
845
+ /** @description The pinned catalog revision; null while no catalog has been published. */
846
+ catalog_revision: number | null;
847
+ tools: components["schemas"]["PublicMcpTool"][];
848
+ resources: components["schemas"]["PublicMcpResource"][];
849
+ prompts: components["schemas"]["PublicMcpPrompt"][];
850
+ discovery: components["schemas"]["PublicMcpDiscovery"];
851
+ };
852
+ PublicMcpTool: {
853
+ name: string;
854
+ description?: string;
855
+ input_schema: {
856
+ [key: string]: unknown;
857
+ };
858
+ };
859
+ PublicMcpResource: {
860
+ name: string;
861
+ uri: string;
862
+ description?: string;
863
+ mime_type?: string;
864
+ };
865
+ PublicMcpPrompt: {
866
+ name: string;
867
+ description?: string;
868
+ arguments?: components["schemas"]["PublicMcpPromptArgument"][];
869
+ };
870
+ PublicMcpPromptArgument: {
871
+ name: string;
872
+ description?: string;
873
+ required?: boolean;
874
+ };
875
+ PublicMcpDiscovery: {
876
+ /** @enum {string} */
877
+ tools: "complete" | "partial" | "failed" | "stale";
878
+ /** @enum {string} */
879
+ resources: "complete" | "partial" | "failed" | "stale";
880
+ /** @enum {string} */
881
+ prompts: "complete" | "partial" | "failed" | "stale";
882
+ };
679
883
  InputBlock: components["schemas"]["InputTextBlock"] | components["schemas"]["InputFileBlock"] | components["schemas"]["InputImageBlock"];
680
884
  PublicArtifact: {
681
885
  /** @constant */
@@ -702,6 +906,14 @@ export interface components {
702
906
  cursor?: string | null;
703
907
  /** @default 20 */
704
908
  limit?: number | null;
909
+ /**
910
+ * @description Filter before pagination. Omission preserves all readable, undeleted Sessions. Cursors are bound to this filter; legacy cursors are valid only for all.
911
+ * @default all
912
+ * @enum {string}
913
+ */
914
+ archiveState?: "unarchived" | "archived" | "all";
915
+ /** @description Case-insensitive literal title substring, with surrounding whitespace stripped. Empty means no title filter; %, _ and backslash are literal. Applied before pagination. Cursors are bound to the stripped query and archiveState; listing is not a snapshot across title or archive changes. */
916
+ titleQuery?: string | null;
705
917
  };
706
918
  WebShellSessionRequest: {
707
919
  /** Format: uuid */
@@ -728,6 +940,8 @@ export interface components {
728
940
  requestId?: string | null;
729
941
  idempotencyKey: string;
730
942
  agentId: string;
943
+ /** @description Optional host-catalog model for a bound built-in qwen-code Session. Requires modelSelectionSupported. Persisted atomically before the first Turn and included in creation idempotency; omission preserves the default model and old digest. */
944
+ modelId?: string;
731
945
  /** @description Planned; phase one rejects non-blank values. */
732
946
  environmentId?: string | null;
733
947
  /** @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. */
@@ -743,6 +957,8 @@ export interface components {
743
957
  approvalMode?: "default" | "auto-edit" | "yolo";
744
958
  /** @description Persisted public Plan overlay, independent of execution permission. Omission on a change preserves the selected state. */
745
959
  planMode?: boolean;
960
+ /** @description Optional static Skills imported from the enabled management catalog or added explicitly to the pinned AgentDefinition catalog. The merged catalog has unique names, at most 256 entries, 512 KiB per body and 2 MiB compact JSON. Requires session-skills/2; persisted immutably and included in creation idempotency. */
961
+ skills?: components["schemas"]["SessionCreationSkill"][];
746
962
  };
747
963
  WebShellSubmitRequest: {
748
964
  /** @description Trace correlation only. */
@@ -795,6 +1011,7 @@ export interface components {
795
1011
  turnId: string;
796
1012
  /** Format: uuid */
797
1013
  sessionId: string;
1014
+ /** @description recovery_blocked with hosted_harness_recovery_blocked means the Harness stopped without a safely settled Turn. The input remains active internally. Execution redispatch is parked, while bounded read-only observation of the original Harness journal may settle a later terminal result. Policy changes and lifecycle close wait for settlement; explicit cancellation remains available. */
798
1015
  status: string;
799
1016
  /** Format: int64 */
800
1017
  submittedAt: number;
@@ -838,6 +1055,17 @@ export interface components {
838
1055
  planMode?: boolean;
839
1056
  /** @description Optional deployment capability; missing means false. */
840
1057
  planModeSupported?: boolean;
1058
+ /**
1059
+ * Format: int64
1060
+ * @description Sequence of the most recent native context.compacted event; independent of Workspace context revision. Omitted when retained pre-upgrade evidence cannot establish the revision, and context compression is unavailable.
1061
+ * @default 0
1062
+ */
1063
+ compactionRevision?: number | null;
1064
+ /** @description Current durable context compression operation, including recovery_blocked; absent when none is active. */
1065
+ contextCompressionOperationId?: string | null;
1066
+ /** @description Current unsettled lifecycle operation, queried in batch under Session read authorization. A failed close/delete may leave the Session closing/deleting; only explicit retry starts a new operation. Settled Sessions omit this projection. */
1067
+ lifecycleOperation?: components["schemas"]["WebShellLifecycleOperation"];
1068
+ recovery?: components["schemas"]["SessionRecovery"];
841
1069
  };
842
1070
  WebShellSessionCapabilities: {
843
1071
  /**
@@ -853,29 +1081,29 @@ export interface components {
853
1081
  /** @default false */
854
1082
  actions: boolean;
855
1083
  /**
856
- * @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.
1084
+ * @description True when the caller may submit later Turns of this Workspace-bound Session: 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. Manual rename uses the independent rename capability.
857
1085
  * @default false
858
1086
  */
859
1087
  workspaceTurns: boolean;
860
1088
  tasks: boolean;
861
1089
  artifacts: boolean;
862
1090
  /**
863
- * @description Deployment support for close independently of archive/delete. Admission also requires Session ownership and current read access for a bound Session.
1091
+ * @description Close support including current actor authority. Workspace-bound Sessions require the recorded Session owner and current read access. Source-state and idle admission remain authoritative on the server.
864
1092
  * @default false
865
1093
  */
866
1094
  sessionClose?: boolean;
867
1095
  /**
868
- * @description Optional support for this retention operation. For a Workspace-bound Session requires completed reliable-close evidence; authorization and source-state validation still apply.
1096
+ * @description Archive support including current actor authority. Workspace-bound Sessions require completed reliable-close evidence, the recorded Session owner and current read access. Source-state and idle admission remain authoritative on the server.
869
1097
  * @default false
870
1098
  */
871
1099
  sessionArchive?: boolean;
872
1100
  /**
873
- * @description Optional support for this retention operation. For a Workspace-bound Session requires completed reliable-close evidence; authorization and source-state validation still apply.
1101
+ * @description Unarchive support including current actor authority. Workspace-bound Sessions require completed reliable-close evidence, the recorded Session owner and current read access. Source-state and idle admission remain authoritative on the server.
874
1102
  * @default false
875
1103
  */
876
1104
  sessionUnarchive?: boolean;
877
1105
  /**
878
- * @description Optional support capability. ACTIVE Workspace files Sessions require L3 lifecycle protocol and reliable original Runtime stop; CLOSED/ARCHIVED Sessions use independent L2 close evidence. Current creator/read authorization and idle/source-state admission checks still apply. The aggregate session lifecycle capability is unchanged.
1106
+ * @description Delete support including current actor authority. ACTIVE Workspace Sessions require a supported reliable-close protocol; CLOSED/ARCHIVED Sessions use completed close evidence. Workspace-bound Sessions require the recorded Session owner and current read access. Source-state and idle admission remain authoritative on the server. The aggregate session lifecycle capability is unchanged.
879
1107
  * @default false
880
1108
  */
881
1109
  sessionDelete?: boolean;
@@ -887,6 +1115,21 @@ export interface components {
887
1115
  approvalModeChange?: boolean;
888
1116
  /** @description Optional deployment capability; missing means false. */
889
1117
  inputAttachments?: boolean;
1118
+ /**
1119
+ * @description True for a visible ACTIVE Session when the Harness supports fenced title persistence and is available. Workspace-bound Sessions additionally require Workspace files admission, current OPERATOR access and the original binding's frozen execution facts, independently of approval or fresh Turn sending support. Unbound Sessions use the existing tenant-scoped rename permission. An active Turn does not itself make this false. Missing means false. This advertises fresh rename only; authorized completed original-key replay remains available under the rename service's replay rules.
1120
+ * @default false
1121
+ */
1122
+ rename?: boolean;
1123
+ /**
1124
+ * @description Requires a compatible Hosted Harness and an active Workspace Session. WebShell also reflects the current caller OPERATOR or OWNER grant; admission separately checks idle state.
1125
+ * @default false
1126
+ */
1127
+ contextCompression?: boolean;
1128
+ /**
1129
+ * @description Public child orchestration support for this persisted Session; launch and caller authorization are checked separately.
1130
+ * @default false
1131
+ */
1132
+ childAgents?: boolean;
890
1133
  };
891
1134
  WebShellSessionPage: {
892
1135
  data: components["schemas"]["WebShellSession"][];
@@ -1026,14 +1269,16 @@ export interface components {
1026
1269
  * @default false
1027
1270
  */
1028
1271
  workspaceContext: boolean;
1029
- /** @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. */
1272
+ /** @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. Qualified new public Shell Sessions expose agent by default under the public-child deployment switch and runtime/Harness admission; existing Sessions retain their original tool scope. 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. */
1030
1273
  workspaceBinding: boolean;
1031
1274
  /** @description Supports creating empty Workspaces under the operator-controlled root. Missing or false means unsupported; current actor and server admission checks still apply. */
1032
1275
  workspaceCreation?: boolean;
1033
1276
  /** @description Supports effective Session policy options and explicit Workspace-bound creation policy. Missing or false means unsupported. */
1034
1277
  approvalModeSelection?: boolean;
1035
- /** @description Supports browsing and selecting existing directories on authorized Linux storage; absent means unsupported. */
1278
+ /** @description Supports browsing and selecting existing directories on authorized Linux or macOS storage; absent means unsupported. */
1036
1279
  workspaceDirectorySelection?: boolean;
1280
+ /** @description Trusted single-user local deployment can browse and import existing host directories without a pre-registered Workspace. Missing or false means unsupported. */
1281
+ localDirectoryImport?: boolean;
1037
1282
  };
1038
1283
  /** @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. */
1039
1284
  defaultWorkspace: (components["schemas"]["WebShellWorkspace"] & {
@@ -1194,13 +1439,18 @@ export interface components {
1194
1439
  policyRevision: string;
1195
1440
  answers: components["schemas"]["WebShellQuestionAnswer"][];
1196
1441
  };
1197
- WebShellOperation: components["schemas"]["WebShellCwdOperation"] | components["schemas"]["WebShellCommandOperation"];
1442
+ WebShellOperation: components["schemas"]["WebShellCwdOperation"] | components["schemas"]["WebShellCommandOperation"] | components["schemas"]["WebShellContextCompressionOperation"];
1198
1443
  WebShellActionQueryRequest: {
1199
1444
  /** Format: uuid */
1200
1445
  sessionId: string;
1201
1446
  cursor?: string;
1202
1447
  /** @default 20 */
1203
1448
  limit?: number;
1449
+ /**
1450
+ * @description Include pending permission Actions of this public root Session and its direct children; each Action retains its actual owning sessionId.
1451
+ * @default false
1452
+ */
1453
+ includeChildren?: boolean;
1204
1454
  };
1205
1455
  WebShellActionGetRequest: {
1206
1456
  /** Format: uuid */
@@ -1219,6 +1469,8 @@ export interface components {
1219
1469
  /** Format: uuid */
1220
1470
  sessionId: string;
1221
1471
  idempotencyKey: string;
1472
+ /** @description Trace-only client request identity, excluded from idempotency digests. */
1473
+ requestId?: string | null;
1222
1474
  };
1223
1475
  WebShellWorkspaceQueryRequest: {
1224
1476
  cursor?: string | null;
@@ -1283,11 +1535,20 @@ export interface components {
1283
1535
  /** @description The newest Artifacts that hold durable task output, at most 100, oldest first. Entries must not rotate out until older Artifacts can be enumerated and attributed to the task: an evicted Artifact stays readable by id through the Session artifact routes but is no longer discoverable from the task. */
1284
1536
  artifactRefs: string[];
1285
1537
  actionCapabilities: components["schemas"]["TaskActionCapability"][];
1538
+ /** @description A durable stop request has been recorded. This does not prove that the task has terminated. */
1539
+ stopRequested?: boolean;
1540
+ /**
1541
+ * @description The actual immutable approval mode of this public child Session.
1542
+ * @enum {string}
1543
+ */
1544
+ approvalMode?: "default" | "auto-edit" | "yolo";
1286
1545
  } & (unknown & unknown & unknown & unknown & unknown);
1287
1546
  WebShellTaskPage: {
1288
1547
  data: components["schemas"]["WebShellTask"][];
1289
1548
  hasMore: boolean;
1290
1549
  nextCursor?: string | null;
1550
+ /** @description The total number of nonterminal child Agent tasks in this Session, independent of pagination. */
1551
+ activeChildCount?: number;
1291
1552
  } & unknown;
1292
1553
  /** @description One task event: a logical state change, a bounded output chunk, or an Artifact reference. High-volume output goes to Artifacts or bounded chunks in this paged stream, never one Session event per raw line. The closed schema validates the server's own version; clients ignore unknown optional fields and unknown types and checkpoint their cursors. Strict response validation against an older minor version is not supported. Event identity, position, payload and accepted schema/projection versions are immutable across restart, projection rebuild and archival. */
1293
1554
  WebShellTaskEvent: {
@@ -1427,6 +1688,8 @@ export interface components {
1427
1688
  idempotencyKey: string;
1428
1689
  sourceWorkspaceId?: string;
1429
1690
  cwdRelative?: string;
1691
+ /** @description Absolute execution-host directory. Requires localDirectoryImport; exclusive with Workspace-relative fields. An empty path is allowed only for directory browsing and starts at the host home directory. */
1692
+ localPath?: string;
1430
1693
  };
1431
1694
  WebShellSessionOptionsRequest: {
1432
1695
  agentId: string;
@@ -1440,6 +1703,10 @@ export interface components {
1440
1703
  planModeSupported?: boolean;
1441
1704
  /** @description Optional deployment capability; missing means false. */
1442
1705
  inputAttachments?: boolean;
1706
+ /** @description Optional capability for modelId on Workspace creation. Missing means false. */
1707
+ modelSelectionSupported?: boolean;
1708
+ /** @description Optional deployment capability; missing means false. Requires a compatible Harness and durable Session Store. */
1709
+ skillsSupported?: boolean;
1443
1710
  };
1444
1711
  /** @description Safe allowlisted observation for a Workspace-bound Session. Unknown counts are omitted, never estimated. */
1445
1712
  WebShellModelContext: {
@@ -1486,6 +1753,8 @@ export interface components {
1486
1753
  sessionId: string;
1487
1754
  };
1488
1755
  WebShellSessionApproval: {
1756
+ /** @description Execution approval can change during a Turn when true. Missing means idle-only; Plan changes remain idle-only. */
1757
+ liveSupported?: boolean;
1489
1758
  /** @enum {string} */
1490
1759
  approvalMode: "default" | "auto-edit" | "yolo";
1491
1760
  /** Format: int64 */
@@ -1575,6 +1844,9 @@ export interface components {
1575
1844
  WebShellWorkspaceDirectoryQueryRequest: {
1576
1845
  workspaceId: string;
1577
1846
  cwdRelative: string;
1847
+ } | {
1848
+ /** @description Absolute execution-host directory. Requires localDirectoryImport; exclusive with Workspace-relative fields. An empty path is allowed only for directory browsing and starts at the host home directory. */
1849
+ localPath: string;
1578
1850
  };
1579
1851
  InputTextBlock: {
1580
1852
  /** @enum {string} */
@@ -1668,70 +1940,236 @@ export interface components {
1668
1940
  truncated: boolean;
1669
1941
  outputFiles: string[];
1670
1942
  };
1671
- };
1672
- responses: {
1673
- /** @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. */
1674
- Forbidden: {
1675
- headers: {
1676
- [name: string]: unknown;
1677
- };
1678
- content: {
1679
- "application/json": components["schemas"]["ErrorEnvelope"];
1680
- };
1943
+ WebShellRenameRequest: {
1944
+ requestId?: string;
1945
+ sessionId: string;
1946
+ idempotencyKey: string;
1947
+ /** @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. */
1948
+ title: string;
1681
1949
  };
1682
- /** @description A trusted actor is required for this request but none was supplied (actor_required). In signed authentication mode (qwenSignature) every covered public and WebShell route additionally answers 401 authentication_required when the signature, timestamp or actor headers are missing, and 401 invalid_signature when the signature is wrong or stale. */
1683
- Unauthorized: {
1684
- headers: {
1685
- [name: string]: unknown;
1686
- };
1687
- content: {
1688
- "application/json": components["schemas"]["ErrorEnvelope"];
1689
- };
1950
+ WebShellRenameResult: {
1951
+ sessionId: string;
1952
+ /** @description Current persisted title from the confirmed mutation or completed replay. Existing legacy titles can exceed the fresh-title input bound. */
1953
+ title: string;
1954
+ replayed: boolean;
1690
1955
  };
1691
- /** @description In signed authentication mode (qwenSignature) a request body beyond the configured signed-body limit (qwen.managed-agent.auth.max-signed-body-bytes, default 10 MiB) answers 413 payload_too_large before the signature is compared. */
1692
- PayloadTooLarge: {
1693
- headers: {
1694
- [name: string]: unknown;
1695
- };
1696
- content: {
1697
- "application/json": components["schemas"]["ErrorEnvelope"];
1698
- };
1956
+ SessionCreationSkill: {
1957
+ /** @description Unique Skill name, at most 128 UTF-8 bytes. */
1958
+ name: string;
1959
+ /** @description At most 4096 UTF-8 bytes. */
1960
+ description: string;
1961
+ /** @description Static instructions, at most 524288 UTF-8 bytes. */
1962
+ body: string;
1963
+ /** @description Canonical POSIX path relative to the Session working directory; defaults to dot. */
1964
+ base_directory?: string;
1965
+ /** @description Whether the model may invoke this Skill; defaults to true. */
1966
+ model_invocable?: boolean;
1967
+ /** @description Whether the user may invoke this Skill; defaults to true. */
1968
+ user_invocable?: boolean;
1969
+ };
1970
+ WebShellContextCompressionRequest: {
1971
+ requestId?: string;
1972
+ sessionId: string;
1973
+ idempotencyKey: string;
1974
+ /** Format: int64 */
1975
+ expectedCompactionRevision: number;
1699
1976
  };
1700
- /** @description Invalid request. */
1701
- BadRequest: {
1702
- headers: {
1703
- [name: string]: unknown;
1704
- };
1705
- content: {
1706
- "application/json": components["schemas"]["ErrorEnvelope"];
1707
- };
1977
+ WebShellContextCompressionOperation: {
1978
+ operationId: string;
1979
+ /** Format: uuid */
1980
+ sessionId: string;
1981
+ /** @constant */
1982
+ type: "context_compression";
1983
+ /** @enum {string} */
1984
+ status: "pending" | "running" | "recovery_blocked" | "completed" | "failed";
1985
+ /** Format: int64 */
1986
+ expectedCompactionRevision: number;
1987
+ /** Format: int64 */
1988
+ compactionRevision?: number | null;
1989
+ /** @enum {string|null} */
1990
+ outcome?: "compressed" | "noop" | null;
1991
+ failureCode?: string | null;
1992
+ replayed: boolean;
1708
1993
  };
1709
- /** @description State, idempotency, or recovery conflict. New Workspace-scoped admissions return workspace_unavailable with retryable=false while an offline Workspace migration holds the storage fence; authorized durable replays retain their existing behavior. */
1710
- Conflict: {
1711
- headers: {
1712
- [name: string]: unknown;
1713
- };
1714
- content: {
1715
- "application/json": components["schemas"]["ErrorEnvelope"];
1716
- };
1994
+ ManagedMcpServerPin: {
1995
+ serverId: string;
1996
+ serverRevision: number;
1997
+ definitionDigest: string;
1717
1998
  };
1718
- /** @description Resource absent or outside the caller tenant scope. */
1719
- NotFound: {
1720
- headers: {
1721
- [name: string]: unknown;
1722
- };
1723
- content: {
1724
- "application/json": components["schemas"]["ErrorEnvelope"];
1725
- };
1999
+ ManagedMcpPublishedServer: {
2000
+ serverId: string;
2001
+ serverRevision: number;
2002
+ definitionDigest: string;
2003
+ /** @enum {string} */
2004
+ transport: "stdio" | "streamable-http" | "sse";
1726
2005
  };
1727
- /** @description Task event cursor is strictly below the task's durable retention floor, which survives an empty retained set; equality is valid. The envelope's replay_floor_sequence and snapshot_through_sequence stay absent because task cursors are opaque. */
1728
- TaskCursorExpired: {
1729
- headers: {
1730
- [name: string]: unknown;
1731
- };
1732
- content: {
1733
- "application/json": components["schemas"]["ErrorEnvelope"];
1734
- };
2006
+ ManagedMcpManagementServer: {
2007
+ serverId: string;
2008
+ serverRevision: number;
2009
+ definitionDigest: string;
2010
+ /** @enum {string} */
2011
+ state: "enabled" | "disabled" | "removed";
2012
+ };
2013
+ ManagedMcpManagementOperation: {
2014
+ /** Format: uuid */
2015
+ operationId: string;
2016
+ /** @enum {string} */
2017
+ action: "add" | "edit" | "remove" | "enable" | "disable" | "reload" | "restart";
2018
+ serverId: string;
2019
+ revision: number;
2020
+ /** @enum {string} */
2021
+ state: "pending" | "settled" | "failed" | "recovery_required";
2022
+ error?: {
2023
+ code: string;
2024
+ };
2025
+ };
2026
+ ManagedMcpManagementSnapshot: {
2027
+ sessionId: string;
2028
+ revision: number;
2029
+ supported: boolean;
2030
+ availableServers: components["schemas"]["ManagedMcpPublishedServer"][];
2031
+ servers: components["schemas"]["ManagedMcpManagementServer"][];
2032
+ operation?: components["schemas"]["ManagedMcpManagementOperation"];
2033
+ };
2034
+ WebShellMcpManagementQuery: {
2035
+ sessionId: string;
2036
+ requestId?: string;
2037
+ };
2038
+ WebShellMcpManagementSubmit: {
2039
+ sessionId: string;
2040
+ requestId?: string;
2041
+ idempotencyKey: string;
2042
+ /** @enum {string} */
2043
+ action: "add" | "edit" | "remove" | "enable" | "disable" | "reload" | "restart";
2044
+ serverId: string;
2045
+ expectedRevision: number;
2046
+ server?: components["schemas"]["ManagedMcpServerPin"];
2047
+ };
2048
+ WebShellMcpManagementOperationQuery: {
2049
+ sessionId: string;
2050
+ /** Format: uuid */
2051
+ operationId: string;
2052
+ requestId?: string;
2053
+ };
2054
+ SessionRecoveryActions: {
2055
+ recheck: boolean;
2056
+ cancel: boolean;
2057
+ continueInNewSession: boolean;
2058
+ };
2059
+ /** @description Separate from Session lifecycle and Turn outcome. ready requires affirmative native input settlement and an admissible continuation boundary with no active Java Turn or blocking debt. Actions are authorization-scoped hints, checked again by their mutations. A new-Session action opens an editable text handoff and grants no additional Workspace permission. A cold or unreadable terminal Turn may advertise a proof-checked cleanup recheck while remaining operator_required with nextTurnAllowed=false; only affirmative native evidence after that mutation can establish readiness. */
2060
+ SessionRecovery: {
2061
+ /** @enum {string} */
2062
+ state: "recovering" | "awaiting_evidence" | "cleanup_pending" | "ready" | "operator_required";
2063
+ reasonCode: string;
2064
+ /** @description Public Turn identity; never an internal prompt, checkpoint or execution reference. */
2065
+ turnId?: string;
2066
+ nextTurnAllowed: boolean;
2067
+ actions: components["schemas"]["SessionRecoveryActions"];
2068
+ /**
2069
+ * Format: int64
2070
+ * @description Known next reconciliation time in Unix epoch milliseconds.
2071
+ */
2072
+ nextRecheckAt?: number;
2073
+ };
2074
+ WebShellRecoveryRecheckRequest: {
2075
+ sessionId: string;
2076
+ turnId: string;
2077
+ };
2078
+ WebShellLifecycleOperation: {
2079
+ operationId: string;
2080
+ /** @enum {string} */
2081
+ type: "close" | "archive" | "delete";
2082
+ /** @enum {string} */
2083
+ status: "pending" | "running" | "completed" | "failed" | "recovery_blocked";
2084
+ failureCode?: string | null;
2085
+ };
2086
+ WebShellExportPage: {
2087
+ items: components["schemas"]["WebShellItem"][];
2088
+ nextCursor?: string | null;
2089
+ hasMore: boolean;
2090
+ /** Format: int64 */
2091
+ snapshotThroughSequence: number;
2092
+ };
2093
+ WebShellExportRequest: {
2094
+ /** Format: uuid */
2095
+ sessionId: string;
2096
+ cursor?: string | null;
2097
+ /** @default 100 */
2098
+ limit?: number | null;
2099
+ };
2100
+ };
2101
+ responses: {
2102
+ /** @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. */
2103
+ Forbidden: {
2104
+ headers: {
2105
+ [name: string]: unknown;
2106
+ };
2107
+ content: {
2108
+ "application/json": components["schemas"]["ErrorEnvelope"];
2109
+ };
2110
+ };
2111
+ /** @description A trusted actor is required for this request but none was supplied (actor_required). In signed authentication mode (qwenSignature) every covered public and WebShell route additionally answers 401 authentication_required when the signature, timestamp or actor headers are missing, and 401 invalid_signature when the signature is wrong or stale. */
2112
+ Unauthorized: {
2113
+ headers: {
2114
+ [name: string]: unknown;
2115
+ };
2116
+ content: {
2117
+ "application/json": components["schemas"]["ErrorEnvelope"];
2118
+ };
2119
+ };
2120
+ /** @description In signed authentication mode (qwenSignature) a request body beyond the configured signed-body limit (qwen.managed-agent.auth.max-signed-body-bytes, default 10 MiB) answers 413 payload_too_large before the signature is compared. */
2121
+ PayloadTooLarge: {
2122
+ headers: {
2123
+ [name: string]: unknown;
2124
+ };
2125
+ content: {
2126
+ "application/json": components["schemas"]["ErrorEnvelope"];
2127
+ };
2128
+ };
2129
+ /** @description Invalid request. */
2130
+ BadRequest: {
2131
+ headers: {
2132
+ [name: string]: unknown;
2133
+ };
2134
+ content: {
2135
+ "application/json": components["schemas"]["ErrorEnvelope"];
2136
+ };
2137
+ };
2138
+ /** @description State, idempotency, or recovery conflict. New Workspace-scoped admissions return workspace_unavailable with retryable=false while an offline Workspace migration holds the storage fence; authorized durable replays retain their existing behavior. */
2139
+ Conflict: {
2140
+ headers: {
2141
+ [name: string]: unknown;
2142
+ };
2143
+ content: {
2144
+ "application/json": components["schemas"]["ErrorEnvelope"];
2145
+ };
2146
+ };
2147
+ /** @description Resource absent or outside the caller tenant scope. */
2148
+ NotFound: {
2149
+ headers: {
2150
+ [name: string]: unknown;
2151
+ };
2152
+ content: {
2153
+ "application/json": components["schemas"]["ErrorEnvelope"];
2154
+ };
2155
+ };
2156
+ /** @description Replay cursor is older than the retained replay floor. */
2157
+ CursorExpired: {
2158
+ headers: {
2159
+ [name: string]: unknown;
2160
+ };
2161
+ content: {
2162
+ "application/json": components["schemas"]["ErrorEnvelope"];
2163
+ };
2164
+ };
2165
+ /** @description Task event cursor is strictly below the task's durable retention floor, which survives an empty retained set; equality is valid. The envelope's replay_floor_sequence and snapshot_through_sequence stay absent because task cursors are opaque. */
2166
+ TaskCursorExpired: {
2167
+ headers: {
2168
+ [name: string]: unknown;
2169
+ };
2170
+ content: {
2171
+ "application/json": components["schemas"]["ErrorEnvelope"];
2172
+ };
1735
2173
  };
1736
2174
  /** @description A dependency such as the Hosted Harness is unavailable; retry later. */
1737
2175
  Unavailable: {
@@ -1812,6 +2250,39 @@ export interface operations {
1812
2250
  413: components["responses"]["PayloadTooLarge"];
1813
2251
  };
1814
2252
  };
2253
+ webShellRenameSession: {
2254
+ parameters: {
2255
+ query?: never;
2256
+ header?: never;
2257
+ path?: never;
2258
+ cookie?: never;
2259
+ };
2260
+ requestBody: {
2261
+ content: {
2262
+ "application/json": components["schemas"]["WebShellRenameRequest"];
2263
+ };
2264
+ };
2265
+ responses: {
2266
+ /** @description Confirmed persisted Session title, or an authorized completed replay. */
2267
+ 200: {
2268
+ headers: {
2269
+ "X-Request-Id": components["headers"]["RequestId"];
2270
+ "X-Qwen-Idempotent-Replay": components["headers"]["IdempotentReplay"];
2271
+ [name: string]: unknown;
2272
+ };
2273
+ content: {
2274
+ "application/json": components["schemas"]["WebShellRenameResult"];
2275
+ };
2276
+ };
2277
+ 400: components["responses"]["BadRequest"];
2278
+ 401: components["responses"]["Unauthorized"];
2279
+ 403: components["responses"]["Forbidden"];
2280
+ 404: components["responses"]["NotFound"];
2281
+ 409: components["responses"]["Conflict"];
2282
+ 413: components["responses"]["PayloadTooLarge"];
2283
+ 503: components["responses"]["Unavailable"];
2284
+ };
2285
+ };
1815
2286
  webShellTranscript: {
1816
2287
  parameters: {
1817
2288
  query?: never;
@@ -2945,6 +3416,35 @@ export interface operations {
2945
3416
  409: components["responses"]["Conflict"];
2946
3417
  };
2947
3418
  };
3419
+ queryWebShellSessionMcp: {
3420
+ parameters: {
3421
+ query?: never;
3422
+ header?: never;
3423
+ path?: never;
3424
+ cookie?: never;
3425
+ };
3426
+ requestBody: {
3427
+ content: {
3428
+ "application/json": components["schemas"]["WebShellSessionRequest"];
3429
+ };
3430
+ };
3431
+ responses: {
3432
+ /** @description Session MCP catalog snapshot. */
3433
+ 200: {
3434
+ headers: {
3435
+ [name: string]: unknown;
3436
+ };
3437
+ content: {
3438
+ "application/json": components["schemas"]["PublicMcpCatalog"];
3439
+ };
3440
+ };
3441
+ 400: components["responses"]["BadRequest"];
3442
+ 401: components["responses"]["Unauthorized"];
3443
+ 403: components["responses"]["Forbidden"];
3444
+ 404: components["responses"]["NotFound"];
3445
+ 413: components["responses"]["PayloadTooLarge"];
3446
+ };
3447
+ };
2948
3448
  queryWebShellSessionSkills: {
2949
3449
  parameters: {
2950
3450
  query?: never;
@@ -3099,4 +3599,243 @@ export interface operations {
3099
3599
  };
3100
3600
  };
3101
3601
  };
3602
+ webShellCompressContext: {
3603
+ parameters: {
3604
+ query?: never;
3605
+ header?: never;
3606
+ path?: never;
3607
+ cookie?: never;
3608
+ };
3609
+ requestBody: {
3610
+ content: {
3611
+ "application/json": components["schemas"]["WebShellContextCompressionRequest"];
3612
+ };
3613
+ };
3614
+ responses: {
3615
+ /** @description Durable context compression operation. */
3616
+ 202: {
3617
+ headers: {
3618
+ [name: string]: unknown;
3619
+ };
3620
+ content: {
3621
+ "application/json": components["schemas"]["WebShellContextCompressionOperation"];
3622
+ };
3623
+ };
3624
+ 400: components["responses"]["BadRequest"];
3625
+ 401: components["responses"]["Unauthorized"];
3626
+ 403: components["responses"]["Forbidden"];
3627
+ 404: components["responses"]["NotFound"];
3628
+ 409: components["responses"]["Conflict"];
3629
+ 413: components["responses"]["PayloadTooLarge"];
3630
+ };
3631
+ };
3632
+ queryWebShellSessionMcpManagement: {
3633
+ parameters: {
3634
+ query?: never;
3635
+ header?: never;
3636
+ path?: never;
3637
+ cookie?: never;
3638
+ };
3639
+ requestBody: {
3640
+ content: {
3641
+ "application/json": components["schemas"]["WebShellMcpManagementQuery"];
3642
+ };
3643
+ };
3644
+ responses: {
3645
+ /** @description Session-local MCP settings and operation snapshot. Inventory describes published pins rather than live connection health; operation status omits inventory. */
3646
+ 200: {
3647
+ headers: {
3648
+ [name: string]: unknown;
3649
+ };
3650
+ content: {
3651
+ "application/json": components["schemas"]["ManagedMcpManagementSnapshot"];
3652
+ };
3653
+ };
3654
+ 400: components["responses"]["BadRequest"];
3655
+ 401: components["responses"]["Unauthorized"];
3656
+ 403: components["responses"]["Forbidden"];
3657
+ 404: components["responses"]["NotFound"];
3658
+ 409: components["responses"]["Conflict"];
3659
+ 413: components["responses"]["PayloadTooLarge"];
3660
+ /** @description The original MCP Runtime or management operation cannot be confirmed. Retry the same operation identity. */
3661
+ 503: {
3662
+ headers: {
3663
+ [name: string]: unknown;
3664
+ };
3665
+ content: {
3666
+ "application/json": components["schemas"]["ErrorEnvelope"];
3667
+ };
3668
+ };
3669
+ };
3670
+ };
3671
+ submitWebShellSessionMcpManagement: {
3672
+ parameters: {
3673
+ query?: never;
3674
+ header?: never;
3675
+ path?: never;
3676
+ cookie?: never;
3677
+ };
3678
+ requestBody: {
3679
+ content: {
3680
+ "application/json": components["schemas"]["WebShellMcpManagementSubmit"];
3681
+ };
3682
+ };
3683
+ responses: {
3684
+ /** @description Session-local MCP settings and operation snapshot. Inventory describes published pins rather than live connection health; operation status omits inventory. */
3685
+ 200: {
3686
+ headers: {
3687
+ [name: string]: unknown;
3688
+ };
3689
+ content: {
3690
+ "application/json": components["schemas"]["ManagedMcpManagementSnapshot"];
3691
+ };
3692
+ };
3693
+ 400: components["responses"]["BadRequest"];
3694
+ 401: components["responses"]["Unauthorized"];
3695
+ 403: components["responses"]["Forbidden"];
3696
+ 404: components["responses"]["NotFound"];
3697
+ 409: components["responses"]["Conflict"];
3698
+ 413: components["responses"]["PayloadTooLarge"];
3699
+ /** @description The original MCP Runtime or management operation cannot be confirmed. Retry the same operation identity. */
3700
+ 503: {
3701
+ headers: {
3702
+ [name: string]: unknown;
3703
+ };
3704
+ content: {
3705
+ "application/json": components["schemas"]["ErrorEnvelope"];
3706
+ };
3707
+ };
3708
+ };
3709
+ };
3710
+ queryWebShellSessionMcpManagementOperation: {
3711
+ parameters: {
3712
+ query?: never;
3713
+ header?: never;
3714
+ path?: never;
3715
+ cookie?: never;
3716
+ };
3717
+ requestBody: {
3718
+ content: {
3719
+ "application/json": components["schemas"]["WebShellMcpManagementOperationQuery"];
3720
+ };
3721
+ };
3722
+ responses: {
3723
+ /** @description Session-local MCP settings and operation snapshot. Inventory describes published pins rather than live connection health; operation status omits inventory. */
3724
+ 200: {
3725
+ headers: {
3726
+ [name: string]: unknown;
3727
+ };
3728
+ content: {
3729
+ "application/json": components["schemas"]["ManagedMcpManagementSnapshot"];
3730
+ };
3731
+ };
3732
+ 400: components["responses"]["BadRequest"];
3733
+ 401: components["responses"]["Unauthorized"];
3734
+ 403: components["responses"]["Forbidden"];
3735
+ 404: components["responses"]["NotFound"];
3736
+ 409: components["responses"]["Conflict"];
3737
+ 413: components["responses"]["PayloadTooLarge"];
3738
+ /** @description The original MCP Runtime or management operation cannot be confirmed. Retry the same operation identity. */
3739
+ 503: {
3740
+ headers: {
3741
+ [name: string]: unknown;
3742
+ };
3743
+ content: {
3744
+ "application/json": components["schemas"]["ErrorEnvelope"];
3745
+ };
3746
+ };
3747
+ };
3748
+ };
3749
+ queryWebShellSessionRecovery: {
3750
+ parameters: {
3751
+ query?: never;
3752
+ header?: never;
3753
+ path?: never;
3754
+ cookie?: never;
3755
+ };
3756
+ requestBody: {
3757
+ content: {
3758
+ "application/json": components["schemas"]["WebShellSessionRequest"];
3759
+ };
3760
+ };
3761
+ responses: {
3762
+ /** @description Current recovery evidence. */
3763
+ 200: {
3764
+ headers: {
3765
+ [name: string]: unknown;
3766
+ };
3767
+ content: {
3768
+ "application/json": components["schemas"]["SessionRecovery"];
3769
+ };
3770
+ };
3771
+ 400: components["responses"]["BadRequest"];
3772
+ 401: components["responses"]["Unauthorized"];
3773
+ 403: components["responses"]["Forbidden"];
3774
+ 404: components["responses"]["NotFound"];
3775
+ 409: components["responses"]["Conflict"];
3776
+ 413: components["responses"]["PayloadTooLarge"];
3777
+ 503: components["responses"]["Unavailable"];
3778
+ };
3779
+ };
3780
+ recheckWebShellSessionRecovery: {
3781
+ parameters: {
3782
+ query?: never;
3783
+ header?: never;
3784
+ path?: never;
3785
+ cookie?: never;
3786
+ };
3787
+ requestBody: {
3788
+ content: {
3789
+ "application/json": components["schemas"]["WebShellRecoveryRecheckRequest"];
3790
+ };
3791
+ };
3792
+ responses: {
3793
+ /** @description Current recovery evidence; recheck admission is not settlement. */
3794
+ 202: {
3795
+ headers: {
3796
+ [name: string]: unknown;
3797
+ };
3798
+ content: {
3799
+ "application/json": components["schemas"]["SessionRecovery"];
3800
+ };
3801
+ };
3802
+ 400: components["responses"]["BadRequest"];
3803
+ 401: components["responses"]["Unauthorized"];
3804
+ 403: components["responses"]["Forbidden"];
3805
+ 404: components["responses"]["NotFound"];
3806
+ 409: components["responses"]["Conflict"];
3807
+ 413: components["responses"]["PayloadTooLarge"];
3808
+ 503: components["responses"]["Unavailable"];
3809
+ };
3810
+ };
3811
+ webShellExportSession: {
3812
+ parameters: {
3813
+ query?: never;
3814
+ header?: never;
3815
+ path?: never;
3816
+ cookie?: never;
3817
+ };
3818
+ requestBody: {
3819
+ content: {
3820
+ "application/json": components["schemas"]["WebShellExportRequest"];
3821
+ };
3822
+ };
3823
+ responses: {
3824
+ /** @description Immutable public item snapshot page. */
3825
+ 200: {
3826
+ headers: {
3827
+ [name: string]: unknown;
3828
+ };
3829
+ content: {
3830
+ "application/json": components["schemas"]["WebShellExportPage"];
3831
+ };
3832
+ };
3833
+ 400: components["responses"]["BadRequest"];
3834
+ 401: components["responses"]["Unauthorized"];
3835
+ 403: components["responses"]["Forbidden"];
3836
+ 404: components["responses"]["NotFound"];
3837
+ 409: components["responses"]["CursorExpired"];
3838
+ 413: components["responses"]["PayloadTooLarge"];
3839
+ };
3840
+ };
3102
3841
  }