@qwen-code/web-shell 0.25.2-preview.0 → 0.25.2-preview.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 (30) hide show
  1. package/README.md +18 -5
  2. package/dist/{PierreFilePreview-NBjy3yqe.js → PierreFilePreview-Ctb1tsDd.js} +1 -1
  3. package/dist/{SpreadsheetPreview-BlorwcU1.js → SpreadsheetPreview-D-v9WPl_.js} +2 -2
  4. package/dist/{WorkspaceFileBrowser-B5lzmIet.js → WorkspaceFileBrowser-ChMwviRm.js} +3521 -3402
  5. package/dist/{agents-route-DG5XKI_W.js → agents-route-C_2yzkr2.js} +2 -2
  6. package/dist/daemon-react-sdk.js +1 -1
  7. package/dist/{index-TQMx4ZTn.js → index-CAf7sm7W.js} +40722 -40392
  8. package/dist/index.js +7 -7
  9. package/dist/sw.js +1 -1
  10. package/dist/transcript.js +6658 -6622
  11. package/dist/types/App.d.ts +6 -4
  12. package/dist/types/components/ChatContextHeader.d.ts +8 -3
  13. package/dist/types/components/artifacts/files-messages.d.ts +2 -0
  14. package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +2 -1
  15. package/dist/types/components/managed/generated/managed-agent-api.d.ts +5 -4
  16. package/dist/types/components/messages/TasksStatusMessage.d.ts +2 -1
  17. package/dist/types/components/messages/WorkflowExecutionView.d.ts +3 -1
  18. package/dist/types/components/messages/workflow-agent-details.d.ts +3 -0
  19. package/dist/types/components/messages/workflow-agent-details.transcript-stub.d.ts +1 -0
  20. package/dist/types/components/workflows/WorkflowRunsPage.d.ts +3 -1
  21. package/dist/types/customization.d.ts +6 -4
  22. package/dist/types/daemon/session/types.d.ts +4 -1
  23. package/dist/types/hooks/useMcpAppMessages.d.ts +22 -0
  24. package/dist/types/mcp-app/messages.d.ts +7 -0
  25. package/dist/types/mcp-app/messages.transcript-stub.d.ts +7 -0
  26. package/dist/types/mcpAppHostContext.d.ts +13 -0
  27. package/dist/types/subagentDetailsContext.d.ts +1 -1
  28. package/dist/types/utils/promptAdmission.d.ts +4 -0
  29. package/dist/{useDaemonMidTurnInjected-DP58ZvKF.js → useDaemonMidTurnInjected-ClQx7vwI.js} +2461 -2404
  30. package/package.json +1 -1
@@ -287,8 +287,8 @@ export interface WebShellProps {
287
287
  /** Built-in @ mention providers to enable. Defaults to all built-ins. */
288
288
  builtinAtProviders?: WebShellBuiltinAtProvidersConfig;
289
289
  /**
290
- * Controls whether the composer's file-upload entry points (drag-and-drop
291
- * and the @ panel upload item) are enabled. Does not disable attachments.
290
+ * Controls composer uploads (drag-and-drop and the @ panel upload item)
291
+ * and Files tree drag-and-drop uploads. Does not disable attachments.
292
292
  * Works alongside the daemon's
293
293
  * `workspace_file_upload` capability, not instead of it: `false` force-
294
294
  * disables upload even when the daemon advertises the capability, while
@@ -300,13 +300,14 @@ export interface WebShellProps {
300
300
  */
301
301
  fileDropAction?: 'upload' | 'attach';
302
302
  /**
303
- * Directory that drag-and-dropped files upload into, **relative to the
303
+ * Directory that composer-dropped files upload into, **relative to the
304
304
  * workspace root**. Use a relative path WITHOUT a leading `/` — e.g.
305
305
  * `'uploads'`, `'uploads/images'`, or omit it to upload into the
306
306
  * workspace root (the default). A leading-slash path like `'/uploads'`
307
307
  * is rejected by the daemon as outside the workspace. The directory
308
308
  * (including intermediate components) is created automatically on upload
309
- * when it does not exist.
309
+ * when it does not exist. Files tree drops use the explicit tree destination
310
+ * instead of this setting.
310
311
  */
311
312
  fileUploadDirectory?: string;
312
313
  /** Additional @ mention categories shown alongside built-in files/extensions. */
@@ -423,6 +424,7 @@ export interface WebShellProps {
423
424
  onSubmitBefore?: (params: {
424
425
  sessionId: string | undefined;
425
426
  prompt: string;
427
+ source?: 'mcp-app';
426
428
  }) => Promise<void>;
427
429
  }
428
430
  interface AppProps extends WebShellProps {
@@ -6,12 +6,17 @@ interface ChatContextHeaderProps {
6
6
  /**
7
7
  * Workspace shown as the header's leading icon. Omitting it means the shell
8
8
  * has no workspace: the icon stays the same folder and only its tooltip says
9
- * so, because the icon is the one place that always answers "which workspace
10
- * is this session in?".
9
+ * so. In a session this icon always reports the workspace; the empty-state
10
+ * header can defer to a visible composer workspace selector.
11
11
  */
12
12
  workspaceName?: string;
13
13
  /** Full workspace path, shown as the leading icon's hover tooltip. */
14
14
  workspacePath?: string;
15
+ /**
16
+ * Hides the leading workspace icon when the new-task composer's workspace
17
+ * selector is visible and already names the workspace.
18
+ */
19
+ hideWorkspaceIcon?: boolean;
15
20
  environmentOpen: boolean;
16
21
  environmentAvailable: boolean;
17
22
  /** Whether the panel holds an in-progress subagent or background task. */
@@ -27,5 +32,5 @@ interface ChatContextHeaderProps {
27
32
  /** Shows the Local Control QR entry; hidden when omitted. */
28
33
  onOpenLocalControlSettings?: () => void;
29
34
  }
30
- export declare function ChatContextHeader({ content, location, workspaceName, workspacePath, environmentOpen, environmentAvailable, environmentRunning, rightPanelOpen, rightPanelAvailable, onToggleEnvironment, onToggleRightPanel, onOpenTokenUsage, onOpenContextUsage, onOpenLocalControlSettings, }: ChatContextHeaderProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function ChatContextHeader({ content, location, workspaceName, workspacePath, hideWorkspaceIcon, environmentOpen, environmentAvailable, environmentRunning, rightPanelOpen, rightPanelAvailable, onToggleEnvironment, onToggleRightPanel, onOpenTokenUsage, onOpenContextUsage, onOpenLocalControlSettings, }: ChatContextHeaderProps): import("react/jsx-runtime").JSX.Element;
31
36
  export {};
@@ -3,6 +3,7 @@ export declare const FILES_MESSAGES_EN: {
3
3
  'files.copyAbsolutePath': string;
4
4
  'files.reference': string;
5
5
  'files.title': string;
6
+ 'files.uploadTo': string;
6
7
  'files.description': string;
7
8
  'files.filter': string;
8
9
  'files.noMatches': string;
@@ -20,6 +21,7 @@ export declare const FILES_MESSAGES_ZH: {
20
21
  'files.copyAbsolutePath': string;
21
22
  'files.reference': string;
22
23
  'files.title': string;
24
+ 'files.uploadTo': string;
23
25
  'files.description': string;
24
26
  'files.filter': string;
25
27
  'files.noMatches': string;
@@ -1,6 +1,7 @@
1
1
  import type { DaemonCapabilities } from '@qwen-code/sdk/daemon';
2
2
  import { type DaemonWorkspaceActions } from '@qwen-code/web-shell/daemon-react-sdk';
3
- export type ArtifactWorkspaceActions = Pick<DaemonWorkspaceActions, 'readWorkspaceFile' | 'readFileBytes' | 'stat' | 'listDirectory' | 'listScheduledTasks' | 'updateScheduledTask' | 'deleteScheduledTask'>;
3
+ import type { FileUploadClient } from '../../hooks/useFileUpload';
4
+ export type ArtifactWorkspaceActions = Pick<DaemonWorkspaceActions, 'readWorkspaceFile' | 'readFileBytes' | 'stat' | 'listDirectory' | 'listScheduledTasks' | 'updateScheduledTask' | 'deleteScheduledTask'> & Partial<FileUploadClient>;
4
5
  interface ArtifactWorkspaceOwner {
5
6
  cwd: string;
6
7
  id?: string;
@@ -57,7 +57,7 @@ export interface paths {
57
57
  };
58
58
  get?: never;
59
59
  put?: never;
60
- /** @description POST SSE consumed through fetch response.body. An afterSequence below the replay floor ends the stream with one agent.session.resync_required frame instead of a 409 only while the Snapshot backs the floor (replay_floor_sequence <= snapshot_through_sequence); a stream reconciliation discards the Snapshot without lowering the floor, and during that rebuild such a cursor is served from the retained events. On the resync frame, reload the transcript and resume after its lastSequence. */
60
+ /** @description POST SSE consumed through fetch response.body. An afterSequence strictly below the durable replay floor ends the stream with one agent.session.resync_required frame. Projection rebuilds preserve that floor and the current immutable Snapshot. On the resync frame, reload the transcript and resume after its lastSequence. */
61
61
  post: operations["webShellStreamEvents"];
62
62
  delete?: never;
63
63
  options?: never;
@@ -404,7 +404,7 @@ export interface paths {
404
404
  };
405
405
  get?: never;
406
406
  put?: never;
407
- /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the current visible Session without repeating the mutation; a deleted Session returns 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
407
+ /** @description Synchronously restores an archived Session to closed. Workspace-bound Sessions require completed reliable-close evidence and the Session's recorded owner with current read access (404 unreadable, 403 readable non-owner). Bound keys are tenant/Session/actor scoped. Replay returns the recorded outcome without repeating the mutation; a replay after delete answers with the Session as last visible — its pre-delete status — rather than 404. The permanent close fence is preserved and no Harness or Runtime call is made. */
408
408
  post: operations["unarchiveWebShellSession"];
409
409
  delete?: never;
410
410
  options?: never;
@@ -474,6 +474,7 @@ export interface components {
474
474
  agentId: string;
475
475
  /** @description Planned; phase one rejects non-blank values. */
476
476
  environmentId?: string | null;
477
+ /** @description The server enforces the bound in UTF-16 code units (Java String.length()), so an astral character counts as two: a title this schema's code-point maxLength accepts can still exceed the server's 256-unit bound and answer 400 invalid_title. */
477
478
  title?: string | null;
478
479
  /** @description Each block adds to a 4,000,000-character aggregate admission budget per command (per-block 1,000,000-character cap applies). Admission ceiling only: a command whose serialized prompt or durable Session-store record exceeds the Hosted Harness's 64 KiB durable-record limit is accepted and then fails the Turn with hosted_harness_rejected. */
479
480
  input?: components["schemas"]["InputBlock"][];
@@ -921,7 +922,7 @@ export interface components {
921
922
  */
922
923
  TaskRuntimeState: "unbound" | "provisioning" | "ready" | "draining" | "lost";
923
924
  /**
924
- * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40, child_agent tasks in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
925
+ * @description Actions the task supports now, the same for every caller. cancel: the cancel route accepts a new command for this task (since 1.40 for child_agent and 1.46 for workflow, tasks of those kinds in pending, running, waiting or degraded, in an active Session); whether a caller may use it is an authorization check (403 on the cancel route). send_input: reserved for a later capability route. read_output: the task events route returns output events for this task to any caller that can read it. read_output does not change during the task's life, and a task without it produces no output events: its output goes only to Artifacts, so the events route never filters out events that exist.
925
926
  * @enum {string}
926
927
  */
927
928
  TaskActionCapability: "cancel" | "send_input" | "read_output";
@@ -1174,7 +1175,7 @@ export interface components {
1174
1175
  parameters: never;
1175
1176
  requestBodies: never;
1176
1177
  headers: {
1177
- /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the current visible Session; operation responses represent the original operation at its current state. */
1178
+ /** @description True when an accepted command or operation was replayed for the same idempotency key and digest without repeating its mutation. Session mutation responses represent the recorded outcome on the Session as last visible — a rename or unarchive replay after delete answers with the Session's pre-delete status rather than 404, while a create replay after delete answers 404 on the public create route, which re-reads the Session before responding, and answers the recorded 202 admission carrying the tombstoned sessionId on the WebShell create route, which does not re-read it; operation responses represent the original operation at its current state. */
1178
1179
  IdempotentReplay: boolean;
1179
1180
  /** @description Trace-only correlation identifier; never an idempotency key. */
1180
1181
  RequestId: string;
@@ -1,6 +1,7 @@
1
1
  import type { DaemonSessionMonitorTaskStatus, DaemonSessionShellTaskStatus, DaemonSessionWorkflowTasksStatus } from '@qwen-code/sdk/daemon';
2
2
  import { type DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
3
3
  import type { ACPToolCall, TodoItem } from '../../adapters/types';
4
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
4
5
  declare const ACTIVE_EVENT = "web-shell:tasks-panel-active";
5
6
  type DaemonSessionTasksStatus = DaemonSessionWorkflowTasksStatus;
6
7
  export interface SerializedTasksMessage {
@@ -24,7 +25,7 @@ export declare function TasksStatusMessage({ message, embedded, manageActiveEven
24
25
  onClose?: () => void;
25
26
  planTodos?: readonly TodoItem[];
26
27
  agentTools?: readonly ACPToolCall[];
27
- onOpenSubagent?: (tool: ACPToolCall) => void;
28
+ onOpenSubagent?: OpenSubagentDetails;
28
29
  onOpenMonitor?: (task: DaemonSessionMonitorTaskStatus) => void;
29
30
  }): import("react/jsx-runtime").JSX.Element | null;
30
31
  export declare function MonitorTaskDetail({ task, actions: providedActions, }: {
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import type { DaemonSessionWorkflowTaskStatus, DaemonWorkflowDispatchStatus, DaemonWorkflowDispatchStatusEntry } from '@qwen-code/sdk/daemon';
3
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
3
4
  export declare const WORKFLOW_GRAPH_RENDER_LIMITS: {
4
5
  readonly lanes: 64;
5
6
  readonly nodes: 240;
@@ -36,7 +37,7 @@ export interface WorkflowGraphLayout {
36
37
  export declare function buildWorkflowGraphLayout(task: DaemonSessionWorkflowTaskStatus, options?: {
37
38
  laneWidth?: number;
38
39
  }): WorkflowGraphLayout;
39
- export declare function WorkflowExecutionView({ task, sourceTask, historyTasks, historyActionBusy, onDeleteHistory, actions, }: {
40
+ export declare function WorkflowExecutionView({ task, sourceTask, historyTasks, historyActionBusy, onDeleteHistory, actions, onOpenSubagent, }: {
40
41
  task: DaemonSessionWorkflowTaskStatus;
41
42
  sourceTask?: DaemonSessionWorkflowTaskStatus;
42
43
  historyTasks?: readonly DaemonSessionWorkflowTaskStatus[];
@@ -44,5 +45,6 @@ export declare function WorkflowExecutionView({ task, sourceTask, historyTasks,
44
45
  onDeleteHistory?: (runId: string) => void;
45
46
  /** Run controls (pause / stop / rerun …) shown at the end of the metrics strip. */
46
47
  actions?: ReactNode;
48
+ onOpenSubagent?: OpenSubagentDetails;
47
49
  }): import("react/jsx-runtime").JSX.Element;
48
50
  export {};
@@ -0,0 +1,3 @@
1
+ import type { DaemonSessionWorkflowTaskStatus, DaemonWorkflowDispatchStatusEntry } from '@qwen-code/sdk/daemon';
2
+ import { type OpenSubagentDetails } from '../../subagentDetailsContext';
3
+ export declare function useWorkflowAgentDetails(task: DaemonSessionWorkflowTaskStatus, onOpenSubagent?: OpenSubagentDetails): (dispatch: DaemonWorkflowDispatchStatusEntry) => void;
@@ -0,0 +1 @@
1
+ export declare function useWorkflowAgentDetails(): () => void;
@@ -1,6 +1,8 @@
1
+ import type { OpenSubagentDetails } from '../../subagentDetailsContext';
1
2
  interface WorkflowRunsPageProps {
2
3
  onCreateViaChat: () => void;
3
4
  onWorkflowRunStarted?: () => void;
5
+ onOpenSubagent?: OpenSubagentDetails;
4
6
  }
5
- export declare function WorkflowRunsPage({ onCreateViaChat, onWorkflowRunStarted, }: WorkflowRunsPageProps): import("react/jsx-runtime").JSX.Element;
7
+ export declare function WorkflowRunsPage({ onCreateViaChat, onWorkflowRunStarted, onOpenSubagent, }: WorkflowRunsPageProps): import("react/jsx-runtime").JSX.Element;
6
8
  export {};
@@ -205,6 +205,7 @@ export interface WebShellSubmitSnapshot {
205
205
  sessionId?: string;
206
206
  prompt: string;
207
207
  inputAnnotations: readonly DaemonInputAnnotation[];
208
+ source?: 'mcp-app';
208
209
  }
209
210
  export type UserMessageContentRenderer = (info: UserMessageContentRenderInfo) => ReactNode;
210
211
  export interface WebShellBottomStatusItem {
@@ -557,8 +558,8 @@ export interface WebShellCustomization {
557
558
  markdown?: WebShellMarkdownCustomization;
558
559
  loadingPhrases?: LoadingPhrasesResolver;
559
560
  /**
560
- * Controls whether the composer's file-upload entry points (drag-and-drop
561
- * and the @ panel upload item) are enabled. Does not disable attachments.
561
+ * Controls composer uploads (drag-and-drop and the @ panel upload item)
562
+ * and Files tree drag-and-drop uploads. Does not disable attachments.
562
563
  * Works alongside the daemon's
563
564
  * `workspace_file_upload` capability, not instead of it: setting `false`
564
565
  * force-disables upload even when the daemon advertises the capability,
@@ -571,13 +572,14 @@ export interface WebShellCustomization {
571
572
  */
572
573
  fileDropAction?: 'upload' | 'attach';
573
574
  /**
574
- * Directory that drag-and-dropped files upload into, **relative to the
575
+ * Directory that composer-dropped files upload into, **relative to the
575
576
  * workspace root**. Use a relative path WITHOUT a leading `/` — e.g.
576
577
  * `'uploads'`, `'uploads/images'`, or omit it to upload into the
577
578
  * workspace root (the default). A leading-slash path like `'/uploads'`
578
579
  * is rejected by the daemon as outside the workspace. The directory
579
580
  * (including intermediate components) is created automatically on upload
580
- * when it does not exist.
581
+ * when it does not exist. Files tree drops use the explicit tree destination
582
+ * instead of this setting.
581
583
  */
582
584
  fileUploadDirectory?: string;
583
585
  }
@@ -266,6 +266,7 @@ export interface DaemonCommandInfo {
266
266
  export interface SendPromptOptions {
267
267
  /** Original text declared at the user submission boundary, before host preparation. */
268
268
  submittedPrompt?: string;
269
+ source?: 'mcp-app';
269
270
  optimisticUserMessage?: boolean;
270
271
  images?: DaemonPromptImage[];
271
272
  files?: DaemonPromptFile[];
@@ -278,6 +279,8 @@ export interface SendPromptOptions {
278
279
  retry?: boolean;
279
280
  /** Fired after local validation, immediately before dispatch to the daemon. */
280
281
  onAdmissionStarted?: () => void;
282
+ /** Revalidates the caller before every HTTP attempt, including client recovery. */
283
+ beforeDispatch?: (clientId: string | undefined) => void;
281
284
  /**
282
285
  * Fired once the daemon has ACCEPTED the prompt (admission), before the turn
283
286
  * runs to completion. Lets a caller act on "the prompt reached the session"
@@ -290,7 +293,7 @@ export interface SendPromptOptions {
290
293
  promptId: string;
291
294
  }) => void;
292
295
  }
293
- export interface SubmitPromptOptions extends SendPromptOptions {
296
+ export interface SubmitPromptOptions extends Omit<SendPromptOptions, 'beforeDispatch' | 'source'> {
294
297
  sessionId?: string;
295
298
  signal?: AbortSignal;
296
299
  }
@@ -0,0 +1,22 @@
1
+ import type { McpAppMessages } from '../mcpAppHostContext';
2
+ import type { DaemonSessionOwnerSnapshot } from '../daemon/session/types';
3
+ export interface McpAppPromptSubmission {
4
+ signal: AbortSignal;
5
+ isCurrent(): boolean;
6
+ onDispatched(): void;
7
+ onAdmitted(admission: {
8
+ promptId: string;
9
+ }): void;
10
+ }
11
+ interface MessageHost {
12
+ enabled: boolean;
13
+ sessionId?: string;
14
+ clientId?: string;
15
+ captureOwner(): DaemonSessionOwnerSnapshot;
16
+ submit(text: string, options: McpAppPromptSubmission): Promise<unknown>;
17
+ }
18
+ export declare function useMcpAppMessages(host: MessageHost): {
19
+ context: McpAppMessages | undefined;
20
+ review: import("react/jsx-runtime").JSX.Element | null;
21
+ };
22
+ export {};
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const MCP_APP_MESSAGES_EN: Record<string, string>;
7
+ export declare const MCP_APP_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 MCP_APP_MESSAGES_EN: {};
7
+ export declare const MCP_APP_MESSAGES_ZH: {};
@@ -2,6 +2,19 @@ import type { DaemonMcpAppToolCall, DaemonMcpAppToolResult } from '@qwen-code/sd
2
2
  export declare const McpAppHostContext: import("react").Context<string | undefined>;
3
3
  export type McpAppToolCallRequest = DaemonMcpAppToolCall;
4
4
  export declare const McpAppSessionContext: import("react").Context<string | undefined>;
5
+ export interface McpAppMessageRequest {
6
+ serverName: string;
7
+ resourceUri: string;
8
+ text: string;
9
+ signal: AbortSignal;
10
+ }
11
+ export interface McpAppMessages {
12
+ sessionId: string;
13
+ requestMessage(request: McpAppMessageRequest): Promise<{
14
+ isError?: boolean;
15
+ }>;
16
+ }
17
+ export declare const McpAppMessagesContext: import("react").Context<McpAppMessages | undefined>;
5
18
  export declare const McpAppToolsContext: import("react").Context<{
6
19
  sessionId: string;
7
20
  callTool: (request: McpAppToolCallRequest, signal: AbortSignal) => Promise<DaemonMcpAppToolResult>;
@@ -1,7 +1,7 @@
1
1
  import type { DaemonBackgroundTurn } from '@qwen-code/sdk/daemon';
2
2
  import { type ReactNode } from 'react';
3
3
  import type { ACPToolCall } from './adapters/types';
4
- export type OpenSubagentDetails = (tool: ACPToolCall) => void;
4
+ export type OpenSubagentDetails = (tool: ACPToolCall, parentSessionId?: string) => void;
5
5
  interface SubagentDetailsContextValue {
6
6
  onOpen: OpenSubagentDetails;
7
7
  onOpenBackground?: (turn: DaemonBackgroundTurn) => void;
@@ -1 +1,5 @@
1
+ export declare class PromptDispatchCancelledError extends Error {
2
+ name: string;
3
+ }
4
+ export declare function isMcpAppPromptAdmissionRejected(error: unknown): boolean;
1
5
  export declare function isDefinitelyRejectedPromptAdmission(error: unknown): boolean;