@qwen-code/web-shell 0.24.1-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.
- package/README.md +651 -0
- package/dist/daemon-react-sdk.js +53 -0
- package/dist/index.js +109094 -0
- package/dist/sw.js +9 -0
- package/dist/toolNames-DgCpmhML.js +17992 -0
- package/dist/transcript.js +31609 -0
- package/dist/types/App.d.ts +419 -0
- package/dist/types/WebShellContexts.d.ts +31 -0
- package/dist/types/adapters/localizedMessages.d.ts +24 -0
- package/dist/types/adapters/messageTypes.d.ts +194 -0
- package/dist/types/adapters/parallelAgentGrouping.d.ts +18 -0
- package/dist/types/adapters/promptTypes.d.ts +12 -0
- package/dist/types/adapters/toolClassification.d.ts +10 -0
- package/dist/types/adapters/transcriptAdapter.d.ts +3 -0
- package/dist/types/adapters/transcriptToMessages.d.ts +41 -0
- package/dist/types/adapters/types.d.ts +123 -0
- package/dist/types/brandContext.d.ts +44 -0
- package/dist/types/browser-turn-notifications.d.ts +36 -0
- package/dist/types/completions/slashCompletion.d.ts +35 -0
- package/dist/types/components/AtMentionPanel.d.ts +13 -0
- package/dist/types/components/BranchPickerPopover.d.ts +73 -0
- package/dist/types/components/ChatContextHeader.d.ts +18 -0
- package/dist/types/components/ChatEditor.d.ts +134 -0
- package/dist/types/components/ChatPane.d.ts +93 -0
- package/dist/types/components/ContextCompressionFeedback.d.ts +5 -0
- package/dist/types/components/ContextUsagePopover.d.ts +10 -0
- package/dist/types/components/ErrorBoundary.d.ts +40 -0
- package/dist/types/components/FileAttachmentContent.d.ts +4 -0
- package/dist/types/components/FileTypeIcon.d.ts +6 -0
- package/dist/types/components/GitBranchIndicator.d.ts +66 -0
- package/dist/types/components/GitModePopover.d.ts +23 -0
- package/dist/types/components/GlobalTurnNavigation.d.ts +16 -0
- package/dist/types/components/GoalStatusStrip.d.ts +13 -0
- package/dist/types/components/InsightProgress.d.ts +12 -0
- package/dist/types/components/InsightReady.d.ts +6 -0
- package/dist/types/components/LocalControlQrButton.d.ts +12 -0
- package/dist/types/components/LocalFilesControl.d.ts +74 -0
- package/dist/types/components/MessageItem.d.ts +43 -0
- package/dist/types/components/MessageList.d.ts +222 -0
- package/dist/types/components/MessageTimestamp.d.ts +32 -0
- package/dist/types/components/ModeIcon.d.ts +3 -0
- package/dist/types/components/MonitorIcon.d.ts +2 -0
- package/dist/types/components/PaneHeaderActions.d.ts +23 -0
- package/dist/types/components/PromptChevron.d.ts +7 -0
- package/dist/types/components/QueuedPromptDisplay.d.ts +57 -0
- package/dist/types/components/RootErrorFallback.d.ts +21 -0
- package/dist/types/components/SessionOverviewPanel.d.ts +46 -0
- package/dist/types/components/SessionPrBadge.d.ts +24 -0
- package/dist/types/components/SessionPrStateIcon.d.ts +32 -0
- package/dist/types/components/SessionRecoveryBanner.d.ts +3 -0
- package/dist/types/components/ShadowDomBoundary.d.ts +11 -0
- package/dist/types/components/SplitView.d.ts +69 -0
- package/dist/types/components/StandaloneAuth.d.ts +17 -0
- package/dist/types/components/StatusBar.d.ts +26 -0
- package/dist/types/components/StreamingStatus.d.ts +20 -0
- package/dist/types/components/Tips.d.ts +1 -0
- package/dist/types/components/ToastHost.d.ts +25 -0
- package/dist/types/components/TranscriptViewport.d.ts +17 -0
- package/dist/types/components/WebShellTranscript.d.ts +38 -0
- package/dist/types/components/WelcomeHeader.d.ts +8 -0
- package/dist/types/components/WorkspaceIndicator.d.ts +27 -0
- package/dist/types/components/WorkspaceSelector.d.ts +29 -0
- package/dist/types/components/WorkspaceSessionProvider.d.ts +19 -0
- package/dist/types/components/WorkspaceUnavailableState.d.ts +11 -0
- package/dist/types/components/agents/AgentCreatePage.d.ts +9 -0
- package/dist/types/components/agents/AgentsManagerPage.d.ts +8 -0
- package/dist/types/components/agents/agent-tool-options.d.ts +9 -0
- package/dist/types/components/agents/agents-manager-logic.d.ts +8 -0
- package/dist/types/components/artifacts/AgentWorkflow.d.ts +7 -0
- package/dist/types/components/artifacts/ArtifactIcon.d.ts +9 -0
- package/dist/types/components/artifacts/ArtifactPanel.d.ts +229 -0
- package/dist/types/components/artifacts/CodeReviewArtifactDetail.d.ts +63 -0
- package/dist/types/components/artifacts/ContextUsagePanel.d.ts +7 -0
- package/dist/types/components/artifacts/LineStats.d.ts +12 -0
- package/dist/types/components/artifacts/SideTaskPanel.d.ts +24 -0
- package/dist/types/components/artifacts/SubagentDetail.d.ts +14 -0
- package/dist/types/components/artifacts/TokenUsagePanel.d.ts +7 -0
- package/dist/types/components/artifacts/TurnOutputs.d.ts +121 -0
- package/dist/types/components/artifacts/artifactUtils.d.ts +37 -0
- package/dist/types/components/artifacts/turnOutputSelectors.d.ts +7 -0
- package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +16 -0
- package/dist/types/components/channels/ChannelEditorDialog.d.ts +25 -0
- package/dist/types/components/channels/ChannelPairingRequests.d.ts +15 -0
- package/dist/types/components/channels/ChannelsManagerPage.d.ts +12 -0
- package/dist/types/components/channels/channel-editor-state.d.ts +25 -0
- package/dist/types/components/channels/channel-platform.d.ts +9 -0
- package/dist/types/components/composer/AddMenu.d.ts +20 -0
- package/dist/types/components/composer/prependSkillInvocation.d.ts +12 -0
- package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +24 -0
- package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +7 -0
- package/dist/types/components/dialogs/DaemonStatusDialog.d.ts +3 -0
- package/dist/types/components/dialogs/DeleteSessionDialog.d.ts +8 -0
- package/dist/types/components/dialogs/DialogShell.d.ts +15 -0
- package/dist/types/components/dialogs/GitDialog.d.ts +14 -0
- package/dist/types/components/dialogs/GitDiffDialog.d.ts +14 -0
- package/dist/types/components/dialogs/GitHubPrsDialog.d.ts +9 -0
- package/dist/types/components/dialogs/GitLogDialog.d.ts +14 -0
- package/dist/types/components/dialogs/GoalEditDialog.d.ts +9 -0
- package/dist/types/components/dialogs/GoalsDialog.d.ts +16 -0
- package/dist/types/components/dialogs/HelpDialog.d.ts +6 -0
- package/dist/types/components/dialogs/ModelDialog.d.ts +28 -0
- package/dist/types/components/dialogs/ModelFallbacksDialog.d.ts +14 -0
- package/dist/types/components/dialogs/ReleaseSessionDialog.d.ts +8 -0
- package/dist/types/components/dialogs/ResumeDialog.d.ts +7 -0
- package/dist/types/components/dialogs/RewindDialog.d.ts +12 -0
- package/dist/types/components/dialogs/ScheduledTasksDialog.d.ts +30 -0
- package/dist/types/components/dialogs/SessionRow.d.ts +46 -0
- package/dist/types/components/dialogs/SvgLineChart.d.ts +35 -0
- package/dist/types/components/dialogs/ThemeDialog.d.ts +8 -0
- package/dist/types/components/dialogs/TokenHeatmap.d.ts +18 -0
- package/dist/types/components/dialogs/ToolsDialog.d.ts +1 -0
- package/dist/types/components/dialogs/UsageDashboardTab.d.ts +13 -0
- package/dist/types/components/dialogs/dialogStyles.d.ts +2 -0
- package/dist/types/components/dialogs/scheduledTasksSchedule.d.ts +62 -0
- package/dist/types/components/extensions/ExtensionsManagerPage.d.ts +9 -0
- package/dist/types/components/extensions/extensions-manager-logic.d.ts +3 -0
- package/dist/types/components/local-control-api.d.ts +30 -0
- package/dist/types/components/mcp/McpManagerPage.d.ts +12 -0
- package/dist/types/components/messages/AskUserQuestion.d.ts +18 -0
- package/dist/types/components/messages/AssistantMessage.d.ts +40 -0
- package/dist/types/components/messages/AuthMessage.d.ts +6 -0
- package/dist/types/components/messages/BtwMessage.d.ts +7 -0
- package/dist/types/components/messages/ContextUsageMessage.d.ts +9 -0
- package/dist/types/components/messages/EnhancedMarkdownTable.d.ts +31 -0
- package/dist/types/components/messages/FootnoteCard.d.ts +11 -0
- package/dist/types/components/messages/FootnotePreviewContent.d.ts +9 -0
- package/dist/types/components/messages/GoalApprovalContent.d.ts +5 -0
- package/dist/types/components/messages/GoalStatusMessage.d.ts +15 -0
- package/dist/types/components/messages/LinkifiedText.d.ts +8 -0
- package/dist/types/components/messages/LocalControlSettingsCard.d.ts +1 -0
- package/dist/types/components/messages/Markdown.d.ts +38 -0
- package/dist/types/components/messages/MarkdownChartRenderer.d.ts +65 -0
- package/dist/types/components/messages/McpApp.d.ts +21 -0
- package/dist/types/components/messages/McpStatusMessage.d.ts +22 -0
- package/dist/types/components/messages/MemoryMessage.d.ts +9 -0
- package/dist/types/components/messages/ModelManagementSection.d.ts +23 -0
- package/dist/types/components/messages/PlanExecutionView.d.ts +91 -0
- package/dist/types/components/messages/PlanMessage.d.ts +8 -0
- package/dist/types/components/messages/QuestionAnswerMessage.d.ts +7 -0
- package/dist/types/components/messages/SettingsMessage.d.ts +46 -0
- package/dist/types/components/messages/StatsMessage.d.ts +14 -0
- package/dist/types/components/messages/StatusMessage.d.ts +18 -0
- package/dist/types/components/messages/SystemMessage.d.ts +29 -0
- package/dist/types/components/messages/TasksStatusMessage.d.ts +38 -0
- package/dist/types/components/messages/TodoView.d.ts +17 -0
- package/dist/types/components/messages/ToolApproval.d.ts +28 -0
- package/dist/types/components/messages/ToolFilePreviewButton.d.ts +7 -0
- package/dist/types/components/messages/ToolGroup.d.ts +50 -0
- package/dist/types/components/messages/UserMessage.d.ts +46 -0
- package/dist/types/components/messages/UserShellMessage.d.ts +6 -0
- package/dist/types/components/messages/WorkflowExecutionView.d.ts +48 -0
- package/dist/types/components/messages/agentForest.d.ts +96 -0
- package/dist/types/components/messages/codeHighlighter.d.ts +25 -0
- package/dist/types/components/messages/rehype-footnote-cards.d.ts +22 -0
- package/dist/types/components/messages/toolFormatting.d.ts +63 -0
- package/dist/types/components/messages/tools/DiffView.d.ts +5 -0
- package/dist/types/components/messages/tools/ParallelAgentsGroup.d.ts +12 -0
- package/dist/types/components/messages/tools/SubAgentPanel.d.ts +10 -0
- package/dist/types/components/messages/tools/toolDisplay.d.ts +7 -0
- package/dist/types/components/panels/EnvironmentPanel.d.ts +45 -0
- package/dist/types/components/panels/SourcesSection.d.ts +25 -0
- package/dist/types/components/panels/TodoPanel.d.ts +11 -0
- package/dist/types/components/plugins/PluginManagerPage.d.ts +8 -0
- package/dist/types/components/plugins/manager-page.d.ts +4 -0
- package/dist/types/components/preview/SavedWebPreview.d.ts +5 -0
- package/dist/types/components/preview/WebPreviewPanel.d.ts +5 -0
- package/dist/types/components/preview/web-preview.d.ts +7 -0
- package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +17 -0
- package/dist/types/components/sidebar/SessionGroupSection.d.ts +19 -0
- package/dist/types/components/sidebar/StandaloneRecents.d.ts +33 -0
- package/dist/types/components/sidebar/WebShellSidebar.d.ts +139 -0
- package/dist/types/components/sidebar/WorkspaceDetailsTooltip.d.ts +49 -0
- package/dist/types/components/sidebar/WorkspaceMenu.d.ts +41 -0
- package/dist/types/components/sidebar/WorkspaceRenameDialog.d.ts +18 -0
- package/dist/types/components/sidebar/WorkspaceSection.d.ts +112 -0
- package/dist/types/components/sidebar/channelSessionGroups.d.ts +7 -0
- package/dist/types/components/sidebar/collapsedSessionSections.d.ts +25 -0
- package/dist/types/components/sidebar/scheduled-task-session-groups.d.ts +12 -0
- package/dist/types/components/sidebar/sessionDetailsCollisionBoundary.d.ts +1 -0
- package/dist/types/components/sidebar/sessionSearch.d.ts +28 -0
- package/dist/types/components/sidebar/sessionTitleScroll.d.ts +7 -0
- package/dist/types/components/sidebar/sidebarToggleShortcut.d.ts +18 -0
- package/dist/types/components/sidebar/useSessionContentSearch.d.ts +20 -0
- package/dist/types/components/sidebar/useWorkspaceOverview.d.ts +40 -0
- package/dist/types/components/sidebar/workspaceExpansion.d.ts +4 -0
- package/dist/types/components/sidebar/workspaceOverviewModel.d.ts +123 -0
- package/dist/types/components/skills/SkillInstallDialog.d.ts +8 -0
- package/dist/types/components/skills/SkillsManagerPage.d.ts +11 -0
- package/dist/types/components/skills/skills-manager-logic.d.ts +6 -0
- package/dist/types/components/sources/SourceList.d.ts +5 -0
- package/dist/types/components/sources/TurnSources.d.ts +5 -0
- package/dist/types/components/sources/sourceEntries.d.ts +8 -0
- package/dist/types/components/summaryRunId.d.ts +9 -0
- package/dist/types/components/terminal/TerminalPanel.d.ts +17 -0
- package/dist/types/components/toolbarDropdown.d.ts +39 -0
- package/dist/types/components/ui/alert-dialog.d.ts +19 -0
- package/dist/types/components/ui/alert.d.ts +10 -0
- package/dist/types/components/ui/badge.d.ts +9 -0
- package/dist/types/components/ui/breadcrumb.d.ts +11 -0
- package/dist/types/components/ui/button.d.ts +11 -0
- package/dist/types/components/ui/card.d.ts +11 -0
- package/dist/types/components/ui/checkbox.d.ts +4 -0
- package/dist/types/components/ui/data-table.d.ts +31 -0
- package/dist/types/components/ui/dialog.d.ts +19 -0
- package/dist/types/components/ui/drawer.d.ts +16 -0
- package/dist/types/components/ui/dropdown-menu.d.ts +29 -0
- package/dist/types/components/ui/empty.d.ts +11 -0
- package/dist/types/components/ui/field.d.ts +24 -0
- package/dist/types/components/ui/input.d.ts +3 -0
- package/dist/types/components/ui/label.d.ts +4 -0
- package/dist/types/components/ui/management-notice.d.ts +12 -0
- package/dist/types/components/ui/popover.d.ts +13 -0
- package/dist/types/components/ui/radio-group.d.ts +5 -0
- package/dist/types/components/ui/scroll-area.d.ts +5 -0
- package/dist/types/components/ui/select.d.ts +16 -0
- package/dist/types/components/ui/separator.d.ts +4 -0
- package/dist/types/components/ui/skeleton.d.ts +2 -0
- package/dist/types/components/ui/spinner.d.ts +2 -0
- package/dist/types/components/ui/switch.d.ts +6 -0
- package/dist/types/components/ui/table.d.ts +10 -0
- package/dist/types/components/ui/tabs.d.ts +13 -0
- package/dist/types/components/ui/textarea.d.ts +3 -0
- package/dist/types/components/ui/toggle-group.d.ts +10 -0
- package/dist/types/components/ui/toggle.d.ts +9 -0
- package/dist/types/components/ui/tooltip.d.ts +7 -0
- package/dist/types/components/workflow/SessionWorkflowCockpit.d.ts +17 -0
- package/dist/types/components/workflow/SessionWorkflowInspector.d.ts +15 -0
- package/dist/types/components/workflow/session-workflow-model.d.ts +32 -0
- package/dist/types/components/workflows/WorkflowRunsPage.d.ts +6 -0
- package/dist/types/components/workspaces/WorkspaceRemovalDialog.d.ts +20 -0
- package/dist/types/components/workspaces/WorkspacesOverviewPanel.d.ts +21 -0
- package/dist/types/components/workspaces/useWorkspaceRemoval.d.ts +47 -0
- package/dist/types/config/daemon.d.ts +41 -0
- package/dist/types/config/standalone.d.ts +1 -0
- package/dist/types/constants/loadingPhrases.d.ts +4 -0
- package/dist/types/constants/localCommands.d.ts +27 -0
- package/dist/types/constants/sessions.d.ts +43 -0
- package/dist/types/constants/toolNames.d.ts +9 -0
- package/dist/types/customization.d.ts +508 -0
- package/dist/types/daemon/followupSidechannel.d.ts +11 -0
- package/dist/types/daemon/index.d.ts +14 -0
- package/dist/types/daemon/midTurnInjectedSidechannel.d.ts +37 -0
- package/dist/types/daemon/pendingPromptVersion.d.ts +19 -0
- package/dist/types/daemon/session/DaemonSessionProvider.d.ts +45 -0
- package/dist/types/daemon/session/actions.d.ts +100 -0
- package/dist/types/daemon/session/clientLifecycle.d.ts +21 -0
- package/dist/types/daemon/session/httpErrors.d.ts +9 -0
- package/dist/types/daemon/session/index.d.ts +15 -0
- package/dist/types/daemon/session/live-journal-repair.d.ts +19 -0
- package/dist/types/daemon/session/mappers.d.ts +71 -0
- package/dist/types/daemon/session/promptContent.d.ts +11 -0
- package/dist/types/daemon/session/selectors.d.ts +21 -0
- package/dist/types/daemon/session/session-context.d.ts +16 -0
- package/dist/types/daemon/session/status.d.ts +12 -0
- package/dist/types/daemon/session/transcript-page-table.d.ts +147 -0
- package/dist/types/daemon/session/turn-navigation-store.d.ts +117 -0
- package/dist/types/daemon/session/turn-notification-context.d.ts +43 -0
- package/dist/types/daemon/session/types.d.ts +568 -0
- package/dist/types/daemon/timing.d.ts +14 -0
- package/dist/types/daemon/useDaemonFollowupSuggestion.d.ts +77 -0
- package/dist/types/daemon/useDaemonMidTurnInjected.d.ts +30 -0
- package/dist/types/daemon/workspace/DaemonWorkspaceProvider.d.ts +21 -0
- package/dist/types/daemon/workspace/actions.d.ts +14 -0
- package/dist/types/daemon/workspace/hooks/index.d.ts +21 -0
- package/dist/types/daemon/workspace/hooks/useDaemonAgents.d.ts +22 -0
- package/dist/types/daemon/workspace/hooks/useDaemonAuth.d.ts +24 -0
- package/dist/types/daemon/workspace/hooks/useDaemonChannels.d.ts +33 -0
- package/dist/types/daemon/workspace/hooks/useDaemonDiagnostics.d.ts +10 -0
- package/dist/types/daemon/workspace/hooks/useDaemonFiles.d.ts +10 -0
- package/dist/types/daemon/workspace/hooks/useDaemonGlob.d.ts +8 -0
- package/dist/types/daemon/workspace/hooks/useDaemonMcp.d.ts +31 -0
- package/dist/types/daemon/workspace/hooks/useDaemonMemory.d.ts +16 -0
- package/dist/types/daemon/workspace/hooks/useDaemonProviders.d.ts +20 -0
- package/dist/types/daemon/workspace/hooks/useDaemonResource.d.ts +7 -0
- package/dist/types/daemon/workspace/hooks/useDaemonSessions.d.ts +48 -0
- package/dist/types/daemon/workspace/hooks/useDaemonSettings.d.ts +20 -0
- package/dist/types/daemon/workspace/hooks/useDaemonSkills.d.ts +30 -0
- package/dist/types/daemon/workspace/hooks/useDaemonStatusReport.d.ts +18 -0
- package/dist/types/daemon/workspace/hooks/useDaemonTools.d.ts +16 -0
- package/dist/types/daemon/workspace/hooks/useDaemonUsageDashboard.d.ts +27 -0
- package/dist/types/daemon/workspace/hooks/useWorkspaceEventReload.d.ts +6 -0
- package/dist/types/daemon/workspace/index.d.ts +10 -0
- package/dist/types/daemon/workspace/load-ready-skills.d.ts +7 -0
- package/dist/types/daemon/workspace/types.d.ts +415 -0
- package/dist/types/daemon-react-sdk.d.ts +319 -0
- package/dist/types/extensions/inputHighlight.d.ts +10 -0
- package/dist/types/hooks/daemonSessionMappers.d.ts +2 -0
- package/dist/types/hooks/useAnimationFrameTranscriptBlocks.d.ts +10 -0
- package/dist/types/hooks/useAnimationFrameValue.d.ts +1 -0
- package/dist/types/hooks/useAtMentionMenu.d.ts +72 -0
- package/dist/types/hooks/useAtMentionSources.d.ts +113 -0
- package/dist/types/hooks/useBackgroundTasks.d.ts +8 -0
- package/dist/types/hooks/useChatNavigationVisible.d.ts +2 -0
- package/dist/types/hooks/useComposerCore.d.ts +226 -0
- package/dist/types/hooks/useContextUsageControls.d.ts +26 -0
- package/dist/types/hooks/useCopiedFlash.d.ts +15 -0
- package/dist/types/hooks/useDelayedGlobalKeyDown.d.ts +1 -0
- package/dist/types/hooks/useExternalLinkOpener.d.ts +11 -0
- package/dist/types/hooks/useFileUpload.d.ts +62 -0
- package/dist/types/hooks/useFilterInput.d.ts +27 -0
- package/dist/types/hooks/useInputHistory.d.ts +17 -0
- package/dist/types/hooks/useIsLargeScreen.d.ts +20 -0
- package/dist/types/hooks/useIsTouchComposer.d.ts +36 -0
- package/dist/types/hooks/useListboxKeyboard.d.ts +42 -0
- package/dist/types/hooks/useMessages.d.ts +20 -0
- package/dist/types/hooks/useModelConfigurations.d.ts +11 -0
- package/dist/types/hooks/useNewSessionSuggestion.d.ts +26 -0
- package/dist/types/hooks/useOtherWorkspaceSessions.d.ts +11 -0
- package/dist/types/hooks/usePrefersReducedMotion.d.ts +1 -0
- package/dist/types/hooks/useQueuedPrompts.d.ts +74 -0
- package/dist/types/hooks/useScopedSessions.d.ts +65 -0
- package/dist/types/hooks/useSessionArtifacts.d.ts +10 -0
- package/dist/types/hooks/useSessionArtifactsChange.d.ts +12 -0
- package/dist/types/hooks/useSessionSources.d.ts +13 -0
- package/dist/types/hooks/useShallowMemo.d.ts +2 -0
- package/dist/types/hooks/useSharedNow.d.ts +1 -0
- package/dist/types/hooks/useStreamingLoadingMetrics.d.ts +19 -0
- package/dist/types/hooks/useTranscriptViewport.d.ts +31 -0
- package/dist/types/i18n.d.ts +14 -0
- package/dist/types/index.d.ts +69 -0
- package/dist/types/interactionBlockContext.d.ts +3 -0
- package/dist/types/lib/utils.d.ts +2 -0
- package/dist/types/live/HotkeySetter.d.ts +16 -0
- package/dist/types/live/LiveVoiceButton.d.ts +7 -0
- package/dist/types/live/LiveVoiceSettingsCard.d.ts +9 -0
- package/dist/types/live/useLiveVoice.d.ts +17 -0
- package/dist/types/live/useLiveVoiceSetup.d.ts +19 -0
- package/dist/types/local-files/bridge-client.d.ts +207 -0
- package/dist/types/local-files/capabilities.d.ts +33 -0
- package/dist/types/local-files/directory-handle-store.d.ts +15 -0
- package/dist/types/local-files/local-directory.d.ts +130 -0
- package/dist/types/local-files/mcp-server.d.ts +57 -0
- package/dist/types/local-files/pick-directory.d.ts +49 -0
- package/dist/types/local-files/useLocalFilesBridge.d.ts +64 -0
- package/dist/types/main.d.ts +6 -0
- package/dist/types/mcpAppHostContext.d.ts +1 -0
- package/dist/types/midTurnDedup.d.ts +52 -0
- package/dist/types/monitorDetailsContext.d.ts +12 -0
- package/dist/types/notification-text.d.ts +8 -0
- package/dist/types/portalRoot.d.ts +2 -0
- package/dist/types/pwa-registration.d.ts +10 -0
- package/dist/types/session-catalog/session-catalog-hooks.d.ts +121 -0
- package/dist/types/session-catalog/session-catalog-store.d.ts +143 -0
- package/dist/types/session-catalog/session-live-state-poll-interval.d.ts +2 -0
- package/dist/types/session-catalog/workspace-session-live-state.d.ts +20 -0
- package/dist/types/settings.d.ts +70 -0
- package/dist/types/shadowDom.d.ts +17 -0
- package/dist/types/subagentDetailsContext.d.ts +15 -0
- package/dist/types/themeContext.d.ts +12 -0
- package/dist/types/transcript.d.ts +33 -0
- package/dist/types/transcriptRenderMode.d.ts +5 -0
- package/dist/types/utils/ansi.d.ts +9 -0
- package/dist/types/utils/askUserPermission.d.ts +13 -0
- package/dist/types/utils/base64.d.ts +1 -0
- package/dist/types/utils/bounded-map.d.ts +11 -0
- package/dist/types/utils/clipboard.d.ts +31 -0
- package/dist/types/utils/commandDisplay.d.ts +7 -0
- package/dist/types/utils/composerInputState.d.ts +19 -0
- package/dist/types/utils/composerModels.d.ts +28 -0
- package/dist/types/utils/composerTag.d.ts +42 -0
- package/dist/types/utils/composerTasks.d.ts +16 -0
- package/dist/types/utils/contextUsage.d.ts +9 -0
- package/dist/types/utils/copyCommand.d.ts +18 -0
- package/dist/types/utils/cssUrlVar.d.ts +3 -0
- package/dist/types/utils/dialogLabels.d.ts +1 -0
- package/dist/types/utils/dom.d.ts +2 -0
- package/dist/types/utils/errorDetail.d.ts +1 -0
- package/dist/types/utils/escapeIntent.d.ts +29 -0
- package/dist/types/utils/externalOpen.d.ts +15 -0
- package/dist/types/utils/formatDateTime.d.ts +7 -0
- package/dist/types/utils/formatRelativeTime.d.ts +4 -0
- package/dist/types/utils/formatRuntime.d.ts +1 -0
- package/dist/types/utils/formatTokenCount.d.ts +13 -0
- package/dist/types/utils/gitModeIntent.d.ts +22 -0
- package/dist/types/utils/goalCondition.d.ts +43 -0
- package/dist/types/utils/goalControlRequest.d.ts +20 -0
- package/dist/types/utils/goalGate.d.ts +39 -0
- package/dist/types/utils/imageIngestion.d.ts +47 -0
- package/dist/types/utils/largePaste.d.ts +44 -0
- package/dist/types/utils/linkify.d.ts +19 -0
- package/dist/types/utils/localCommandQueue.d.ts +47 -0
- package/dist/types/utils/modelDisplay.d.ts +1 -0
- package/dist/types/utils/modelEncoding.d.ts +15 -0
- package/dist/types/utils/modelSwitchMessages.d.ts +4 -0
- package/dist/types/utils/monitorTasks.d.ts +3 -0
- package/dist/types/utils/planMode.d.ts +5 -0
- package/dist/types/utils/promptAdmission.d.ts +1 -0
- package/dist/types/utils/queueDrain.d.ts +21 -0
- package/dist/types/utils/remote-name-skeleton.d.ts +1 -0
- package/dist/types/utils/sentinelMessage.d.ts +4 -0
- package/dist/types/utils/sessionErrors.d.ts +2 -0
- package/dist/types/utils/sessionPath.d.ts +19 -0
- package/dist/types/utils/sessionPreparation.d.ts +77 -0
- package/dist/types/utils/slash-command-action.d.ts +3 -0
- package/dist/types/utils/slashSectionPlan.d.ts +26 -0
- package/dist/types/utils/splitUrl.d.ts +37 -0
- package/dist/types/utils/standalone-session-routing.d.ts +2 -0
- package/dist/types/utils/systemInfo.d.ts +26 -0
- package/dist/types/utils/taskActivity.d.ts +18 -0
- package/dist/types/utils/timeAgo.d.ts +10 -0
- package/dist/types/utils/todos.d.ts +165 -0
- package/dist/types/utils/unicodeConfusables.d.ts +1 -0
- package/dist/types/utils/unifiedDiff.d.ts +12 -0
- package/dist/types/utils/workflowTasks.d.ts +3 -0
- package/dist/types/utils/workspace.d.ts +34 -0
- package/dist/types/utils/workspaceColor.d.ts +15 -0
- package/dist/types/voice/VoiceButton.d.ts +16 -0
- package/dist/types/voice/use-voice-workspace-settings.d.ts +13 -0
- package/dist/types/voice/useVoiceCapture.d.ts +42 -0
- package/dist/types/voice/voice-workspace-target.d.ts +45 -0
- package/dist/types/voice/voiceModels.d.ts +23 -0
- package/dist/types/workflowDetailsContext.d.ts +11 -0
- package/package.json +102 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { DaemonClient, DaemonSessionGroupCatalog } from '@qwen-code/sdk/daemon';
|
|
2
|
+
export { SESSION_LIVE_STATE_POLL_MS } from './session-live-state-poll-interval';
|
|
3
|
+
export declare const SESSION_LIVE_STATE_ERROR_RETRY_MS = 30000;
|
|
4
|
+
/**
|
|
5
|
+
* Consecutive live-state request failures before the retained snapshot is
|
|
6
|
+
* dropped as no longer current. Failures are spaced by
|
|
7
|
+
* `SESSION_LIVE_STATE_ERROR_RETRY_MS`, so this is a ~minute of a channel that
|
|
8
|
+
* cannot answer — long enough to ride out a daemon restart, short enough that
|
|
9
|
+
* a pane held loading by this authority is released while the turn is still
|
|
10
|
+
* interesting (#9487).
|
|
11
|
+
*/
|
|
12
|
+
export declare const SESSION_LIVE_STATE_STALE_AFTER_FAILURES = 3;
|
|
13
|
+
export declare const SESSION_LIVE_STATE_RECONCILE_COOLDOWN_MS = 10000;
|
|
14
|
+
interface WorkspaceSessionLiveStateOptions {
|
|
15
|
+
enabled: boolean;
|
|
16
|
+
pollIntervalMs?: number;
|
|
17
|
+
workspaceCwds: readonly string[];
|
|
18
|
+
groupWorkspaceCwds: readonly string[];
|
|
19
|
+
}
|
|
20
|
+
export declare function useWorkspaceSessionLiveState(client: DaemonClient, { enabled, pollIntervalMs: configuredPollIntervalMs, workspaceCwds, groupWorkspaceCwds, }: WorkspaceSessionLiveStateOptions): ReadonlyMap<string, DaemonSessionGroupCatalog>;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/** Stable presentation aliases; schema paths are private implementation details. */
|
|
2
|
+
declare const SETTING_KEYS: {
|
|
3
|
+
readonly 'setting:auto-update': "general.enableAutoUpdate";
|
|
4
|
+
readonly 'setting:session-recap': "general.showSessionRecap";
|
|
5
|
+
readonly 'setting:session-recap-away-threshold': "general.sessionRecapAwayThresholdMinutes";
|
|
6
|
+
readonly 'setting:cleanup-period': "general.cleanupPeriodDays";
|
|
7
|
+
readonly 'setting:git-commit-co-author': "general.gitCoAuthor.commit";
|
|
8
|
+
readonly 'setting:git-pr-co-author': "general.gitCoAuthor.pr";
|
|
9
|
+
readonly 'setting:language': "general.language";
|
|
10
|
+
readonly 'setting:prevent-system-sleep': "general.preventSystemSleep";
|
|
11
|
+
readonly 'setting:review-attribution': "review.attribution";
|
|
12
|
+
readonly 'setting:review-sandbox': "review.sandbox";
|
|
13
|
+
readonly 'setting:review-effort': "review.effort";
|
|
14
|
+
readonly 'setting:review-comment': "review.comment";
|
|
15
|
+
readonly 'setting:review-severity-floor': "review.severityFloor";
|
|
16
|
+
readonly 'setting:review-reverse-audit-rounds': "review.reverseAuditRounds";
|
|
17
|
+
readonly 'setting:review-approach-rounds': "review.approachRounds";
|
|
18
|
+
readonly 'setting:timestamps': "output.showTimestamps";
|
|
19
|
+
readonly 'setting:theme': "ui.theme";
|
|
20
|
+
readonly 'setting:workflow-keyword-trigger': "ui.disableWorkflowKeywordTrigger";
|
|
21
|
+
readonly 'setting:status-in-title': "ui.showStatusInTitle";
|
|
22
|
+
readonly 'setting:response-speed': "ui.showResponseTokensPerSecond";
|
|
23
|
+
readonly 'setting:followup-suggestions': "ui.enableFollowupSuggestions";
|
|
24
|
+
readonly 'setting:tool-call-details': "ui.showToolCallDetails";
|
|
25
|
+
readonly 'setting:shell-output-limit': "ui.shellOutputMaxLines";
|
|
26
|
+
readonly 'setting:usage-statistics': "privacy.usageStatisticsEnabled";
|
|
27
|
+
readonly 'setting:fast-model': "fastModel";
|
|
28
|
+
readonly 'setting:advisor-model': "advisorModel";
|
|
29
|
+
readonly 'setting:vision-model': "visionModel";
|
|
30
|
+
readonly 'setting:model-fallbacks': "modelFallbacks";
|
|
31
|
+
readonly 'setting:respect-git-ignore': "context.fileFiltering.respectGitIgnore";
|
|
32
|
+
readonly 'setting:respect-qwen-ignore': "context.fileFiltering.respectQwenIgnore";
|
|
33
|
+
readonly 'setting:fuzzy-file-search': "context.fileFiltering.enableFuzzySearch";
|
|
34
|
+
readonly 'setting:code-mode-only': "tools.codeModeOnly";
|
|
35
|
+
readonly 'setting:web-search': "tools.webSearch.enabled";
|
|
36
|
+
readonly 'setting:web-search-model': "tools.webSearch.model";
|
|
37
|
+
readonly 'setting:web-extractor': "tools.webSearch.webExtractor";
|
|
38
|
+
readonly 'setting:web-search-timeout': "tools.webSearch.timeoutMs";
|
|
39
|
+
readonly 'setting:web-search-limit': "tools.webSearch.maxPerSession";
|
|
40
|
+
readonly 'setting:tool-search': "tools.toolSearch.enabled";
|
|
41
|
+
readonly 'setting:tool-search-threshold': "tools.toolSearch.threshold";
|
|
42
|
+
readonly 'setting:list-directory': "tools.listDirectory.enabled";
|
|
43
|
+
readonly 'setting:todo-write': "tools.todoWrite.enabled";
|
|
44
|
+
readonly 'setting:interactive-shell': "tools.shell.enableInteractiveShell";
|
|
45
|
+
readonly 'setting:workflows': "tools.workflowsEnabled";
|
|
46
|
+
readonly 'setting:workflow-size': "tools.workflowSizeGuideline";
|
|
47
|
+
readonly 'setting:workflow-name-only': "tools.workflowNameOnly";
|
|
48
|
+
readonly 'setting:permission-strategy': "policy.permissionStrategy";
|
|
49
|
+
readonly 'setting:model-proposed-goals': "goals.modelProposed";
|
|
50
|
+
readonly 'setting:arena-artifacts': "agents.arena.preserveArtifacts";
|
|
51
|
+
readonly 'setting:session-workflow': "experimental.sessionWorkflow";
|
|
52
|
+
readonly 'setting:scheduled-tasks': "experimental.cron";
|
|
53
|
+
readonly 'setting:session-writer-lease': "experimental.sessionWriterLease";
|
|
54
|
+
readonly 'setting:agent-team': "experimental.agentTeam";
|
|
55
|
+
readonly 'setting:omni-media-delivery': "omni.enabled";
|
|
56
|
+
readonly 'setting:artifacts': "experimental.artifact";
|
|
57
|
+
readonly 'setting:tool-use-summaries': "experimental.emitToolUseSummaries";
|
|
58
|
+
readonly 'setting:voice-model': "voiceModel";
|
|
59
|
+
readonly 'setting:image-model': "imageModel";
|
|
60
|
+
};
|
|
61
|
+
declare const BUILTIN_IDS: readonly ["builtin:chat-width", "builtin:browser-notifications", "builtin:live-setup", "builtin:local-control", "builtin:model-management"];
|
|
62
|
+
export type WebShellSettingItemId = keyof typeof SETTING_KEYS | (typeof BUILTIN_IDS)[number];
|
|
63
|
+
export declare const WEB_SHELL_SETTING_ITEM_IDS: readonly WebShellSettingItemId[];
|
|
64
|
+
export interface WebShellSettingsOptions {
|
|
65
|
+
/** Hide native settings items. Presentation only; other commands/APIs remain available. */
|
|
66
|
+
excludeItems?: readonly WebShellSettingItemId[];
|
|
67
|
+
}
|
|
68
|
+
export declare function isItemExcluded(id: WebShellSettingItemId, options?: WebShellSettingsOptions): boolean;
|
|
69
|
+
export declare function isSettingExcluded(key: string, options?: WebShellSettingsOptions): boolean;
|
|
70
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface WebShellShadowDomOptions {
|
|
2
|
+
/** Isolate the plugin manager page body from host-page CSS. */
|
|
3
|
+
plugins?: boolean;
|
|
4
|
+
/** Isolate every Web Shell portal surface from host-page CSS. */
|
|
5
|
+
portals?: boolean;
|
|
6
|
+
/** Additional CSS applied inside every enabled Web Shell ShadowRoot. */
|
|
7
|
+
styles?: string;
|
|
8
|
+
}
|
|
9
|
+
export type WebShellShadowDom = boolean | WebShellShadowDomOptions;
|
|
10
|
+
export interface ResolvedWebShellShadowDomOptions {
|
|
11
|
+
plugins: boolean;
|
|
12
|
+
portals: boolean;
|
|
13
|
+
styles?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function isPluginShadowPanel(panel: string | null): boolean;
|
|
16
|
+
export declare function resolveWebShellShadowDom(value: WebShellShadowDom | undefined): ResolvedWebShellShadowDomOptions;
|
|
17
|
+
export declare function installWebShellShadowStyles(shadowRoot: ShadowRoot, additionalStyles?: string): () => void;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { DaemonBackgroundTurn } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
import type { ACPToolCall } from './adapters/types';
|
|
4
|
+
export type OpenSubagentDetails = (tool: ACPToolCall) => void;
|
|
5
|
+
interface SubagentDetailsContextValue {
|
|
6
|
+
onOpen: OpenSubagentDetails;
|
|
7
|
+
onOpenBackground?: (turn: DaemonBackgroundTurn) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function SubagentDetailsProvider({ onOpen, onOpenBackground, children, }: {
|
|
10
|
+
onOpen: OpenSubagentDetails;
|
|
11
|
+
onOpenBackground?: (turn: DaemonBackgroundTurn) => void;
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export declare function useSubagentDetails(): SubagentDetailsContextValue | undefined;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const WebShellThemeId: {
|
|
2
|
+
readonly Dark: "dark";
|
|
3
|
+
readonly Light: "light";
|
|
4
|
+
};
|
|
5
|
+
export type WebShellTheme = (typeof WebShellThemeId)[keyof typeof WebShellThemeId];
|
|
6
|
+
export declare const WEB_SHELL_THEMES: readonly WebShellTheme[];
|
|
7
|
+
export declare const ThemeProvider: import("react").Provider<WebShellTheme>;
|
|
8
|
+
export declare function useTheme(): WebShellTheme;
|
|
9
|
+
export declare const THEME_SETTING_KEY = "ui.theme";
|
|
10
|
+
export declare const LANGUAGE_SETTING_KEY = "general.language";
|
|
11
|
+
export declare function themeSettingToWebShellTheme(value: unknown, fallback?: WebShellTheme): WebShellTheme | undefined;
|
|
12
|
+
export declare function webShellThemeToSettingValue(theme: WebShellTheme): string;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Transcript-only entrypoint for `@qwen-code/web-shell`.
|
|
8
|
+
*
|
|
9
|
+
* Exposes the read-only transcript renderer without the interactive shell:
|
|
10
|
+
* no `App`, no composer, no editor/terminal chrome. Bundlers that only render
|
|
11
|
+
* transcripts (for example the `/export html` document renderer in
|
|
12
|
+
* `@qwen-code/web-templates`) must import this subpath instead of the package
|
|
13
|
+
* root, so the interactive runtime is not pulled into their output.
|
|
14
|
+
*
|
|
15
|
+
* Known residual: this is not free of the daemon React runtime. `MessageList`
|
|
16
|
+
* renders `McpStatusMessage`, `TasksStatusMessage` and the artifact turn
|
|
17
|
+
* outputs, and those call the strict `useDaemonActions` / `useDaemonWorkspace`
|
|
18
|
+
* hooks, so their provider guards are in `dist/transcript.js`. Decoupling them
|
|
19
|
+
* is #11100. `client/build-artifact.test.ts` therefore bounds this entry's size
|
|
20
|
+
* rather than asserting a symbol is absent.
|
|
21
|
+
*
|
|
22
|
+
* Do not rely on importing the package root or incidental tree shaking to
|
|
23
|
+
* keep this payload small; see
|
|
24
|
+
* `docs/design/2026-07-14-chat-record-daemon-transcript-block-projection.md`.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* import { WebShellTranscript } from '@qwen-code/web-shell/transcript';
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export { WebShellTranscript } from './components/WebShellTranscript';
|
|
32
|
+
export type { WebShellTranscriptProps } from './components/WebShellTranscript';
|
|
33
|
+
export type { WebShellFootnote, WebShellSource, WebShellSourceReference, WebShellSourceIconResolver, WebShellFootnoteIconResolver, WebShellFootnotePreviewInfo, WebShellFootnotePreviewHandle, WebShellFootnotePreviewMount, WebShellIconSource, WebShellMarkdownCustomization, } from './customization';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export type TranscriptRenderMode = 'interactive' | 'readonly' | 'document';
|
|
2
|
+
export declare const TranscriptRenderModeProvider: import("react").Provider<TranscriptRenderMode>;
|
|
3
|
+
export declare const TranscriptDocumentExpandedProvider: import("react").Provider<boolean>;
|
|
4
|
+
export declare function useTranscriptRenderMode(): TranscriptRenderMode;
|
|
5
|
+
export declare function useTranscriptDocumentExpanded(): boolean;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { PermissionRequest } from '../adapters/types';
|
|
7
|
+
/**
|
|
8
|
+
* True when a pending permission is an AskUserQuestion prompt (it carries a
|
|
9
|
+
* `questions` array, and either no tool name or the AskUserQuestion tool name)
|
|
10
|
+
* rather than a normal tool-call approval. Shared by the single-session App and
|
|
11
|
+
* the split-view ChatPane so the two never drift.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isAskUserPermission(request: PermissionRequest | null): boolean;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function base64ToBlob(data: string, mimeType: string): Blob;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Sets `key` to `value`, marks it most-recently-used, and evicts
|
|
8
|
+
* least-recently-used entries while the map exceeds `cap`. Callers own the
|
|
9
|
+
* cap because legitimate budgets differ per cache.
|
|
10
|
+
*/
|
|
11
|
+
export declare function setBoundedMapEntry<V>(map: Map<string, V>, key: string, value: V, cap: number): void;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clipboard write helper with a fallback for non-secure contexts.
|
|
3
|
+
*
|
|
4
|
+
* The async Clipboard API (`navigator.clipboard`) is only exposed in secure
|
|
5
|
+
* contexts (HTTPS or loopback). The daemon serves the Web Shell over plain
|
|
6
|
+
* HTTP, so opening it through a non-loopback address (e.g.
|
|
7
|
+
* `http://10.x.x.x:4170`) leaves `navigator.clipboard` undefined and every
|
|
8
|
+
* copy entry point used to fail. Fall back to the legacy
|
|
9
|
+
* `document.execCommand('copy')` path so copying keeps working there.
|
|
10
|
+
* See https://github.com/QwenLM/qwen-code/issues/9485.
|
|
11
|
+
*
|
|
12
|
+
* Known edge: in a secure context where clipboard-write permission has never
|
|
13
|
+
* been decided, `writeText` only settles when the user answers the permission
|
|
14
|
+
* prompt. If they block it after several seconds, the transient user
|
|
15
|
+
* activation that `execCommand('copy')` needs may already have expired, so
|
|
16
|
+
* the fallback can still fail. The common repeat-visit case (permission
|
|
17
|
+
* already `denied`) is covered because `writeText` rejects promptly and the
|
|
18
|
+
* fallback runs while the gesture is still active.
|
|
19
|
+
*
|
|
20
|
+
* `writeText` is invoked synchronously in the caller's tick (no permission
|
|
21
|
+
* pre-query) so gesture-bound tests and click handlers observe the call
|
|
22
|
+
* immediately; the rejection is the fallback trigger.
|
|
23
|
+
*/
|
|
24
|
+
export declare function writeClipboardText(text: string): Promise<void>;
|
|
25
|
+
/**
|
|
26
|
+
* Single reporter for clipboard write failures. Call sites that only want to
|
|
27
|
+
* log a failed copy (no user-visible error surface) attach
|
|
28
|
+
* `.catch(warnClipboardWriteFailure)` so the prefix/format lives in one place;
|
|
29
|
+
* callers that surface the failure in the UI keep their own handling.
|
|
30
|
+
*/
|
|
31
|
+
export declare function warnClipboardWriteFailure(error: unknown): void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { CommandInfo } from '../adapters/types';
|
|
2
|
+
export type CommandDisplayCategory = 'custom' | 'skill' | 'system';
|
|
3
|
+
export type CommandDisplayCategoryOrder = readonly CommandDisplayCategory[];
|
|
4
|
+
export declare const DEFAULT_COMMAND_CATEGORY_ORDER: CommandDisplayCategoryOrder;
|
|
5
|
+
export declare function getCommandDisplayCategory(command: CommandInfo): CommandDisplayCategory;
|
|
6
|
+
export declare function compareCommandsByCategory(a: CommandInfo, b: CommandInfo, order?: CommandDisplayCategoryOrder): number;
|
|
7
|
+
export declare function getCategoryRank(category: CommandDisplayCategory, order?: CommandDisplayCategoryOrder): number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type ComposerConnectionStatus = 'idle' | 'connecting' | 'connected' | 'disconnected' | 'error';
|
|
2
|
+
export type ComposerPlaceholderState = 'idle' | 'processing';
|
|
3
|
+
export declare function shouldDisableComposerInput({ pendingApproval, isPreparingPrompt, }: {
|
|
4
|
+
pendingApproval: boolean;
|
|
5
|
+
isPreparingPrompt: boolean;
|
|
6
|
+
}): boolean;
|
|
7
|
+
export declare function getComposerPlaceholderState({ isPreparingPrompt, isStreaming, }: {
|
|
8
|
+
isPreparingPrompt: boolean;
|
|
9
|
+
isStreaming: boolean;
|
|
10
|
+
}): ComposerPlaceholderState;
|
|
11
|
+
export declare function getComposerPlaceholderKey(input: {
|
|
12
|
+
isPreparingPrompt: boolean;
|
|
13
|
+
isStreaming: boolean;
|
|
14
|
+
}): 'editor.processing' | 'editor.placeholder';
|
|
15
|
+
export declare function shouldBlockComposerSubmit({ connectionStatus, hasSession, }: {
|
|
16
|
+
connectionStatus: ComposerConnectionStatus;
|
|
17
|
+
hasSession: boolean;
|
|
18
|
+
}): boolean;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Model IDs hidden from the composer's model picker — internal / duplicate
|
|
8
|
+
* entries that must not be user-selectable. Shared by the main chat composer
|
|
9
|
+
* (App) and the split-view pane composers (ChatPane) so both hide the same set.
|
|
10
|
+
*/
|
|
11
|
+
export declare const HIDDEN_COMPOSER_MODEL_IDS: Set<string>;
|
|
12
|
+
/** Whether a model may appear in the composer's model picker. */
|
|
13
|
+
export declare function isVisibleComposerModel(model: {
|
|
14
|
+
id: string;
|
|
15
|
+
}): boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether the model picker is unavailable for a fresh standalone draft: no
|
|
18
|
+
* session attached yet and the hydrated catalog has no user-selectable
|
|
19
|
+
* models. Shared by every picker entry point (composer toolbar, StatusBar
|
|
20
|
+
* button, /model command) so the gates never drift apart.
|
|
21
|
+
*/
|
|
22
|
+
export declare function isStandaloneModelPickerUnavailable(input: {
|
|
23
|
+
sessionId: string | null | undefined;
|
|
24
|
+
sessionContextKind: string | undefined;
|
|
25
|
+
models: readonly {
|
|
26
|
+
id: string;
|
|
27
|
+
}[] | undefined;
|
|
28
|
+
}): boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { DaemonInputAnnotation } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import type { UserMessageContentParser, WebShellComposerTag, WebShellComposerTagIconMap, WebShellComposerTagKind, WebShellUserMessagePart } from '../customization';
|
|
3
|
+
export interface ComposerTagViewModel {
|
|
4
|
+
tagLabel: string;
|
|
5
|
+
tagValue: string;
|
|
6
|
+
fallback: string;
|
|
7
|
+
iconUrl?: string;
|
|
8
|
+
}
|
|
9
|
+
export type ComposerTagContentSegment = {
|
|
10
|
+
type: 'text';
|
|
11
|
+
text: string;
|
|
12
|
+
} | {
|
|
13
|
+
type: 'reference';
|
|
14
|
+
tag: WebShellComposerTag;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Composer-tag display getters.
|
|
18
|
+
*
|
|
19
|
+
* These live here rather than in `hooks/useComposerCore.ts` on purpose: that
|
|
20
|
+
* module imports the whole CodeMirror editor at top level, and read-only
|
|
21
|
+
* consumers (`UserMessage`, and through it the `@qwen-code/web-shell/transcript`
|
|
22
|
+
* entry that `/export html` bundles) need nothing but these three string
|
|
23
|
+
* getters. Importing them from `useComposerCore` dragged ~1 MB of CodeMirror
|
|
24
|
+
* into every exported HTML file (#11031).
|
|
25
|
+
*/
|
|
26
|
+
export declare function getComposerTagLabel(tag: WebShellComposerTag): string;
|
|
27
|
+
export declare function getComposerTagValue(tag: WebShellComposerTag): string;
|
|
28
|
+
export declare function getComposerTagDisplay(tag: WebShellComposerTag): string;
|
|
29
|
+
export declare function isPreviewableFileComposerTag(tag: WebShellComposerTag): tag is WebShellComposerTag & {
|
|
30
|
+
kind: 'file';
|
|
31
|
+
value: string;
|
|
32
|
+
};
|
|
33
|
+
export interface ParseUserMessageContentOptions {
|
|
34
|
+
requireSourcePreservation?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export declare function parseUserMessageContentSafely(content: string, parser: UserMessageContentParser | undefined, warning: string, options?: ParseUserMessageContentOptions): readonly WebShellUserMessagePart[] | null;
|
|
37
|
+
export declare function getComposerTagSerialized(tag: WebShellComposerTag): string;
|
|
38
|
+
export declare function getComposerTagIconUrl(kind: WebShellComposerTagKind | undefined, customIconUrls?: WebShellComposerTagIconMap): string | undefined;
|
|
39
|
+
export declare function isBuiltinComposerTagIconUrl(iconUrl: string | undefined): boolean;
|
|
40
|
+
export declare function createInputAnnotationsFromComposerTags(content: string, tags: readonly WebShellComposerTag[]): DaemonInputAnnotation[];
|
|
41
|
+
export declare function splitComposerTagContentByAnnotations(content: string, inputAnnotations?: readonly DaemonInputAnnotation[]): ComposerTagContentSegment[];
|
|
42
|
+
export declare function getComposerTagViewModel(tag: WebShellComposerTag, composerTagIcons?: WebShellComposerTagIconMap): ComposerTagViewModel;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { DaemonSessionTaskWithWorkflowStatus } from '@qwen-code/sdk/daemon';
|
|
2
|
+
/**
|
|
3
|
+
* Tasks that belong to THIS session's live background state — what the
|
|
4
|
+
* status-bar pill counts and the environment panel lists.
|
|
5
|
+
*
|
|
6
|
+
* Agent tasks have their own surfaces, and retained workflow runs are
|
|
7
|
+
* history: `getWorkflowTasks()` merges the project's saved snapshots into
|
|
8
|
+
* the same list, so without the `isHistorical` exclusion a project with
|
|
9
|
+
* saved runs shows "30 tasks done" in the pill the first time polling runs,
|
|
10
|
+
* for the rest of the session, with no way to clear it. Consumers that
|
|
11
|
+
* genuinely want the history (the workflow details provider, the tasks
|
|
12
|
+
* dialog) read the unfiltered list instead.
|
|
13
|
+
*/
|
|
14
|
+
export declare function isComposerTask(task: DaemonSessionTaskWithWorkflowStatus): task is Exclude<DaemonSessionTaskWithWorkflowStatus, {
|
|
15
|
+
kind: 'agent';
|
|
16
|
+
}>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared severity thresholds for context-window occupancy, used by the
|
|
3
|
+
* composer ring and the /context panel so the two surfaces never disagree
|
|
4
|
+
* about when usage turns warning or error.
|
|
5
|
+
*/
|
|
6
|
+
export declare const CONTEXT_USAGE_WARNING_PCT = 60;
|
|
7
|
+
export declare const CONTEXT_USAGE_ERROR_PCT = 80;
|
|
8
|
+
export type ContextUsageLevel = 'normal' | 'warning' | 'error';
|
|
9
|
+
export declare function getContextUsageLevel(pct: number): ContextUsageLevel;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Message } from '../adapters/types';
|
|
2
|
+
export interface CopyCommandResult {
|
|
3
|
+
status: 'info' | 'error';
|
|
4
|
+
message: string;
|
|
5
|
+
}
|
|
6
|
+
export declare const COPY_MESSAGES: {
|
|
7
|
+
readonly NO_OUTPUT: "No output in history";
|
|
8
|
+
readonly NO_TEXT: "Last AI output contains no text to copy.";
|
|
9
|
+
readonly CODE_MISSING: "No matching code block found in the last AI output.";
|
|
10
|
+
readonly LATEX_MISSING: "No matching LaTeX block found in the last AI output.";
|
|
11
|
+
readonly INLINE_LATEX_MISSING: "No matching inline LaTeX expression found in the last AI output.";
|
|
12
|
+
readonly OUTPUT_COPIED: "Last output copied to the clipboard";
|
|
13
|
+
readonly CLIPBOARD_PREFIX: "Failed to copy to the clipboard. ";
|
|
14
|
+
readonly COPIED_SUFFIX: " copied to the clipboard";
|
|
15
|
+
};
|
|
16
|
+
type ClipboardWriter = (text: string) => Promise<void>;
|
|
17
|
+
export declare function copyFromLastAssistantMessage(messages: readonly Message[], args: string, writeText?: ClipboardWriter): Promise<CopyCommandResult>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function trimDialogLabel(label: string): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function extractErrorDetail(error: unknown): string;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type EscArmedAction = 'cancel' | 'clear';
|
|
2
|
+
export interface EscapeContext {
|
|
3
|
+
/** A pending approval or blocking dialog swallows Escape entirely. */
|
|
4
|
+
blocked: boolean;
|
|
5
|
+
/** A turn is in flight (streaming, or the daemon reports an active prompt). */
|
|
6
|
+
streaming: boolean;
|
|
7
|
+
/** The composer currently has text that could be cleared. */
|
|
8
|
+
hasInput: boolean;
|
|
9
|
+
/** Which action the previous Escape armed, or null when idle. */
|
|
10
|
+
armed: EscArmedAction | null;
|
|
11
|
+
}
|
|
12
|
+
export type EscapeIntent = {
|
|
13
|
+
kind: 'cancel';
|
|
14
|
+
} | {
|
|
15
|
+
kind: 'clear';
|
|
16
|
+
} | {
|
|
17
|
+
kind: 'arm';
|
|
18
|
+
action: EscArmedAction;
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'ignore';
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Decide what an Escape press means. Streaming takes priority over clearing
|
|
24
|
+
* text (stopping a live turn is what the user most wants), and each action is a
|
|
25
|
+
* two-press confirm: the first press arms, a matching second press confirms. A
|
|
26
|
+
* press armed for the wrong action (e.g. clear-armed while now streaming)
|
|
27
|
+
* re-arms the action that currently applies rather than confirming.
|
|
28
|
+
*/
|
|
29
|
+
export declare function decideEscapeIntent(ctx: EscapeContext): EscapeIntent;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External-URL opening helper shared by markdown links and `external_url`
|
|
3
|
+
* link artifacts.
|
|
4
|
+
*
|
|
5
|
+
* Inside the packaged desktop shell, external clicks use Tauri's opener
|
|
6
|
+
* plugin. Plain browsers keep native anchor behavior at the call sites.
|
|
7
|
+
*/
|
|
8
|
+
/** True when the Web Shell runs inside the packaged Tauri desktop window. */
|
|
9
|
+
export declare function isDesktopShell(): boolean;
|
|
10
|
+
export declare function isExternalOpenUrl(url: string | undefined): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Opens `url` in the OS default browser. Rejects when the open fails so
|
|
13
|
+
* callers can surface a visible error instead of swallowing the click.
|
|
14
|
+
*/
|
|
15
|
+
export declare function openExternalUrl(url: string): Promise<void>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Precise timestamp for hover details: a session from the current calendar
|
|
3
|
+
* day shows the local wall-clock time `HH:mm:ss`; anything older shows the
|
|
4
|
+
* calendar date `yyyy-MM-dd`. Calendar days — not elapsed milliseconds — so
|
|
5
|
+
* yesterday 08:01 can never masquerade as today 08:01 across midnight.
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatDateTime(iso: string, now?: number): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function formatRuntime(ms: number): string;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare function formatTokenCount(count: number): string;
|
|
2
|
+
/**
|
|
3
|
+
* Context-usage token count — k/M with one decimal (e.g. `53.6k`, `1.0M`),
|
|
4
|
+
* used by context cards and usage summaries. The composer tooltip shows
|
|
5
|
+
* exact locale-grouped counts instead.
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatContextTokens(count: number): string;
|
|
8
|
+
/**
|
|
9
|
+
* Token count in megatokens — always `M` with one decimal (e.g. `810.7M`,
|
|
10
|
+
* `9382.8M`), the usage dashboard's convention where even billions read as M.
|
|
11
|
+
* Sub-1M values render raw with locale grouping (e.g. `80`, `12,345`).
|
|
12
|
+
*/
|
|
13
|
+
export declare function formatMegaTokens(count: number): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonWorkspaceGitStatus } from '@qwen-code/sdk/daemon';
|
|
7
|
+
/**
|
|
8
|
+
* Whether an armed git-mode intent (new branch / worktree) for the next
|
|
9
|
+
* session can no longer apply and must fall back to the current branch.
|
|
10
|
+
*
|
|
11
|
+
* Only definitive states reset it: a session already exists, the workspace
|
|
12
|
+
* is not trusted, or git status answered and reported no branch. A status
|
|
13
|
+
* that is merely absent — not fetched yet, or a poll round that failed — is
|
|
14
|
+
* transient and leaves the intent alone; otherwise one rejected refetch
|
|
15
|
+
* while a draft sits would silently turn a requested worktree task into a
|
|
16
|
+
* plain session in the main checkout.
|
|
17
|
+
*/
|
|
18
|
+
export declare function gitModeIntentMustReset({ sessionId, workspaceTrusted, gitStatus, }: {
|
|
19
|
+
sessionId: string | null | undefined;
|
|
20
|
+
workspaceTrusted: boolean | undefined;
|
|
21
|
+
gitStatus: Pick<DaemonWorkspaceGitStatus, 'branch'> | undefined;
|
|
22
|
+
}): boolean;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Words the daemon reads as "drop the goal" rather than as a condition.
|
|
8
|
+
*
|
|
9
|
+
* Mirrors CLEAR_KEYWORDS in packages/cli/src/ui/commands/goalCommand.ts, which
|
|
10
|
+
* is the authority. The test beside this file reads that source and fails on
|
|
11
|
+
* drift — this client bundles for the browser and cannot import from core.
|
|
12
|
+
*/
|
|
13
|
+
export declare const GOAL_CLEAR_KEYWORDS: ReadonlySet<string>;
|
|
14
|
+
export type ParsedWebShellGoalCommand = {
|
|
15
|
+
kind: 'status';
|
|
16
|
+
} | {
|
|
17
|
+
kind: 'set' | 'edit';
|
|
18
|
+
objective: string;
|
|
19
|
+
} | {
|
|
20
|
+
kind: 'pause' | 'resume' | 'clear';
|
|
21
|
+
} | {
|
|
22
|
+
kind: 'error';
|
|
23
|
+
keyword: 'set' | 'edit';
|
|
24
|
+
};
|
|
25
|
+
/** The argument of a `/goal …` command; `''` for a bare `/goal`. */
|
|
26
|
+
export declare function goalArgOf(text: string): string;
|
|
27
|
+
/** Browser-side mirror of the CLI's Goal v3 command grammar. */
|
|
28
|
+
export declare function parseWebShellGoalCommand(text: string): ParsedWebShellGoalCommand;
|
|
29
|
+
/**
|
|
30
|
+
* True when `text` is a `/goal <clear-keyword>` invocation.
|
|
31
|
+
*
|
|
32
|
+
* The prefix is checked here rather than assumed. `goalArgOf` strips `/goal`
|
|
33
|
+
* only when it is present and otherwise returns the text unchanged, so without
|
|
34
|
+
* this guard a bare `"clear"` — a perfectly ordinary thing to type into a chat
|
|
35
|
+
* box — would answer true to "is this a goal-clear command?".
|
|
36
|
+
*/
|
|
37
|
+
export declare function isGoalClearCommand(text: string): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* True when a would-be goal condition is really a clear keyword. `/goal clear`
|
|
40
|
+
* clears rather than sets, so a form that accepts "clear" as a condition would
|
|
41
|
+
* silently start a session that immediately drops the goal.
|
|
42
|
+
*/
|
|
43
|
+
export declare function isGoalClearKeyword(condition: string): boolean;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type GoalControlRequest, type GoalRecord } from '@qwen-code/sdk/daemon';
|
|
7
|
+
export type GoalControlAction = 'create' | 'replace' | 'edit' | 'pause' | 'resume' | 'clear';
|
|
8
|
+
/**
|
|
9
|
+
* Build the versioned control request for `action` against the goal the daemon
|
|
10
|
+
* just reported.
|
|
11
|
+
*
|
|
12
|
+
* Shared by the main composer and the split-view pane: both read a fresh
|
|
13
|
+
* snapshot, then stamp `expectedGoalId`/`expectedRevision` from it. Keeping the
|
|
14
|
+
* construction in one place is what stops the two surfaces from drifting apart
|
|
15
|
+
* on the optimistic-concurrency contract.
|
|
16
|
+
*/
|
|
17
|
+
export declare function buildGoalControlRequest(action: GoalControlAction, goal: GoalRecord | null | undefined, objective: string | undefined, errors: {
|
|
18
|
+
emptyObjective: string;
|
|
19
|
+
goalUnavailable: string;
|
|
20
|
+
}): GoalControlRequest;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { GoalSnapshotV2, GoalStatus } from '@qwen-code/sdk/daemon';
|
|
7
|
+
/** The slice of the daemon connection the Goal gate reads. */
|
|
8
|
+
export interface GoalGateConnection {
|
|
9
|
+
sessionId?: string | undefined;
|
|
10
|
+
goalState?: GoalSnapshotV2 | undefined;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Whether a local action must be held back because a Goal owns the session.
|
|
14
|
+
*
|
|
15
|
+
* Fails CLOSED while `goalState` is still hydrating: the session load clears
|
|
16
|
+
* `loadingTranscript` (making the composer writable) before its `goal()` fetch
|
|
17
|
+
* resolves, so an unknown Goal state on a real session has to read as "a Goal
|
|
18
|
+
* may be active". Commands and automatic runs must not start against that
|
|
19
|
+
* unknown ownership state.
|
|
20
|
+
*
|
|
21
|
+
* Command and automatic/manual run guards go through here. Ordinary chat
|
|
22
|
+
* submissions are routed only by the session's streaming state.
|
|
23
|
+
*/
|
|
24
|
+
export declare function isGoalGateBlocked(connection: GoalGateConnection): boolean;
|
|
25
|
+
/** The slice of a Goal record the resume gate reads. */
|
|
26
|
+
export interface GoalResumeGateRecord {
|
|
27
|
+
status: GoalStatus;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Whether `resume` is a transition the reducer will accept for this Goal.
|
|
31
|
+
*
|
|
32
|
+
* Stated as the reducer states it (`reduceGoalControl`), not as an
|
|
33
|
+
* approximation of it: every Goal resume affordance in the client goes through
|
|
34
|
+
* here, so an offered Resume button cannot dead-end in an invalid-transition
|
|
35
|
+
* 409 that the UI itself promised would not happen. The reducer accepts resume
|
|
36
|
+
* for every stopped status -- an evidence-limited Goal resumes by restarting
|
|
37
|
+
* its evidence window -- so status is the whole contract.
|
|
38
|
+
*/
|
|
39
|
+
export declare function canResumeGoal(goal: GoalResumeGateRecord): boolean;
|