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

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 (69) hide show
  1. package/NOTICES.txt +1240 -0
  2. package/README.md +73 -27
  3. package/dist/{PierreFilePreview-DAD1C1oX.js → PierreFilePreview-vbxsbBX2.js} +1 -1
  4. package/dist/{SpreadsheetPreview-DShn9rcb.js → SpreadsheetPreview-yFPFfgME.js} +2 -2
  5. package/dist/{WorkspaceFileBrowser-zWgE76sn.js → WorkspaceFileBrowser-DGQbVeSD.js} +656 -656
  6. package/dist/{agents-route-CYSCpPDR.js → agents-route-D6wGe0cs.js} +2 -2
  7. package/dist/daemon-react-sdk.js +1 -1
  8. package/dist/docx-preview-BucJeYCm.js +5570 -0
  9. package/dist/{index-CWxIoEi_.js → index-ChD_Ub2E.js} +59450 -56243
  10. package/dist/index.js +3 -3
  11. package/dist/sw.js +1 -1
  12. package/dist/transcript.js +11721 -11050
  13. package/dist/types/App.d.ts +7 -2
  14. package/dist/types/adapters/messageTypes.d.ts +3 -0
  15. package/dist/types/adapters/transcriptToMessages.d.ts +3 -1
  16. package/dist/types/components/ChatEditor.d.ts +5 -0
  17. package/dist/types/components/MessageDeletionToolbar.d.ts +4 -0
  18. package/dist/types/components/MessageItem.d.ts +2 -0
  19. package/dist/types/components/MessageList.d.ts +2 -0
  20. package/dist/types/components/MessageTimestamp.d.ts +5 -2
  21. package/dist/types/components/ModelRefreshControl.d.ts +5 -0
  22. package/dist/types/components/artifacts/CodeReviewArtifactDetail.d.ts +5 -0
  23. package/dist/types/components/artifacts/DocxPreview.d.ts +8 -0
  24. package/dist/types/components/artifacts/TrajectoryExecutions.d.ts +9 -1
  25. package/dist/types/components/artifacts/TrajectoryInspector.d.ts +2 -1
  26. package/dist/types/components/artifacts/artifactUtils.d.ts +7 -0
  27. package/dist/types/components/artifacts/token-usage-messages.d.ts +9 -0
  28. package/dist/types/components/artifacts/token-usage-messages.transcript-stub.d.ts +7 -0
  29. package/dist/types/components/channels/channel-platform.d.ts +1 -1
  30. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +3 -1
  31. package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +3 -1
  32. package/dist/types/components/dialogs/ModelDialog.d.ts +3 -1
  33. package/dist/types/components/managed/RemoteWorkspaceRegistration.d.ts +9 -0
  34. package/dist/types/components/managed/generated/managed-agent-api.d.ts +692 -19
  35. package/dist/types/components/managed/java-managed-agent-client.d.ts +42 -0
  36. package/dist/types/components/managed/managed-agent-provider.d.ts +44 -0
  37. package/dist/types/components/managed/managed-input.d.ts +7 -0
  38. package/dist/types/components/managed/managed-pending-storage.d.ts +2 -0
  39. package/dist/types/components/managed/managed-session-messages.d.ts +1 -0
  40. package/dist/types/components/managed/managed-workspace-messages.d.ts +7 -0
  41. package/dist/types/components/managed/managed-workspace-messages.transcript-stub.d.ts +7 -0
  42. package/dist/types/components/managed/use-managed-approval-change.d.ts +2 -1
  43. package/dist/types/components/managed/use-managed-file-references.d.ts +19 -0
  44. package/dist/types/components/managed/use-managed-skills.d.ts +12 -0
  45. package/dist/types/components/managed/use-managed-tasks.d.ts +1 -0
  46. package/dist/types/components/message-deletion-messages.d.ts +7 -0
  47. package/dist/types/components/message-deletion-messages.transcript-stub.d.ts +7 -0
  48. package/dist/types/components/messages/TasksStatusMessage.d.ts +6 -0
  49. package/dist/types/components/messages/toolFormatting.d.ts +1 -0
  50. package/dist/types/components/messages/tools/ToolDetailsContext.d.ts +13 -0
  51. package/dist/types/customization.d.ts +4 -1
  52. package/dist/types/daemon/session/actions.d.ts +10 -2
  53. package/dist/types/daemon/session/types.d.ts +6 -1
  54. package/dist/types/hooks/useApprovalModes.d.ts +2 -0
  55. package/dist/types/hooks/useAtMentionSources.d.ts +5 -0
  56. package/dist/types/hooks/useComposerCore.d.ts +2 -0
  57. package/dist/types/hooks/useInputHistory.d.ts +0 -4
  58. package/dist/types/hooks/useMessageDeletion.d.ts +33 -0
  59. package/dist/types/hooks/useModelRefresh.d.ts +6 -0
  60. package/dist/types/index.d.ts +2 -1
  61. package/dist/types/transcript.d.ts +2 -2
  62. package/dist/types/utils/composerTag.d.ts +1 -0
  63. package/dist/types/utils/dom.d.ts +1 -0
  64. package/dist/types/utils/message-deletion.d.ts +20 -0
  65. package/dist/types/utils/planMode.d.ts +4 -0
  66. package/dist/types/utils/plural.d.ts +7 -0
  67. package/dist/types/voice/voice-workspace-target.d.ts +2 -0
  68. package/dist/{useDaemonMidTurnInjected-Cf5L3VKm.js → useDaemonMidTurnInjected-CfhBFIym.js} +5788 -5298
  69. package/package.json +3 -1
@@ -6,6 +6,7 @@ import type { DaemonAgentTrace, DaemonSessionAgentTaskStatus, DaemonTranscriptBl
6
6
  import { type ComposerToolbarAction } from './components/ChatEditor';
7
7
  import { type ToastTone } from './components/ToastHost';
8
8
  import { type EnvironmentAgentTask } from './components/panels/EnvironmentPanel';
9
+ import { type WebShellApprovalMode } from './utils/planMode';
9
10
  import { type ModelDialogModel } from './components/dialogs/ModelDialog';
10
11
  import type { ManagedAgentProvider } from './components/managed/managed-agent-provider';
11
12
  import type { PaneHeaderActionsRenderer } from './components/ChatPane';
@@ -19,7 +20,7 @@ import { type ComposerPlaceholderState } from './utils/composerInputState';
19
20
  import type { CommandInfo, Message } from './adapters/types';
20
21
  import { type WebShellBrand, type WebShellResolvedBrand } from './brandContext';
21
22
  import { type WebShellTheme } from './themeContext';
22
- import { type WebShellAssistantFeedbackOptions, type WebShellComposerApi, type WebShellComposerInput, type WebShellMarkdownCustomization, type WebShellSourceIconResolver, type WebShellSourceReference, type ToolHeaderExtraRenderer, type UserMessageContentRenderer, type UserMessageContentParser, type AssistantTurnFooterRenderer, type WebShellArtifactCustomization, type WelcomeHeaderRenderer, type WelcomeFooterRenderer, type ComposerToolbarStartRenderer, type ComposerToolbarEndRenderer, type ComposerToolbarRightRenderer, type ComposerHeaderRenderer, type ComposerFooterRenderer, type ChatHeaderRenderer, type WebShellChatHeaderOptions, type WebShellRightPanelOptions, type WebShellEnvironmentPanelOptions, type FooterRenderer, type LoadingPhrasesResolver, type MarkdownTableMode, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig, type ComposerTagClickHandler, type ComposerTagRenderer, type WebShellComposerTagIconMap, type WebShellBottomStatusItem, type WebShellPreparedSubmit, type WebShellSubmitSnapshot, type WebShellAssistantTurnSettledEvent, type WebShellSessionArtifactsChange } from './customization';
23
+ import { type WebShellCustomization, type WebShellAssistantFeedbackOptions, type WebShellComposerApi, type WebShellComposerInput, type WebShellMarkdownCustomization, type WebShellSourceIconResolver, type WebShellSourceReference, type ToolHeaderExtraRenderer, type UserMessageContentRenderer, type UserMessageContentParser, type AssistantTurnFooterRenderer, type WebShellArtifactCustomization, type WelcomeHeaderRenderer, type WelcomeFooterRenderer, type ComposerToolbarStartRenderer, type ComposerToolbarEndRenderer, type ComposerToolbarRightRenderer, type ComposerHeaderRenderer, type ComposerFooterRenderer, type ChatHeaderRenderer, type WebShellChatHeaderOptions, type WebShellRightPanelOptions, type WebShellEnvironmentPanelOptions, type FooterRenderer, type LoadingPhrasesResolver, type MarkdownTableMode, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig, type ComposerTagClickHandler, type ComposerTagRenderer, type WebShellComposerTagIconMap, type WebShellBottomStatusItem, type WebShellPreparedSubmit, type WebShellSubmitSnapshot, type WebShellAssistantTurnSettledEvent, type WebShellSessionArtifactsChange } from './customization';
23
24
  import type { CommandDisplayCategoryOrder } from './utils/commandDisplay';
24
25
  export interface BugReportInfo {
25
26
  title: string;
@@ -97,6 +98,8 @@ export interface WebShellSlashCommand {
97
98
  }
98
99
  export type WebShellSlashCommandHandler = (command: WebShellSlashCommand) => boolean | void;
99
100
  export interface WebShellProps {
101
+ /** Refresh and persist the host catalog before Qwen reloads models. No return data is required. */
102
+ onRefreshModels?: WebShellCustomization['onRefreshModels'];
100
103
  /** Native settings-page presentation. Does not restrict commands or daemon access. */
101
104
  settings?: WebShellSettingsOptions;
102
105
  /** Model add/delete interactions across WebShell. Not a backend permission policy. */
@@ -210,6 +213,8 @@ export interface WebShellProps {
210
213
  * needs them. Plan must be explicitly included.
211
214
  */
212
215
  composerToolbarActions?: readonly ComposerToolbarAction[];
216
+ /** Execution mode choices. Overrides ui.allowedApprovalModes; [] offers none. Presentation only. */
217
+ allowedApprovalModes?: readonly WebShellApprovalMode[];
213
218
  /** Optionally filter main-model entries without changing shared defaults. */
214
219
  mainModelFilter?: (model: ModelDialogModel) => boolean;
215
220
  /** Stack completion details vertically for narrow embedded hosts. */
@@ -445,4 +450,4 @@ export declare function canArchiveSideTaskSummary(session: Pick<DaemonSessionSum
445
450
  export declare function mergeSideTaskCatalog(catalog: SideTaskCatalogState, parentSessionId: string, listedItems: SideTaskListItem[], optimisticIds: ReadonlySet<string>): SideTaskCatalogState;
446
451
  export declare function getEnvironmentAgentTasks(messages: readonly Message[], sessionTasks: readonly DaemonSessionTaskWithWorkflowStatus[]): EnvironmentAgentTask[];
447
452
  export declare function mergeAgentTrace(liveAgents: readonly EnvironmentAgentTask[], trace: DaemonAgentTrace | undefined, now?: number): EnvironmentAgentTask[];
448
- export declare function App({ askUserFreeTextLabel, onSessionIdChange, onSessionInfoChange, onSessionCreated, managedAgentProvider, theme: providedTheme, onThemeChange, onThemeResolved, language: providedLanguage, onLanguageChange, onLanguageResolved, brand: providedBrand, onBrandResolved, className: externalClassName, style: externalStyle, shadowDom, onConnectionChange, onStreamingStateChange, onError, onBugReport, hiddenSlashCommands, slashCommandCategoryOrder, onSlashCommand, builtinAtProviders, atProviders, composerTagIcons, fileUploadEnabled, fileUploadDirectory, artifact, fileDropAction, renderToolHeaderExtra, renderWelcomeHeader, renderWelcomeFooter, mobileWelcomeFooterMiddle, parseUserMessageContent, renderUserMessageContent, renderComposerTag, renderComposerTagTooltip, onComposerTagClick, renderAssistantTurnFooter, assistantFeedback, getAssistantSourcesIcon, sourceReferences, renderComposerToolbarStart, renderComposerToolbarEnd, renderComposerToolbarRight, renderComposerHeader, renderComposerFooter, renderChatHeader, renderFooter, bottomStatusItems, chatMaxWidth, sidebar, settings: settingsPresentation, modelManagement, header, rightPanel, showToolCalls, environmentPanel, splitSessionIds: externalSplitSessionIds, onSplitSessionIdsChange, renderPaneHeaderActions, onRightPanelOpen, onFileReviewOpen, onWorkspaceFileOpen, onInsightReportOpen, onContextUsageOpen, messageTurnOutputs, filterArtifact, shellRef, composerToolbarActions, mainModelFilter, compactComposerOverlays, autoSubmitSlashCommands, additionalSlashCommands, contextUsageAlwaysVisible, userMessageEditing, onUserMessageEditRequest, cycleModeOnTab, sessionSourceType, composerToolbarAdditionalActions, composerPlaceholders, compactThinking, hostOwnsEditDiffPreview, collapseCompletedTurns, markdownTableMode, virtualScrollThreshold, conversationSearchThreshold, markdown, loadingPhrases, onAgentTasksChange, onTranscriptChange, onSessionArtifactsChange, onToast, composerRef, onComposerReady, composerInput, composerInputVersion, onSessionChange, onAssistantTurnSettled, prepareSubmit, onSubmitBefore, restartSseOnPrompt, historyPageSize, initialSelectedWorkspaceCwd, lockedWorkspaceCwd, lockedWorkspaceCapability, }?: AppProps): import("react/jsx-runtime").JSX.Element;
453
+ export declare function App({ onRefreshModels, askUserFreeTextLabel, onSessionIdChange, onSessionInfoChange, onSessionCreated, managedAgentProvider, theme: providedTheme, onThemeChange, onThemeResolved, language: providedLanguage, onLanguageChange, onLanguageResolved, brand: providedBrand, onBrandResolved, className: externalClassName, style: externalStyle, shadowDom, onConnectionChange, onStreamingStateChange, onError, onBugReport, hiddenSlashCommands, slashCommandCategoryOrder, onSlashCommand, builtinAtProviders, atProviders, composerTagIcons, fileUploadEnabled, fileUploadDirectory, artifact, fileDropAction, renderToolHeaderExtra, renderWelcomeHeader, renderWelcomeFooter, mobileWelcomeFooterMiddle, parseUserMessageContent, renderUserMessageContent, renderComposerTag, renderComposerTagTooltip, onComposerTagClick, renderAssistantTurnFooter, assistantFeedback, getAssistantSourcesIcon, sourceReferences, renderComposerToolbarStart, renderComposerToolbarEnd, renderComposerToolbarRight, renderComposerHeader, renderComposerFooter, renderChatHeader, renderFooter, bottomStatusItems, chatMaxWidth, sidebar, settings: settingsPresentation, modelManagement, header, rightPanel, showToolCalls, environmentPanel, splitSessionIds: externalSplitSessionIds, onSplitSessionIdsChange, renderPaneHeaderActions, onRightPanelOpen, onFileReviewOpen, onWorkspaceFileOpen, onInsightReportOpen, onContextUsageOpen, messageTurnOutputs, filterArtifact, shellRef, composerToolbarActions, allowedApprovalModes: allowedApprovalModesProp, mainModelFilter, compactComposerOverlays, autoSubmitSlashCommands, additionalSlashCommands, contextUsageAlwaysVisible, userMessageEditing, onUserMessageEditRequest, cycleModeOnTab, sessionSourceType, composerToolbarAdditionalActions, composerPlaceholders, compactThinking, hostOwnsEditDiffPreview, collapseCompletedTurns, markdownTableMode, virtualScrollThreshold, conversationSearchThreshold, markdown, loadingPhrases, onAgentTasksChange, onTranscriptChange, onSessionArtifactsChange, onToast, composerRef, onComposerReady, composerInput, composerInputVersion, onSessionChange, onAssistantTurnSettled, prepareSubmit, onSubmitBefore, restartSseOnPrompt, historyPageSize, initialSelectedWorkspaceCwd, lockedWorkspaceCwd, lockedWorkspaceCapability, }?: AppProps): import("react/jsx-runtime").JSX.Element;
@@ -46,6 +46,7 @@ export interface DaemonMessageToolCall {
46
46
  content?: readonly DaemonMessageToolCallContent[];
47
47
  rawOutput?: unknown;
48
48
  toolResult?: components['schemas']['PublicToolResult'];
49
+ toolDetailsRevision?: number;
49
50
  locations?: DaemonMessageToolCallLocation[];
50
51
  kind?: DaemonMessageToolKind;
51
52
  startTime?: number;
@@ -78,6 +79,8 @@ export interface DaemonMessageAuthor {
78
79
  * cross-cutting field is declared once rather than on each role.
79
80
  */
80
81
  export interface DaemonMessageMeta {
82
+ sourceRecordIds?: string[];
83
+ localCommandId?: string;
81
84
  backgroundTurn?: DaemonBackgroundTurn;
82
85
  /**
83
86
  * Admitted prompt this message belongs to, copied from the daemon-stamped
@@ -3,13 +3,15 @@
3
3
  * Copyright 2025 Qwen Team
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import type { DaemonTranscriptBlock, DaemonToolTranscriptBlock } from '@qwen-code/sdk/daemon';
6
+ import type { DaemonLoopStop, DaemonTranscriptBlock, DaemonToolTranscriptBlock } from '@qwen-code/sdk/daemon';
7
7
  import type { DaemonMessage, DaemonMessageToolCall } from './messageTypes.js';
8
8
  interface TranscriptMessageLabels {
9
9
  promptCancelled?: string;
10
10
  branchSuccess?: (name: string) => string;
11
11
  modelStreamInterrupted?: string;
12
12
  loopDetected?: string;
13
+ /** Text for a loop stop whose cause is known; undefined falls back. */
14
+ loopDetectedFor?: (loop: DaemonLoopStop) => string | undefined;
13
15
  }
14
16
  interface TranscriptMessageOptions {
15
17
  labels?: TranscriptMessageLabels;
@@ -1,4 +1,6 @@
1
+ import { type ModelRefreshState } from './ModelRefreshControl';
1
2
  import type { CommandInfo } from '../adapters/types';
3
+ import type { AtMentionWorkspaceActions } from '../hooks/useAtMentionSources';
2
4
  import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
3
5
  import type { UseDaemonFollowupSuggestionReturn } from '@qwen-code/web-shell/daemon-react-sdk';
4
6
  import type { DaemonSessionGroupPresetColor, DaemonWorkspaceGitStatus, ReasoningSelection } from '@qwen-code/sdk/daemon';
@@ -98,6 +100,7 @@ interface ChatEditorProps {
98
100
  onShowContextUsage?: () => void;
99
101
  onOpenContextUsage?: () => void;
100
102
  contextUsageControls?: ContextUsageControls;
103
+ modelRefresh?: ModelRefreshState;
101
104
  availableModels?: Array<{
102
105
  id: string;
103
106
  label?: string;
@@ -126,6 +129,8 @@ interface ChatEditorProps {
126
129
  disableLegacyHistoryFallback?: boolean;
127
130
  shellModeEnabled?: boolean;
128
131
  workspaceFeaturesEnabled?: boolean;
132
+ fileReferenceActions?: AtMentionWorkspaceActions;
133
+ persistFileReferences?: boolean;
129
134
  attachmentsEnabled?: boolean;
130
135
  onChatWidthModeChange?: (mode: '1000' | 'wide') => void;
131
136
  onFocusFooter?: () => boolean;
@@ -0,0 +1,4 @@
1
+ import type { MessageDeletionControls } from '../hooks/useMessageDeletion';
2
+ export declare function MessageDeletionToolbar({ controls, }: {
3
+ controls: MessageDeletionControls;
4
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -25,6 +25,8 @@ interface MessageItemProps {
25
25
  * owns the edit lifecycle — then the inline editor stays closed.
26
26
  */
27
27
  onEditUserMessage?: () => boolean | void;
28
+ onDeleteMessage?: () => void;
29
+ deleteMessageDisabled?: boolean;
28
30
  /**
29
31
  * Send the text the user confirmed in the inline editor. Resolves `false`
30
32
  * when the resend was refused or failed; the editor stays open then.
@@ -4,10 +4,12 @@ import type { Message, TurnCollapseHead } from '../adapters/types';
4
4
  import type { PermissionRequest } from '../adapters/types';
5
5
  import { type ParallelAgentDisplayItem } from '../adapters/parallelAgentGrouping';
6
6
  import { type WebShellSource } from '../customization';
7
+ import type { MessageDeletionControls } from '../hooks/useMessageDeletion';
7
8
  import type { SessionContentGenerator } from './messages/AssistantMessage';
8
9
  import { type TurnOutputFileChange, type TurnOutputOpenRequest, type TurnOutputScheduledTask } from './artifacts/TurnOutputs';
9
10
  import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
10
11
  export interface MessageListProps {
12
+ deletion?: MessageDeletionControls;
11
13
  messages: Message[];
12
14
  frozenViewport?: boolean;
13
15
  terminalBackgroundShellTaskIds?: ReadonlySet<string>;
@@ -10,9 +10,12 @@ interface MessageTimestampProps {
10
10
  toolGroupSpacing?: boolean;
11
11
  copyText?: string;
12
12
  copyTitle?: string;
13
- /** When set, render an edit action after the copy button. */
13
+ /** When set, include an edit action in the overflow menu. */
14
14
  onEdit?: () => void;
15
15
  editTitle?: string;
16
+ onDelete?: () => void;
17
+ deleteDisabled?: boolean;
18
+ deleteTitle?: string;
16
19
  /** When set, render an action that opens this turn's tool-call list. */
17
20
  onOpenTurnCalls?: () => void;
18
21
  turnCallsTitle?: string;
@@ -21,7 +24,7 @@ interface MessageTimestampProps {
21
24
  * Wraps a rendered history message and reveals its wall-clock time as a
22
25
  * CSS-only tooltip on hover.
23
26
  */
24
- export declare function MessageTimestamp({ timestamp, hideTimestamp, children, chatMode, toolGroupSpacing, copyText, copyTitle, onEdit, editTitle, onOpenTurnCalls, turnCallsTitle, }: MessageTimestampProps): import("react/jsx-runtime").JSX.Element;
27
+ export declare function MessageTimestamp({ timestamp, hideTimestamp, children, chatMode, toolGroupSpacing, copyText, copyTitle, onEdit, editTitle, onDelete, deleteDisabled, deleteTitle, onOpenTurnCalls, turnCallsTitle, }: MessageTimestampProps): import("react/jsx-runtime").JSX.Element;
25
28
  /**
26
29
  * Local-time clock, dropping the date only for same-day timestamps:
27
30
  * - same day → `HH:mm:ss`
@@ -0,0 +1,5 @@
1
+ import type { useModelRefresh } from '../hooks/useModelRefresh';
2
+ export type ModelRefreshState = ReturnType<typeof useModelRefresh>;
3
+ export declare function ModelRefreshControl({ state }: {
4
+ state?: ModelRefreshState;
5
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -23,6 +23,11 @@ interface ReviewFinding {
23
23
  /** The executed evidence that settled the verdict, or its `not run` line. */
24
24
  witness?: string;
25
25
  suggestedFix?: string;
26
+ /**
27
+ * The acceptance criterion the suggested fix owes: the test that must go
28
+ * red if the fix is removed.
29
+ */
30
+ fixWitness?: string;
26
31
  category?: string;
27
32
  locations: FindingLocation[];
28
33
  /** Local evidence paths; rendered as workspace images where possible. */
@@ -0,0 +1,8 @@
1
+ import type { ArtifactWorkspaceActions } from './useArtifactWorkspaceTarget';
2
+ export default function DocxPreview({ workspacePath, workspaceActions, data, artifactVersion, downloadName, }: {
3
+ workspacePath: string;
4
+ workspaceActions?: Pick<ArtifactWorkspaceActions, 'readFileBytes' | 'stat'>;
5
+ data?: Blob;
6
+ artifactVersion?: string;
7
+ downloadName?: string;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -1,9 +1,17 @@
1
1
  import type { TrajectoryExecutionRow } from '../../trajectory/project-trajectory-executions';
2
- export declare function TrajectoryExecutions({ rows, omitted, incomplete, outsideWindow, selectedKey, onSelect, }: {
2
+ import type { TrajectoryLifecycleProjection } from '../../trajectory/project-trajectory-lifecycle';
3
+ export declare function TrajectoryExecutions({ rows, omitted, incomplete, outsideWindow, selectedKey, onSelect, following, liveStatus, historySnapshot, onPause, onReturnToLatest, canReturn, returning, }: {
3
4
  rows: readonly TrajectoryExecutionRow[];
4
5
  omitted: number;
5
6
  incomplete: boolean;
6
7
  outsideWindow: number;
7
8
  selectedKey?: string;
8
9
  onSelect: (key: string) => void;
10
+ following: boolean;
11
+ liveStatus: TrajectoryLifecycleProjection['status'];
12
+ historySnapshot: object | undefined;
13
+ onPause: () => void;
14
+ onReturnToLatest: () => void;
15
+ canReturn: boolean;
16
+ returning: boolean;
9
17
  }): import("react/jsx-runtime").JSX.Element;
@@ -6,7 +6,7 @@
6
6
  import type { TrajectoryLifecycleEntry } from '../../trajectory/project-trajectory-lifecycle';
7
7
  import type { TrajectoryExecutionRow } from '../../trajectory/project-trajectory-executions';
8
8
  import type { TrajectoryRow } from '../../trajectory/types';
9
- export declare function TrajectoryInspector({ row, lifecycle, execution, onLocateExecution, title, stale, turnSelected, hiddenByRange, hiddenByCollapse, hiddenByFilter, onClearFilter, onReveal, onClearRange, onClose, }: {
9
+ export declare function TrajectoryInspector({ row, lifecycle, execution, onLocateExecution, title, stale, turnSelected, hiddenByRange, hiddenByCollapse, hiddenByFilter, onClearFilter, onReveal, onClearRange, onClose, onFocusedUnmount, }: {
10
10
  row?: TrajectoryRow;
11
11
  lifecycle?: TrajectoryLifecycleEntry;
12
12
  execution?: TrajectoryExecutionRow;
@@ -21,4 +21,5 @@ export declare function TrajectoryInspector({ row, lifecycle, execution, onLocat
21
21
  onReveal: () => void;
22
22
  onClearRange: () => void;
23
23
  onClose: () => void;
24
+ onFocusedUnmount?: () => void;
24
25
  }): import("react/jsx-runtime").JSX.Element;
@@ -3,6 +3,13 @@ import type { DaemonWorkspaceActions } from '@qwen-code/web-shell/daemon-react-s
3
3
  export declare function artifactKindLabel(kind: string, workspacePath?: string): string;
4
4
  export declare function isOfficeDocumentPath(workspacePath?: string): boolean;
5
5
  export declare function isExcelFile(workspacePath?: string, mimeType?: string): boolean;
6
+ export declare const DOCX_MIME_TYPE = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
7
+ export declare function isDocxFile(workspacePath?: string, mimeType?: string): boolean;
8
+ export declare function isPdfArtifact(artifact: {
9
+ kind?: string;
10
+ workspacePath?: string;
11
+ mimeType?: string;
12
+ }): boolean;
6
13
  export declare function isDownloadOnlyWorkspaceArtifact(artifact: {
7
14
  kind?: string;
8
15
  workspacePath?: string;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ type TokenUsageMessage = string | ((vars?: Record<string, string | number>) => string);
7
+ export declare const TOKEN_USAGE_MESSAGES_EN: Record<string, TokenUsageMessage>;
8
+ export declare const TOKEN_USAGE_MESSAGES_ZH: Record<string, TokenUsageMessage>;
9
+ 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 TOKEN_USAGE_MESSAGES_EN: {};
7
+ export declare const TOKEN_USAGE_MESSAGES_ZH: {};
@@ -5,5 +5,5 @@
5
5
  */
6
6
  import type { DaemonChannelTypeDescriptor } from '@qwen-code/sdk/daemon';
7
7
  export declare const PLATFORM_MARKS: Record<string, string>;
8
- export declare function isSupportedChannelType(type: unknown): type is 'dingtalk' | 'dws' | 'wecom' | 'feishu' | 'github' | 'gitlab';
8
+ export declare function isSupportedChannelType(type: unknown): type is 'dingtalk' | 'dws' | 'wecom' | 'wecom-callback' | 'feishu' | 'github' | 'gitlab';
9
9
  export declare function isChannelPlatformAvailable(descriptor: DaemonChannelTypeDescriptor): boolean;
@@ -16,6 +16,8 @@ export interface WorkspaceLocationOption {
16
16
  interface AddWorkspaceDialogProps {
17
17
  browseDirectories?: boolean;
18
18
  initialPath?: string;
19
+ pathHint?: string;
20
+ pathPlaceholder?: string;
19
21
  onClose: () => void;
20
22
  onAdd: (cwd: string, persist: boolean, displayName?: string) => Promise<void>;
21
23
  displayNameEnabled?: boolean;
@@ -30,5 +32,5 @@ interface AddWorkspaceDialogProps {
30
32
  onPick?: () => Promise<string | undefined>;
31
33
  persistenceSupported?: boolean;
32
34
  }
33
- export declare function AddWorkspaceDialog({ browseDirectories, initialPath, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, persistenceSupported, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
35
+ export declare function AddWorkspaceDialog({ browseDirectories, initialPath, pathHint, pathPlaceholder, onClose, onAdd, displayNameEnabled, locations, selectedLocation, onLocationChange, onSuggest, onPick, persistenceSupported, }: AddWorkspaceDialogProps): import("react/jsx-runtime").JSX.Element;
34
36
  export {};
@@ -1,7 +1,9 @@
1
+ import { type WebShellApprovalMode } from '../../utils/planMode';
1
2
  interface ApprovalModeDialogProps {
2
3
  currentMode: string;
4
+ availableModes?: readonly WebShellApprovalMode[];
3
5
  sessionWorkflowEnabled?: boolean;
4
6
  onSelect: (modeId: string) => void;
5
7
  }
6
- export declare function ApprovalModeDialog({ currentMode, onSelect, }: ApprovalModeDialogProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function ApprovalModeDialog({ currentMode, availableModes, onSelect, }: ApprovalModeDialogProps): import("react/jsx-runtime").JSX.Element;
7
9
  export {};
@@ -1,5 +1,7 @@
1
+ import { type ModelRefreshState } from '../ModelRefreshControl';
1
2
  export type ModelDialogMode = 'main' | 'fast' | 'voice' | 'vision' | 'advisor' | 'image';
2
3
  interface ModelDialogProps {
4
+ modelRefresh?: ModelRefreshState;
3
5
  mode?: ModelDialogMode;
4
6
  loading?: boolean;
5
7
  error?: Error;
@@ -24,5 +26,5 @@ export interface ModelDialogModel {
24
26
  envKey?: string;
25
27
  isRuntime?: boolean;
26
28
  }
27
- export declare function ModelDialog({ mode, loading, error, onSelect, models, currentModelId, filterModel, }: ModelDialogProps): import("react/jsx-runtime").JSX.Element;
29
+ export declare function ModelDialog({ modelRefresh, mode, loading, error, onSelect, models, currentModelId, filterModel, }: ModelDialogProps): import("react/jsx-runtime").JSX.Element;
28
30
  export {};
@@ -0,0 +1,9 @@
1
+ import type { ManagedAgentProvider, ManagedAgentWorkspace } from './managed-agent-provider';
2
+ export declare function RemoteWorkspaceRegistration({ provider, clientId, open, onOpenChange, onAvailable, onRegistered, }: {
3
+ provider: ManagedAgentProvider;
4
+ clientId: string;
5
+ open: boolean;
6
+ onOpenChange: (open: boolean) => void;
7
+ onAvailable: (available: boolean) => void;
8
+ onRegistered: (workspace: ManagedAgentWorkspace) => void;
9
+ }): import("react/jsx-runtime").JSX.Element;