@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,226 @@
|
|
|
1
|
+
import { type ReactNode, type ClipboardEventHandler, type DragEventHandler } from 'react';
|
|
2
|
+
import { EditorView } from '@codemirror/view';
|
|
3
|
+
import { Compartment } from '@codemirror/state';
|
|
4
|
+
import type { CommandInfo } from '../adapters/types';
|
|
5
|
+
import type { PromptFile, PromptImage } from '../adapters/promptTypes';
|
|
6
|
+
import { type UseDaemonFollowupSuggestionReturn } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
7
|
+
import { type SkillInfo, type SlashCommandCompletionResult } from '../completions/slashCompletion';
|
|
8
|
+
import { type CommandDisplayCategoryOrder } from '../utils/commandDisplay';
|
|
9
|
+
import { type AtMentionMenuState, type AtMentionWorkspaceActions } from './useAtMentionMenu';
|
|
10
|
+
export { getComposerTagDisplay, getComposerTagLabel, getComposerTagValue, } from '../utils/composerTag';
|
|
11
|
+
import type { DaemonInputAnnotation } from '@qwen-code/sdk/daemon';
|
|
12
|
+
import type { ComposerTagClickHandler, ComposerTagRenderer, UserMessageContentParser, WebShellComposerApi, WebShellComposerInput, WebShellComposerTag, WebShellComposerTagIconMap, WebShellComposerTagOptions, WebShellComposerTextOptions, WebShellBuiltinAtProvidersConfig, WebShellAtProvider } from '../customization';
|
|
13
|
+
export declare function serializeComposerTag(tag: WebShellComposerTag): string;
|
|
14
|
+
export declare function buildComposerPrompt(text: string, tags: readonly WebShellComposerTag[]): string;
|
|
15
|
+
export interface InlineTagPlacement {
|
|
16
|
+
start: number;
|
|
17
|
+
end: number;
|
|
18
|
+
tag: WebShellComposerTag;
|
|
19
|
+
}
|
|
20
|
+
export declare function buildComposerPromptWithInlineTagPlacements(text: string, topTags: readonly WebShellComposerTag[], inlineTags: readonly InlineTagPlacement[]): string;
|
|
21
|
+
export declare function replaceInlineTagPlacements(text: string, inlineTags: readonly InlineTagPlacement[]): string;
|
|
22
|
+
interface InlineTagRange {
|
|
23
|
+
from: number;
|
|
24
|
+
to: number;
|
|
25
|
+
tag: InlineComposerTag;
|
|
26
|
+
}
|
|
27
|
+
type InlineComposerTag = WebShellComposerTag & {
|
|
28
|
+
iconUrl?: string;
|
|
29
|
+
renderContent?: ComposerTagRenderer;
|
|
30
|
+
tooltip?: ReactNode;
|
|
31
|
+
tooltipText?: string;
|
|
32
|
+
onClick?: ComposerTagClickHandler;
|
|
33
|
+
};
|
|
34
|
+
export declare const addInlineTagEffect: import("@codemirror/state").StateEffectType<InlineTagRange>;
|
|
35
|
+
export declare const removeInlineTagEffect: import("@codemirror/state").StateEffectType<{
|
|
36
|
+
predicate?: (tag: WebShellComposerTag) => boolean;
|
|
37
|
+
}>;
|
|
38
|
+
export declare const clearInlineTagsEffect: import("@codemirror/state").StateEffectType<void>;
|
|
39
|
+
export declare function getInlineComposerTags(view: EditorView): WebShellComposerTag[];
|
|
40
|
+
export interface EditorHandle extends WebShellComposerApi {
|
|
41
|
+
clearText(): void;
|
|
42
|
+
focus(): void;
|
|
43
|
+
getText(): string;
|
|
44
|
+
hasAttachments(): boolean;
|
|
45
|
+
hasInput(): boolean;
|
|
46
|
+
retryLast(): void;
|
|
47
|
+
restoreImages(images: readonly PromptImage[]): void;
|
|
48
|
+
restoreFiles(files: readonly PromptFile[]): void;
|
|
49
|
+
restoreInputAnnotations?(inputAnnotations: readonly DaemonInputAnnotation[]): void;
|
|
50
|
+
}
|
|
51
|
+
export declare const editableCompartment: Compartment;
|
|
52
|
+
export declare const placeholderCompartment: Compartment;
|
|
53
|
+
export declare const followupGhostCompartment: Compartment;
|
|
54
|
+
export declare function getFollowupCompletion(text: string, suggestion: string | null | undefined): string | null;
|
|
55
|
+
export declare function mapRestoredInputAnnotationsAfterTextChange(annotations: readonly DaemonInputAnnotation[], previousText: string, nextText: string): DaemonInputAnnotation[];
|
|
56
|
+
export type ComposerSubmitCommit = () => void;
|
|
57
|
+
export interface ComposerSubmitMetadata {
|
|
58
|
+
inputAnnotations?: DaemonInputAnnotation[];
|
|
59
|
+
}
|
|
60
|
+
export interface UseComposerCoreOptions {
|
|
61
|
+
onSubmit: (text: string, images?: PromptImage[], files?: PromptFile[], commitAccepted?: ComposerSubmitCommit, metadata?: ComposerSubmitMetadata) => boolean | void;
|
|
62
|
+
onInputTextChange?: (text: string) => void;
|
|
63
|
+
onCycleMode?: () => void;
|
|
64
|
+
cycleModeOnTab?: boolean;
|
|
65
|
+
onToggleShortcuts?: () => void;
|
|
66
|
+
disabled?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether the composer may react to FILE drags at all (drag highlight and
|
|
69
|
+
* drop ingestion on the inline image/text lane). `false` leaves paste
|
|
70
|
+
* working but makes attachment drag-and-drop inert. Defaults to `true`.
|
|
71
|
+
*/
|
|
72
|
+
fileDragEnabled?: boolean;
|
|
73
|
+
placeholderText?: string;
|
|
74
|
+
commands: CommandInfo[];
|
|
75
|
+
skills?: SkillInfo[];
|
|
76
|
+
allowEmptySlashMenu?: boolean;
|
|
77
|
+
slashCommandCategoryOrder?: CommandDisplayCategoryOrder;
|
|
78
|
+
autoSubmitSlashCommands?: boolean;
|
|
79
|
+
queuedMessages?: string[];
|
|
80
|
+
onPopQueuedMessages?: () => boolean;
|
|
81
|
+
onClearQueuedMessages?: () => boolean;
|
|
82
|
+
currentMode?: string;
|
|
83
|
+
onFocusFooter?: () => boolean;
|
|
84
|
+
dialogOpen?: boolean;
|
|
85
|
+
followupState?: UseDaemonFollowupSuggestionReturn['followupState'];
|
|
86
|
+
onAcceptFollowup?: UseDaemonFollowupSuggestionReturn['onAcceptFollowup'];
|
|
87
|
+
onDismissFollowup?: UseDaemonFollowupSuggestionReturn['onDismissFollowup'];
|
|
88
|
+
sessionId?: string;
|
|
89
|
+
sessionName?: string;
|
|
90
|
+
composerInput?: WebShellComposerInput;
|
|
91
|
+
composerInputVersion?: number;
|
|
92
|
+
builtinAtProviders?: WebShellBuiltinAtProvidersConfig;
|
|
93
|
+
atProviders?: readonly WebShellAtProvider[];
|
|
94
|
+
atWorkspaceCwd?: string;
|
|
95
|
+
composerScopeKey?: string;
|
|
96
|
+
disableLegacyHistoryFallback?: boolean;
|
|
97
|
+
attachmentsEnabled?: boolean;
|
|
98
|
+
workspaceFeaturesEnabled?: boolean;
|
|
99
|
+
composerTagIcons?: WebShellComposerTagIconMap;
|
|
100
|
+
parseUserMessageContent?: UserMessageContentParser;
|
|
101
|
+
renderComposerTag?: ComposerTagRenderer;
|
|
102
|
+
renderComposerTagTooltip?: ComposerTagRenderer;
|
|
103
|
+
onComposerTagClick?: ComposerTagClickHandler;
|
|
104
|
+
onFileTagClick?: ComposerTagClickHandler;
|
|
105
|
+
onImageIngestionNotice?: (tone: 'warning' | 'error', message: string) => void;
|
|
106
|
+
/**
|
|
107
|
+
* Invoked when the user selects the @ panel's "Upload file" item, with the
|
|
108
|
+
* directory currently being browsed and a callback that re-inserts the
|
|
109
|
+
* removed mention query when the picker closes without an upload. The
|
|
110
|
+
* composer opens a file picker and uploads into that directory. When
|
|
111
|
+
* absent, the upload item is hidden.
|
|
112
|
+
*/
|
|
113
|
+
onFileUploadRequest?: (targetDir: string, restoreQuery?: () => void) => void;
|
|
114
|
+
/**
|
|
115
|
+
* True while a workspace file upload is pending or in flight. Gates
|
|
116
|
+
* submit exactly like the image lane's pending batches, so a prompt cannot
|
|
117
|
+
* go out before the upload's `@file` reference has been inserted.
|
|
118
|
+
*/
|
|
119
|
+
workspaceUploadBusy?: boolean;
|
|
120
|
+
/** CodeMirror theme extension for the editor view. Each variant provides its own. */
|
|
121
|
+
editorTheme: Parameters<typeof EditorView.theme>[0];
|
|
122
|
+
}
|
|
123
|
+
export interface SearchState {
|
|
124
|
+
searchMode: boolean;
|
|
125
|
+
searchQuery: string;
|
|
126
|
+
searchMatches: string[];
|
|
127
|
+
searchActiveIndex: number;
|
|
128
|
+
searchInputRef: React.RefObject<HTMLInputElement | null>;
|
|
129
|
+
searchUiRef: React.RefObject<HTMLDivElement | null>;
|
|
130
|
+
openHistorySearch: () => void;
|
|
131
|
+
closeSearch: (restoreDraft: boolean, keepFocus?: boolean) => void;
|
|
132
|
+
submitSearchMatch: (match: string) => void;
|
|
133
|
+
restoreSearchMatch?: (match: string) => void;
|
|
134
|
+
handleSearchKeyDown: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
135
|
+
handleSearchInput: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
|
136
|
+
handleSearchCompositionEnd: (e: React.CompositionEvent<HTMLInputElement>) => void;
|
|
137
|
+
}
|
|
138
|
+
export interface SlashMenuState extends SlashCommandCompletionResult {
|
|
139
|
+
selectedIndex: number;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Editor backend for touch devices: instead of a CodeMirror EditorView, the
|
|
143
|
+
* composer renders a plain controlled `<textarea>` wired to these fields.
|
|
144
|
+
* Mobile virtual keyboards and IMEs interact poorly with CodeMirror's
|
|
145
|
+
* contenteditable (see #5958), while a native textarea gets the platform's
|
|
146
|
+
* full input stack for free. Null on desktop.
|
|
147
|
+
*/
|
|
148
|
+
export interface MobileComposerBackend {
|
|
149
|
+
textareaRef: React.RefObject<HTMLTextAreaElement | null>;
|
|
150
|
+
value: string;
|
|
151
|
+
onChange: (event: React.ChangeEvent<HTMLTextAreaElement>) => void;
|
|
152
|
+
onBlur: () => void;
|
|
153
|
+
placeholder: string;
|
|
154
|
+
}
|
|
155
|
+
export interface ComposerImageTransferHandlers {
|
|
156
|
+
onPasteCapture: ClipboardEventHandler<HTMLDivElement>;
|
|
157
|
+
onDragEnterCapture: DragEventHandler<HTMLDivElement>;
|
|
158
|
+
onDragOverCapture: DragEventHandler<HTMLDivElement>;
|
|
159
|
+
onDragLeaveCapture: DragEventHandler<HTMLDivElement>;
|
|
160
|
+
onDropCapture: DragEventHandler<HTMLDivElement>;
|
|
161
|
+
}
|
|
162
|
+
export interface UseComposerCoreReturn {
|
|
163
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
164
|
+
viewRef: React.RefObject<EditorView | null>;
|
|
165
|
+
workspaceActionsRef: React.RefObject<AtMentionWorkspaceActions | undefined>;
|
|
166
|
+
mobileComposer: MobileComposerBackend | null;
|
|
167
|
+
focus: () => void;
|
|
168
|
+
submitText: () => void;
|
|
169
|
+
clearText: () => void;
|
|
170
|
+
getText: () => string;
|
|
171
|
+
hasInput: () => boolean;
|
|
172
|
+
hasAttachments: boolean;
|
|
173
|
+
hasContent: boolean;
|
|
174
|
+
canSubmit: boolean;
|
|
175
|
+
pendingImageBatchCount: number;
|
|
176
|
+
imageDragActive: boolean;
|
|
177
|
+
clearImageDragState: () => void;
|
|
178
|
+
ingestFiles: (files: readonly File[]) => boolean;
|
|
179
|
+
imageTransferHandlers: ComposerImageTransferHandlers;
|
|
180
|
+
handle: EditorHandle;
|
|
181
|
+
pastedImages: PromptImage[];
|
|
182
|
+
removeImage: (index: number) => void;
|
|
183
|
+
pastedFiles: PromptFile[];
|
|
184
|
+
removeFile: (index: number) => void;
|
|
185
|
+
expandPastedText: (index: number) => void;
|
|
186
|
+
composerTags: WebShellComposerTag[];
|
|
187
|
+
removeTopTag: (id: string) => void;
|
|
188
|
+
addTags: (tags: readonly WebShellComposerTag[], options?: WebShellComposerTagOptions) => void;
|
|
189
|
+
removeInlineTags: (predicate?: (tag: WebShellComposerTag) => boolean) => void;
|
|
190
|
+
insertText: (text: string, options?: WebShellComposerTextOptions) => void;
|
|
191
|
+
setText: (text: string) => void;
|
|
192
|
+
submit: (input?: WebShellComposerInput) => void;
|
|
193
|
+
clear: (options?: {
|
|
194
|
+
text?: boolean;
|
|
195
|
+
tags?: boolean;
|
|
196
|
+
}) => void;
|
|
197
|
+
retryLast: () => void;
|
|
198
|
+
replaceEditorText: (text: string) => void;
|
|
199
|
+
shellMode: boolean;
|
|
200
|
+
setShellMode: React.Dispatch<React.SetStateAction<boolean>>;
|
|
201
|
+
toggleShellMode: () => void;
|
|
202
|
+
currentMode: string;
|
|
203
|
+
sessionName: string | undefined;
|
|
204
|
+
searchState: SearchState;
|
|
205
|
+
navigatePrevHistory: () => void;
|
|
206
|
+
navigateNextHistory: () => void;
|
|
207
|
+
showShortcutHints: boolean;
|
|
208
|
+
followupState: UseDaemonFollowupSuggestionReturn['followupState'];
|
|
209
|
+
disabled: boolean;
|
|
210
|
+
onAcceptFollowup: UseDaemonFollowupSuggestionReturn['onAcceptFollowup'];
|
|
211
|
+
onDismissFollowup: UseDaemonFollowupSuggestionReturn['onDismissFollowup'];
|
|
212
|
+
slashMenu: SlashMenuState | null;
|
|
213
|
+
openSlashMenu: () => boolean;
|
|
214
|
+
closeSlashMenu: () => void;
|
|
215
|
+
selectSlashCompletion: (index: number) => boolean;
|
|
216
|
+
acceptSlashCompletion: (index?: number, submit?: boolean) => boolean;
|
|
217
|
+
atMenu: AtMentionMenuState | null;
|
|
218
|
+
closeAtMenu: () => void;
|
|
219
|
+
selectAtCompletion: (index: number) => boolean;
|
|
220
|
+
acceptAtCompletion: (index?: number) => boolean;
|
|
221
|
+
enterAtCategory: (index?: number) => boolean;
|
|
222
|
+
backAtCategories: () => false | 'items' | 'categories';
|
|
223
|
+
updateAtSearch: (query: string) => boolean;
|
|
224
|
+
selectAtTab: (tabId: string) => boolean;
|
|
225
|
+
}
|
|
226
|
+
export declare function useComposerCore(options: UseComposerCoreOptions): UseComposerCoreReturn;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { DaemonConnectionState, DaemonSessionActions, DaemonSessionContextUsageStatus, DaemonSessionOwnerGuard, DaemonSessionOwnerSnapshot } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
2
|
+
type CompressionResult = {
|
|
3
|
+
kind: 'completed';
|
|
4
|
+
usage: DaemonSessionContextUsageStatus;
|
|
5
|
+
} | {
|
|
6
|
+
kind: 'failed' | 'cancelled' | 'refreshFailed' | 'interrupted';
|
|
7
|
+
};
|
|
8
|
+
export interface ContextUsageControls {
|
|
9
|
+
sessionId: string;
|
|
10
|
+
canCompress: boolean;
|
|
11
|
+
compressing: boolean;
|
|
12
|
+
result?: CompressionResult;
|
|
13
|
+
compress(): Promise<void>;
|
|
14
|
+
captureOwner(): DaemonSessionOwnerSnapshot;
|
|
15
|
+
getContextUsage: DaemonSessionActions['getContextUsage'];
|
|
16
|
+
}
|
|
17
|
+
export type RegisterContextUsageControls = (controls: ContextUsageControls) => () => void;
|
|
18
|
+
export declare function useContextUsageControls({ connection, actions, ownerGuard, busy, writeBlocked, onBeforeCompress, }: {
|
|
19
|
+
connection: DaemonConnectionState;
|
|
20
|
+
actions: DaemonSessionActions;
|
|
21
|
+
ownerGuard: DaemonSessionOwnerGuard;
|
|
22
|
+
busy: boolean;
|
|
23
|
+
writeBlocked: boolean;
|
|
24
|
+
onBeforeCompress: () => void;
|
|
25
|
+
}): ContextUsageControls | undefined;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The transient "copied" feedback every copy button shows: `flash()` turns
|
|
8
|
+
* the flag on and schedules the reset. The pending reset is cleared on
|
|
9
|
+
* unmount — a leaked timer fires after a test file's environment is torn
|
|
10
|
+
* down and, since the unit suites fail on unhandled errors, turns an
|
|
11
|
+
* all-green run red (`window is not defined` out of the reset callback).
|
|
12
|
+
* A re-flash restarts the window instead of letting the older reset cut
|
|
13
|
+
* the newer feedback short.
|
|
14
|
+
*/
|
|
15
|
+
export declare function useCopiedFlash(resetMs?: number): [copied: boolean, flash: () => void];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useDelayedGlobalKeyDown(handler: (event: KeyboardEvent) => void, deps: readonly unknown[], delayMs?: number): void;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { MouseEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Opens external link clicks through the shell's explicit desktop opener.
|
|
4
|
+
*
|
|
5
|
+
* The desktop webview's implicit `target="_blank"` handling can silently
|
|
6
|
+
* drop new-window requests, so anchored external URLs should be routed
|
|
7
|
+
* through this handler in the packaged shell; failures surface as error
|
|
8
|
+
* toasts. Plain browsers keep native anchor behavior (the handler is a
|
|
9
|
+
* no-op there).
|
|
10
|
+
*/
|
|
11
|
+
export declare function useExternalLinkOpener(): (event: MouseEvent<HTMLAnchorElement>, url: string | undefined) => void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2026 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonWorkspaceFileUploadRequest, DaemonWorkspaceFileUploadResult } from '@qwen-code/sdk/daemon';
|
|
7
|
+
/**
|
|
8
|
+
* Minimal structural client for uploads. Both `DaemonClient`
|
|
9
|
+
* (legacy-primary) and `WorkspaceDaemonClient` (workspace-qualified) satisfy
|
|
10
|
+
* it; the caller resolves the correct target before constructing the hook.
|
|
11
|
+
*/
|
|
12
|
+
export interface FileUploadClient {
|
|
13
|
+
uploadWorkspaceFile(req: DaemonWorkspaceFileUploadRequest, clientId?: string): Promise<DaemonWorkspaceFileUploadResult>;
|
|
14
|
+
}
|
|
15
|
+
export type FileUploadStatus = 'pending' | 'uploading' | 'done' | 'error';
|
|
16
|
+
/** Machine-readable failure codes; the render site localizes them. */
|
|
17
|
+
export type FileUploadErrorCode = 'tooLarge' | 'noDaemon' | 'tooManyFiles';
|
|
18
|
+
export interface FileUploadItem {
|
|
19
|
+
id: string;
|
|
20
|
+
file: File;
|
|
21
|
+
/** Requested relative path in the target workspace. */
|
|
22
|
+
targetPath: string;
|
|
23
|
+
status: FileUploadStatus;
|
|
24
|
+
/** 0–1. */
|
|
25
|
+
progress: number;
|
|
26
|
+
/** Set for locally classified failures; localized at the render site. */
|
|
27
|
+
errorCode?: FileUploadErrorCode;
|
|
28
|
+
/** Raw failure message (server-side errors). */
|
|
29
|
+
error?: string;
|
|
30
|
+
/** Server-confirmed final path (may be auto-numbered). */
|
|
31
|
+
resultPath?: string;
|
|
32
|
+
/** Set on a `tooManyFiles` notice row: how many files were not queued. */
|
|
33
|
+
skippedCount?: number;
|
|
34
|
+
}
|
|
35
|
+
export interface UseFileUploadOptions {
|
|
36
|
+
client: FileUploadClient | undefined;
|
|
37
|
+
maxBytes: number;
|
|
38
|
+
/**
|
|
39
|
+
* Identity of the target workspace AND the session composing into it.
|
|
40
|
+
* When it changes (or the hook unmounts), in-flight uploads are aborted
|
|
41
|
+
* and the queue is cleared, so an upload started for workspace A cannot
|
|
42
|
+
* insert a path into workspace B, and an upload started in one session
|
|
43
|
+
* cannot append its reference to another session's draft after a switch.
|
|
44
|
+
*/
|
|
45
|
+
targetKey: string;
|
|
46
|
+
}
|
|
47
|
+
export interface UseFileUploadReturn {
|
|
48
|
+
uploads: FileUploadItem[];
|
|
49
|
+
/** True while any item is pending or in flight; gates composer submit. */
|
|
50
|
+
isBusy: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Queue `files` for sequential upload into `targetDir` (relative to the
|
|
53
|
+
* target workspace root; `'.'` for the root). `onUploaded` fires exactly
|
|
54
|
+
* once per successful upload with the server-confirmed final path.
|
|
55
|
+
* Returns how many files were actually queued (locally rejected files,
|
|
56
|
+
* e.g. oversized ones, become error rows without queueing).
|
|
57
|
+
*/
|
|
58
|
+
uploadFiles: (files: File[], targetDir: string, onUploaded?: (path: string) => void) => number;
|
|
59
|
+
/** Remove a row and abort it if it is pending or in flight. */
|
|
60
|
+
removeUpload: (id: string) => void;
|
|
61
|
+
}
|
|
62
|
+
export declare function useFileUpload(options: UseFileUploadOptions): UseFileUploadReturn;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ChangeEvent, type CompositionEvent } from 'react';
|
|
2
|
+
export interface FilterInputProps {
|
|
3
|
+
value: string;
|
|
4
|
+
onChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
5
|
+
onCompositionStart: () => void;
|
|
6
|
+
onCompositionEnd: (event: CompositionEvent<HTMLInputElement>) => void;
|
|
7
|
+
}
|
|
8
|
+
export interface UseFilterInputResult {
|
|
9
|
+
/**
|
|
10
|
+
* Committed value to filter by. Only changes once a keystroke is committed,
|
|
11
|
+
* never while an IME composition is in flight, so filtering a list by this
|
|
12
|
+
* value does not refilter/relayout on every intermediate pinyin character.
|
|
13
|
+
*/
|
|
14
|
+
filterValue: string;
|
|
15
|
+
/** Spread onto the search `<input>` (carries the raw value + IME handlers). */
|
|
16
|
+
inputProps: FilterInputProps;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Search-field state for filterable list dialogs, hardened against IME
|
|
20
|
+
* composition jitter: the field reflects every keystroke while the committed
|
|
21
|
+
* `filterValue` (used to filter) updates only on non-composition input and on
|
|
22
|
+
* `compositionend`.
|
|
23
|
+
*
|
|
24
|
+
* `onFilterChange` fires with the committed value whenever it changes — dialogs
|
|
25
|
+
* use it to reset their own selection/cursor state.
|
|
26
|
+
*/
|
|
27
|
+
export declare function useFilterInput(onFilterChange?: (value: string) => void): UseFilterInputResult;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare function getPromptHistoryStorageKey(workspaceCwd?: string): string;
|
|
2
|
+
export declare function pushInputHistoryEntry(storageKey: string, text: string, fallbackStorageKey?: string): void;
|
|
3
|
+
export declare function useInputHistory(storageKey?: string, fallbackStorageKey?: string): {
|
|
4
|
+
push: (text: string) => void;
|
|
5
|
+
navigateUp: (currentText: string) => string | null;
|
|
6
|
+
navigateDown: () => string | null;
|
|
7
|
+
isNavigating: () => boolean;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
searchReverse: (query: string) => string | null;
|
|
10
|
+
getReverseMatches: (query: string) => string[];
|
|
11
|
+
getLastEntry: (filter?: (entry: string) => boolean) => string | null;
|
|
12
|
+
resetSearch: () => void;
|
|
13
|
+
nav: {
|
|
14
|
+
canUp: boolean;
|
|
15
|
+
canDown: boolean;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* The width at or above which the app is considered a "large screen" for
|
|
8
|
+
* layouts such as split view.
|
|
9
|
+
*/
|
|
10
|
+
export declare const LARGE_SCREEN_QUERY = "(min-width: 1024px)";
|
|
11
|
+
/**
|
|
12
|
+
* Tracks whether the viewport currently matches a large-screen media query.
|
|
13
|
+
*
|
|
14
|
+
* Mirrors the inline `matchMedia` pattern already used for the mobile drawer:
|
|
15
|
+
* seed synchronously from `matchMedia().matches` so the first render is correct
|
|
16
|
+
* (no flash), then subscribe to `change`. Degrades to `false` when `matchMedia`
|
|
17
|
+
* is unavailable (SSR / the jsdom test default), which keeps large-screen-only
|
|
18
|
+
* entry points hidden unless a test explicitly opts in.
|
|
19
|
+
*/
|
|
20
|
+
export declare function useIsLargeScreen(query?: string): boolean;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Matches devices whose primary interaction is a touchscreen with no hover —
|
|
8
|
+
* phones and tablets. The AND of both features deliberately excludes touch
|
|
9
|
+
* laptops (hover-capable trackpad + touchscreen), which keep the desktop
|
|
10
|
+
* CodeMirror editor.
|
|
11
|
+
*/
|
|
12
|
+
export declare const TOUCH_COMPOSER_QUERY = "(hover: none) and (pointer: coarse)";
|
|
13
|
+
/**
|
|
14
|
+
* Raw device detection, ignoring the URL override. Used to gate programmatic
|
|
15
|
+
* (non-gesture) `view.focus()` calls: on iOS, focusing an editable element
|
|
16
|
+
* outside a user gesture does not open the keyboard but does claim
|
|
17
|
+
* `document.activeElement`, after which user taps may no longer fire a fresh
|
|
18
|
+
* focus event — the keyboard never appears. That must stay suppressed even
|
|
19
|
+
* when the user forces the CodeMirror path via `?composer=codemirror`.
|
|
20
|
+
*
|
|
21
|
+
* The media query alone decides — deliberately no `navigator.maxTouchPoints`
|
|
22
|
+
* requirement: Playwright's stock WebKit iPhone profiles (and some TV
|
|
23
|
+
* browsers) match the query while reporting zero touch points, and the
|
|
24
|
+
* textarea is a safe fallback wherever the primary pointer is coarse and
|
|
25
|
+
* cannot hover.
|
|
26
|
+
*/
|
|
27
|
+
export declare function isCoarsePointerDevice(): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Decides once, at mount, whether the composer should use the plain
|
|
30
|
+
* `<textarea>` backend instead of CodeMirror. Intentionally NOT reactive:
|
|
31
|
+
* swapping editor backends mid-session would drop the draft, tags, and
|
|
32
|
+
* pasted images, so the choice is frozen for the lifetime of the component.
|
|
33
|
+
* Degrades to `false` (CodeMirror) when `matchMedia` is unavailable
|
|
34
|
+
* (SSR / the jsdom test default).
|
|
35
|
+
*/
|
|
36
|
+
export declare function useIsTouchComposer(): boolean;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface ListboxKeyboardOptions {
|
|
2
|
+
/** Number of selectable items in the list. */
|
|
3
|
+
itemCount: number;
|
|
4
|
+
/** Currently highlighted index, or -1 when no row is highlighted. */
|
|
5
|
+
activeIndex: number;
|
|
6
|
+
/** Called with the next index when the user moves the highlight. */
|
|
7
|
+
onActiveIndexChange: (index: number) => void;
|
|
8
|
+
/** Called with an index when the user confirms it (Enter). */
|
|
9
|
+
onConfirm: (index: number) => void;
|
|
10
|
+
/** Disable the listener without unmounting the host component. */
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface ListboxKeyboardResult {
|
|
14
|
+
/**
|
|
15
|
+
* True while the user is navigating by keyboard. Dialogs use this to suppress
|
|
16
|
+
* the CSS `:hover` highlight so a cursor that happens to rest over a row —
|
|
17
|
+
* e.g. when the dialog opens under the pointer — does not fight the keyboard
|
|
18
|
+
* highlight. It flips back to false on a real `mousemove` (which never fires
|
|
19
|
+
* from a dialog merely appearing under a stationary cursor).
|
|
20
|
+
*/
|
|
21
|
+
keyboardMode: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Keyboard navigation for listbox-style dialogs (model/theme/approval/resume/…).
|
|
25
|
+
*
|
|
26
|
+
* Selection is driven by `activeIndex` state rather than DOM focus, so it works
|
|
27
|
+
* whether focus sits on the dialog panel/listbox or on a search input. The
|
|
28
|
+
* visual highlight + `scrollIntoView` already implemented by each dialog
|
|
29
|
+
* reflects the active index; this hook only moves that index and confirms it.
|
|
30
|
+
*
|
|
31
|
+
* Enter confirms the active row, unless focus is on a control that owns Enter
|
|
32
|
+
* (see {@link focusOwnsEnter}) — so, e.g., Enter on a focused "Delete" button
|
|
33
|
+
* activates the button — or no row is highlighted (`activeIndex < 0`).
|
|
34
|
+
* Searchable dialogs rely on the latter: they open with no highlight and reset
|
|
35
|
+
* to none whenever the filter text changes, so a reflexive Enter in the search
|
|
36
|
+
* box never confirms a row the user didn't visibly pick first; the first
|
|
37
|
+
* ArrowDown lands on the first row. Space mirrors Enter (per the ARIA listbox
|
|
38
|
+
* pattern) but additionally yields to text fields, where it types a space.
|
|
39
|
+
* Escape is intentionally NOT handled here — {@link DialogShell} owns dialog
|
|
40
|
+
* dismissal.
|
|
41
|
+
*/
|
|
42
|
+
export declare function useListboxKeyboard({ itemCount, activeIndex, onActiveIndexChange, onConfirm, enabled, }: ListboxKeyboardOptions): ListboxKeyboardResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type DaemonTranscriptBlock, type DaemonTranscriptBlockChangeSummary } from '@qwen-code/sdk/daemon';
|
|
2
|
+
import { type Translator } from '../adapters/localizedMessages';
|
|
3
|
+
import type { Message } from '../adapters/types';
|
|
4
|
+
export { transcriptBlocksToLocalizedMessages, type Translator, } from '../adapters/localizedMessages';
|
|
5
|
+
interface MessageProjection {
|
|
6
|
+
blocks: readonly DaemonTranscriptBlock[];
|
|
7
|
+
messages: Message[];
|
|
8
|
+
t: Translator;
|
|
9
|
+
blockChangeSummary?: DaemonTranscriptBlockChangeSummary;
|
|
10
|
+
}
|
|
11
|
+
export interface BackgroundAgentResolution {
|
|
12
|
+
status: string;
|
|
13
|
+
durationMs?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function projectStreamingTailMessages(previous: MessageProjection | undefined, blocks: readonly DaemonTranscriptBlock[], t: Translator, blockChangeSummary?: DaemonTranscriptBlockChangeSummary): Message[] | undefined;
|
|
16
|
+
export declare function getBackgroundAgentNotificationKey(blocks: readonly DaemonTranscriptBlock[]): string;
|
|
17
|
+
export declare function getPendingBackgroundAgentKey(messages: readonly Message[]): string;
|
|
18
|
+
export declare function reconcileBackgroundAgentResolutions(messages: Message[], resolutions: ReadonlyMap<string, BackgroundAgentResolution>): Message[];
|
|
19
|
+
export declare function useMessagesFromBlocks(t: Translator, blocks: readonly DaemonTranscriptBlock[], blockChangeSummary?: DaemonTranscriptBlockChangeSummary): Message[];
|
|
20
|
+
export declare function useMessages(t: Translator): Message[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare function useModelConfigurations(enabled: boolean): {
|
|
2
|
+
models: import("@qwen-code/sdk/daemon").DaemonModelConfiguration[];
|
|
3
|
+
reload: () => Promise<{
|
|
4
|
+
models: import("@qwen-code/sdk/daemon").DaemonModelConfiguration[];
|
|
5
|
+
} | undefined>;
|
|
6
|
+
data: {
|
|
7
|
+
models: import("@qwen-code/sdk/daemon").DaemonModelConfiguration[];
|
|
8
|
+
} | undefined;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
error: Error | undefined;
|
|
11
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Message } from '../adapters/types';
|
|
2
|
+
import type { DaemonSessionActions } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
3
|
+
type SuggestionKind = 'btw' | 'new_session' | 'none';
|
|
4
|
+
export interface NewSessionSuggestionState {
|
|
5
|
+
suggestion: Exclude<SuggestionKind, 'none'>;
|
|
6
|
+
classifiedInput: string;
|
|
7
|
+
sourceSessionId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface UseNewSessionSuggestionOptions {
|
|
10
|
+
enabled: boolean;
|
|
11
|
+
messages: Message[];
|
|
12
|
+
sessionId?: string;
|
|
13
|
+
contextUsageRatio: number;
|
|
14
|
+
isRunning: boolean;
|
|
15
|
+
dialogOpen: boolean;
|
|
16
|
+
hasAttachments: boolean | null;
|
|
17
|
+
generateContent?: DaemonSessionActions['generateSessionContent'];
|
|
18
|
+
}
|
|
19
|
+
export interface UseNewSessionSuggestionReturn {
|
|
20
|
+
suggestion: NewSessionSuggestionState | null;
|
|
21
|
+
updateInput: (inputText: string) => void;
|
|
22
|
+
dismiss: () => void;
|
|
23
|
+
suppress: () => void;
|
|
24
|
+
}
|
|
25
|
+
export declare function useNewSessionSuggestion({ enabled, messages, sessionId, contextUsageRatio, isRunning, dialogOpen, hasAttachments, generateContent, }: UseNewSessionSuggestionOptions): UseNewSessionSuggestionReturn;
|
|
26
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import type { DaemonSessionSummary } from '@qwen-code/sdk/daemon';
|
|
7
|
+
export interface OtherWorkspaceSessionsResult {
|
|
8
|
+
sessions: DaemonSessionSummary[];
|
|
9
|
+
reload: () => Promise<void>;
|
|
10
|
+
}
|
|
11
|
+
export declare function useOtherWorkspaceSessions(enabled?: boolean, pollIntervalMs?: number): OtherWorkspaceSessionsResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function usePrefersReducedMotion(): boolean;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2025 Qwen Team
|
|
4
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { type DaemonSessionActions, type DaemonStreamingState, type DaemonWorkspaceActions } from '@qwen-code/web-shell/daemon-react-sdk';
|
|
7
|
+
import type { DaemonInputAnnotation, DaemonTranscriptStore } from '@qwen-code/sdk/daemon';
|
|
8
|
+
import type { PromptFile, PromptImage } from '../adapters/promptTypes';
|
|
9
|
+
import type { EditorHandle } from './useComposerCore';
|
|
10
|
+
import type { getTranslator } from '../i18n';
|
|
11
|
+
import type { QueuedPrompt } from '../components/QueuedPromptDisplay';
|
|
12
|
+
interface RefBox<T> {
|
|
13
|
+
current: T;
|
|
14
|
+
}
|
|
15
|
+
interface UseQueuedPromptsArgs {
|
|
16
|
+
connected: boolean;
|
|
17
|
+
writeBlocked?: boolean;
|
|
18
|
+
sessionId?: string;
|
|
19
|
+
workspaceCwd?: string;
|
|
20
|
+
clientId?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Whether the daemon advertises `session_mid_turn_message_mutation`. Gates the
|
|
23
|
+
* mid-turn delete/edit mutations — including the keyboard path, which the view
|
|
24
|
+
* layer's hidden buttons can't reach — so an older daemon that mints message
|
|
25
|
+
* ids without the route isn't sent a DELETE it answers with a 404.
|
|
26
|
+
*/
|
|
27
|
+
canMutateMidTurn: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Whether the daemon advertises `session_mid_turn_message_query`. Gates the
|
|
30
|
+
* daemon-owned queue lifecycle. With it, accepted messages are restored and
|
|
31
|
+
* reconciled by id across drain or idle promotion; without it the hook keeps
|
|
32
|
+
* the legacy local fallback used by older daemons.
|
|
33
|
+
*/
|
|
34
|
+
canQueryMidTurn: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Whether the daemon advertises `session_attachments`. With it,
|
|
37
|
+
* attachments travel with a mid-turn message and are injected into the
|
|
38
|
+
* running turn; without it they stay queued for the next turn.
|
|
39
|
+
*/
|
|
40
|
+
canInjectMidTurnMedia: boolean;
|
|
41
|
+
workspaceFileActions?: Pick<DaemonWorkspaceActions, 'readFileBytes' | 'stat'>;
|
|
42
|
+
streamingState: DaemonStreamingState;
|
|
43
|
+
sessionHasActivePrompt?: boolean;
|
|
44
|
+
/** Keep ordinary submissions local until the Goal is paused, cleared, or the
|
|
45
|
+
* user explicitly inserts one into the current turn. */
|
|
46
|
+
holdQueuedPromptsLocally?: boolean;
|
|
47
|
+
sessionActions: DaemonSessionActions;
|
|
48
|
+
store: DaemonTranscriptStore;
|
|
49
|
+
editorRef: RefBox<EditorHandle | null>;
|
|
50
|
+
reportError: (error: unknown, fallback: string) => void;
|
|
51
|
+
t: ReturnType<typeof getTranslator>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Merge a restored prompt's text into the editor content. Restoration paths
|
|
55
|
+
* (failed submits, failed mid-turn inserts, queue clears) prepend the prompt
|
|
56
|
+
* above whatever the user is currently typing — but several of them can fire
|
|
57
|
+
* for the same prompt across reconnects/refreshes, and a user retrying an
|
|
58
|
+
* identical message produces the same text twice. Stacking those copies is
|
|
59
|
+
* what #7128 reports as "inputs concatenated after refresh", so restoring
|
|
60
|
+
* text that is already present at the top of the editor is a no-op.
|
|
61
|
+
*/
|
|
62
|
+
export declare function mergeRestoredPromptText(current: string, text: string): string;
|
|
63
|
+
export interface UseQueuedPromptsResult {
|
|
64
|
+
queuedPrompts: QueuedPrompt[];
|
|
65
|
+
queuedTexts: string[];
|
|
66
|
+
enqueuePrompt: (text: string, images?: PromptImage[], files?: PromptFile[], onComplete?: () => void, inputAnnotations?: DaemonInputAnnotation[], onAdmitted?: () => void, submittedPrompt?: string) => boolean;
|
|
67
|
+
removeQueuedPrompt: (id: number) => void;
|
|
68
|
+
insertQueuedPrompt: (id: number) => Promise<void>;
|
|
69
|
+
editQueuedPrompt: (id: number) => Promise<void>;
|
|
70
|
+
editLastQueuedPrompt: () => boolean;
|
|
71
|
+
clearQueuedPrompts: () => boolean;
|
|
72
|
+
}
|
|
73
|
+
export declare function useQueuedPrompts({ connected, writeBlocked, sessionId, workspaceCwd, clientId, canMutateMidTurn, canQueryMidTurn, canInjectMidTurnMedia, workspaceFileActions, streamingState, sessionHasActivePrompt, holdQueuedPromptsLocally, sessionActions, store, editorRef, reportError, t, }: UseQueuedPromptsArgs): UseQueuedPromptsResult;
|
|
74
|
+
export {};
|