@qwen-code/web-shell 0.25.3-preview.0 → 0.25.3

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 (31) hide show
  1. package/README.md +40 -0
  2. package/dist/{PierreFilePreview-DAD1C1oX.js → PierreFilePreview-CDwdShQj.js} +1 -1
  3. package/dist/{SpreadsheetPreview-DShn9rcb.js → SpreadsheetPreview-DrhBxOLb.js} +2 -2
  4. package/dist/{WorkspaceFileBrowser-zWgE76sn.js → WorkspaceFileBrowser-Cj-IkaDU.js} +2 -2
  5. package/dist/{agents-route-CYSCpPDR.js → agents-route-CNZAhyBJ.js} +2 -2
  6. package/dist/daemon-react-sdk.js +1 -1
  7. package/dist/{index-CWxIoEi_.js → index-D0B7Fiw9.js} +50102 -49146
  8. package/dist/index.js +3 -3
  9. package/dist/sw.js +1 -1
  10. package/dist/transcript.js +3718 -3696
  11. package/dist/types/App.d.ts +4 -1
  12. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +3 -1
  13. package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +3 -1
  14. package/dist/types/components/managed/RemoteWorkspaceRegistration.d.ts +9 -0
  15. package/dist/types/components/managed/generated/managed-agent-api.d.ts +448 -19
  16. package/dist/types/components/managed/java-managed-agent-client.d.ts +32 -0
  17. package/dist/types/components/managed/managed-agent-provider.d.ts +37 -0
  18. package/dist/types/components/managed/managed-input.d.ts +7 -0
  19. package/dist/types/components/managed/managed-workspace-messages.d.ts +7 -0
  20. package/dist/types/components/managed/managed-workspace-messages.transcript-stub.d.ts +7 -0
  21. package/dist/types/components/managed/use-managed-approval-change.d.ts +2 -1
  22. package/dist/types/components/managed/use-managed-skills.d.ts +12 -0
  23. package/dist/types/components/managed/use-managed-tasks.d.ts +1 -0
  24. package/dist/types/customization.d.ts +2 -0
  25. package/dist/types/hooks/useApprovalModes.d.ts +2 -0
  26. package/dist/types/hooks/useInputHistory.d.ts +0 -4
  27. package/dist/types/index.d.ts +2 -1
  28. package/dist/types/utils/planMode.d.ts +5 -1
  29. package/dist/types/voice/voice-workspace-target.d.ts +2 -0
  30. package/dist/{useDaemonMidTurnInjected-Cf5L3VKm.js → useDaemonMidTurnInjected-BDFSY1Yl.js} +773 -705
  31. package/package.json +1 -1
@@ -51,8 +51,36 @@ export declare class JavaManagedAgentClient {
51
51
  displayName: string;
52
52
  canCreateSession: boolean;
53
53
  state: "active" | "draining" | "removed";
54
+ defaultCwdRelative?: string;
55
+ canSelectDirectory?: boolean;
56
+ }>;
57
+ listRuntimeNodes(signal?: AbortSignal): Promise<{
58
+ supported: boolean;
59
+ data: components["schemas"]["WebShellRuntimeNode"][];
60
+ }>;
61
+ checkWorkspaceDirectory(request: Schemas['WebShellWorkspaceDirectoryRequest'], signal?: AbortSignal): Promise<{
62
+ nodeId: string;
63
+ canonicalPath: string;
64
+ platform: "linux" | "darwin";
65
+ }>;
66
+ registerWorkspace(request: Schemas['WebShellWorkspaceRegisterRequest'], signal?: AbortSignal): Promise<{
67
+ operationId: string;
68
+ type: "workspace_create";
69
+ status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
70
+ workspaceId?: string | null;
71
+ failureCode?: string | null;
72
+ replayed: boolean;
73
+ }>;
74
+ getWorkspaceOperation(operationId: string, signal?: AbortSignal): Promise<{
75
+ operationId: string;
76
+ type: "workspace_create";
77
+ status: "pending" | "running" | "completed" | "failed" | "cancelled" | "recovery_blocked";
78
+ workspaceId?: string | null;
79
+ failureCode?: string | null;
80
+ replayed: boolean;
54
81
  }>;
55
82
  createWorkspace(request: Schemas['WebShellWorkspaceCreateRequest'], signal?: AbortSignal): Promise<JavaAgentWorkspace>;
83
+ workspaceDirectories(request: Schemas['WebShellWorkspaceDirectoryQueryRequest'], signal?: AbortSignal): Promise<Schemas['WebShellWorkspaceDirectoryPage']>;
56
84
  getSessionApproval(sessionId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionApproval']>;
57
85
  changeApproval(request: Schemas['WebShellChangeApprovalRequest'], signal?: AbortSignal): Promise<Schemas['WebShellApprovalChangeResult']>;
58
86
  getSessionOptions(agentId: string, signal?: AbortSignal): Promise<Schemas['WebShellSessionOptions']>;
@@ -69,6 +97,7 @@ export declare class JavaManagedAgentClient {
69
97
  getTask(request: Schemas['WebShellTaskGetRequest'], signal?: AbortSignal): Promise<{
70
98
  taskId: string;
71
99
  sessionId: string;
100
+ childSessionId?: string;
72
101
  kind: components["schemas"]["TaskKind"];
73
102
  state: components["schemas"]["TaskState"];
74
103
  definitionRevision?: number;
@@ -107,6 +136,9 @@ export declare class JavaManagedAgentClient {
107
136
  modelSelection: components["schemas"]["WebShellModelSelection"];
108
137
  supported: boolean;
109
138
  }>;
139
+ getSessionSkills(sessionId: string, signal?: AbortSignal): Promise<{
140
+ skills: components["schemas"]["WebShellSkill"][];
141
+ }>;
110
142
  changeModel(request: Schemas['WebShellChangeModelRequest'], signal?: AbortSignal): Promise<{
111
143
  sessionId: string;
112
144
  modelSelection: components["schemas"]["WebShellModelSelection"];
@@ -3,20 +3,26 @@ import type { ManagedToolResultReader } from './managed-tool-result-types';
3
3
  export type ManagedAgentSessionPhase = 'created' | 'admitted' | 'runtime_starting' | 'agent_running' | 'waiting_runtime' | 'tool_running' | 'cancelling' | 'completed' | 'failed' | 'cancelled';
4
4
  export type ManagedAgentRuntimeState = 'unknown' | 'starting' | 'ready' | 'failed';
5
5
  export type ManagedApprovalMode = 'default' | 'auto-edit' | 'yolo';
6
+ export type ManagedInputBlock = components['schemas']['InputBlock'];
7
+ export type ManagedSessionSkills = components['schemas']['WebShellSessionSkills'];
6
8
  export declare function isManagedApprovalMode(value: unknown): value is ManagedApprovalMode;
7
9
  export interface ManagedSessionOptions {
8
10
  approvalMode: ManagedApprovalMode;
9
11
  availableApprovalModes: ManagedApprovalMode[];
12
+ planModeSupported?: boolean;
13
+ inputAttachments?: boolean;
10
14
  }
11
15
  export interface ManagedSessionApproval extends ManagedSessionOptions {
12
16
  approvalRevision: number;
13
17
  supported: boolean;
18
+ planMode?: boolean;
14
19
  }
15
20
  export interface ManagedApprovalChangeResult {
16
21
  sessionId: string;
17
22
  approvalMode: ManagedApprovalMode;
18
23
  approvalRevision: number;
19
24
  replayed: boolean;
25
+ planMode?: boolean;
20
26
  }
21
27
  export interface ManagedModelContext {
22
28
  modelId: string;
@@ -47,6 +53,8 @@ export interface ManagedAgentSessionSummary {
47
53
  approvalMode?: ManagedApprovalMode;
48
54
  initialApprovalMode?: ManagedApprovalMode;
49
55
  approvalRevision?: number;
56
+ planMode?: boolean;
57
+ planModeSupported?: boolean;
50
58
  modelContext?: ManagedModelContext;
51
59
  modelSelection?: ManagedModelSelection;
52
60
  activeTurnId?: string;
@@ -75,6 +83,7 @@ export interface ManagedAgentSessionSummary {
75
83
  cwdChange?: boolean;
76
84
  modelChange?: boolean;
77
85
  approvalModeChange?: boolean;
86
+ inputAttachments?: boolean;
78
87
  };
79
88
  failure?: {
80
89
  code: string;
@@ -120,6 +129,15 @@ export type ManagedTaskEventPage = components['schemas']['WebShellTaskEventPage'
120
129
  export type ManagedTaskCancelOperation = components['schemas']['WebShellCommandOperation'] & {
121
130
  type: 'task_cancel';
122
131
  };
132
+ export type ManagedRuntimeNode = components['schemas']['WebShellRuntimeNode'];
133
+ export type ManagedWorkspaceDirectory = components['schemas']['WebShellWorkspaceDirectory'];
134
+ export type ManagedWorkspaceCreateOperation = components['schemas']['WebShellWorkspaceCreateOperation'];
135
+ export interface ManagedWorkspaceRegistration {
136
+ listNodes(options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellRuntimeNodePage']>;
137
+ checkDirectory(request: components['schemas']['WebShellWorkspaceDirectoryRequest'], options: ManagedAgentRequestOptions): Promise<ManagedWorkspaceDirectory>;
138
+ create(request: Omit<components['schemas']['WebShellWorkspaceRegisterRequest'], 'idempotencyKey' | 'requestId'>, options: ManagedAgentCommandOptions): Promise<ManagedWorkspaceCreateOperation>;
139
+ query(operationId: string, options: ManagedAgentRequestOptions): Promise<ManagedWorkspaceCreateOperation>;
140
+ }
123
141
  /** A Hosted tool approval waiting for the Session owner's answer. */
124
142
  export interface ManagedAgentPendingAction {
125
143
  actionId: string;
@@ -142,6 +160,9 @@ export interface ManagedAgentProvider {
142
160
  readonly storageKey: string;
143
161
  readonly canCancel: boolean;
144
162
  readonly acceptsWorkspaceCwd: boolean;
163
+ readonly skills?: {
164
+ list(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionSkills>;
165
+ };
145
166
  /** Present when the provider can serve Hosted permission Actions. */
146
167
  readonly actions?: {
147
168
  listPending(sessionId: string, options: ManagedAgentRequestOptions): Promise<ManagedAgentPendingAction[]>;
@@ -175,6 +196,7 @@ export interface ManagedAgentProvider {
175
196
  submit(sessionId: string, request: {
176
197
  approvalMode: ManagedApprovalMode;
177
198
  expectedRevision: number;
199
+ planMode?: boolean;
178
200
  }, options: ManagedAgentCommandOptions & {
179
201
  requestId: string;
180
202
  }): Promise<ManagedApprovalChangeResult>;
@@ -188,6 +210,7 @@ export interface ManagedAgentProvider {
188
210
  };
189
211
  readonly workspaceBinding?: {
190
212
  readonly agentId: string;
213
+ readonly registration?: ManagedWorkspaceRegistration;
191
214
  /** Host-published model-specific AgentDefinitions available for new Sessions. */
192
215
  readonly modelPresets?: readonly {
193
216
  agentId: string;
@@ -202,18 +225,26 @@ export interface ManagedAgentProvider {
202
225
  nextCursor?: string;
203
226
  supported: boolean;
204
227
  canCreateWorkspace?: boolean;
228
+ canSelectDirectory?: boolean;
205
229
  supportsApprovalModeSelection?: boolean;
206
230
  }>;
207
231
  get(workspaceId: string, options: ManagedAgentRequestOptions): Promise<ManagedAgentWorkspace>;
208
232
  createWorkspace?(request: {
209
233
  displayName: string;
234
+ sourceWorkspaceId?: string;
235
+ cwdRelative?: string;
210
236
  }, options: ManagedAgentCommandOptions): Promise<ManagedAgentWorkspace>;
237
+ directories?(request: {
238
+ workspaceId: string;
239
+ cwdRelative: string;
240
+ }, options: ManagedAgentRequestOptions): Promise<components['schemas']['WebShellWorkspaceDirectoryPage']>;
211
241
  getSessionOptions?(agentId: string, options: ManagedAgentRequestOptions): Promise<ManagedSessionOptions>;
212
242
  createEmpty(request: {
213
243
  agentId: string;
214
244
  workspaceId: string;
215
245
  cwdRelative: string;
216
246
  approvalMode?: ManagedApprovalMode;
247
+ planMode?: boolean;
217
248
  }, options: ManagedAgentCommandOptions): Promise<{
218
249
  sessionId: string;
219
250
  }>;
@@ -222,7 +253,9 @@ export interface ManagedAgentProvider {
222
253
  workspaceId: string;
223
254
  cwdRelative: string;
224
255
  text: string;
256
+ input?: ManagedInputBlock[];
225
257
  approvalMode?: ManagedApprovalMode;
258
+ planMode?: boolean;
226
259
  }, options: ManagedAgentCommandOptions): Promise<{
227
260
  sessionId: string;
228
261
  }>;
@@ -243,9 +276,11 @@ export interface ManagedAgentProvider {
243
276
  createSession(request: {
244
277
  text: string;
245
278
  workspaceCwd?: string;
279
+ input?: ManagedInputBlock[];
246
280
  }, options: ManagedAgentCommandOptions): Promise<ManagedAgentTurnAdmission>;
247
281
  submitPrompt(sessionId: string, request: {
248
282
  text: string;
283
+ input?: ManagedInputBlock[];
249
284
  }, options: ManagedAgentCommandOptions): Promise<ManagedAgentTurnAdmission>;
250
285
  cancel(sessionId: string, turnId: string, options: ManagedAgentCommandOptions): Promise<void>;
251
286
  subscribeEvents(sessionId: string, options: ManagedAgentRequestOptions & {
@@ -270,4 +305,6 @@ export interface ManagedAgentWorkspace {
270
305
  displayName: string;
271
306
  state: string;
272
307
  canCreateSession: boolean;
308
+ defaultCwdRelative?: string;
309
+ canSelectDirectory?: boolean;
273
310
  }
@@ -0,0 +1,7 @@
1
+ import type { PromptFile, PromptImage } from '../../adapters/promptTypes';
2
+ import type { ManagedInputBlock } from './managed-agent-provider';
3
+ import type { EditorHandle } from '../../hooks/useComposerCore';
4
+ export declare function isManagedInput(value: unknown): value is ManagedInputBlock[];
5
+ export declare function encodeManagedInput(text: string, images?: readonly PromptImage[], files?: readonly PromptFile[]): Promise<ManagedInputBlock[]>;
6
+ export declare function managedInputText(input: readonly ManagedInputBlock[]): string;
7
+ export declare function restoreManagedAttachments(editor: EditorHandle | null, input?: readonly ManagedInputBlock[]): void;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const WORKSPACE_REGISTRATION_MESSAGES_EN: Record<string, string>;
7
+ export declare const WORKSPACE_REGISTRATION_MESSAGES_ZH: Record<string, string>;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const WORKSPACE_REGISTRATION_MESSAGES_EN: {};
7
+ export declare const WORKSPACE_REGISTRATION_MESSAGES_ZH: {};
@@ -5,6 +5,7 @@ interface ApprovalIntent {
5
5
  expectedRevision: number;
6
6
  idempotencyKey: string;
7
7
  requestId: string;
8
+ planMode?: boolean;
8
9
  }
9
10
  export declare function useManagedApprovalChange(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined, summary: ManagedAgentSessionSummary | undefined, refreshSummary: (signal?: AbortSignal) => Promise<ManagedAgentSessionSummary | undefined>, interactive: boolean): {
10
11
  options: ManagedSessionApproval | undefined;
@@ -12,7 +13,7 @@ export declare function useManagedApprovalChange(provider: ManagedAgentProvider,
12
13
  optionsError: boolean;
13
14
  supported: boolean;
14
15
  blocked: boolean;
15
- submit: (approvalMode: ManagedApprovalMode) => Promise<true | undefined>;
16
+ submit: (approvalMode: ManagedApprovalMode, planMode?: boolean) => Promise<true | undefined>;
16
17
  confirm: () => Promise<true | undefined>;
17
18
  reloadOptions: () => void;
18
19
  isBlocked: () => boolean;
@@ -0,0 +1,12 @@
1
+ import type { ManagedAgentProvider } from './managed-agent-provider';
2
+ export declare function useManagedSkills(provider: ManagedAgentProvider, clientId: string, sessionId: string | undefined): {
3
+ supported: boolean;
4
+ skills: {
5
+ name: string;
6
+ description: string;
7
+ }[];
8
+ loading: boolean;
9
+ loaded: boolean;
10
+ error: boolean;
11
+ onOpenChange: import("react").Dispatch<import("react").SetStateAction<boolean>>;
12
+ };
@@ -9,6 +9,7 @@ export declare function useManagedTasks(provider: ManagedAgentProvider, clientId
9
9
  task: {
10
10
  taskId: string;
11
11
  sessionId: string;
12
+ childSessionId?: string;
12
13
  kind: import("./generated/managed-agent-api").components["schemas"]["TaskKind"];
13
14
  state: import("./generated/managed-agent-api").components["schemas"]["TaskState"];
14
15
  definitionRevision?: number;
@@ -1,3 +1,4 @@
1
+ import type { WebShellApprovalMode } from './utils/planMode';
1
2
  import type { ArtifactFilter } from './components/artifacts/TurnOutputs';
2
3
  import { type CSSProperties, type ComponentType, type ReactNode } from 'react';
3
4
  import type { Components, Options } from 'react-markdown';
@@ -512,6 +513,7 @@ export type FooterRenderer = ComponentType<WebShellFooterRenderInfo>;
512
513
  */
513
514
  export type LoadingPhrasesResolver = (language: string) => readonly string[] | undefined | null;
514
515
  export interface WebShellCustomization {
516
+ allowedApprovalModes?: readonly WebShellApprovalMode[];
515
517
  filterArtifact?: ArtifactFilter;
516
518
  artifact?: WebShellArtifactCustomization;
517
519
  /** Host-specific label for the Ask User Question free-text choice. */
@@ -0,0 +1,2 @@
1
+ import { type WebShellApprovalMode } from '../utils/planMode';
2
+ export declare function useApprovalModes(cwd: string | undefined, allowedApprovalModes: readonly WebShellApprovalMode[] | undefined): readonly WebShellApprovalMode[];
@@ -10,8 +10,4 @@ export declare function useInputHistory(storageKey?: string, fallbackStorageKey?
10
10
  getReverseMatches: (query: string) => string[];
11
11
  getLastEntry: (filter?: (entry: string) => boolean) => string | null;
12
12
  resetSearch: () => void;
13
- nav: {
14
- canUp: boolean;
15
- canDown: boolean;
16
- };
17
13
  };
@@ -6,12 +6,13 @@ import { type WebShellBrowserNotificationsOptions } from './browser-turn-notific
6
6
  export { WebShellTranscript } from './components/WebShellTranscript';
7
7
  export type { WebShellTranscriptProps } from './components/WebShellTranscript';
8
8
  export * from './daemon-react-sdk';
9
+ export type { WebShellApprovalMode } from './utils/planMode';
9
10
  export type { WebShellBrowserNotificationsOptions } from './browser-turn-notifications';
10
11
  export { JavaManagedAgentClient, JavaManagedAgentHttpError, type JavaAgentCommandAdmission, type JavaAgentEnvironment, type JavaAgentEvent, type JavaAgentSession, type JavaAgentTranscript, type JavaAgentTurn, type JavaManagedAgentClientOptions, } from './components/managed/java-managed-agent-client';
11
12
  export { createJavaManagedAgentProvider, type JavaManagedAgentProviderOptions, } from './components/managed/java-managed-agent-provider';
12
13
  export { ManagedAgentWebShell, type ManagedAgentWebShellProps, } from './ManagedAgentWebShell';
13
14
  export type { ManagedArtifact, ManagedArtifactPage, ManagedArtifactResponse, ManagedArtifactSave, ManagedToolResult, ManagedToolResultReader, ManagedToolResultResponse, } from './components/managed/managed-tool-result-types';
14
- export { type ManagedAgentCommandOptions, type ManagedAgentPendingAction, type ManagedAgentProvider, type ManagedAgentRequestOptions, type ManagedAgentRuntimeState, type ManagedAgentSessionEvent, type ManagedAgentSessionEventType, type ManagedAgentSessionPhase, type ManagedAgentSessionSummary, type ManagedAgentSessionTranscript, type ManagedAgentTurnAdmission, } from './components/managed/managed-agent-provider';
15
+ export { type ManagedAgentCommandOptions, type ManagedAgentPendingAction, type ManagedAgentProvider, type ManagedAgentRequestOptions, type ManagedAgentRuntimeState, type ManagedAgentSessionEvent, type ManagedAgentSessionEventType, type ManagedAgentSessionPhase, type ManagedAgentSessionSummary, type ManagedAgentSessionTranscript, type ManagedAgentTurnAdmission, type ManagedRuntimeNode, type ManagedWorkspaceDirectory, type ManagedWorkspaceCreateOperation, type ManagedWorkspaceRegistration, } from './components/managed/managed-agent-provider';
15
16
  export interface WebShellWithProvidersProps extends WebShellProps {
16
17
  /**
17
18
  * Opt in to URL routing. Explicit initial session target props override the
@@ -1,4 +1,8 @@
1
- export declare const EXECUTION_APPROVAL_MODES: ("default" | "auto-edit" | "yolo" | "auto")[];
1
+ import { DAEMON_APPROVAL_MODES } from '@qwen-code/web-shell/daemon-react-sdk';
2
+ export type WebShellApprovalMode = Exclude<(typeof DAEMON_APPROVAL_MODES)[number], 'plan'>;
3
+ export declare const EXECUTION_APPROVAL_MODES: ("auto" | "default" | "auto-edit" | "yolo")[];
4
+ export declare function resolveApprovalModes(value: unknown): readonly WebShellApprovalMode[];
5
+ export declare function nextApprovalMode(available: readonly WebShellApprovalMode[], current: string): WebShellApprovalMode | undefined;
2
6
  export declare function parsePlanCommand(args: string, enabled: boolean): {
3
7
  enabled: boolean;
4
8
  prompt?: string;
@@ -4,6 +4,8 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import type { DaemonCapabilities, DaemonClient, DaemonSettingUpdateResult, DaemonWorkspaceCapability, DaemonWorkspaceSettingsStatus, DaemonWorkspaceVoiceStatus } from '@qwen-code/sdk/daemon';
7
+ export declare const QUALIFIED_CORE_FEATURE = "workspace_qualified_rest_core";
8
+ export declare const WORKSPACE_SETTINGS_FEATURE = "workspace_settings";
7
9
  interface VoiceTargetBase {
8
10
  cwd?: string;
9
11
  workspaceKey: string;