@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,222 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { DaemonSessionArtifact } from '@qwen-code/sdk/daemon';
|
|
3
|
+
import type { Message, TurnCollapseHead } from '../adapters/types';
|
|
4
|
+
import type { PermissionRequest } from '../adapters/types';
|
|
5
|
+
import { type ParallelAgentDisplayItem } from '../adapters/parallelAgentGrouping';
|
|
6
|
+
import { type WebShellSource } from '../customization';
|
|
7
|
+
import type { SessionContentGenerator } from './messages/AssistantMessage';
|
|
8
|
+
import { type TurnOutputFileChange, type TurnOutputOpenRequest, type TurnOutputScheduledTask } from './artifacts/TurnOutputs';
|
|
9
|
+
import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
|
|
10
|
+
export interface MessageListProps {
|
|
11
|
+
messages: Message[];
|
|
12
|
+
frozenViewport?: boolean;
|
|
13
|
+
terminalBackgroundShellTaskIds?: ReadonlySet<string>;
|
|
14
|
+
pendingApproval: PermissionRequest | null;
|
|
15
|
+
/** Run /context detail, exactly like typing it (context-usage panels). */
|
|
16
|
+
onShowContextDetail?: () => void;
|
|
17
|
+
/** Click an uploaded image in a user message to preview it in the right panel. */
|
|
18
|
+
onImagePreview?: (src: string, alt?: string) => void;
|
|
19
|
+
onAttachmentPreview?: (file: AttachmentPreviewRequest) => void;
|
|
20
|
+
onInsightReportOpen?: (path: string) => void;
|
|
21
|
+
/** Open the in-place editor; return true when a host owns the lifecycle. */
|
|
22
|
+
onEditUserMessage?: (targetTurnIndex: number, content: string) => boolean | void;
|
|
23
|
+
/** Send the text confirmed in the in-place editor. `false` keeps it open. */
|
|
24
|
+
onSubmitUserMessageEdit?: (targetTurnIndex: number, content: string) => boolean | void | Promise<boolean | void>;
|
|
25
|
+
loadingTranscript?: boolean;
|
|
26
|
+
catchingUp?: boolean;
|
|
27
|
+
hasOlderHistory?: boolean;
|
|
28
|
+
loadingOlderHistory?: boolean;
|
|
29
|
+
historyCapacityReached?: boolean;
|
|
30
|
+
historyPaginationError?: boolean;
|
|
31
|
+
onLoadOlderHistory?: (options?: {
|
|
32
|
+
force?: boolean;
|
|
33
|
+
}) => Promise<void>;
|
|
34
|
+
/**
|
|
35
|
+
* Identity of the session whose transcript `messages` show. Block ids are
|
|
36
|
+
* per-session ordinals, so changing it resets every session-scoped UI state
|
|
37
|
+
* (collapse overrides, pagination keep-open, pending page snapshots, the
|
|
38
|
+
* scroll anchor) — a direct session switch never renders empty messages.
|
|
39
|
+
*/
|
|
40
|
+
sessionKey?: string;
|
|
41
|
+
transcriptBlockCount?: number;
|
|
42
|
+
transcriptActivity?: {
|
|
43
|
+
getSnapshot(): {
|
|
44
|
+
lastEventId?: number;
|
|
45
|
+
blocks?: {
|
|
46
|
+
readonly length: number;
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
subscribe(listener: () => void): () => void;
|
|
50
|
+
};
|
|
51
|
+
onReloadTranscript?: (signal: AbortSignal) => Promise<void>;
|
|
52
|
+
transcriptReloadPaused?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* True while the agent is still answering. The newest turn then stays
|
|
55
|
+
* expanded and un-collapsible so streaming output is never hidden.
|
|
56
|
+
*/
|
|
57
|
+
isResponding?: boolean;
|
|
58
|
+
welcomeHeader?: ReactNode;
|
|
59
|
+
centerWelcomeHeader?: boolean;
|
|
60
|
+
workspaceCwd?: string;
|
|
61
|
+
tailContent?: ReactNode;
|
|
62
|
+
tailKey?: string;
|
|
63
|
+
virtualScrollThreshold?: number;
|
|
64
|
+
activeTurnStartedAt?: number;
|
|
65
|
+
/**
|
|
66
|
+
* When true, scroll the tail content into view the moment it first appears
|
|
67
|
+
* even if the user had scrolled up. Opt-in per caller so unrelated inline
|
|
68
|
+
* panels don't yank the reader to the bottom. Defaults to false.
|
|
69
|
+
*/
|
|
70
|
+
autoScrollTailIntoView?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Height reserved for app-level floating UI below the transcript, such as the
|
|
73
|
+
* bottom todo/status panel. When it changes while the transcript is following
|
|
74
|
+
* the bottom, perform one more bottom alignment after layout settles.
|
|
75
|
+
*/
|
|
76
|
+
bottomOverlayInset?: number;
|
|
77
|
+
hideSessionTimeline?: boolean;
|
|
78
|
+
hideFirstUserMessage?: boolean;
|
|
79
|
+
firstTurnMetrics?: {
|
|
80
|
+
durationMs?: number;
|
|
81
|
+
inputTokens?: number;
|
|
82
|
+
outputTokens?: number;
|
|
83
|
+
cachedTokens?: number;
|
|
84
|
+
};
|
|
85
|
+
includeSubagentToolUsageInMetrics?: boolean;
|
|
86
|
+
showRetryHint?: boolean;
|
|
87
|
+
onRetryClick?: () => void;
|
|
88
|
+
failedPromptMessageId?: string;
|
|
89
|
+
onRetryFailedPrompt?: () => void;
|
|
90
|
+
onBranchSession?: (branchRecordId?: string) => void | Promise<void>;
|
|
91
|
+
onCanScrollToBottomChange?: (canScrollToBottom: boolean) => void;
|
|
92
|
+
turnFileChanges?: ReadonlyMap<string, readonly TurnOutputFileChange[]>;
|
|
93
|
+
turnArtifacts?: ReadonlyMap<string, readonly DaemonSessionArtifact[]>;
|
|
94
|
+
sourceEntries?: readonly WebShellSource[];
|
|
95
|
+
sourceSessionId?: string;
|
|
96
|
+
onSourceOpen?: (source: WebShellSource) => void;
|
|
97
|
+
turnScheduledTasks?: ReadonlyMap<string, readonly TurnOutputScheduledTask[]>;
|
|
98
|
+
onReviewChanges?: (changes: readonly TurnOutputFileChange[], selectedPath?: string) => void;
|
|
99
|
+
onOpenArtifact?: (artifactId: string, previewContent?: string) => void;
|
|
100
|
+
onOpenScheduledTask?: (task: TurnOutputScheduledTask) => void;
|
|
101
|
+
onTurnOutputOpen?: (request: TurnOutputOpenRequest) => void;
|
|
102
|
+
onError?: (error: unknown, fallback: string) => void;
|
|
103
|
+
generateContent?: SessionContentGenerator;
|
|
104
|
+
}
|
|
105
|
+
export type DisplayItem = (Extract<ParallelAgentDisplayItem, {
|
|
106
|
+
type: 'message';
|
|
107
|
+
}> & {
|
|
108
|
+
/** Metrics info for the final answer assistant message. */
|
|
109
|
+
turnCollapse?: TurnCollapseHead;
|
|
110
|
+
}) | Extract<ParallelAgentDisplayItem, {
|
|
111
|
+
type: 'parallel_agents';
|
|
112
|
+
}> | {
|
|
113
|
+
type: 'turn_collapse';
|
|
114
|
+
key: string;
|
|
115
|
+
turnCollapse: TurnCollapseHead;
|
|
116
|
+
} | {
|
|
117
|
+
type: 'turn_outputs';
|
|
118
|
+
key: string;
|
|
119
|
+
turnId: string;
|
|
120
|
+
changes: readonly TurnOutputFileChange[];
|
|
121
|
+
artifacts: readonly DaemonSessionArtifact[];
|
|
122
|
+
scheduledTasks: readonly TurnOutputScheduledTask[];
|
|
123
|
+
};
|
|
124
|
+
export type TurnTimelineNodeKind = 'thought' | 'commentary' | 'tool' | 'agents' | 'plan' | 'status' | 'none';
|
|
125
|
+
export interface TurnTimelineNode {
|
|
126
|
+
kind: TurnTimelineNodeKind;
|
|
127
|
+
timestamp?: number;
|
|
128
|
+
label?: string;
|
|
129
|
+
}
|
|
130
|
+
export interface SessionTimelineEntry {
|
|
131
|
+
id: string;
|
|
132
|
+
label: string;
|
|
133
|
+
detail: string;
|
|
134
|
+
timestamp?: number;
|
|
135
|
+
nodeKinds: TurnTimelineNodeKind[];
|
|
136
|
+
isScheduledTask?: boolean;
|
|
137
|
+
}
|
|
138
|
+
export interface SessionTimelineRange {
|
|
139
|
+
startIndex: number;
|
|
140
|
+
endIndex: number;
|
|
141
|
+
currentIndex: number;
|
|
142
|
+
}
|
|
143
|
+
export declare function groupParallelAgents(sourceMessages: Message[]): DisplayItem[];
|
|
144
|
+
export declare function getDisplayItemVirtualKey(item: DisplayItem): string;
|
|
145
|
+
export declare function attachTurnOutputs(items: DisplayItem[], isResponding: boolean, turnFileChanges?: ReadonlyMap<string, readonly TurnOutputFileChange[]>, turnArtifacts?: ReadonlyMap<string, readonly DaemonSessionArtifact[]>, turnScheduledTasks?: ReadonlyMap<string, readonly TurnOutputScheduledTask[]>): DisplayItem[];
|
|
146
|
+
export declare function pinActiveParallelAgentsToTurnEnd(items: DisplayItem[], automaticallyExpandedKeys?: ReadonlySet<string>): DisplayItem[];
|
|
147
|
+
export interface ApplyTurnCollapseOptions {
|
|
148
|
+
/**
|
|
149
|
+
* Per-turn user override keyed by the turn's user-message id:
|
|
150
|
+
* `true` = forced expanded, `false` = forced collapsed. Turns absent from the
|
|
151
|
+
* map follow the default (completed turns collapse).
|
|
152
|
+
*/
|
|
153
|
+
overrides: ReadonlyMap<string, boolean>;
|
|
154
|
+
/**
|
|
155
|
+
* True while the agent is still answering. The final turn then stays expanded
|
|
156
|
+
* and un-collapsible so live output is never hidden.
|
|
157
|
+
*/
|
|
158
|
+
isResponding: boolean;
|
|
159
|
+
activeTurnStartedAt?: number;
|
|
160
|
+
backgroundSummaryGraceActive?: boolean;
|
|
161
|
+
/**
|
|
162
|
+
* Whether the final turn's collapse should keep waiting for unmatched
|
|
163
|
+
* background-agent completions. Pass false once the bounded grace expires
|
|
164
|
+
* so a lost notification cannot pin the turn expanded forever.
|
|
165
|
+
*/
|
|
166
|
+
waitForUnmatchedAgentCompletions?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Bound the matched-notification ordering wait (final answer already on
|
|
169
|
+
* screen before the completion landed, summary narration still expected).
|
|
170
|
+
* Pass false once the caller's grace window expires so a summary that never
|
|
171
|
+
* arrives cannot pin the turn (and its parallel-agents group) open forever.
|
|
172
|
+
*/
|
|
173
|
+
waitForOrderedNarration?: boolean;
|
|
174
|
+
terminalBackgroundShellTaskIds?: ReadonlySet<string>;
|
|
175
|
+
automaticallyExpandedAgentKeys?: ReadonlySet<string>;
|
|
176
|
+
/**
|
|
177
|
+
* Tool-call id of a pending approval, if any. The turn containing it is
|
|
178
|
+
* force-expanded so the inline approve/reject UI is never folded away (mirrors
|
|
179
|
+
* compact mode's `isForceExpandGroup`).
|
|
180
|
+
*/
|
|
181
|
+
pendingApprovalCallId?: string | null;
|
|
182
|
+
includeSubagentToolUsageInMetrics?: boolean;
|
|
183
|
+
/**
|
|
184
|
+
* Turns kept expanded despite being complete. Two sources: pagination
|
|
185
|
+
* split-turn detection (the tail was on screen before pagination completed
|
|
186
|
+
* the user prompt), and the anchor fallback (a turn collapsed while a
|
|
187
|
+
* history anchor sat on it). Entries persist until the user toggles the
|
|
188
|
+
* turn or the screen is cleared; an explicit user toggle always wins.
|
|
189
|
+
*/
|
|
190
|
+
paginatedExpanded?: ReadonlySet<string>;
|
|
191
|
+
/** Master switch; when false the items pass through untouched. */
|
|
192
|
+
enabled: boolean;
|
|
193
|
+
}
|
|
194
|
+
export declare function getTurnTimelineNode(item: DisplayItem, t?: (key: string, vars?: Record<string, string | number>) => string): TurnTimelineNode;
|
|
195
|
+
export declare function getSessionTimelineEntries(messages: readonly Message[], t?: (key: string, vars?: Record<string, string | number>) => string): SessionTimelineEntry[];
|
|
196
|
+
export declare function getSessionTimelineSignature(messages: readonly Message[]): string;
|
|
197
|
+
/**
|
|
198
|
+
* Walk backwards from `index` to the user-message row that heads its turn and
|
|
199
|
+
* return that turn's id, or null when `index` precedes the first turn.
|
|
200
|
+
*/
|
|
201
|
+
export declare function findTurnIdForIndex(items: readonly DisplayItem[], index: number): string | null;
|
|
202
|
+
export declare function getTurnIdByDisplayIndex(items: readonly DisplayItem[]): Array<string | null>;
|
|
203
|
+
export declare function getSessionTimelineRangeForIndexes(visibleItems: readonly DisplayItem[], visibleItemIndexes: readonly number[], entryIndexById: ReadonlyMap<string, number>, currentItemIndex?: number | null, turnIdByDisplayIndex?: readonly (string | null)[]): SessionTimelineRange | null;
|
|
204
|
+
export declare function applyTurnCollapse(items: DisplayItem[], { overrides, isResponding, activeTurnStartedAt, backgroundSummaryGraceActive, waitForUnmatchedAgentCompletions, waitForOrderedNarration, terminalBackgroundShellTaskIds, automaticallyExpandedAgentKeys, pendingApprovalCallId, includeSubagentToolUsageInMetrics, paginatedExpanded, enabled, }: ApplyTurnCollapseOptions): DisplayItem[];
|
|
205
|
+
/**
|
|
206
|
+
* Locate a tool by call id when available because compacting or splitting can
|
|
207
|
+
* move it under a different message id. Otherwise locate the message itself.
|
|
208
|
+
*/
|
|
209
|
+
export declare function findDisplayItemIndex(items: readonly DisplayItem[], messageId: string, callId?: string): number;
|
|
210
|
+
export interface MessageListHandle {
|
|
211
|
+
/**
|
|
212
|
+
* Scroll the transcript so the given message is visible and briefly
|
|
213
|
+
* highlight it. Returns false when the message is not in the list.
|
|
214
|
+
*/
|
|
215
|
+
scrollToMessage: (messageId: string, callId?: string) => boolean;
|
|
216
|
+
/** Resume bottom-follow mode and scroll to the latest output. */
|
|
217
|
+
scrollToBottom: (behavior?: ScrollBehavior) => void;
|
|
218
|
+
}
|
|
219
|
+
export declare const VIRTUAL_SCROLL_THRESHOLD = 200;
|
|
220
|
+
export declare function shouldUseVirtualScroll(totalCount: number, threshold?: number): boolean;
|
|
221
|
+
export declare function shouldAdjustVirtualScrollPosition(itemEnd: number, scrollOffset: number): boolean;
|
|
222
|
+
export declare const MessageList: import("react").NamedExoticComponent<MessageListProps & import("react").RefAttributes<MessageListHandle>>;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
interface MessageTimestampProps {
|
|
3
|
+
/** Wall-clock epoch ms of the message; omitted for synthetic messages. */
|
|
4
|
+
timestamp?: number;
|
|
5
|
+
hideTimestamp?: boolean;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
/** When true, show the timestamp permanently at bottom-right instead of hover tooltip. */
|
|
8
|
+
chatMode?: boolean;
|
|
9
|
+
/** Use the larger vertical rhythm for tool summaries in thinking-hidden mode. */
|
|
10
|
+
toolGroupSpacing?: boolean;
|
|
11
|
+
copyText?: string;
|
|
12
|
+
copyTitle?: string;
|
|
13
|
+
/** When set, render an edit action after the copy button. */
|
|
14
|
+
onEdit?: () => void;
|
|
15
|
+
editTitle?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Wraps a rendered history message and reveals its wall-clock time as a
|
|
19
|
+
* CSS-only tooltip on hover.
|
|
20
|
+
*/
|
|
21
|
+
export declare function MessageTimestamp({ timestamp, hideTimestamp, children, chatMode, toolGroupSpacing, copyText, copyTitle, onEdit, editTitle, }: MessageTimestampProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
/**
|
|
23
|
+
* Local-time clock, dropping the date only for same-day timestamps:
|
|
24
|
+
* - same day → `HH:mm:ss`
|
|
25
|
+
* - earlier → `yyyy-MM-dd HH:mm:ss`
|
|
26
|
+
*
|
|
27
|
+
* Fixed order and zero-padded (unlike toLocaleString) so stacked timestamps
|
|
28
|
+
* align. `now` is injectable so the branch logic is unit-testable without
|
|
29
|
+
* depending on the wall clock.
|
|
30
|
+
*/
|
|
31
|
+
export declare function formatTimestamp(ts: number, now?: Date): string;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type ReactNode } from 'react';
|
|
7
|
+
export interface PaneHeaderActionsProps {
|
|
8
|
+
/** Host-provided actions for this pane; omit or null when none. */
|
|
9
|
+
children?: ReactNode;
|
|
10
|
+
/** Built-in trailing controls (e.g. close) that stay outside the overflow. */
|
|
11
|
+
trailing?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Renders pane-header host actions inline when they fit, otherwise collapses
|
|
15
|
+
* them into a `…` menu. Measures against the header width so split-pane
|
|
16
|
+
* resizing / add-remove does not crush the title.
|
|
17
|
+
*
|
|
18
|
+
* Host actions stay mounted in one host slot across collapse so stateful
|
|
19
|
+
* actions are not reset. Each action is wrapped in a stable slot; the overflow
|
|
20
|
+
* menu proxies clicks to the interactive descendant inside that slot so opaque
|
|
21
|
+
* host components do not need to forward internal props.
|
|
22
|
+
*/
|
|
23
|
+
export declare function PaneHeaderActions({ children, trailing, }: PaneHeaderActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { PromptFile, PromptImage } from '../adapters/promptTypes';
|
|
7
|
+
import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
|
|
8
|
+
import type { DaemonInputAnnotation } from '@qwen-code/sdk/daemon';
|
|
9
|
+
import type { getTranslator } from '../i18n';
|
|
10
|
+
export interface QueuedPrompt {
|
|
11
|
+
submittedPrompt?: string;
|
|
12
|
+
id: number;
|
|
13
|
+
sessionId?: string;
|
|
14
|
+
text: string;
|
|
15
|
+
images?: PromptImage[];
|
|
16
|
+
files?: PromptFile[];
|
|
17
|
+
inputAnnotations?: DaemonInputAnnotation[];
|
|
18
|
+
onComplete?: () => void;
|
|
19
|
+
onAdmitted?: () => void;
|
|
20
|
+
serverPromptId?: string;
|
|
21
|
+
serverState?: 'submitting' | 'queued' | 'running';
|
|
22
|
+
/**
|
|
23
|
+
* The pending-prompts refresh sequence at the moment a submit body bound
|
|
24
|
+
* this row to `serverPromptId`; a bind the sync performed itself leaves it
|
|
25
|
+
* unset. A flight dispatched before that binding may have been served
|
|
26
|
+
* before the daemon admitted the prompt, so its snapshot can omit the row
|
|
27
|
+
* without the row having been removed: the sync's retention filter keeps a
|
|
28
|
+
* row bound at or after that flight's dispatch.
|
|
29
|
+
*/
|
|
30
|
+
boundAtSeq?: number;
|
|
31
|
+
/**
|
|
32
|
+
* Provenance, not state: the daemon refused this message once with
|
|
33
|
+
* `session_idle`. A row carrying it is confirmed against a pending-prompt
|
|
34
|
+
* snapshot when it is eventually submitted — immediately, or later when a
|
|
35
|
+
* hold lifts and the drain releases it — instead of being echoed on the
|
|
36
|
+
* activity mirror's say-so, which another client's queued prompt can lag.
|
|
37
|
+
*/
|
|
38
|
+
resubmittedAfterIdleRejection?: boolean;
|
|
39
|
+
midTurnState?: 'submitting' | 'queued';
|
|
40
|
+
midTurnMessageId?: string;
|
|
41
|
+
midTurnFailedAction?: 'delete' | 'edit';
|
|
42
|
+
isInserting?: boolean;
|
|
43
|
+
isEditing?: boolean;
|
|
44
|
+
isRemoving?: boolean;
|
|
45
|
+
payloadCompleteness?: 'complete' | 'summary-only';
|
|
46
|
+
}
|
|
47
|
+
export declare function QueuedPromptDisplay({ prompts, t, canMutateMidTurn, canInsertMidTurn, onDelete, onInsert, onEdit, onImagePreview, onAttachmentPreview, }: {
|
|
48
|
+
prompts: readonly QueuedPrompt[];
|
|
49
|
+
t: ReturnType<typeof getTranslator>;
|
|
50
|
+
canMutateMidTurn?: boolean;
|
|
51
|
+
canInsertMidTurn?: boolean;
|
|
52
|
+
onDelete: (id: number) => void;
|
|
53
|
+
onInsert: (id: number) => void;
|
|
54
|
+
onEdit: (id: number) => void;
|
|
55
|
+
onImagePreview?: (src: string, alt?: string) => void;
|
|
56
|
+
onAttachmentPreview?: (file: AttachmentPreviewRequest) => void;
|
|
57
|
+
}): import("react/jsx-runtime").JSX.Element | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { WebShellLanguage } from '../i18n';
|
|
2
|
+
interface RootErrorFallbackProps {
|
|
3
|
+
error: Error;
|
|
4
|
+
onRetry: () => void;
|
|
5
|
+
/** Selects the fallback copy. Defaults to English when omitted. */
|
|
6
|
+
language?: WebShellLanguage;
|
|
7
|
+
/**
|
|
8
|
+
* What the retry button does, so its label stays honest. Defaults to
|
|
9
|
+
* 'reset' (an in-place boundary retry); 'reload' is for callers whose
|
|
10
|
+
* retry navigates (e.g. the standalone root boundary reloads the page).
|
|
11
|
+
*/
|
|
12
|
+
retryMode?: 'reset' | 'reload';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Last-resort surface for the top-level boundary. Self-contained (no provider,
|
|
16
|
+
* theme-token, or i18n dependency) so it survives even when the whole App tree
|
|
17
|
+
* fails to mount. Offers a retry instead of forcing a host-page reload, which
|
|
18
|
+
* would be hostile in embedded integrations.
|
|
19
|
+
*/
|
|
20
|
+
export declare function RootErrorFallback({ error, onRetry, language, retryMode, }: RootErrorFallbackProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonSessionGroupPresetColor, DaemonSessionPrInfo, DaemonSessionSummary, DaemonStatusReportSession } from '@qwen-code/sdk/daemon';
|
|
7
|
+
export type SessionCardStatus = 'needsApproval' | 'askUserQuestion' | 'running' | 'idle';
|
|
8
|
+
export interface SessionCard {
|
|
9
|
+
sessionId: string;
|
|
10
|
+
label: string;
|
|
11
|
+
status: SessionCardStatus;
|
|
12
|
+
updatedAt?: string;
|
|
13
|
+
color?: DaemonSessionGroupPresetColor | null;
|
|
14
|
+
isCurrent: boolean;
|
|
15
|
+
/** GitHub PRs bound to the session, in binding order (last = latest). */
|
|
16
|
+
prs?: DaemonSessionPrInfo[];
|
|
17
|
+
gitBranch?: string;
|
|
18
|
+
/** The workspace the session lives in. */
|
|
19
|
+
workspaceCwd: string;
|
|
20
|
+
}
|
|
21
|
+
type SessionIdentity = Pick<SessionCard, 'sessionId' | 'workspaceCwd'>;
|
|
22
|
+
/**
|
|
23
|
+
* Derive the ranked card set from the session list. The volatile live state
|
|
24
|
+
* (`hasActivePrompt`, `isWaitingForPermission`, `isWaitingForUserQuestion`)
|
|
25
|
+
* arrives on the summaries themselves — merged in by the shared session
|
|
26
|
+
* catalog's live-state channel when the daemon advertises it, and carried on
|
|
27
|
+
* plain list responses otherwise. `needsApproval` and `askUserQuestion` are
|
|
28
|
+
* the actionable states (the session is blocked waiting for the user) and take
|
|
29
|
+
* precedence over `running`. Sorted needs-approval → question → running →
|
|
30
|
+
* idle, then most-recent first, so sessions that want attention float to the
|
|
31
|
+
* top of a 10+ session grid.
|
|
32
|
+
*/
|
|
33
|
+
export declare function deriveSessionCards(sessions: DaemonSessionSummary[], currentSessionId: string | undefined, statusSessions?: DaemonStatusReportSession[], currentWorkspaceCwd?: string): SessionCard[];
|
|
34
|
+
/**
|
|
35
|
+
* A malformed daemon payload must not white-screen the shell; contain any
|
|
36
|
+
* render throw to the panel, mirroring DaemonStatusDialog.
|
|
37
|
+
*/
|
|
38
|
+
export declare function SessionOverviewPanel({ onOpenSession, onOpenSplit, onCurrentSessionRemoved, includeOtherWorkspaces, workspaceCwd, manageLiveState, }: {
|
|
39
|
+
onOpenSession: (sessionId: string, workspaceCwd?: string) => void;
|
|
40
|
+
onOpenSplit?: (sessionIds: string[]) => void;
|
|
41
|
+
onCurrentSessionRemoved?: (session: SessionIdentity) => Promise<boolean | void> | boolean | void;
|
|
42
|
+
includeOtherWorkspaces?: boolean;
|
|
43
|
+
workspaceCwd?: string;
|
|
44
|
+
manageLiveState?: boolean;
|
|
45
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonSessionPrInfo } from '@qwen-code/sdk/daemon';
|
|
7
|
+
interface SessionPrBadgeProps {
|
|
8
|
+
/** Bound PRs in binding order (last = latest). */
|
|
9
|
+
prs: DaemonSessionPrInfo[];
|
|
10
|
+
/**
|
|
11
|
+
* Override when the badge sits inside a listbox `role="option"` row that
|
|
12
|
+
* owns roving-tabindex keyboard navigation (e.g. picker dialogs).
|
|
13
|
+
*/
|
|
14
|
+
tabIndex?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* The `#N (+M)` pull-request badge shared by the sidebar session row, the
|
|
18
|
+
* session overview card, and the picker dialogs. Renders the latest bound
|
|
19
|
+
* PR with an overflow count and opens it through the desktop-aware
|
|
20
|
+
* external-link opener. Non-http(s) bindings are filtered out as a
|
|
21
|
+
* defense-in-depth measure on top of the daemon-side validators.
|
|
22
|
+
*/
|
|
23
|
+
export declare function SessionPrBadge({ prs, tabIndex }: SessionPrBadgeProps): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonSessionIssueInfo, DaemonSessionPrInfo } from '@qwen-code/sdk/daemon';
|
|
7
|
+
/**
|
|
8
|
+
* GitHub-style PR state icon shared by the session-row badge and the session
|
|
9
|
+
* details tooltip: open=green pull-request, merged=purple merge, closed=red
|
|
10
|
+
* closed-pull-request. A state-less binding renders the neutral pull-request
|
|
11
|
+
* glyph with no state color.
|
|
12
|
+
*/
|
|
13
|
+
export declare function SessionPrStateIcon({ state, }: {
|
|
14
|
+
state?: DaemonSessionPrInfo['state'];
|
|
15
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
/**
|
|
17
|
+
* Localized state name for assistive tech (badge aria-label, tooltip sr-only
|
|
18
|
+
* text). Only merged/closed carry a label; open and state-less bindings read
|
|
19
|
+
* as the bare PR reference. Keyed beside STATE_ICONS so a new state forces
|
|
20
|
+
* both the icon and the label mapping to be updated together.
|
|
21
|
+
*/
|
|
22
|
+
export declare function sessionPrStateLabel(t: (key: string) => string, state?: DaemonSessionPrInfo['state']): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* GitHub-style issue state icon for the issues a bound PR closes:
|
|
25
|
+
* open=green circle-dot, completed=purple check, not planned=muted slash. A
|
|
26
|
+
* state-less issue renders the neutral circle-dot glyph.
|
|
27
|
+
*/
|
|
28
|
+
export declare function SessionIssueStateIcon({ state, }: {
|
|
29
|
+
state?: DaemonSessionIssueInfo['state'];
|
|
30
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
/** Issue counterpart of {@link sessionPrStateLabel}; open reads as bare. */
|
|
32
|
+
export declare function sessionIssueStateLabel(t: (key: string) => string, state?: DaemonSessionIssueInfo['state']): string | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type ReactNode, type RefObject } from 'react';
|
|
2
|
+
interface ShadowDomBoundaryProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
enabled: boolean;
|
|
5
|
+
language: string;
|
|
6
|
+
themeClassName: string;
|
|
7
|
+
styles?: string;
|
|
8
|
+
initialFocusRef?: RefObject<HTMLElement | null>;
|
|
9
|
+
}
|
|
10
|
+
export declare function ShadowDomBoundary({ children, enabled, language, themeClassName, styles, initialFocusRef, }: ShadowDomBoundaryProps): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
7
|
+
import type { DaemonSessionArtifact, DaemonSessionMonitorTaskStatus, DaemonWorkspaceCapability } from '@qwen-code/sdk/daemon';
|
|
8
|
+
import type { WebShellSlashCommandHandler } from '../App';
|
|
9
|
+
import type { RegisterContextUsageControls } from '../hooks/useContextUsageControls';
|
|
10
|
+
import { type PaneHeaderActionsRenderer } from './ChatPane';
|
|
11
|
+
import type { TurnOutputKind, TurnOutputOpenRequest } from './artifacts/TurnOutputs';
|
|
12
|
+
export interface SplitViewProps {
|
|
13
|
+
/** Sessions to show in the split view. */
|
|
14
|
+
sessionIds?: string[];
|
|
15
|
+
/** Respect the host's session-details action allowlist. */
|
|
16
|
+
showSessionDetails?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Report the live pane set (after every add / remove) up to the parent so it
|
|
19
|
+
* survives this view unmounting. Switching away from the split and back must
|
|
20
|
+
* restore exactly the panes the user had, not reseed from a stale selection.
|
|
21
|
+
* Must be referentially stable (e.g. a `useState` setter) — a fresh callback
|
|
22
|
+
* each render would re-fire the reporting effect and loop.
|
|
23
|
+
*/
|
|
24
|
+
onPanesChange?: (sessionIds: string[]) => void;
|
|
25
|
+
/**
|
|
26
|
+
* Report panes surfacing approvals, including hidden panes. Keep stable while
|
|
27
|
+
* consumer inputs are unchanged; a new callback receives the current list.
|
|
28
|
+
*/
|
|
29
|
+
onPendingPanesChange?: (sessionIds: string[]) => void;
|
|
30
|
+
/** Leave the split view (back to the single-session chat). */
|
|
31
|
+
onExit: () => void;
|
|
32
|
+
onError?: (error: unknown, fallback: string) => void;
|
|
33
|
+
onImageIngestionNotice?: (tone: 'warning' | 'error', message: string) => void;
|
|
34
|
+
onSlashCommand?: WebShellSlashCommandHandler;
|
|
35
|
+
onOpenGoals?: () => void;
|
|
36
|
+
onRightPanelOpen?: (request: TurnOutputOpenRequest) => void;
|
|
37
|
+
onOpenMonitor?: (task: DaemonSessionMonitorTaskStatus, sessionId: string, sessionActions: DaemonSessionActions) => void;
|
|
38
|
+
registerContextUsageControls?: RegisterContextUsageControls;
|
|
39
|
+
onBeforeContextCompress?: (sessionId: string) => void;
|
|
40
|
+
onOpenContextUsage?: (sessionId: string, sessionActions: DaemonSessionActions) => void;
|
|
41
|
+
onPaneArtifactsChange?: (sessionId: string, artifacts: readonly DaemonSessionArtifact[]) => void;
|
|
42
|
+
messageTurnOutputs?: readonly TurnOutputKind[];
|
|
43
|
+
/**
|
|
44
|
+
* Extra actions rendered in each pane header, before the built-in close
|
|
45
|
+
* button. See `ChatPaneProps.renderHeaderActions`.
|
|
46
|
+
*/
|
|
47
|
+
renderPaneHeaderActions?: PaneHeaderActionsRenderer;
|
|
48
|
+
/** Include active sessions from every trusted registered workspace. */
|
|
49
|
+
includeOtherWorkspaces?: boolean;
|
|
50
|
+
/** Limit session discovery and pane attachment to this workspace. */
|
|
51
|
+
workspaceCwd?: string;
|
|
52
|
+
/** Restart each pane's SSE event stream after an accepted prompt. */
|
|
53
|
+
restartSseOnPrompt?: boolean;
|
|
54
|
+
/** Persisted transcript records requested per page by each pane. */
|
|
55
|
+
historyPageSize?: number;
|
|
56
|
+
voiceUserRevision?: number;
|
|
57
|
+
voiceWorkspaceRevisions?: Readonly<Record<string, number>>;
|
|
58
|
+
voiceWorkspaces?: readonly DaemonWorkspaceCapability[];
|
|
59
|
+
sessionWorkflowEnabled?: boolean;
|
|
60
|
+
planControlVisible?: boolean;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Shows 2+ independent interactive chats side by side in one window. Each pane
|
|
64
|
+
* is its own `DaemonSessionProvider` (own session, SSE, transcript, approvals),
|
|
65
|
+
* all sharing the one `DaemonWorkspaceProvider` above the app. Browser focus
|
|
66
|
+
* naturally scopes the keyboard to the pane the user clicks into, so panes never
|
|
67
|
+
* fight over which session an approval or Enter belongs to.
|
|
68
|
+
*/
|
|
69
|
+
export declare function SplitView({ sessionIds, showSessionDetails, onPanesChange, onPendingPanesChange, onExit, onError, onImageIngestionNotice, onSlashCommand, onOpenGoals, onRightPanelOpen, onOpenMonitor, onPaneArtifactsChange, registerContextUsageControls, onBeforeContextCompress, onOpenContextUsage, messageTurnOutputs, renderPaneHeaderActions, includeOtherWorkspaces, workspaceCwd, restartSseOnPrompt, historyPageSize, voiceUserRevision, voiceWorkspaceRevisions, voiceWorkspaces, sessionWorkflowEnabled, planControlVisible, }: SplitViewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { WebShellLanguage } from '../i18n';
|
|
3
|
+
import { type WebShellTheme } from '../themeContext';
|
|
4
|
+
export declare function StandaloneAuth({ baseUrl, initialToken, initialAddress, language, theme, invalidTarget, unconfirmedTarget, onChangeTarget, children, }: {
|
|
5
|
+
baseUrl: string;
|
|
6
|
+
initialToken?: string;
|
|
7
|
+
initialAddress?: string;
|
|
8
|
+
/** Selects the gate copy. Defaults to English when omitted. */
|
|
9
|
+
language?: WebShellLanguage;
|
|
10
|
+
/** Selects the theme palette the app root will apply after mount. */
|
|
11
|
+
theme?: WebShellTheme;
|
|
12
|
+
invalidTarget?: boolean;
|
|
13
|
+
/** The daemon came from a link to an origin this browser has not used. */
|
|
14
|
+
unconfirmedTarget?: boolean;
|
|
15
|
+
onChangeTarget?: (daemonOrigin: string, token?: string) => boolean | void;
|
|
16
|
+
children: (token: string | undefined) => ReactNode;
|
|
17
|
+
}): string | number | bigint | boolean | Iterable<ReactNode> | Promise<string | number | bigint | boolean | import("react").ReactPortal | import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | Iterable<ReactNode> | null | undefined> | import("react/jsx-runtime").JSX.Element | null | undefined;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DaemonSessionTaskWithWorkflowStatus } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import { useI18n } from '../i18n';
|
|
3
|
+
export interface StatusBarHandle {
|
|
4
|
+
focusTaskPill(): boolean;
|
|
5
|
+
}
|
|
6
|
+
interface StatusBarProps {
|
|
7
|
+
onSelectMode: () => void;
|
|
8
|
+
/** Open the model picker so the model can be chosen with the mouse. */
|
|
9
|
+
onSelectModel: () => void;
|
|
10
|
+
/** Show the context-usage breakdown, exactly like typing /context. */
|
|
11
|
+
onShowContext: () => void;
|
|
12
|
+
/** Open the settings dialog so settings are reachable with the mouse. */
|
|
13
|
+
onOpenSettings: () => void;
|
|
14
|
+
onOpenTasks?: () => void;
|
|
15
|
+
onReturnToInput?: (text?: string) => void;
|
|
16
|
+
tasks: readonly DaemonSessionTaskWithWorkflowStatus[];
|
|
17
|
+
/** Hide the settings gear button (e.g. when /settings is in hiddenSlashCommands). */
|
|
18
|
+
hideSettings?: boolean;
|
|
19
|
+
/** Toggle the keyboard-shortcuts panel (same as typing `?` in the editor). */
|
|
20
|
+
onToggleShortcuts?: () => void;
|
|
21
|
+
/** Hide secondary footer hints/details for the chat composer layout. */
|
|
22
|
+
compact?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export declare function getTaskPillLabel(tasks: readonly DaemonSessionTaskWithWorkflowStatus[], t: ReturnType<typeof useI18n>['t']): string;
|
|
25
|
+
export declare const StatusBar: import("react").ForwardRefExoticComponent<StatusBarProps & import("react").RefAttributes<StatusBarHandle>>;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
interface StreamingStatusProps {
|
|
2
|
+
startedAt?: number;
|
|
3
|
+
backgroundLabel?: string;
|
|
4
|
+
/**
|
|
5
|
+
* When false, hide the rotating "witty" loading phrase and skip its rotation
|
|
6
|
+
* timer entirely — the spinner, elapsed time, token count, and cancel hint
|
|
7
|
+
* still render. Split-view panes pass false to keep each pane's composer
|
|
8
|
+
* status compact. Defaults to true (the main chat shows the phrase).
|
|
9
|
+
*/
|
|
10
|
+
showPhrase?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* When true, the daemon reports the session has an in-flight prompt. The
|
|
13
|
+
* indicator stays visible even while streamingState is idle, so long tool
|
|
14
|
+
* calls that produce >3s silent gaps do not hide the loading state mid-turn
|
|
15
|
+
* (#9487). The daemon's session live state is the authoritative source.
|
|
16
|
+
*/
|
|
17
|
+
hasActivePrompt?: boolean;
|
|
18
|
+
}
|
|
19
|
+
export declare function StreamingStatus({ startedAt, backgroundLabel, showPhrase, hasActivePrompt, }: StreamingStatusProps): import("react/jsx-runtime").JSX.Element | null;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Tips(): import("react/jsx-runtime").JSX.Element;
|