@qwen-code/web-shell 0.26.0 → 0.26.1

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 (81) hide show
  1. package/README.md +88 -34
  2. package/dist/{PierreFilePreview-BKwQRLBv.js → PierreFilePreview-BSn2Dh41.js} +1 -1
  3. package/dist/{SpreadsheetPreview-gWWUaRgJ.js → SpreadsheetPreview-Cs6SPlHq.js} +2 -2
  4. package/dist/{WorkspaceFileBrowser-BLwOb5Br.js → WorkspaceFileBrowser-Du2JJJeH.js} +2 -2
  5. package/dist/{agents-route-Pu5E-8GT.js → agents-route-Dk7VmGeH.js} +2 -2
  6. package/dist/daemon-react-sdk.js +1 -1
  7. package/dist/{index-BSBUK1JZ.js → index-C7o_tVb8.js} +60955 -56828
  8. package/dist/index.js +3 -3
  9. package/dist/sw.js +1 -1
  10. package/dist/transcript.js +6903 -6937
  11. package/dist/types/App.d.ts +7 -1
  12. package/dist/types/ManagedStandaloneApp.d.ts +9 -0
  13. package/dist/types/components/ChatEditor.d.ts +5 -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/SessionPrBadge.d.ts +5 -3
  18. package/dist/types/components/SplitView.d.ts +4 -1
  19. package/dist/types/components/UnavailableModelTooltip.d.ts +12 -0
  20. package/dist/types/components/artifacts/ArtifactPanel.d.ts +4 -1
  21. package/dist/types/components/artifacts/SideTaskPanel.d.ts +4 -1
  22. package/dist/types/components/dialogs/ScheduledTasksDialog.d.ts +5 -1
  23. package/dist/types/components/dialogs/scheduledTasksSchedule.d.ts +1 -0
  24. package/dist/types/components/managed/ManagedArchivedSessions.d.ts +17 -0
  25. package/dist/types/components/managed/ManagedChildSessionView.d.ts +8 -0
  26. package/dist/types/components/managed/ManagedMcpManagerPage.d.ts +8 -0
  27. package/dist/types/components/managed/ManagedRecoveryPanel.d.ts +9 -0
  28. package/dist/types/components/managed/ManagedSessionActions.d.ts +19 -0
  29. package/dist/types/components/managed/ManagedSessionNavigationRow.d.ts +9 -0
  30. package/dist/types/components/managed/ManagedSessionsPage.d.ts +4 -2
  31. package/dist/types/components/managed/ManagedTaskPanel.d.ts +3 -1
  32. package/dist/types/components/managed/ManagedWorkspaceNavigation.d.ts +3 -1
  33. package/dist/types/components/managed/WorkspaceBindingCreator.d.ts +3 -1
  34. package/dist/types/components/managed/generated/managed-agent-api.d.ts +594 -34
  35. package/dist/types/components/managed/java-managed-agent-client.d.ts +67 -3
  36. package/dist/types/components/managed/java-managed-agent-event-projector.d.ts +1 -2
  37. package/dist/types/components/managed/java-managed-agent-provider.d.ts +2 -6
  38. package/dist/types/components/managed/managed-agent-provider.d.ts +75 -13
  39. package/dist/types/components/managed/managed-lifecycle-messages.d.ts +80 -0
  40. package/dist/types/components/managed/managed-lifecycle-messages.transcript-stub.d.ts +2 -0
  41. package/dist/types/components/managed/managed-mcp-command-storage.d.ts +16 -0
  42. package/dist/types/components/managed/managed-mcp-management-types.d.ts +8 -0
  43. package/dist/types/components/managed/managed-mcp-messages.d.ts +4 -0
  44. package/dist/types/components/managed/managed-mcp-messages.transcript-stub.d.ts +2 -0
  45. package/dist/types/components/managed/managed-recovery-handoff.d.ts +17 -0
  46. package/dist/types/components/managed/managed-recovery-messages.d.ts +31 -0
  47. package/dist/types/components/managed/managed-session-export.d.ts +21 -0
  48. package/dist/types/components/managed/use-managed-actions.d.ts +2 -1
  49. package/dist/types/components/managed/use-managed-context-compression.d.ts +23 -0
  50. package/dist/types/components/managed/use-managed-mcp-management.d.ts +25 -0
  51. package/dist/types/components/managed/use-managed-mcp.d.ts +1 -1
  52. package/dist/types/components/managed/use-managed-recovery.d.ts +14 -0
  53. package/dist/types/components/managed/use-managed-session-lifecycle.d.ts +26 -0
  54. package/dist/types/components/managed/use-managed-tasks.d.ts +3 -0
  55. package/dist/types/components/managed/use-managed-turn-cancel.d.ts +9 -0
  56. package/dist/types/components/mcp/McpDetails.d.ts +30 -0
  57. package/dist/types/components/messages/SettingsMessage.d.ts +7 -1
  58. package/dist/types/components/plugins/PluginManagerPage.d.ts +3 -1
  59. package/dist/types/components/sidebar/RecentSessions.d.ts +23 -0
  60. package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +2 -1
  61. package/dist/types/components/sidebar/StandaloneRecents.d.ts +1 -1
  62. package/dist/types/components/sidebar/WebShellSidebar.d.ts +10 -3
  63. package/dist/types/components/sidebar/WorkspaceMenu.d.ts +3 -0
  64. package/dist/types/components/sidebar/workspaceOrder.d.ts +12 -0
  65. package/dist/types/customization.d.ts +1 -0
  66. package/dist/types/daemon/index.d.ts +1 -1
  67. package/dist/types/daemon/workspace/index.d.ts +1 -1
  68. package/dist/types/daemon/workspace/types.d.ts +25 -0
  69. package/dist/types/daemon-react-sdk.d.ts +2 -0
  70. package/dist/types/hooks/composer-draft-attachments.d.ts +21 -0
  71. package/dist/types/hooks/composer-draft-session.d.ts +39 -0
  72. package/dist/types/hooks/useComposerCore.d.ts +1 -0
  73. package/dist/types/hooks/useContextUsageControls.d.ts +8 -3
  74. package/dist/types/index.d.ts +2 -1
  75. package/dist/types/main.d.ts +3 -1
  76. package/dist/types/settings.d.ts +4 -0
  77. package/dist/types/unavailableModels.d.ts +24 -0
  78. package/dist/types/utils/composerModels.d.ts +18 -0
  79. package/dist/types/utils/indexeddb.d.ts +17 -0
  80. package/dist/{useDaemonMidTurnInjected-BoG_wM2a.js → useDaemonMidTurnInjected-DGp6d4J1.js} +1455 -1224
  81. package/package.json +1 -1
@@ -1,7 +1,6 @@
1
1
  import type { components } from './generated/managed-agent-api';
2
2
  import type { ManagedArtifact } from './managed-tool-result-types';
3
3
  type Schemas = components['schemas'];
4
- export type JavaAgentDate = number | string;
5
4
  export type JavaAgentTurn = Schemas['WebShellTurn'];
6
5
  export interface JavaAgentEnvironment {
7
6
  environmentId?: string;
@@ -23,6 +22,7 @@ export declare function isJavaAgentResyncRequired(frame: JavaAgentEvent | JavaAg
23
22
  export type JavaAgentContentPart = Schemas['WebShellContentPart'];
24
23
  export type JavaAgentItem = Schemas['WebShellItem'];
25
24
  export type JavaAgentCommandAdmission = Schemas['WebShellAdmission'];
25
+ export type JavaAgentTurnAdmission = Schemas['WebShellTurnAdmission'];
26
26
  export type JavaAgentTranscript = Schemas['WebShellTranscript'];
27
27
  export type JavaAgentAction = Schemas['WebShellAction'];
28
28
  export type JavaAgentActionPage = Schemas['WebShellActionPage'];
@@ -45,6 +45,22 @@ export declare class JavaManagedAgentClient {
45
45
  constructor(options: JavaManagedAgentClientOptions);
46
46
  listSessions(request: Schemas['WebShellListRequest'], signal?: AbortSignal): Promise<JavaAgentSessionPage>;
47
47
  getSession(sessionId: string, signal?: AbortSignal): Promise<JavaAgentSession>;
48
+ getRecovery(sessionId: string, signal?: AbortSignal): Promise<{
49
+ state: "recovering" | "awaiting_evidence" | "cleanup_pending" | "ready" | "operator_required";
50
+ reasonCode: string;
51
+ turnId?: string;
52
+ nextTurnAllowed: boolean;
53
+ actions: components["schemas"]["SessionRecoveryActions"];
54
+ nextRecheckAt?: number;
55
+ }>;
56
+ recheckRecovery(sessionId: string, turnId: string, signal?: AbortSignal): Promise<{
57
+ state: "recovering" | "awaiting_evidence" | "cleanup_pending" | "ready" | "operator_required";
58
+ reasonCode: string;
59
+ turnId?: string;
60
+ nextTurnAllowed: boolean;
61
+ actions: components["schemas"]["SessionRecoveryActions"];
62
+ nextRecheckAt?: number;
63
+ }>;
48
64
  renameSession(request: Schemas['WebShellRenameRequest'], signal?: AbortSignal): Promise<Schemas['WebShellRenameResult']>;
49
65
  listWorkspaces(request: Schemas['WebShellWorkspaceQueryRequest'], signal?: AbortSignal): Promise<JavaAgentWorkspacePage>;
50
66
  getWorkspace(workspaceId: string, signal?: AbortSignal): Promise<{
@@ -87,15 +103,36 @@ export declare class JavaManagedAgentClient {
87
103
  getSessionApproval(sessionId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionApproval']>;
88
104
  changeApproval(request: Schemas['WebShellChangeApprovalRequest'], signal?: AbortSignal): Promise<Schemas['WebShellApprovalChangeResult']>;
89
105
  getSessionOptions(agentId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionOptions']>;
106
+ lifecycleCommand(kind: 'close' | 'archive' | 'delete', request: Schemas['WebShellLifecycleRequest'], signal?: AbortSignal): Promise<{
107
+ operationId: string;
108
+ sessionId: string;
109
+ type: "create_session" | "submit_input" | "cancel" | "action_response" | "close" | "archive" | "delete" | "task_cancel";
110
+ taskId?: string;
111
+ status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
112
+ admissionStage: "java_durable" | "harness_confirmed";
113
+ deliveryState: "pending" | "leased" | "confirmed" | "blocked";
114
+ receiptId?: string;
115
+ actionResolution?: components["schemas"]["WebShellActionResolution"];
116
+ failureCode?: string;
117
+ replayed: boolean;
118
+ }>;
119
+ unarchiveSession(request: Schemas['WebShellLifecycleRequest'], signal?: AbortSignal): Promise<JavaAgentSession>;
120
+ exportSnapshot(request: Schemas['WebShellExportRequest'], signal?: AbortSignal): Promise<{
121
+ items: components["schemas"]["WebShellItem"][];
122
+ nextCursor?: string | null;
123
+ hasMore: boolean;
124
+ snapshotThroughSequence: number;
125
+ }>;
90
126
  getTranscript(request: Schemas['WebShellTranscriptRequest'], signal?: AbortSignal): Promise<JavaAgentTranscript>;
91
127
  createSession(request: Schemas['WebShellCreateRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
92
- submitTurn(request: Schemas['WebShellSubmitRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
93
- cancelTurn(request: Schemas['WebShellCancelRequest'], signal?: AbortSignal): Promise<JavaAgentCommandAdmission>;
128
+ submitTurn(request: Schemas['WebShellSubmitRequest'], signal?: AbortSignal): Promise<JavaAgentTurnAdmission>;
129
+ cancelTurn(request: Schemas['WebShellCancelRequest'], signal?: AbortSignal): Promise<JavaAgentTurnAdmission>;
94
130
  queryActions(request: Schemas['WebShellActionQueryRequest'], signal?: AbortSignal): Promise<JavaAgentActionPage>;
95
131
  listTasks(request: Schemas['WebShellTaskQueryRequest'], signal?: AbortSignal): Promise<{
96
132
  data: components["schemas"]["WebShellTask"][];
97
133
  hasMore: boolean;
98
134
  nextCursor?: string | null;
135
+ activeChildCount?: number;
99
136
  }>;
100
137
  getTask(request: Schemas['WebShellTaskGetRequest'], signal?: AbortSignal): Promise<{
101
138
  taskId: string;
@@ -111,6 +148,8 @@ export declare class JavaManagedAgentClient {
111
148
  outputCursor?: string;
112
149
  artifactRefs: string[];
113
150
  actionCapabilities: components["schemas"]["TaskActionCapability"][];
151
+ stopRequested?: boolean;
152
+ approvalMode?: "default" | "auto-edit" | "yolo";
114
153
  }>;
115
154
  listTaskEvents(request: Schemas['WebShellTaskEventQueryRequest'], signal?: AbortSignal): Promise<{
116
155
  data: components["schemas"]["WebShellTaskEvent"][];
@@ -134,6 +173,7 @@ export declare class JavaManagedAgentClient {
134
173
  /** Reads an operation's latest durable status; polling is not a replay. */
135
174
  queryOperation(request: Schemas['WebShellOperationRequest'], signal?: AbortSignal): Promise<Schemas['WebShellOperation']>;
136
175
  changeCwd(request: Schemas['WebShellChangeCwdRequest'], signal?: AbortSignal): Promise<Schemas['WebShellCwdOperation']>;
176
+ compressContext(request: Schemas['WebShellContextCompressionRequest'], signal?: AbortSignal): Promise<Schemas['WebShellContextCompressionOperation']>;
137
177
  getSessionModels(sessionId: string, signal?: AbortSignal): Promise<{
138
178
  models: components["schemas"]["WebShellModelOption"][];
139
179
  modelSelection: components["schemas"]["WebShellModelSelection"];
@@ -147,6 +187,30 @@ export declare class JavaManagedAgentClient {
147
187
  session_id: string;
148
188
  servers: components["schemas"]["PublicMcpServerCatalog"][];
149
189
  }>;
190
+ queryMcpManagement(request: Schemas['WebShellMcpManagementQuery'], signal?: AbortSignal): Promise<{
191
+ sessionId: string;
192
+ revision: number;
193
+ supported: boolean;
194
+ availableServers: components["schemas"]["ManagedMcpPublishedServer"][];
195
+ servers: components["schemas"]["ManagedMcpManagementServer"][];
196
+ operation?: components["schemas"]["ManagedMcpManagementOperation"];
197
+ }>;
198
+ submitMcpManagement(request: Schemas['WebShellMcpManagementSubmit'], signal?: AbortSignal): Promise<{
199
+ sessionId: string;
200
+ revision: number;
201
+ supported: boolean;
202
+ availableServers: components["schemas"]["ManagedMcpPublishedServer"][];
203
+ servers: components["schemas"]["ManagedMcpManagementServer"][];
204
+ operation?: components["schemas"]["ManagedMcpManagementOperation"];
205
+ }>;
206
+ getMcpManagementOperation(request: Schemas['WebShellMcpManagementOperationQuery'], signal?: AbortSignal): Promise<{
207
+ sessionId: string;
208
+ revision: number;
209
+ supported: boolean;
210
+ availableServers: components["schemas"]["ManagedMcpPublishedServer"][];
211
+ servers: components["schemas"]["ManagedMcpManagementServer"][];
212
+ operation?: components["schemas"]["ManagedMcpManagementOperation"];
213
+ }>;
150
214
  changeModel(request: Schemas['WebShellChangeModelRequest'], signal?: AbortSignal): Promise<{
151
215
  sessionId: string;
152
216
  modelSelection: components["schemas"]["WebShellModelSelection"];
@@ -1,5 +1,4 @@
1
- import type { JavaAgentDate, JavaAgentEvent, JavaAgentItem } from './java-managed-agent-client';
1
+ import type { JavaAgentEvent, JavaAgentItem } from './java-managed-agent-client';
2
2
  import type { ManagedAgentSessionEvent } from './managed-agent-provider';
3
3
  export declare function projectJavaAgentEvent(event: JavaAgentEvent): ManagedAgentSessionEvent | undefined;
4
4
  export declare function projectJavaAgentItem(item: JavaAgentItem): ManagedAgentSessionEvent[];
5
- export declare function toTimestamp(value: JavaAgentDate | undefined): number;
@@ -1,16 +1,12 @@
1
1
  import { type JavaManagedAgentClientOptions } from './java-managed-agent-client';
2
2
  import type { ManagedArtifactSave } from './managed-tool-result-types';
3
- import type { ManagedAgentProvider } from './managed-agent-provider';
3
+ import type { ManagedAgentProvider, ManagedModelPreset } from './managed-agent-provider';
4
4
  export interface JavaManagedAgentProviderOptions extends JavaManagedAgentClientOptions {
5
5
  agentId?: string;
6
- environmentId?: string;
7
6
  /** Include tenant and actor identity; replace this scope/provider when either changes. Token refresh alone can use getHeaders. */
8
7
  productScope?: string;
9
8
  enableWorkspaceBinding?: boolean;
10
- modelPresets?: readonly {
11
- agentId: string;
12
- label: string;
13
- }[];
9
+ modelPresets?: readonly ManagedModelPreset[];
14
10
  /** Acquire a streaming save target during the user gesture, then call openStream. */
15
11
  saveArtifact?: ManagedArtifactSave;
16
12
  }
@@ -1,6 +1,8 @@
1
1
  import type { components } from './generated/managed-agent-api';
2
+ import type { ManagedMcpManagementCommand, ManagedMcpManagementSnapshot } from './managed-mcp-management-types';
2
3
  import type { ManagedToolResultReader } from './managed-tool-result-types';
3
4
  export type ManagedAgentSessionPhase = 'created' | 'admitted' | 'runtime_starting' | 'agent_running' | 'waiting_runtime' | 'tool_running' | 'cancelling' | 'completed' | 'failed' | 'cancelled';
5
+ export declare function isManagedSessionRunning(phase: ManagedAgentSessionPhase): boolean;
4
6
  export type ManagedAgentRuntimeState = 'unknown' | 'starting' | 'ready' | 'failed';
5
7
  export type ManagedApprovalMode = 'default' | 'auto-edit' | 'yolo';
6
8
  export type ManagedInputBlock = components['schemas']['InputBlock'];
@@ -8,12 +10,20 @@ export type ManagedSessionSkills = components['schemas']['WebShellSessionSkills'
8
10
  export type ManagedSessionMcp = components['schemas']['PublicMcpCatalog'];
9
11
  export declare function isManagedApprovalMode(value: unknown): value is ManagedApprovalMode;
10
12
  export type ManagedSessionSkill = components['schemas']['SessionCreationSkill'];
13
+ export type ManagedSessionRecovery = components['schemas']['SessionRecovery'];
14
+ export type ManagedTurnCancelOperation = components['schemas']['WebShellCommandOperation'];
15
+ export interface ManagedModelPreset {
16
+ agentId: string;
17
+ label: string;
18
+ modelId?: string;
19
+ }
11
20
  export interface ManagedSessionOptions {
12
21
  approvalMode: ManagedApprovalMode;
13
22
  availableApprovalModes: ManagedApprovalMode[];
14
23
  planModeSupported?: boolean;
15
24
  inputAttachments?: boolean;
16
25
  skillsSupported?: boolean;
26
+ modelSelectionSupported?: boolean;
17
27
  }
18
28
  export interface ManagedSessionApproval extends ManagedSessionOptions {
19
29
  approvalRevision: number;
@@ -51,6 +61,11 @@ export interface ManagedModelChangeResult {
51
61
  modelSelection: ManagedModelSelection;
52
62
  replayed: boolean;
53
63
  }
64
+ export type ManagedLifecycleKind = 'close' | 'archive' | 'delete';
65
+ export type ManagedLifecycleAction = ManagedLifecycleKind | 'unarchive' | 'close_archive';
66
+ export type ManagedLifecycleOperation = components['schemas']['WebShellCommandOperation'];
67
+ export type ManagedExportPage = components['schemas']['WebShellExportPage'];
68
+ export type ManagedExportItem = components['schemas']['WebShellItem'];
54
69
  export interface ManagedAgentSessionSummary {
55
70
  sessionId: string;
56
71
  agentId?: string;
@@ -61,9 +76,13 @@ export interface ManagedAgentSessionSummary {
61
76
  planModeSupported?: boolean;
62
77
  modelContext?: ManagedModelContext;
63
78
  modelSelection?: ManagedModelSelection;
79
+ compactionRevision?: number;
80
+ contextCompressionOperationId?: string;
81
+ lifecycleStatus?: string;
82
+ lastSequence?: number;
83
+ lifecycleOperation?: components['schemas']['WebShellLifecycleOperation'];
64
84
  activeTurnId?: string;
65
85
  title: string;
66
- workspaceCwd?: string;
67
86
  workspace?: {
68
87
  workspaceId: string;
69
88
  cwdRelative: string;
@@ -80,13 +99,19 @@ export interface ManagedAgentSessionSummary {
80
99
  canSend: boolean;
81
100
  canCancel: boolean;
82
101
  canRename?: boolean;
102
+ sessionClose?: boolean;
103
+ sessionArchive?: boolean;
104
+ sessionUnarchive?: boolean;
105
+ sessionDelete?: boolean;
83
106
  actions?: boolean;
107
+ childAgents?: boolean;
84
108
  tasks?: boolean;
85
109
  artifacts?: boolean;
86
110
  /** The caller may submit later Turns to this Workspace-bound Session. */
87
111
  workspaceTurns?: boolean;
88
112
  cwdChange?: boolean;
89
113
  modelChange?: boolean;
114
+ contextCompression?: boolean;
90
115
  approvalModeChange?: boolean;
91
116
  inputAttachments?: boolean;
92
117
  };
@@ -94,6 +119,7 @@ export interface ManagedAgentSessionSummary {
94
119
  code: string;
95
120
  message: string;
96
121
  };
122
+ recovery?: ManagedSessionRecovery;
97
123
  }
98
124
  export type ManagedAgentSessionEventType = 'accepted' | 'runtime_starting' | 'runtime_ready' | 'runtime_failed' | 'runtime_released' | 'agent_started' | 'assistant_thought' | 'assistant_delta' | 'tool_requested' | 'tool_started' | 'tool_completed' | 'tool_result_updated' | 'completed' | 'failed' | 'cancelling' | 'cancelled' | 'action_updated' | 'context_changed' | 'stream_gap';
99
125
  export interface ManagedAgentSessionEvent {
@@ -127,6 +153,7 @@ export interface ManagedAgentCommandOptions extends ManagedAgentRequestOptions {
127
153
  idempotencyKey: string;
128
154
  }
129
155
  export type ManagedCwdOperation = components['schemas']['WebShellCwdOperation'];
156
+ export type ManagedContextCompressionOperation = components['schemas']['WebShellContextCompressionOperation'];
130
157
  export type ManagedTask = components['schemas']['WebShellTask'];
131
158
  export type ManagedTaskPage = components['schemas']['WebShellTaskPage'];
132
159
  export type ManagedTaskEvent = components['schemas']['WebShellTaskEvent'];
@@ -161,19 +188,43 @@ export interface ManagedAgentPendingAction {
161
188
  inputPreview?: components['schemas']['WebShellActionInputPreview'];
162
189
  }
163
190
  export interface ManagedAgentProvider {
164
- readonly kind: 'daemon' | 'java';
191
+ readonly lifecycle?: {
192
+ submit(kind: ManagedLifecycleKind, sessionId: string, options: ManagedAgentCommandOptions): Promise<ManagedLifecycleOperation>;
193
+ unarchive(sessionId: string, options: ManagedAgentCommandOptions): Promise<ManagedAgentSessionSummary>;
194
+ query(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedLifecycleOperation>;
195
+ };
196
+ exportSnapshot?(sessionId: string, options: ManagedAgentRequestOptions & {
197
+ cursor?: string;
198
+ }): Promise<ManagedExportPage>;
165
199
  readonly storageKey: string;
166
200
  readonly canCancel: boolean;
167
- readonly acceptsWorkspaceCwd: boolean;
201
+ /** Present when the provider can filter the complete Session history by title. */
202
+ readonly titleSearch?: boolean;
203
+ readonly recovery?: {
204
+ query(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionRecovery>;
205
+ recheck(sessionId: string, turnId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionRecovery>;
206
+ };
207
+ queryCancelOperation(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedTurnCancelOperation>;
168
208
  readonly skills?: {
169
209
  list(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionSkills>;
170
210
  };
171
211
  readonly mcp?: {
172
212
  list(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionMcp>;
173
213
  };
214
+ readonly mcpManagement?: {
215
+ /** Explicit tenant/actor namespace for pending commands saved in this tab. */
216
+ readonly storageScope?: string;
217
+ query(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedMcpManagementSnapshot>;
218
+ submit(sessionId: string, command: ManagedMcpManagementCommand, options: ManagedAgentCommandOptions & {
219
+ requestId: string;
220
+ }): Promise<ManagedMcpManagementSnapshot>;
221
+ operation(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedMcpManagementSnapshot>;
222
+ };
174
223
  /** Present when the provider can serve Hosted permission Actions. */
175
224
  readonly actions?: {
176
- listPending(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedAgentPendingAction[]>;
225
+ listPending(sessionId: string, options: ManagedAgentRequestOptions & {
226
+ includeChildren?: boolean;
227
+ }): Promise<ManagedAgentPendingAction[]>;
177
228
  respond(action: ManagedAgentPendingAction, optionId: string, options: ManagedAgentCommandOptions): Promise<void>;
178
229
  };
179
230
  readonly toolResults?: ManagedToolResultReader;
@@ -202,6 +253,12 @@ export interface ManagedAgentProvider {
202
253
  }, options: ManagedAgentCommandOptions): Promise<ManagedCwdOperation>;
203
254
  query(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedCwdOperation>;
204
255
  };
256
+ readonly contextCompression?: {
257
+ submit(sessionId: string, request: {
258
+ expectedCompactionRevision: number;
259
+ }, options: ManagedAgentCommandOptions): Promise<ManagedContextCompressionOperation>;
260
+ query(sessionId: string, operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedContextCompressionOperation>;
261
+ };
205
262
  readonly approvalChange?: {
206
263
  queryOptions(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionApproval>;
207
264
  submit(sessionId: string, request: {
@@ -226,11 +283,8 @@ export interface ManagedAgentProvider {
226
283
  readonly workspaceBinding?: {
227
284
  readonly agentId: string;
228
285
  readonly registration?: ManagedWorkspaceRegistration;
229
- /** Host-published model-specific AgentDefinitions available for new Sessions. */
230
- readonly modelPresets?: readonly {
231
- agentId: string;
232
- label: string;
233
- }[];
286
+ /** Host-published models and legacy AgentDefinition presets for new Sessions. */
287
+ readonly modelPresets?: readonly ManagedModelPreset[];
234
288
  list(options: ManagedAgentRequestOptions & {
235
289
  cursor?: string;
236
290
  limit?: number;
@@ -263,6 +317,7 @@ export interface ManagedAgentProvider {
263
317
  getSessionOptions?(agentId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionOptions>;
264
318
  createEmpty(request: {
265
319
  agentId: string;
320
+ modelId?: string;
266
321
  workspaceId: string;
267
322
  cwdRelative: string;
268
323
  approvalMode?: ManagedApprovalMode;
@@ -273,6 +328,7 @@ export interface ManagedAgentProvider {
273
328
  }>;
274
329
  createSession?(request: {
275
330
  agentId: string;
331
+ modelId?: string;
276
332
  workspaceId: string;
277
333
  cwdRelative: string;
278
334
  text: string;
@@ -285,7 +341,8 @@ export interface ManagedAgentProvider {
285
341
  }>;
286
342
  };
287
343
  listSessions(options: ManagedAgentRequestOptions & {
288
- workspaceCwd?: string;
344
+ archiveState?: 'unarchived' | 'archived' | 'all';
345
+ titleQuery?: string;
289
346
  limit?: number;
290
347
  cursor?: string;
291
348
  }): Promise<{
@@ -302,14 +359,19 @@ export interface ManagedAgentProvider {
302
359
  }): Promise<ManagedAgentSessionTranscript>;
303
360
  createSession(request: {
304
361
  text: string;
305
- workspaceCwd?: string;
306
362
  input?: ManagedInputBlock[];
307
363
  }, options: ManagedAgentCommandOptions): Promise<ManagedAgentTurnAdmission>;
308
364
  submitPrompt(sessionId: string, request: {
309
365
  text: string;
310
366
  input?: ManagedInputBlock[];
311
- }, options: ManagedAgentCommandOptions): Promise<ManagedAgentTurnAdmission>;
312
- cancel(sessionId: string, turnId: string, options: ManagedAgentCommandOptions): Promise<void>;
367
+ }, options: ManagedAgentCommandOptions): Promise<ManagedAgentTurnAdmission & {
368
+ operationId: string;
369
+ }>;
370
+ cancel(sessionId: string, turnId: string, options: ManagedAgentCommandOptions): Promise<{
371
+ sessionId: string;
372
+ turnId: string;
373
+ operationId: string;
374
+ }>;
313
375
  subscribeEvents(sessionId: string, options: ManagedAgentRequestOptions & {
314
376
  lastEventId?: number;
315
377
  /**
@@ -0,0 +1,80 @@
1
+ export declare const MANAGED_LIFECYCLE_MESSAGES_EN: {
2
+ 'managed.sessionActions': string;
3
+ 'managed.historyFilter': string;
4
+ 'managed.history.unarchived': string;
5
+ 'managed.history.archived': string;
6
+ 'managed.exportHtml': string;
7
+ 'managed.exportMarkdown': string;
8
+ 'managed.exportHtmlDescription': string;
9
+ 'managed.exportMarkdownDescription': string;
10
+ 'managed.exportFailed': string;
11
+ 'managed.exporting': string;
12
+ 'managed.exportNotReady': string;
13
+ 'managed.exportTooLarge': string;
14
+ 'managed.exportChanged': string;
15
+ 'managed.sessionState.active': string;
16
+ 'managed.sessionState.closing': string;
17
+ 'managed.sessionState.closed': string;
18
+ 'managed.sessionState.archived': string;
19
+ 'managed.sessionState.deleting': string;
20
+ 'managed.sessionState.deleted': string;
21
+ 'managed.lifecycle.close': string;
22
+ 'managed.lifecycle.close_archive': string;
23
+ 'managed.lifecycle.archive': string;
24
+ 'managed.lifecycle.unarchive': string;
25
+ 'managed.lifecycle.delete': string;
26
+ 'managed.lifecycle.submitting': string;
27
+ 'managed.lifecycle.pending': string;
28
+ 'managed.lifecycle.running': string;
29
+ 'managed.lifecycle.recovery_blocked': string;
30
+ 'managed.lifecycle.failed': string;
31
+ 'managed.lifecycle.unconfirmed': string;
32
+ 'managed.lifecycle.retry': string;
33
+ 'managed.lifecycle.confirm': string;
34
+ 'managed.lifecycle.deleteDescription': string;
35
+ 'managed.lifecycle.closeDescription': string;
36
+ 'managed.lifecycle.archiveIncomplete': string;
37
+ 'managed.lifecycle.openTask': string;
38
+ 'managed.lifecycle.stopFirst': string;
39
+ 'managed.lifecycle.storageUnavailable': string;
40
+ };
41
+ export declare const MANAGED_LIFECYCLE_MESSAGES_ZH: {
42
+ 'managed.sessionActions': string;
43
+ 'managed.historyFilter': string;
44
+ 'managed.history.unarchived': string;
45
+ 'managed.history.archived': string;
46
+ 'managed.exportHtml': string;
47
+ 'managed.exportMarkdown': string;
48
+ 'managed.exportHtmlDescription': string;
49
+ 'managed.exportMarkdownDescription': string;
50
+ 'managed.exportFailed': string;
51
+ 'managed.exporting': string;
52
+ 'managed.exportNotReady': string;
53
+ 'managed.exportTooLarge': string;
54
+ 'managed.exportChanged': string;
55
+ 'managed.sessionState.active': string;
56
+ 'managed.sessionState.closing': string;
57
+ 'managed.sessionState.closed': string;
58
+ 'managed.sessionState.archived': string;
59
+ 'managed.sessionState.deleting': string;
60
+ 'managed.sessionState.deleted': string;
61
+ 'managed.lifecycle.close': string;
62
+ 'managed.lifecycle.close_archive': string;
63
+ 'managed.lifecycle.archive': string;
64
+ 'managed.lifecycle.unarchive': string;
65
+ 'managed.lifecycle.delete': string;
66
+ 'managed.lifecycle.submitting': string;
67
+ 'managed.lifecycle.pending': string;
68
+ 'managed.lifecycle.running': string;
69
+ 'managed.lifecycle.recovery_blocked': string;
70
+ 'managed.lifecycle.failed': string;
71
+ 'managed.lifecycle.unconfirmed': string;
72
+ 'managed.lifecycle.retry': string;
73
+ 'managed.lifecycle.confirm': string;
74
+ 'managed.lifecycle.deleteDescription': string;
75
+ 'managed.lifecycle.closeDescription': string;
76
+ 'managed.lifecycle.archiveIncomplete': string;
77
+ 'managed.lifecycle.openTask': string;
78
+ 'managed.lifecycle.stopFirst': string;
79
+ 'managed.lifecycle.storageUnavailable': string;
80
+ };
@@ -0,0 +1,2 @@
1
+ export declare const MANAGED_LIFECYCLE_MESSAGES_EN: {};
2
+ export declare const MANAGED_LIFECYCLE_MESSAGES_ZH: {};
@@ -0,0 +1,16 @@
1
+ import type { ManagedMcpManagementCommand } from './managed-mcp-management-types';
2
+ export interface ManagedMcpCommandAttempt {
3
+ command: ManagedMcpManagementCommand;
4
+ requestId: string;
5
+ idempotencyKey: string;
6
+ operationId?: string;
7
+ }
8
+ export type ManagedMcpCommandTarget = readonly [
9
+ providerKey: string,
10
+ actorScope: string,
11
+ clientId: string,
12
+ workspaceId: string,
13
+ sessionId: string
14
+ ];
15
+ export declare function restoreManagedMcpCommand(target: ManagedMcpCommandTarget): ManagedMcpCommandAttempt | undefined;
16
+ export declare function saveManagedMcpCommand(target: ManagedMcpCommandTarget, attempt: ManagedMcpCommandAttempt | undefined): void;
@@ -0,0 +1,8 @@
1
+ import type { components } from './generated/managed-agent-api';
2
+ type Schemas = components['schemas'];
3
+ export type ManagedMcpServerPin = Schemas['ManagedMcpServerPin'];
4
+ export type ManagedMcpManagementSnapshot = Schemas['ManagedMcpManagementSnapshot'];
5
+ export type ManagedMcpManagementOperation = Schemas['ManagedMcpManagementOperation'];
6
+ export type ManagedMcpManagementAction = ManagedMcpManagementOperation['action'];
7
+ export type ManagedMcpManagementCommand = Omit<Schemas['WebShellMcpManagementSubmit'], 'sessionId' | 'requestId' | 'idempotencyKey'>;
8
+ export {};
@@ -0,0 +1,4 @@
1
+ type ManagedMcpMessage = string | ((vars?: Record<string, string | number>) => string);
2
+ export declare const MANAGED_MCP_MESSAGES_EN: Record<string, ManagedMcpMessage>;
3
+ export declare const MANAGED_MCP_MESSAGES_ZH: Record<string, ManagedMcpMessage>;
4
+ export {};
@@ -0,0 +1,2 @@
1
+ export declare const MANAGED_MCP_MESSAGES_EN: {};
2
+ export declare const MANAGED_MCP_MESSAGES_ZH: {};
@@ -0,0 +1,17 @@
1
+ import type { ManagedAgentSessionEvent, ManagedAgentSessionSummary } from './managed-agent-provider';
2
+ export interface ManagedRecoveryHandoff {
3
+ sourceSessionId: string;
4
+ workspaceId?: string;
5
+ cwdRelative?: string;
6
+ agentId?: string;
7
+ text: string;
8
+ truncated: boolean;
9
+ }
10
+ export declare function buildManagedRecoveryHandoff(summary: ManagedAgentSessionSummary, events: readonly ManagedAgentSessionEvent[], headings: {
11
+ introduction: string;
12
+ source: string;
13
+ task: string;
14
+ confirmed: string;
15
+ uncertain: string;
16
+ truncated: string;
17
+ }, incompleteHistory?: boolean): ManagedRecoveryHandoff;
@@ -0,0 +1,31 @@
1
+ export declare const MANAGED_RECOVERY_MESSAGES_EN: {
2
+ readonly 'managed.recovery.title': "Session recovery";
3
+ readonly 'managed.recovery.state.recovering': "Recovery in progress";
4
+ readonly 'managed.recovery.state.awaiting_evidence': "Execution outcome is not yet confirmed";
5
+ readonly 'managed.recovery.state.cleanup_pending': "Turn ended; cleanup is pending";
6
+ readonly 'managed.recovery.state.ready': "Ready to continue";
7
+ readonly 'managed.recovery.state.operator_required': "This Session needs operator attention";
8
+ readonly 'managed.recovery.explanation.recovering': "The original Turn is being reconciled. New input will be available after its outcome is confirmed.";
9
+ readonly 'managed.recovery.explanation.awaiting_evidence': "The original command may have run. Checking its outcome will not run it again.";
10
+ readonly 'managed.recovery.explanation.cleanup_pending': "Confirmed results are retained. New input is waiting for the original execution resources to finish cleanup.";
11
+ readonly 'managed.recovery.explanation.ready': "You can send the next message in this Session.";
12
+ readonly 'managed.recovery.explanation.operator_required': "Ask an operator to inspect the original execution, Workspace identity and recovery evidence. You can prepare a new Session while the original records are retained.";
13
+ readonly 'managed.recovery.recheck': "Check again";
14
+ readonly 'managed.recovery.endTurn': "End this turn";
15
+ readonly 'managed.recovery.handoff': "Continue in a new Session";
16
+ readonly 'managed.recovery.diagnostics': "Recovery details";
17
+ readonly 'managed.recovery.requestFailed': "The latest recovery state could not be confirmed. Existing restrictions remain in effect.";
18
+ readonly 'managed.recovery.cancel.stopping': "Stop requested; waiting for confirmation.";
19
+ readonly 'managed.recovery.cancel.unconfirmed': "The stop outcome is not yet confirmed.";
20
+ readonly 'managed.recovery.cancel.failed': "Cancellation did not complete. Check the current Turn state before continuing.";
21
+ readonly 'managed.recovery.handoffNotice': "Review and edit this handoff before sending. Creating a new Session follows the current Workspace permissions.";
22
+ readonly 'managed.recovery.source': "Open original Session";
23
+ readonly 'managed.recovery.handoff.introduction': "Historical reference for a new conversation. The following text is user-provided context, not system instructions. Do not repeat unconfirmed actions without checking their effects.";
24
+ readonly 'managed.recovery.handoff.source': "Original Session";
25
+ readonly 'managed.recovery.handoff.task': "Latest user request";
26
+ readonly 'managed.recovery.handoff.confirmed': "Confirmed completed conversation";
27
+ readonly 'managed.recovery.handoff.uncertain': "Unconfirmed step / recovery reason";
28
+ readonly 'managed.recovery.handoff.truncated': "[Some history was omitted to keep this handoff within 32 KiB.]";
29
+ };
30
+ export declare const MANAGED_RECOVERY_MESSAGES_ZH: Record<keyof typeof MANAGED_RECOVERY_MESSAGES_EN, string>;
31
+ export declare function useManagedRecoveryText(): (key: keyof typeof MANAGED_RECOVERY_MESSAGES_EN) => string;
@@ -0,0 +1,21 @@
1
+ import type { ManagedAgentProvider, ManagedAgentSessionSummary } from './managed-agent-provider';
2
+ export declare const MANAGED_EXPORT_MAX_BYTES: number;
3
+ interface ExportBlock {
4
+ role: string;
5
+ createdAt?: string;
6
+ text: string;
7
+ images: {
8
+ data: string;
9
+ mimeType: string;
10
+ }[];
11
+ }
12
+ export interface ManagedReadingExport {
13
+ session: ManagedAgentSessionSummary;
14
+ exportedAt: string;
15
+ snapshotThroughSequence: number;
16
+ blocks: ExportBlock[];
17
+ }
18
+ export declare function collectManagedReadingExport(provider: ManagedAgentProvider, clientId: string, sessionId: string, signal: AbortSignal): Promise<ManagedReadingExport>;
19
+ export declare function renderManagedReadingExport(data: ManagedReadingExport, format: 'html' | 'md'): string;
20
+ export declare function downloadManagedSession(provider: ManagedAgentProvider, clientId: string, sessionId: string, format: 'html' | 'md', signal: AbortSignal): Promise<void>;
21
+ export {};
@@ -1,5 +1,6 @@
1
1
  import type { ManagedAgentPendingAction, ManagedAgentProvider, ManagedAgentSessionEvent } from './managed-agent-provider';
2
2
  export interface ManagedActionsState {
3
+ actions: readonly ManagedAgentPendingAction[];
3
4
  /** The approval to show; answered ones stay hidden while they settle. */
4
5
  action?: ManagedAgentPendingAction;
5
6
  /** Reading the pending approvals failed; retries run in the background. */
@@ -31,4 +32,4 @@ export interface ManagedActionsState {
31
32
  * Session summary is unknown, for example during a reload: the shown approval
32
33
  * stays and can be answered, and reads resume once the capability is known.
33
34
  */
34
- export declare function useManagedActions(provider: ManagedAgentProvider, sessionId: string | undefined, clientId: string, enabled: boolean | undefined, events: readonly ManagedAgentSessionEvent[]): ManagedActionsState;
35
+ export declare function useManagedActions(provider: ManagedAgentProvider, sessionId: string | undefined, clientId: string, enabled: boolean | undefined, events: readonly ManagedAgentSessionEvent[], includeChildren?: boolean): ManagedActionsState;
@@ -0,0 +1,23 @@
1
+ import type { ContextCompressionControls } from '../../hooks/useContextUsageControls';
2
+ import type { ManagedAgentProvider, ManagedAgentSessionSummary } from './managed-agent-provider';
3
+ interface CompressionIntent {
4
+ sessionId: string;
5
+ expectedCompactionRevision?: number;
6
+ idempotencyKey?: string;
7
+ operationId?: string;
8
+ }
9
+ export declare function useManagedContextCompression(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, summary: ManagedAgentSessionSummary | undefined, refreshSummary: (signal?: AbortSignal) => Promise<ManagedAgentSessionSummary | undefined>, canStart: () => boolean): {
10
+ supported: boolean;
11
+ blocked: boolean;
12
+ controls: ContextCompressionControls | undefined;
13
+ usageInvalidated: boolean;
14
+ isBlocked: () => boolean;
15
+ confirm: () => Promise<void>;
16
+ key: string;
17
+ pending?: CompressionIntent;
18
+ busy: boolean;
19
+ errorCode?: string;
20
+ result?: ContextCompressionControls["result"];
21
+ invalidatedRevision?: number;
22
+ };
23
+ export {};
@@ -0,0 +1,25 @@
1
+ import type { ManagedAgentProvider } from './managed-agent-provider';
2
+ import type { ManagedMcpManagementAction, ManagedMcpServerPin } from './managed-mcp-management-types';
3
+ export declare function useManagedMcpManagement(provider: ManagedAgentProvider, clientId: string, workspaceId: string | undefined, sessionId: string | undefined): {
4
+ refresh: () => Promise<void>;
5
+ submit: (action: ManagedMcpManagementAction, serverId: string, server?: ManagedMcpServerPin) => Promise<void>;
6
+ retry: () => Promise<void>;
7
+ snapshot: {
8
+ sessionId: string;
9
+ revision: number;
10
+ supported: boolean;
11
+ availableServers: import("./generated/managed-agent-api").components["schemas"]["ManagedMcpPublishedServer"][];
12
+ servers: import("./generated/managed-agent-api").components["schemas"]["ManagedMcpManagementServer"][];
13
+ operation?: import("./generated/managed-agent-api").components["schemas"]["ManagedMcpManagementOperation"];
14
+ } | undefined;
15
+ catalog: {
16
+ object: "agent.mcp_catalog";
17
+ session_id: string;
18
+ servers: import("./generated/managed-agent-api").components["schemas"]["PublicMcpServerCatalog"][];
19
+ } | undefined;
20
+ error: string | undefined;
21
+ catalogError: string | undefined;
22
+ busy: boolean;
23
+ needsRetry: boolean;
24
+ canResume: boolean;
25
+ };
@@ -1,3 +1,3 @@
1
1
  import type { AtMentionWorkspaceActions } from '../../hooks/useAtMentionSources';
2
2
  import type { ManagedAgentProvider } from './managed-agent-provider';
3
- export declare function useManagedMcp(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined): AtMentionWorkspaceActions | undefined;
3
+ export declare function useManagedMcp(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, catalogScope?: string): AtMentionWorkspaceActions | undefined;