@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,65 @@
|
|
|
1
|
+
import type { DaemonSessionArchiveState } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import type { SessionCatalogQuery } from '../session-catalog/session-catalog-store';
|
|
3
|
+
interface ScopedSessionsOptions {
|
|
4
|
+
autoLoad?: boolean;
|
|
5
|
+
enabled?: boolean;
|
|
6
|
+
maxAgeMs?: number;
|
|
7
|
+
pageSize?: number;
|
|
8
|
+
archiveState?: DaemonSessionArchiveState;
|
|
9
|
+
view?: 'organized';
|
|
10
|
+
group?: string;
|
|
11
|
+
pollIntervalMs?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function useScopedSessions(workspaceCwd: string | undefined, options?: ScopedSessionsOptions): {
|
|
14
|
+
data: import("@qwen-code/sdk/daemon").DaemonSessionSummary[] | undefined;
|
|
15
|
+
sessions: import("@qwen-code/sdk/daemon").DaemonSessionSummary[];
|
|
16
|
+
loading: boolean;
|
|
17
|
+
error: Error | undefined;
|
|
18
|
+
reload: (reloadOptions?: {
|
|
19
|
+
interactive?: boolean;
|
|
20
|
+
}) => Promise<import("@qwen-code/sdk/daemon").DaemonSessionSummary[] | undefined>;
|
|
21
|
+
nextCursor: string | undefined;
|
|
22
|
+
liveMergeFailed: boolean;
|
|
23
|
+
truncated: boolean;
|
|
24
|
+
loadSession: ((sessionId: string, options?: {
|
|
25
|
+
workspaceCwd?: string;
|
|
26
|
+
sessionContext?: import("@qwen-code/web-shell/daemon-react-sdk").DaemonProductSessionContext;
|
|
27
|
+
}) => Promise<void>) | undefined;
|
|
28
|
+
resumeSession: ((sessionId: string, options?: {
|
|
29
|
+
workspaceCwd?: string;
|
|
30
|
+
sessionContext?: import("@qwen-code/web-shell/daemon-react-sdk").DaemonProductSessionContext;
|
|
31
|
+
}) => Promise<void>) | undefined;
|
|
32
|
+
newSession: (() => Promise<void>) | undefined;
|
|
33
|
+
releaseSession: ((sessionId: string) => Promise<void>) | undefined;
|
|
34
|
+
releaseSessionAction: ((sessionId: string) => Promise<void>) | undefined;
|
|
35
|
+
deleteSession: (sessionId: string) => Promise<boolean>;
|
|
36
|
+
deleteSessions: (sessionIds: string[]) => Promise<{
|
|
37
|
+
removed: string[];
|
|
38
|
+
notFound: string[];
|
|
39
|
+
errors: Array<{
|
|
40
|
+
sessionId: string;
|
|
41
|
+
error: string;
|
|
42
|
+
}>;
|
|
43
|
+
}>;
|
|
44
|
+
exportSession: (sessionId: string, format?: import("@qwen-code/sdk/daemon").DaemonSessionExportFormat) => Promise<import("@qwen-code/sdk/daemon").DaemonSessionExportResult>;
|
|
45
|
+
archiveSession: (sessionId: string) => Promise<boolean>;
|
|
46
|
+
unarchiveSession: (sessionId: string) => Promise<boolean>;
|
|
47
|
+
catalogQuery: SessionCatalogQuery | undefined;
|
|
48
|
+
} | {
|
|
49
|
+
data: import("@qwen-code/sdk/daemon").DaemonSessionSummary[] | undefined;
|
|
50
|
+
sessions: import("@qwen-code/sdk/daemon").DaemonSessionSummary[];
|
|
51
|
+
loading: boolean;
|
|
52
|
+
error: Error | undefined;
|
|
53
|
+
reload: () => Promise<import("@qwen-code/sdk/daemon").DaemonSessionSummary[]>;
|
|
54
|
+
deleteSession: (sessionId: string) => Promise<boolean>;
|
|
55
|
+
deleteSessions: (sessionIds: string[]) => Promise<{
|
|
56
|
+
removed: string[];
|
|
57
|
+
notFound: string[];
|
|
58
|
+
errors: Array<{
|
|
59
|
+
sessionId: string;
|
|
60
|
+
error: string;
|
|
61
|
+
}>;
|
|
62
|
+
}>;
|
|
63
|
+
releaseSession: ((sessionId: string) => Promise<void | undefined>) | undefined;
|
|
64
|
+
};
|
|
65
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { DaemonSessionArtifact } from '@qwen-code/sdk/daemon';
|
|
2
|
+
export interface SessionArtifactsState {
|
|
3
|
+
artifacts: DaemonSessionArtifact[];
|
|
4
|
+
artifactById: ReadonlyMap<string, DaemonSessionArtifact>;
|
|
5
|
+
loading: boolean;
|
|
6
|
+
error: string | null;
|
|
7
|
+
hydrated: boolean;
|
|
8
|
+
refresh: () => Promise<void>;
|
|
9
|
+
}
|
|
10
|
+
export declare function useSessionArtifacts(): SessionArtifactsState;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { DaemonSessionArtifact } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import type { WebShellSessionArtifactsChange } from '../customization';
|
|
3
|
+
interface SessionArtifactsChangeOptions {
|
|
4
|
+
sessionId?: string;
|
|
5
|
+
ready: boolean;
|
|
6
|
+
hydrated: boolean;
|
|
7
|
+
artifacts: readonly DaemonSessionArtifact[];
|
|
8
|
+
artifactsByTurn: ReadonlyMap<string, readonly DaemonSessionArtifact[]>;
|
|
9
|
+
onChange?: (change: WebShellSessionArtifactsChange) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function useSessionArtifactsChange({ sessionId, ready, hydrated, artifacts, artifactsByTurn, onChange, }: SessionArtifactsChangeOptions): void;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SessionSourceInput } from '@qwen-code/sdk/daemon';
|
|
2
|
+
export declare function useSessionSources(): {
|
|
3
|
+
supported: boolean;
|
|
4
|
+
sources: import("@qwen-code/sdk/daemon").SessionSource[];
|
|
5
|
+
revision: number;
|
|
6
|
+
hydrated: boolean;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
error: string | null;
|
|
9
|
+
refresh: () => Promise<void>;
|
|
10
|
+
upsert: (input: SessionSourceInput) => Promise<import("@qwen-code/sdk/daemon").SessionSourceUpsertResult | undefined>;
|
|
11
|
+
remove: (id: string) => Promise<void>;
|
|
12
|
+
owner: import("@qwen-code/web-shell/daemon-react-sdk").DaemonSessionOwnerSnapshot;
|
|
13
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useSharedNow(enabled: boolean): number;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface LoadingMetrics {
|
|
2
|
+
estimatedOutputTokens: number;
|
|
3
|
+
isReceivingContent: boolean;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* CLI-aligned streaming loading metrics derived from transcript blocks.
|
|
7
|
+
*
|
|
8
|
+
* CLI source (use-llm-stream.ts + LoadingIndicator.tsx):
|
|
9
|
+
* - streamingChars: accumulated from text_delta (+text.length) and
|
|
10
|
+
* ToolCallRequest (+JSON.stringify(args).length). Reset only on new
|
|
11
|
+
* user queries, NOT on tool-result continuations.
|
|
12
|
+
* - isReceivingContent: false at submitQuery start, true on first
|
|
13
|
+
* content event. Never changed elsewhere (tool calls don't flip it).
|
|
14
|
+
* - outputTokens = agentTokens + round(animatedChars / 4)
|
|
15
|
+
* where agentTokens = sum of subagent task_execution.tokenCount
|
|
16
|
+
* - Animation: 100ms interval, gap<70→+3, 70-200→+20%, >200→+50
|
|
17
|
+
*/
|
|
18
|
+
export declare function useStreamingLoadingMetrics(): LoadingMetrics;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type Translator } from '../adapters/localizedMessages';
|
|
7
|
+
import type { Message } from '../adapters/types';
|
|
8
|
+
export declare function useTranscriptViewport(liveMessages: Message[], t: Translator): {
|
|
9
|
+
navigation: import("..").DaemonTurnNavigationSnapshot;
|
|
10
|
+
store: import("../daemon/session/turn-navigation-store").DaemonHistoryNavigationStore;
|
|
11
|
+
target: {
|
|
12
|
+
blockId: string;
|
|
13
|
+
token: number;
|
|
14
|
+
} | undefined;
|
|
15
|
+
selectOrdinal: (ordinal: number) => Promise<void>;
|
|
16
|
+
cancelSelection: () => void;
|
|
17
|
+
continueLive: (blockId?: string) => void;
|
|
18
|
+
messages: import("../adapters/messageTypes").DaemonMessage[];
|
|
19
|
+
toolSources: Map<string, string>;
|
|
20
|
+
historical: boolean;
|
|
21
|
+
viewKey: string;
|
|
22
|
+
range: import("../daemon/session/transcript-page-table").HistoricalViewportRange | undefined;
|
|
23
|
+
loading: boolean;
|
|
24
|
+
error: boolean;
|
|
25
|
+
connected: boolean;
|
|
26
|
+
canContinueLive: boolean;
|
|
27
|
+
retry: (beforeAdmit?: () => void) => void;
|
|
28
|
+
pin: (sourceBlockId?: string) => void;
|
|
29
|
+
load: (direction: "older" | "newer", beforeAdmit?: () => void) => Promise<void>;
|
|
30
|
+
returnToLive: () => void;
|
|
31
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type PropsWithChildren } from 'react';
|
|
2
|
+
export declare const WEB_SHELL_LANGUAGES: readonly ["en", "zh-CN"];
|
|
3
|
+
export type WebShellLanguage = (typeof WEB_SHELL_LANGUAGES)[number];
|
|
4
|
+
export declare function normalizeLanguage(value: string | undefined | null): WebShellLanguage;
|
|
5
|
+
export declare function languageSettingToWebShellLanguage(value: unknown): WebShellLanguage | undefined;
|
|
6
|
+
export declare function languageLabel(language: WebShellLanguage): string;
|
|
7
|
+
export declare function getTranslator(language: WebShellLanguage): (key: string, vars?: Record<string, string | number>) => string;
|
|
8
|
+
export declare function I18nProvider({ language, children, }: PropsWithChildren<{
|
|
9
|
+
language: WebShellLanguage;
|
|
10
|
+
}>): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export declare function useI18n(): {
|
|
12
|
+
language: WebShellLanguage;
|
|
13
|
+
t: (key: string, vars?: Record<string, string | number>) => string;
|
|
14
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { type DaemonProductSessionContext } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
2
|
+
import { type WebShellProps } from './App';
|
|
3
|
+
import { type WebShellBrowserNotificationsOptions } from './browser-turn-notifications';
|
|
4
|
+
export { WebShellTranscript } from './components/WebShellTranscript';
|
|
5
|
+
export type { WebShellTranscriptProps } from './components/WebShellTranscript';
|
|
6
|
+
export * from './daemon-react-sdk';
|
|
7
|
+
export type { WebShellBrowserNotificationsOptions } from './browser-turn-notifications';
|
|
8
|
+
export interface WebShellWithProvidersProps extends WebShellProps {
|
|
9
|
+
/** Connect browser notifications with optional branding and an initial preference (off by default). */
|
|
10
|
+
browserNotifications?: WebShellBrowserNotificationsOptions;
|
|
11
|
+
/** Daemon API base URL. Defaults to the browser origin when omitted. */
|
|
12
|
+
baseUrl?: string;
|
|
13
|
+
/** Bearer token passed to daemon requests. */
|
|
14
|
+
token?: string;
|
|
15
|
+
/** Session id to load. Undefined starts on an empty page. */
|
|
16
|
+
sessionId?: string;
|
|
17
|
+
/** Registered daemon workspace id for the session. Undefined uses primary. */
|
|
18
|
+
workspaceId?: string;
|
|
19
|
+
/** Registered daemon workspace path for the session. Takes precedence over workspaceId. */
|
|
20
|
+
workspaceCwd?: string;
|
|
21
|
+
/** Explicit product context. Use standalone without workspaceId/workspaceCwd. */
|
|
22
|
+
sessionContext?: DaemonProductSessionContext;
|
|
23
|
+
/**
|
|
24
|
+
* Workspace path to lock this shell to. Missing paths are registered
|
|
25
|
+
* persistently before rendering. Takes precedence over workspaceCwd and workspaceId.
|
|
26
|
+
*/
|
|
27
|
+
lockWorkspaceCwd?: string;
|
|
28
|
+
/** Client identity to reuse when attaching to an externally created session. */
|
|
29
|
+
clientId?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Restart a live SSE event stream after each accepted prompt. Disabled by
|
|
32
|
+
* default. A stream that is already down is always rebuilt immediately on
|
|
33
|
+
* prompt admission, regardless of this flag.
|
|
34
|
+
*/
|
|
35
|
+
restartSseOnPrompt?: boolean;
|
|
36
|
+
/** Persisted transcript records requested per page. Defaults to 100; valid range is 1–500. */
|
|
37
|
+
historyPageSize?: number;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Low-level UI component. Requires ancestor `DaemonWorkspaceProvider` and
|
|
41
|
+
* `DaemonSessionProvider` from `@qwen-code/web-shell`. The consumer
|
|
42
|
+
* owns those providers, so this boundary covers only what we render (`App`).
|
|
43
|
+
*/
|
|
44
|
+
export declare function WebShell(props: WebShellProps): import("react/jsx-runtime").JSX.Element;
|
|
45
|
+
/**
|
|
46
|
+
* Batteries-included component for product integrations. It wraps WebShell
|
|
47
|
+
* with both daemon providers, so MCP/tools/skills/memory/agents/session APIs
|
|
48
|
+
* are available without extra setup.
|
|
49
|
+
*/
|
|
50
|
+
export declare function WebShellWithProviders(props: WebShellWithProvidersProps): import("react/jsx-runtime").JSX.Element;
|
|
51
|
+
/** Alias for consumers who prefer a standalone naming style. */
|
|
52
|
+
export declare const StandaloneWebShell: typeof WebShellWithProviders;
|
|
53
|
+
export type { WebShellApi, WebShellComposerPlaceholders, WebShellComposerPlaceholderState, WebShellSlashCommand, WebShellSlashCommandHandler, WebShellProps, WebShellSidebarOptions, BugReportInfo, SessionChangeEvent, } from './App';
|
|
54
|
+
export type { WebShellShadowDom, WebShellShadowDomOptions } from './shadowDom';
|
|
55
|
+
export type { ToastTone } from './components/ToastHost';
|
|
56
|
+
export type { WebShellSidebarBranding, WebShellSidebarFooterItem, WebShellSidebarFooterOptions, WebShellSidebarLockedWorkspace, WebShellSidebarPrimaryNavOptions, WebShellSidebarPrimaryNavItem, WebShellSidebarSessionActionsOptions, WebShellSidebarSessionActionItem, WebShellSidebarSessionInlineActionItem, WebShellSidebarWorkspaceOverviewOptions, WorkspaceManagementTarget, WorkspaceOverviewItem, } from './components/sidebar/WebShellSidebar';
|
|
57
|
+
export type { WebShellLanguage } from './i18n';
|
|
58
|
+
export type { WebShellTheme } from './themeContext';
|
|
59
|
+
export type { WebShellBrand, WebShellResolvedBrand } from './brandContext';
|
|
60
|
+
export type { CommandDisplayCategory, CommandDisplayCategoryOrder, } from './utils/commandDisplay';
|
|
61
|
+
export type { ComposerToolbarAction } from './components/ChatEditor';
|
|
62
|
+
export type { CodeBlockRenderer, MarkdownContentSource, MarkdownTableMode, MarkdownRenderContext, ToolHeaderExtraRenderer, ToolHeaderExtraRenderInfo, ToolHeaderKind, ComposerTagClickHandler, ComposerTagRenderer, AssistantTurnFooterRenderer, UserMessageContentRenderer, UserMessageContentRenderInfo, UserMessageContentParser, ComposerHeaderRenderer, ComposerFooterRenderer, ComposerToolbarStartRenderer, ComposerToolbarRightRenderer, WebShellAtItemRenderInfo, WebShellAtItemRenderer, WebShellComposerApi, WebShellBuiltinComposerTagKind, WebShellBuiltinAtProviderId, WebShellBuiltinAtProvidersConfig, WebShellComposerInput, WebShellComposerTag, WebShellComposerTagIconMap, WebShellComposerTagKind, WebShellComposerTagOptions, WebShellComposerTagPlacement, WebShellComposerToolbarRenderInfo, WebShellComposerToolbarStartRenderInfo, WebShellComposerToolbarRightRenderInfo, WebShellComposerTextOptions, WelcomeFooterRenderer, WelcomeHeaderRenderer, ChatHeaderRenderer, ChatHeaderRenderInfo, WebShellChatHeaderItem, WebShellChatHeaderOptions, WebShellRightPanelItem, WebShellRightPanelOptions, WebShellEnvironmentPanelItem, WebShellEnvironmentPanelOptions, WebShellFooterRenderInfo, FooterRenderer, LoadingPhrasesResolver, WebShellAtProviderTab, WebShellAtItem, WebShellAtProvider, WebShellBottomStatusItem, WebShellCodeBlockRenderInfo, WebShellMarkdownChartCustomization, WebShellMarkdownCustomization, WebShellFootnote, WebShellSource, WebShellSourceReference, WebShellSourceIconResolver, WebShellFootnoteIconResolver, WebShellFootnotePreviewInfo, WebShellFootnotePreviewHandle, WebShellFootnotePreviewMount, WebShellAssistantMessageInfo, WebShellAssistantTurnFooterRenderInfo, ArtifactImageRenderer, WebShellArtifactCustomization, WebShellIconSource, WebShellTaskInfo, WebShellUserMessagePart, WebShellAgentTask, WebShellShellTask, WebShellMonitorTask, WebShellWorkflowTask, WebShellPreparedSubmit, WebShellSubmitSnapshot, WebShellSessionArtifactsChange, WebShellSessionArtifactsChangeReason, WebShellModelInfo, WebShellSkillInfo, } from './customization';
|
|
63
|
+
export type { WelcomeHeaderProps } from './components/WelcomeHeader';
|
|
64
|
+
export type { PaneHeaderActionsInfo, PaneHeaderActionsRenderer, } from './components/ChatPane';
|
|
65
|
+
export type { TurnOutputKind, TurnOutputOpenRequest, } from './components/artifacts/TurnOutputs';
|
|
66
|
+
export { ECHARTS_FULLDATA_LANGUAGE, EchartsFullDataBlock, createMarkdownChartRegistry, createEchartsFullDataRenderer, } from './components/messages/MarkdownChartRenderer';
|
|
67
|
+
export type { DatasetCell, EchartsFullDataBlockProps, EchartsFullDataOption, EchartsFullDataRefMeta, EchartsFullDataRefResolver, EchartsFullDataResolvedDataset, EchartsFullDataRendererOptions, EchartsInstance, EchartsRuntime, EchartsRuntimeLoader, } from './components/messages/MarkdownChartRenderer';
|
|
68
|
+
export { WEB_SHELL_SETTING_ITEM_IDS } from './settings';
|
|
69
|
+
export type { WebShellSettingItemId, WebShellSettingsOptions, } from './settings';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type KeyboardEvent } from 'react';
|
|
7
|
+
export declare function acceleratorFromKeyboardEvent(event: KeyboardEvent<HTMLInputElement>): string | null;
|
|
8
|
+
export declare function formatAccelerator(accelerator: string): string;
|
|
9
|
+
export declare function HotkeySetter({ accelerator, disabled, captureLabel, clearLabel, offLabel, onChange, }: {
|
|
10
|
+
accelerator: string;
|
|
11
|
+
disabled: boolean;
|
|
12
|
+
captureLabel: string;
|
|
13
|
+
clearLabel: string;
|
|
14
|
+
offLabel: string;
|
|
15
|
+
onChange: (accelerator: string) => Promise<void>;
|
|
16
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type UseLiveVoiceSetupResult } from './useLiveVoiceSetup';
|
|
7
|
+
export declare function LiveVoiceSettingsCard({ setup, }: {
|
|
8
|
+
setup: UseLiveVoiceSetupResult;
|
|
9
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonLiveMuteUpdate, DaemonLiveStatus } from '@qwen-code/sdk';
|
|
7
|
+
export interface UseLiveVoiceResult {
|
|
8
|
+
supported: boolean;
|
|
9
|
+
status: DaemonLiveStatus | undefined;
|
|
10
|
+
loading: boolean;
|
|
11
|
+
mutating: boolean;
|
|
12
|
+
refresh: () => Promise<void>;
|
|
13
|
+
start: (mode?: 'resume' | 'new') => Promise<void>;
|
|
14
|
+
stop: () => Promise<void>;
|
|
15
|
+
setMute: (update: DaemonLiveMuteUpdate) => Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export declare function useLiveVoice(): UseLiveVoiceResult;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonLiveHostInstallState, DaemonLiveSetupStatus, DaemonLiveSetupUpdate } from '@qwen-code/sdk';
|
|
7
|
+
export declare const INSTALLING_STATES: ReadonlySet<DaemonLiveHostInstallState>;
|
|
8
|
+
export interface UseLiveVoiceSetupResult {
|
|
9
|
+
supported: boolean;
|
|
10
|
+
status: DaemonLiveSetupStatus | undefined;
|
|
11
|
+
loading: boolean;
|
|
12
|
+
mutating: boolean;
|
|
13
|
+
error: Error | undefined;
|
|
14
|
+
refresh: () => Promise<void>;
|
|
15
|
+
update: (update: DaemonLiveSetupUpdate) => Promise<void>;
|
|
16
|
+
retryInstall: () => Promise<void>;
|
|
17
|
+
launchHost: () => Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
export declare function useLiveVoiceSetup(supported: boolean, active?: boolean): UseLiveVoiceSetupResult;
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 4c — the reverse-channel client for the local-files bridge.
|
|
3
|
+
*
|
|
4
|
+
* Owns one `/acp` WebSocket for the lifetime of a granted directory: ACP
|
|
5
|
+
* `initialize`, then `mcp_register { server, sessionId }`, then answering the
|
|
6
|
+
* daemon's `mcp_message` frames from {@link LocalFilesMcpServer}.
|
|
7
|
+
*
|
|
8
|
+
* Three behaviours here are not optional, because each was measured rather than
|
|
9
|
+
* assumed (see `docs/design/2026-09-03-client-filesystem-bridge.md` §3):
|
|
10
|
+
*
|
|
11
|
+
* - Registration needs a LIVE ACP channel. A preheated child can be reaped
|
|
12
|
+
* before we ask, and the daemon answers `register_failed`; the daemon's own
|
|
13
|
+
* CDP path retries 20x250ms for the same reason, so we re-warm and retry.
|
|
14
|
+
* - Closing the socket is the teardown signal: the daemon removes the
|
|
15
|
+
* server itself, so a reconnect must register again from scratch.
|
|
16
|
+
* - Session scope is what keeps these tools out of sibling sessions, so the
|
|
17
|
+
* `sessionId` is part of every register frame.
|
|
18
|
+
*
|
|
19
|
+
* Framework-free on purpose (no React, no DOM globals beyond the injected
|
|
20
|
+
* socket and lock manager) so the whole state machine runs in a node test.
|
|
21
|
+
*/
|
|
22
|
+
import { type JsonRpcRequest, type JsonRpcResponse } from './mcp-server.js';
|
|
23
|
+
/**
|
|
24
|
+
* The RPC surface the bridge drives. {@link LocalFilesMcpServer} satisfies it;
|
|
25
|
+
* declared structurally so the state machine is testable without a filesystem.
|
|
26
|
+
*/
|
|
27
|
+
export interface LocalFilesRpcServer {
|
|
28
|
+
handle(message: JsonRpcRequest): Promise<JsonRpcResponse | undefined>;
|
|
29
|
+
}
|
|
30
|
+
export declare const LOCAL_FILES_CLIENT_NAME = "qwen-web-shell-local-files";
|
|
31
|
+
/** Cross-tab ownership: one bridge per browser profile, not one per tab. */
|
|
32
|
+
export declare const LOCAL_FILES_LOCK_NAME = "qwen-local-files-bridge";
|
|
33
|
+
export type LocalFilesBridgeState = {
|
|
34
|
+
phase: 'idle';
|
|
35
|
+
} | {
|
|
36
|
+
phase: 'held-elsewhere';
|
|
37
|
+
} | {
|
|
38
|
+
phase: 'connecting';
|
|
39
|
+
attempt: number;
|
|
40
|
+
} | {
|
|
41
|
+
phase: 'registering';
|
|
42
|
+
attempt: number;
|
|
43
|
+
} | {
|
|
44
|
+
phase: 'connected';
|
|
45
|
+
toolCount: number;
|
|
46
|
+
} | {
|
|
47
|
+
phase: 'reconnecting';
|
|
48
|
+
attempt: number;
|
|
49
|
+
reason: string;
|
|
50
|
+
} | {
|
|
51
|
+
phase: 'stopped';
|
|
52
|
+
} | {
|
|
53
|
+
phase: 'failed';
|
|
54
|
+
code: string;
|
|
55
|
+
message: string;
|
|
56
|
+
};
|
|
57
|
+
export interface WebSocketHandlers {
|
|
58
|
+
open(): void;
|
|
59
|
+
message(data: unknown): void;
|
|
60
|
+
error(): void;
|
|
61
|
+
close(code: number, reason: string): void;
|
|
62
|
+
}
|
|
63
|
+
/** The slice of a WebSocket this client drives. */
|
|
64
|
+
export interface WebSocketLike {
|
|
65
|
+
send(data: string): void;
|
|
66
|
+
close(): void;
|
|
67
|
+
setHandlers(handlers: WebSocketHandlers): void;
|
|
68
|
+
}
|
|
69
|
+
export type OpenSocket = (url: string, protocols: string[]) => WebSocketLike;
|
|
70
|
+
/** `navigator.locks`, narrowed to the one call we make. */
|
|
71
|
+
export interface LockManagerLike {
|
|
72
|
+
request(name: string, options: {
|
|
73
|
+
ifAvailable: boolean;
|
|
74
|
+
}, callback: (lock: unknown) => Promise<void>): Promise<unknown>;
|
|
75
|
+
}
|
|
76
|
+
export interface LocalFilesBridgeOptions {
|
|
77
|
+
baseUrl: string;
|
|
78
|
+
sessionId: string;
|
|
79
|
+
server: LocalFilesRpcServer;
|
|
80
|
+
openSocket: OpenSocket;
|
|
81
|
+
token?: string;
|
|
82
|
+
serverName?: string;
|
|
83
|
+
clientInfo?: {
|
|
84
|
+
name: string;
|
|
85
|
+
version: string;
|
|
86
|
+
};
|
|
87
|
+
/** Re-warm the ACP child before retrying a failed registration. */
|
|
88
|
+
rewarm?: () => Promise<void>;
|
|
89
|
+
locks?: LockManagerLike | null;
|
|
90
|
+
maxRegisterAttempts?: number;
|
|
91
|
+
maxReconnectAttempts?: number;
|
|
92
|
+
reconnectBaseDelayMs?: number;
|
|
93
|
+
initializeTimeoutMs?: number;
|
|
94
|
+
registerTimeoutMs?: number;
|
|
95
|
+
delay?: (ms: number) => Promise<void>;
|
|
96
|
+
onState?: (state: LocalFilesBridgeState) => void;
|
|
97
|
+
/**
|
|
98
|
+
* The session's workspace when it is not the primary one: routes the socket
|
|
99
|
+
* to the mount that owns the session. Omit for the primary workspace.
|
|
100
|
+
*/
|
|
101
|
+
workspaceSelector?: AcpWorkspaceSelector;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Owner-lock acquisition shape, shared with the hook's disconnect
|
|
105
|
+
* arbitration: one ifAvailable attempt cannot tell a peer's lock from this
|
|
106
|
+
* context's own release still settling.
|
|
107
|
+
*/
|
|
108
|
+
export declare const DEFAULT_LOCK_ATTEMPTS = 3;
|
|
109
|
+
export declare const DEFAULT_LOCK_RETRY_DELAY_MS = 100;
|
|
110
|
+
/**
|
|
111
|
+
* Bounded ifAvailable acquisition of the owner lock, shared by the bridge's
|
|
112
|
+
* start() and the hook's disconnect arbitration so the decline/retry
|
|
113
|
+
* semantics (a conformant manager declines by invoking the callback with
|
|
114
|
+
* null, Web Locks 4.1) live in one place. Resolves true when the callback
|
|
115
|
+
* ran (or the wait was cancelled after a grant), false when every attempt
|
|
116
|
+
* was declined; a rejecting manager rejects, for the caller to policy.
|
|
117
|
+
*/
|
|
118
|
+
export declare function withOwnerLock(opts: {
|
|
119
|
+
locks: LockManagerLike;
|
|
120
|
+
delay: (ms: number) => Promise<void>;
|
|
121
|
+
cancelled: () => boolean;
|
|
122
|
+
run: () => Promise<void>;
|
|
123
|
+
}): Promise<boolean>;
|
|
124
|
+
/** Mirrors the bearer-subprotocol scheme the daemon's WS upgrade accepts. */
|
|
125
|
+
export declare function bearerSubprotocols(token: string | undefined): string[];
|
|
126
|
+
/** Identifies the workspace a session belongs to, for the qualified route. */
|
|
127
|
+
export interface AcpWorkspaceSelector {
|
|
128
|
+
kind: 'id' | 'cwd';
|
|
129
|
+
value: string;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Mirrors `TerminalPanel.buildWsUrl`: keep any base path, swap the scheme.
|
|
133
|
+
*
|
|
134
|
+
* The bare `/acp` upgrade binds the PRIMARY mount, so a session owned by a
|
|
135
|
+
* secondary runtime would fail registration there; with a selector the URL
|
|
136
|
+
* takes the workspace-qualified shape the daemon resolves per runtime (the
|
|
137
|
+
* same route the voice stream uses).
|
|
138
|
+
*/
|
|
139
|
+
export declare function buildAcpWsUrl(baseUrl: string, selector?: AcpWorkspaceSelector): string;
|
|
140
|
+
/**
|
|
141
|
+
* Production socket adapter: the only place a real `WebSocket` is touched.
|
|
142
|
+
*
|
|
143
|
+
* `setHandlers` MUST be called in the same synchronous block as this factory
|
|
144
|
+
* (`connect()` does). A real socket starts connecting at construction, and an
|
|
145
|
+
* `open` delivered before the handlers land would be dropped — leaving the
|
|
146
|
+
* bridge stuck in `connecting` with no initialize sent and no timeout armed,
|
|
147
|
+
* because the timeout is armed by `sendInitialize`.
|
|
148
|
+
*/
|
|
149
|
+
export declare function openBrowserSocket(url: string, protocols: string[]): WebSocketLike;
|
|
150
|
+
export declare class LocalFilesBridge {
|
|
151
|
+
private readonly options;
|
|
152
|
+
private readonly serverName;
|
|
153
|
+
private readonly delay;
|
|
154
|
+
private socket;
|
|
155
|
+
private state;
|
|
156
|
+
private stopped;
|
|
157
|
+
private running;
|
|
158
|
+
private registerAttempts;
|
|
159
|
+
private reconnectAttempts;
|
|
160
|
+
private initializeTimer;
|
|
161
|
+
private registerTimer;
|
|
162
|
+
/**
|
|
163
|
+
* Single-flight for retryRegister: the timeout timer, a late
|
|
164
|
+
* `register_failed` and a `rate_limited` shed can each spawn a continuation
|
|
165
|
+
* while one is parked in rewarm; without this guard both send a register
|
|
166
|
+
* and one logical failure consumes two of the six attempts.
|
|
167
|
+
*/
|
|
168
|
+
private registerRetryInFlight;
|
|
169
|
+
/** Resolves the run loop so the cross-tab lock is released. */
|
|
170
|
+
private releaseRun;
|
|
171
|
+
constructor(options: LocalFilesBridgeOptions);
|
|
172
|
+
getState(): LocalFilesBridgeState;
|
|
173
|
+
/**
|
|
174
|
+
* Acquire the cross-tab lock and run until stopped. Resolves when the bridge
|
|
175
|
+
* is done (stopped, failed, or another tab owns it).
|
|
176
|
+
*
|
|
177
|
+
* Calling `start()` on a bridge that is already running is a no-op; to
|
|
178
|
+
* restart (a different session, a re-granted directory) call `stop()` first.
|
|
179
|
+
*/
|
|
180
|
+
start(): Promise<void>;
|
|
181
|
+
stop(): void;
|
|
182
|
+
/**
|
|
183
|
+
* Release the socket, timers and cross-tab lock WITHOUT touching the state:
|
|
184
|
+
* a failure path states its reason first and then tears down, and a `stop()`
|
|
185
|
+
* here would overwrite that reason with `stopped`.
|
|
186
|
+
*/
|
|
187
|
+
private teardown;
|
|
188
|
+
private setState;
|
|
189
|
+
private clearTimers;
|
|
190
|
+
private run;
|
|
191
|
+
private connect;
|
|
192
|
+
private sendInitialize;
|
|
193
|
+
private sendRegister;
|
|
194
|
+
private retryRegister;
|
|
195
|
+
private onMessage;
|
|
196
|
+
private answerRpc;
|
|
197
|
+
private onClose;
|
|
198
|
+
/**
|
|
199
|
+
* Drop a socket that is still open but useless (an initialize that never
|
|
200
|
+
* answered) and reconnect. Detaching before `close()` is what keeps the
|
|
201
|
+
* resulting close event from being handled a second time.
|
|
202
|
+
*/
|
|
203
|
+
private recycleSocket;
|
|
204
|
+
private scheduleReconnect;
|
|
205
|
+
private fail;
|
|
206
|
+
private send;
|
|
207
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime probe for the local-files bridge.
|
|
3
|
+
*
|
|
4
|
+
* The bridge needs three things the deployment cannot promise: a Chromium
|
|
5
|
+
* picker, a secure context, and a top-level (or same-origin) document. A remote
|
|
6
|
+
* daemon reached over plain http fails the second; the Chrome extension's side
|
|
7
|
+
* panel fails the third, because it frames the Web Shell from a
|
|
8
|
+
* `chrome-extension://` parent. `localhost` counts as a secure context, so an
|
|
9
|
+
* SSH tunnel to the daemon host needs no TLS.
|
|
10
|
+
*/
|
|
11
|
+
export type LocalFilesFrame = 'top-level' | 'same-origin-iframe' | 'cross-origin-iframe';
|
|
12
|
+
export type LocalFilesBlocker = 'unsupported-browser' | 'insecure-context' | 'cross-origin-frame'
|
|
13
|
+
/** The session's workspace cannot host a bridge (untrusted or live). */
|
|
14
|
+
| 'workspace-ineligible'
|
|
15
|
+
/** The workspace snapshot has not landed yet; judgement impossible. */
|
|
16
|
+
| 'workspace-resolving'
|
|
17
|
+
/** The daemon does not advertise the reverse channel at all. */
|
|
18
|
+
| 'unsupported-daemon' | null;
|
|
19
|
+
export interface LocalFilesCapability {
|
|
20
|
+
pickerAvailable: boolean;
|
|
21
|
+
secureContext: boolean;
|
|
22
|
+
frame: LocalFilesFrame;
|
|
23
|
+
/** Why the bridge cannot be offered here, or null when it can. */
|
|
24
|
+
blocker: LocalFilesBlocker;
|
|
25
|
+
}
|
|
26
|
+
/** The slice of `window` the probe reads; injectable so tests need no DOM. */
|
|
27
|
+
export interface LocalFilesWindowLike {
|
|
28
|
+
isSecureContext: boolean;
|
|
29
|
+
showDirectoryPicker?: unknown;
|
|
30
|
+
self: unknown;
|
|
31
|
+
top: unknown;
|
|
32
|
+
}
|
|
33
|
+
export declare function detectLocalFilesCapability(win: LocalFilesWindowLike): LocalFilesCapability;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persistence for the granted directory handle.
|
|
3
|
+
*
|
|
4
|
+
* A `FileSystemDirectoryHandle` is structured-cloneable, so IndexedDB keeps the
|
|
5
|
+
* grant across reloads; without it every refresh would force the user back
|
|
6
|
+
* through the native picker. IndexedDB can itself be unavailable (a blocked or
|
|
7
|
+
* partitioned storage context), so every method fails soft — the caller treats
|
|
8
|
+
* a miss as "ask again", never as an error.
|
|
9
|
+
*/
|
|
10
|
+
export interface DirectoryHandleStore {
|
|
11
|
+
save(handle: FileSystemDirectoryHandle): Promise<boolean>;
|
|
12
|
+
load(): Promise<FileSystemDirectoryHandle | undefined>;
|
|
13
|
+
clear(): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare function createDirectoryHandleStore(idb: IDBFactory, baseUrl: string, pageOrigin: string): DirectoryHandleStore;
|