@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.
Files changed (413) hide show
  1. package/README.md +651 -0
  2. package/dist/daemon-react-sdk.js +53 -0
  3. package/dist/index.js +109094 -0
  4. package/dist/sw.js +9 -0
  5. package/dist/toolNames-DgCpmhML.js +17992 -0
  6. package/dist/transcript.js +31609 -0
  7. package/dist/types/App.d.ts +419 -0
  8. package/dist/types/WebShellContexts.d.ts +31 -0
  9. package/dist/types/adapters/localizedMessages.d.ts +24 -0
  10. package/dist/types/adapters/messageTypes.d.ts +194 -0
  11. package/dist/types/adapters/parallelAgentGrouping.d.ts +18 -0
  12. package/dist/types/adapters/promptTypes.d.ts +12 -0
  13. package/dist/types/adapters/toolClassification.d.ts +10 -0
  14. package/dist/types/adapters/transcriptAdapter.d.ts +3 -0
  15. package/dist/types/adapters/transcriptToMessages.d.ts +41 -0
  16. package/dist/types/adapters/types.d.ts +123 -0
  17. package/dist/types/brandContext.d.ts +44 -0
  18. package/dist/types/browser-turn-notifications.d.ts +36 -0
  19. package/dist/types/completions/slashCompletion.d.ts +35 -0
  20. package/dist/types/components/AtMentionPanel.d.ts +13 -0
  21. package/dist/types/components/BranchPickerPopover.d.ts +73 -0
  22. package/dist/types/components/ChatContextHeader.d.ts +18 -0
  23. package/dist/types/components/ChatEditor.d.ts +134 -0
  24. package/dist/types/components/ChatPane.d.ts +93 -0
  25. package/dist/types/components/ContextCompressionFeedback.d.ts +5 -0
  26. package/dist/types/components/ContextUsagePopover.d.ts +10 -0
  27. package/dist/types/components/ErrorBoundary.d.ts +40 -0
  28. package/dist/types/components/FileAttachmentContent.d.ts +4 -0
  29. package/dist/types/components/FileTypeIcon.d.ts +6 -0
  30. package/dist/types/components/GitBranchIndicator.d.ts +66 -0
  31. package/dist/types/components/GitModePopover.d.ts +23 -0
  32. package/dist/types/components/GlobalTurnNavigation.d.ts +16 -0
  33. package/dist/types/components/GoalStatusStrip.d.ts +13 -0
  34. package/dist/types/components/InsightProgress.d.ts +12 -0
  35. package/dist/types/components/InsightReady.d.ts +6 -0
  36. package/dist/types/components/LocalControlQrButton.d.ts +12 -0
  37. package/dist/types/components/LocalFilesControl.d.ts +74 -0
  38. package/dist/types/components/MessageItem.d.ts +43 -0
  39. package/dist/types/components/MessageList.d.ts +222 -0
  40. package/dist/types/components/MessageTimestamp.d.ts +32 -0
  41. package/dist/types/components/ModeIcon.d.ts +3 -0
  42. package/dist/types/components/MonitorIcon.d.ts +2 -0
  43. package/dist/types/components/PaneHeaderActions.d.ts +23 -0
  44. package/dist/types/components/PromptChevron.d.ts +7 -0
  45. package/dist/types/components/QueuedPromptDisplay.d.ts +57 -0
  46. package/dist/types/components/RootErrorFallback.d.ts +21 -0
  47. package/dist/types/components/SessionOverviewPanel.d.ts +46 -0
  48. package/dist/types/components/SessionPrBadge.d.ts +24 -0
  49. package/dist/types/components/SessionPrStateIcon.d.ts +32 -0
  50. package/dist/types/components/SessionRecoveryBanner.d.ts +3 -0
  51. package/dist/types/components/ShadowDomBoundary.d.ts +11 -0
  52. package/dist/types/components/SplitView.d.ts +69 -0
  53. package/dist/types/components/StandaloneAuth.d.ts +17 -0
  54. package/dist/types/components/StatusBar.d.ts +26 -0
  55. package/dist/types/components/StreamingStatus.d.ts +20 -0
  56. package/dist/types/components/Tips.d.ts +1 -0
  57. package/dist/types/components/ToastHost.d.ts +25 -0
  58. package/dist/types/components/TranscriptViewport.d.ts +17 -0
  59. package/dist/types/components/WebShellTranscript.d.ts +38 -0
  60. package/dist/types/components/WelcomeHeader.d.ts +8 -0
  61. package/dist/types/components/WorkspaceIndicator.d.ts +27 -0
  62. package/dist/types/components/WorkspaceSelector.d.ts +29 -0
  63. package/dist/types/components/WorkspaceSessionProvider.d.ts +19 -0
  64. package/dist/types/components/WorkspaceUnavailableState.d.ts +11 -0
  65. package/dist/types/components/agents/AgentCreatePage.d.ts +9 -0
  66. package/dist/types/components/agents/AgentsManagerPage.d.ts +8 -0
  67. package/dist/types/components/agents/agent-tool-options.d.ts +9 -0
  68. package/dist/types/components/agents/agents-manager-logic.d.ts +8 -0
  69. package/dist/types/components/artifacts/AgentWorkflow.d.ts +7 -0
  70. package/dist/types/components/artifacts/ArtifactIcon.d.ts +9 -0
  71. package/dist/types/components/artifacts/ArtifactPanel.d.ts +229 -0
  72. package/dist/types/components/artifacts/CodeReviewArtifactDetail.d.ts +63 -0
  73. package/dist/types/components/artifacts/ContextUsagePanel.d.ts +7 -0
  74. package/dist/types/components/artifacts/LineStats.d.ts +12 -0
  75. package/dist/types/components/artifacts/SideTaskPanel.d.ts +24 -0
  76. package/dist/types/components/artifacts/SubagentDetail.d.ts +14 -0
  77. package/dist/types/components/artifacts/TokenUsagePanel.d.ts +7 -0
  78. package/dist/types/components/artifacts/TurnOutputs.d.ts +121 -0
  79. package/dist/types/components/artifacts/artifactUtils.d.ts +37 -0
  80. package/dist/types/components/artifacts/turnOutputSelectors.d.ts +7 -0
  81. package/dist/types/components/artifacts/useArtifactWorkspaceTarget.d.ts +16 -0
  82. package/dist/types/components/channels/ChannelEditorDialog.d.ts +25 -0
  83. package/dist/types/components/channels/ChannelPairingRequests.d.ts +15 -0
  84. package/dist/types/components/channels/ChannelsManagerPage.d.ts +12 -0
  85. package/dist/types/components/channels/channel-editor-state.d.ts +25 -0
  86. package/dist/types/components/channels/channel-platform.d.ts +9 -0
  87. package/dist/types/components/composer/AddMenu.d.ts +20 -0
  88. package/dist/types/components/composer/prependSkillInvocation.d.ts +12 -0
  89. package/dist/types/components/dialogs/AddWorkspaceDialog.d.ts +24 -0
  90. package/dist/types/components/dialogs/ApprovalModeDialog.d.ts +7 -0
  91. package/dist/types/components/dialogs/DaemonStatusDialog.d.ts +3 -0
  92. package/dist/types/components/dialogs/DeleteSessionDialog.d.ts +8 -0
  93. package/dist/types/components/dialogs/DialogShell.d.ts +15 -0
  94. package/dist/types/components/dialogs/GitDialog.d.ts +14 -0
  95. package/dist/types/components/dialogs/GitDiffDialog.d.ts +14 -0
  96. package/dist/types/components/dialogs/GitHubPrsDialog.d.ts +9 -0
  97. package/dist/types/components/dialogs/GitLogDialog.d.ts +14 -0
  98. package/dist/types/components/dialogs/GoalEditDialog.d.ts +9 -0
  99. package/dist/types/components/dialogs/GoalsDialog.d.ts +16 -0
  100. package/dist/types/components/dialogs/HelpDialog.d.ts +6 -0
  101. package/dist/types/components/dialogs/ModelDialog.d.ts +28 -0
  102. package/dist/types/components/dialogs/ModelFallbacksDialog.d.ts +14 -0
  103. package/dist/types/components/dialogs/ReleaseSessionDialog.d.ts +8 -0
  104. package/dist/types/components/dialogs/ResumeDialog.d.ts +7 -0
  105. package/dist/types/components/dialogs/RewindDialog.d.ts +12 -0
  106. package/dist/types/components/dialogs/ScheduledTasksDialog.d.ts +30 -0
  107. package/dist/types/components/dialogs/SessionRow.d.ts +46 -0
  108. package/dist/types/components/dialogs/SvgLineChart.d.ts +35 -0
  109. package/dist/types/components/dialogs/ThemeDialog.d.ts +8 -0
  110. package/dist/types/components/dialogs/TokenHeatmap.d.ts +18 -0
  111. package/dist/types/components/dialogs/ToolsDialog.d.ts +1 -0
  112. package/dist/types/components/dialogs/UsageDashboardTab.d.ts +13 -0
  113. package/dist/types/components/dialogs/dialogStyles.d.ts +2 -0
  114. package/dist/types/components/dialogs/scheduledTasksSchedule.d.ts +62 -0
  115. package/dist/types/components/extensions/ExtensionsManagerPage.d.ts +9 -0
  116. package/dist/types/components/extensions/extensions-manager-logic.d.ts +3 -0
  117. package/dist/types/components/local-control-api.d.ts +30 -0
  118. package/dist/types/components/mcp/McpManagerPage.d.ts +12 -0
  119. package/dist/types/components/messages/AskUserQuestion.d.ts +18 -0
  120. package/dist/types/components/messages/AssistantMessage.d.ts +40 -0
  121. package/dist/types/components/messages/AuthMessage.d.ts +6 -0
  122. package/dist/types/components/messages/BtwMessage.d.ts +7 -0
  123. package/dist/types/components/messages/ContextUsageMessage.d.ts +9 -0
  124. package/dist/types/components/messages/EnhancedMarkdownTable.d.ts +31 -0
  125. package/dist/types/components/messages/FootnoteCard.d.ts +11 -0
  126. package/dist/types/components/messages/FootnotePreviewContent.d.ts +9 -0
  127. package/dist/types/components/messages/GoalApprovalContent.d.ts +5 -0
  128. package/dist/types/components/messages/GoalStatusMessage.d.ts +15 -0
  129. package/dist/types/components/messages/LinkifiedText.d.ts +8 -0
  130. package/dist/types/components/messages/LocalControlSettingsCard.d.ts +1 -0
  131. package/dist/types/components/messages/Markdown.d.ts +38 -0
  132. package/dist/types/components/messages/MarkdownChartRenderer.d.ts +65 -0
  133. package/dist/types/components/messages/McpApp.d.ts +21 -0
  134. package/dist/types/components/messages/McpStatusMessage.d.ts +22 -0
  135. package/dist/types/components/messages/MemoryMessage.d.ts +9 -0
  136. package/dist/types/components/messages/ModelManagementSection.d.ts +23 -0
  137. package/dist/types/components/messages/PlanExecutionView.d.ts +91 -0
  138. package/dist/types/components/messages/PlanMessage.d.ts +8 -0
  139. package/dist/types/components/messages/QuestionAnswerMessage.d.ts +7 -0
  140. package/dist/types/components/messages/SettingsMessage.d.ts +46 -0
  141. package/dist/types/components/messages/StatsMessage.d.ts +14 -0
  142. package/dist/types/components/messages/StatusMessage.d.ts +18 -0
  143. package/dist/types/components/messages/SystemMessage.d.ts +29 -0
  144. package/dist/types/components/messages/TasksStatusMessage.d.ts +38 -0
  145. package/dist/types/components/messages/TodoView.d.ts +17 -0
  146. package/dist/types/components/messages/ToolApproval.d.ts +28 -0
  147. package/dist/types/components/messages/ToolFilePreviewButton.d.ts +7 -0
  148. package/dist/types/components/messages/ToolGroup.d.ts +50 -0
  149. package/dist/types/components/messages/UserMessage.d.ts +46 -0
  150. package/dist/types/components/messages/UserShellMessage.d.ts +6 -0
  151. package/dist/types/components/messages/WorkflowExecutionView.d.ts +48 -0
  152. package/dist/types/components/messages/agentForest.d.ts +96 -0
  153. package/dist/types/components/messages/codeHighlighter.d.ts +25 -0
  154. package/dist/types/components/messages/rehype-footnote-cards.d.ts +22 -0
  155. package/dist/types/components/messages/toolFormatting.d.ts +63 -0
  156. package/dist/types/components/messages/tools/DiffView.d.ts +5 -0
  157. package/dist/types/components/messages/tools/ParallelAgentsGroup.d.ts +12 -0
  158. package/dist/types/components/messages/tools/SubAgentPanel.d.ts +10 -0
  159. package/dist/types/components/messages/tools/toolDisplay.d.ts +7 -0
  160. package/dist/types/components/panels/EnvironmentPanel.d.ts +45 -0
  161. package/dist/types/components/panels/SourcesSection.d.ts +25 -0
  162. package/dist/types/components/panels/TodoPanel.d.ts +11 -0
  163. package/dist/types/components/plugins/PluginManagerPage.d.ts +8 -0
  164. package/dist/types/components/plugins/manager-page.d.ts +4 -0
  165. package/dist/types/components/preview/SavedWebPreview.d.ts +5 -0
  166. package/dist/types/components/preview/WebPreviewPanel.d.ts +5 -0
  167. package/dist/types/components/preview/web-preview.d.ts +7 -0
  168. package/dist/types/components/sidebar/SessionDetailsTooltip.d.ts +17 -0
  169. package/dist/types/components/sidebar/SessionGroupSection.d.ts +19 -0
  170. package/dist/types/components/sidebar/StandaloneRecents.d.ts +33 -0
  171. package/dist/types/components/sidebar/WebShellSidebar.d.ts +139 -0
  172. package/dist/types/components/sidebar/WorkspaceDetailsTooltip.d.ts +49 -0
  173. package/dist/types/components/sidebar/WorkspaceMenu.d.ts +41 -0
  174. package/dist/types/components/sidebar/WorkspaceRenameDialog.d.ts +18 -0
  175. package/dist/types/components/sidebar/WorkspaceSection.d.ts +112 -0
  176. package/dist/types/components/sidebar/channelSessionGroups.d.ts +7 -0
  177. package/dist/types/components/sidebar/collapsedSessionSections.d.ts +25 -0
  178. package/dist/types/components/sidebar/scheduled-task-session-groups.d.ts +12 -0
  179. package/dist/types/components/sidebar/sessionDetailsCollisionBoundary.d.ts +1 -0
  180. package/dist/types/components/sidebar/sessionSearch.d.ts +28 -0
  181. package/dist/types/components/sidebar/sessionTitleScroll.d.ts +7 -0
  182. package/dist/types/components/sidebar/sidebarToggleShortcut.d.ts +18 -0
  183. package/dist/types/components/sidebar/useSessionContentSearch.d.ts +20 -0
  184. package/dist/types/components/sidebar/useWorkspaceOverview.d.ts +40 -0
  185. package/dist/types/components/sidebar/workspaceExpansion.d.ts +4 -0
  186. package/dist/types/components/sidebar/workspaceOverviewModel.d.ts +123 -0
  187. package/dist/types/components/skills/SkillInstallDialog.d.ts +8 -0
  188. package/dist/types/components/skills/SkillsManagerPage.d.ts +11 -0
  189. package/dist/types/components/skills/skills-manager-logic.d.ts +6 -0
  190. package/dist/types/components/sources/SourceList.d.ts +5 -0
  191. package/dist/types/components/sources/TurnSources.d.ts +5 -0
  192. package/dist/types/components/sources/sourceEntries.d.ts +8 -0
  193. package/dist/types/components/summaryRunId.d.ts +9 -0
  194. package/dist/types/components/terminal/TerminalPanel.d.ts +17 -0
  195. package/dist/types/components/toolbarDropdown.d.ts +39 -0
  196. package/dist/types/components/ui/alert-dialog.d.ts +19 -0
  197. package/dist/types/components/ui/alert.d.ts +10 -0
  198. package/dist/types/components/ui/badge.d.ts +9 -0
  199. package/dist/types/components/ui/breadcrumb.d.ts +11 -0
  200. package/dist/types/components/ui/button.d.ts +11 -0
  201. package/dist/types/components/ui/card.d.ts +11 -0
  202. package/dist/types/components/ui/checkbox.d.ts +4 -0
  203. package/dist/types/components/ui/data-table.d.ts +31 -0
  204. package/dist/types/components/ui/dialog.d.ts +19 -0
  205. package/dist/types/components/ui/drawer.d.ts +16 -0
  206. package/dist/types/components/ui/dropdown-menu.d.ts +29 -0
  207. package/dist/types/components/ui/empty.d.ts +11 -0
  208. package/dist/types/components/ui/field.d.ts +24 -0
  209. package/dist/types/components/ui/input.d.ts +3 -0
  210. package/dist/types/components/ui/label.d.ts +4 -0
  211. package/dist/types/components/ui/management-notice.d.ts +12 -0
  212. package/dist/types/components/ui/popover.d.ts +13 -0
  213. package/dist/types/components/ui/radio-group.d.ts +5 -0
  214. package/dist/types/components/ui/scroll-area.d.ts +5 -0
  215. package/dist/types/components/ui/select.d.ts +16 -0
  216. package/dist/types/components/ui/separator.d.ts +4 -0
  217. package/dist/types/components/ui/skeleton.d.ts +2 -0
  218. package/dist/types/components/ui/spinner.d.ts +2 -0
  219. package/dist/types/components/ui/switch.d.ts +6 -0
  220. package/dist/types/components/ui/table.d.ts +10 -0
  221. package/dist/types/components/ui/tabs.d.ts +13 -0
  222. package/dist/types/components/ui/textarea.d.ts +3 -0
  223. package/dist/types/components/ui/toggle-group.d.ts +10 -0
  224. package/dist/types/components/ui/toggle.d.ts +9 -0
  225. package/dist/types/components/ui/tooltip.d.ts +7 -0
  226. package/dist/types/components/workflow/SessionWorkflowCockpit.d.ts +17 -0
  227. package/dist/types/components/workflow/SessionWorkflowInspector.d.ts +15 -0
  228. package/dist/types/components/workflow/session-workflow-model.d.ts +32 -0
  229. package/dist/types/components/workflows/WorkflowRunsPage.d.ts +6 -0
  230. package/dist/types/components/workspaces/WorkspaceRemovalDialog.d.ts +20 -0
  231. package/dist/types/components/workspaces/WorkspacesOverviewPanel.d.ts +21 -0
  232. package/dist/types/components/workspaces/useWorkspaceRemoval.d.ts +47 -0
  233. package/dist/types/config/daemon.d.ts +41 -0
  234. package/dist/types/config/standalone.d.ts +1 -0
  235. package/dist/types/constants/loadingPhrases.d.ts +4 -0
  236. package/dist/types/constants/localCommands.d.ts +27 -0
  237. package/dist/types/constants/sessions.d.ts +43 -0
  238. package/dist/types/constants/toolNames.d.ts +9 -0
  239. package/dist/types/customization.d.ts +508 -0
  240. package/dist/types/daemon/followupSidechannel.d.ts +11 -0
  241. package/dist/types/daemon/index.d.ts +14 -0
  242. package/dist/types/daemon/midTurnInjectedSidechannel.d.ts +37 -0
  243. package/dist/types/daemon/pendingPromptVersion.d.ts +19 -0
  244. package/dist/types/daemon/session/DaemonSessionProvider.d.ts +45 -0
  245. package/dist/types/daemon/session/actions.d.ts +100 -0
  246. package/dist/types/daemon/session/clientLifecycle.d.ts +21 -0
  247. package/dist/types/daemon/session/httpErrors.d.ts +9 -0
  248. package/dist/types/daemon/session/index.d.ts +15 -0
  249. package/dist/types/daemon/session/live-journal-repair.d.ts +19 -0
  250. package/dist/types/daemon/session/mappers.d.ts +71 -0
  251. package/dist/types/daemon/session/promptContent.d.ts +11 -0
  252. package/dist/types/daemon/session/selectors.d.ts +21 -0
  253. package/dist/types/daemon/session/session-context.d.ts +16 -0
  254. package/dist/types/daemon/session/status.d.ts +12 -0
  255. package/dist/types/daemon/session/transcript-page-table.d.ts +147 -0
  256. package/dist/types/daemon/session/turn-navigation-store.d.ts +117 -0
  257. package/dist/types/daemon/session/turn-notification-context.d.ts +43 -0
  258. package/dist/types/daemon/session/types.d.ts +568 -0
  259. package/dist/types/daemon/timing.d.ts +14 -0
  260. package/dist/types/daemon/useDaemonFollowupSuggestion.d.ts +77 -0
  261. package/dist/types/daemon/useDaemonMidTurnInjected.d.ts +30 -0
  262. package/dist/types/daemon/workspace/DaemonWorkspaceProvider.d.ts +21 -0
  263. package/dist/types/daemon/workspace/actions.d.ts +14 -0
  264. package/dist/types/daemon/workspace/hooks/index.d.ts +21 -0
  265. package/dist/types/daemon/workspace/hooks/useDaemonAgents.d.ts +22 -0
  266. package/dist/types/daemon/workspace/hooks/useDaemonAuth.d.ts +24 -0
  267. package/dist/types/daemon/workspace/hooks/useDaemonChannels.d.ts +33 -0
  268. package/dist/types/daemon/workspace/hooks/useDaemonDiagnostics.d.ts +10 -0
  269. package/dist/types/daemon/workspace/hooks/useDaemonFiles.d.ts +10 -0
  270. package/dist/types/daemon/workspace/hooks/useDaemonGlob.d.ts +8 -0
  271. package/dist/types/daemon/workspace/hooks/useDaemonMcp.d.ts +31 -0
  272. package/dist/types/daemon/workspace/hooks/useDaemonMemory.d.ts +16 -0
  273. package/dist/types/daemon/workspace/hooks/useDaemonProviders.d.ts +20 -0
  274. package/dist/types/daemon/workspace/hooks/useDaemonResource.d.ts +7 -0
  275. package/dist/types/daemon/workspace/hooks/useDaemonSessions.d.ts +48 -0
  276. package/dist/types/daemon/workspace/hooks/useDaemonSettings.d.ts +20 -0
  277. package/dist/types/daemon/workspace/hooks/useDaemonSkills.d.ts +30 -0
  278. package/dist/types/daemon/workspace/hooks/useDaemonStatusReport.d.ts +18 -0
  279. package/dist/types/daemon/workspace/hooks/useDaemonTools.d.ts +16 -0
  280. package/dist/types/daemon/workspace/hooks/useDaemonUsageDashboard.d.ts +27 -0
  281. package/dist/types/daemon/workspace/hooks/useWorkspaceEventReload.d.ts +6 -0
  282. package/dist/types/daemon/workspace/index.d.ts +10 -0
  283. package/dist/types/daemon/workspace/load-ready-skills.d.ts +7 -0
  284. package/dist/types/daemon/workspace/types.d.ts +415 -0
  285. package/dist/types/daemon-react-sdk.d.ts +319 -0
  286. package/dist/types/extensions/inputHighlight.d.ts +10 -0
  287. package/dist/types/hooks/daemonSessionMappers.d.ts +2 -0
  288. package/dist/types/hooks/useAnimationFrameTranscriptBlocks.d.ts +10 -0
  289. package/dist/types/hooks/useAnimationFrameValue.d.ts +1 -0
  290. package/dist/types/hooks/useAtMentionMenu.d.ts +72 -0
  291. package/dist/types/hooks/useAtMentionSources.d.ts +113 -0
  292. package/dist/types/hooks/useBackgroundTasks.d.ts +8 -0
  293. package/dist/types/hooks/useChatNavigationVisible.d.ts +2 -0
  294. package/dist/types/hooks/useComposerCore.d.ts +226 -0
  295. package/dist/types/hooks/useContextUsageControls.d.ts +26 -0
  296. package/dist/types/hooks/useCopiedFlash.d.ts +15 -0
  297. package/dist/types/hooks/useDelayedGlobalKeyDown.d.ts +1 -0
  298. package/dist/types/hooks/useExternalLinkOpener.d.ts +11 -0
  299. package/dist/types/hooks/useFileUpload.d.ts +62 -0
  300. package/dist/types/hooks/useFilterInput.d.ts +27 -0
  301. package/dist/types/hooks/useInputHistory.d.ts +17 -0
  302. package/dist/types/hooks/useIsLargeScreen.d.ts +20 -0
  303. package/dist/types/hooks/useIsTouchComposer.d.ts +36 -0
  304. package/dist/types/hooks/useListboxKeyboard.d.ts +42 -0
  305. package/dist/types/hooks/useMessages.d.ts +20 -0
  306. package/dist/types/hooks/useModelConfigurations.d.ts +11 -0
  307. package/dist/types/hooks/useNewSessionSuggestion.d.ts +26 -0
  308. package/dist/types/hooks/useOtherWorkspaceSessions.d.ts +11 -0
  309. package/dist/types/hooks/usePrefersReducedMotion.d.ts +1 -0
  310. package/dist/types/hooks/useQueuedPrompts.d.ts +74 -0
  311. package/dist/types/hooks/useScopedSessions.d.ts +65 -0
  312. package/dist/types/hooks/useSessionArtifacts.d.ts +10 -0
  313. package/dist/types/hooks/useSessionArtifactsChange.d.ts +12 -0
  314. package/dist/types/hooks/useSessionSources.d.ts +13 -0
  315. package/dist/types/hooks/useShallowMemo.d.ts +2 -0
  316. package/dist/types/hooks/useSharedNow.d.ts +1 -0
  317. package/dist/types/hooks/useStreamingLoadingMetrics.d.ts +19 -0
  318. package/dist/types/hooks/useTranscriptViewport.d.ts +31 -0
  319. package/dist/types/i18n.d.ts +14 -0
  320. package/dist/types/index.d.ts +69 -0
  321. package/dist/types/interactionBlockContext.d.ts +3 -0
  322. package/dist/types/lib/utils.d.ts +2 -0
  323. package/dist/types/live/HotkeySetter.d.ts +16 -0
  324. package/dist/types/live/LiveVoiceButton.d.ts +7 -0
  325. package/dist/types/live/LiveVoiceSettingsCard.d.ts +9 -0
  326. package/dist/types/live/useLiveVoice.d.ts +17 -0
  327. package/dist/types/live/useLiveVoiceSetup.d.ts +19 -0
  328. package/dist/types/local-files/bridge-client.d.ts +207 -0
  329. package/dist/types/local-files/capabilities.d.ts +33 -0
  330. package/dist/types/local-files/directory-handle-store.d.ts +15 -0
  331. package/dist/types/local-files/local-directory.d.ts +130 -0
  332. package/dist/types/local-files/mcp-server.d.ts +57 -0
  333. package/dist/types/local-files/pick-directory.d.ts +49 -0
  334. package/dist/types/local-files/useLocalFilesBridge.d.ts +64 -0
  335. package/dist/types/main.d.ts +6 -0
  336. package/dist/types/mcpAppHostContext.d.ts +1 -0
  337. package/dist/types/midTurnDedup.d.ts +52 -0
  338. package/dist/types/monitorDetailsContext.d.ts +12 -0
  339. package/dist/types/notification-text.d.ts +8 -0
  340. package/dist/types/portalRoot.d.ts +2 -0
  341. package/dist/types/pwa-registration.d.ts +10 -0
  342. package/dist/types/session-catalog/session-catalog-hooks.d.ts +121 -0
  343. package/dist/types/session-catalog/session-catalog-store.d.ts +143 -0
  344. package/dist/types/session-catalog/session-live-state-poll-interval.d.ts +2 -0
  345. package/dist/types/session-catalog/workspace-session-live-state.d.ts +20 -0
  346. package/dist/types/settings.d.ts +70 -0
  347. package/dist/types/shadowDom.d.ts +17 -0
  348. package/dist/types/subagentDetailsContext.d.ts +15 -0
  349. package/dist/types/themeContext.d.ts +12 -0
  350. package/dist/types/transcript.d.ts +33 -0
  351. package/dist/types/transcriptRenderMode.d.ts +5 -0
  352. package/dist/types/utils/ansi.d.ts +9 -0
  353. package/dist/types/utils/askUserPermission.d.ts +13 -0
  354. package/dist/types/utils/base64.d.ts +1 -0
  355. package/dist/types/utils/bounded-map.d.ts +11 -0
  356. package/dist/types/utils/clipboard.d.ts +31 -0
  357. package/dist/types/utils/commandDisplay.d.ts +7 -0
  358. package/dist/types/utils/composerInputState.d.ts +19 -0
  359. package/dist/types/utils/composerModels.d.ts +28 -0
  360. package/dist/types/utils/composerTag.d.ts +42 -0
  361. package/dist/types/utils/composerTasks.d.ts +16 -0
  362. package/dist/types/utils/contextUsage.d.ts +9 -0
  363. package/dist/types/utils/copyCommand.d.ts +18 -0
  364. package/dist/types/utils/cssUrlVar.d.ts +3 -0
  365. package/dist/types/utils/dialogLabels.d.ts +1 -0
  366. package/dist/types/utils/dom.d.ts +2 -0
  367. package/dist/types/utils/errorDetail.d.ts +1 -0
  368. package/dist/types/utils/escapeIntent.d.ts +29 -0
  369. package/dist/types/utils/externalOpen.d.ts +15 -0
  370. package/dist/types/utils/formatDateTime.d.ts +7 -0
  371. package/dist/types/utils/formatRelativeTime.d.ts +4 -0
  372. package/dist/types/utils/formatRuntime.d.ts +1 -0
  373. package/dist/types/utils/formatTokenCount.d.ts +13 -0
  374. package/dist/types/utils/gitModeIntent.d.ts +22 -0
  375. package/dist/types/utils/goalCondition.d.ts +43 -0
  376. package/dist/types/utils/goalControlRequest.d.ts +20 -0
  377. package/dist/types/utils/goalGate.d.ts +39 -0
  378. package/dist/types/utils/imageIngestion.d.ts +47 -0
  379. package/dist/types/utils/largePaste.d.ts +44 -0
  380. package/dist/types/utils/linkify.d.ts +19 -0
  381. package/dist/types/utils/localCommandQueue.d.ts +47 -0
  382. package/dist/types/utils/modelDisplay.d.ts +1 -0
  383. package/dist/types/utils/modelEncoding.d.ts +15 -0
  384. package/dist/types/utils/modelSwitchMessages.d.ts +4 -0
  385. package/dist/types/utils/monitorTasks.d.ts +3 -0
  386. package/dist/types/utils/planMode.d.ts +5 -0
  387. package/dist/types/utils/promptAdmission.d.ts +1 -0
  388. package/dist/types/utils/queueDrain.d.ts +21 -0
  389. package/dist/types/utils/remote-name-skeleton.d.ts +1 -0
  390. package/dist/types/utils/sentinelMessage.d.ts +4 -0
  391. package/dist/types/utils/sessionErrors.d.ts +2 -0
  392. package/dist/types/utils/sessionPath.d.ts +19 -0
  393. package/dist/types/utils/sessionPreparation.d.ts +77 -0
  394. package/dist/types/utils/slash-command-action.d.ts +3 -0
  395. package/dist/types/utils/slashSectionPlan.d.ts +26 -0
  396. package/dist/types/utils/splitUrl.d.ts +37 -0
  397. package/dist/types/utils/standalone-session-routing.d.ts +2 -0
  398. package/dist/types/utils/systemInfo.d.ts +26 -0
  399. package/dist/types/utils/taskActivity.d.ts +18 -0
  400. package/dist/types/utils/timeAgo.d.ts +10 -0
  401. package/dist/types/utils/todos.d.ts +165 -0
  402. package/dist/types/utils/unicodeConfusables.d.ts +1 -0
  403. package/dist/types/utils/unifiedDiff.d.ts +12 -0
  404. package/dist/types/utils/workflowTasks.d.ts +3 -0
  405. package/dist/types/utils/workspace.d.ts +34 -0
  406. package/dist/types/utils/workspaceColor.d.ts +15 -0
  407. package/dist/types/voice/VoiceButton.d.ts +16 -0
  408. package/dist/types/voice/use-voice-workspace-settings.d.ts +13 -0
  409. package/dist/types/voice/useVoiceCapture.d.ts +42 -0
  410. package/dist/types/voice/voice-workspace-target.d.ts +45 -0
  411. package/dist/types/voice/voiceModels.d.ts +23 -0
  412. package/dist/types/workflowDetailsContext.d.ts +11 -0
  413. 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,3 @@
1
+ export declare function ModeIcon({ mode }: {
2
+ mode: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ import type { SVGProps } from 'react';
2
+ export declare function MonitorIcon(props: SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
@@ -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,7 @@
1
+ import type { CSSProperties } from 'react';
2
+ interface PromptChevronProps {
3
+ className?: string;
4
+ style?: CSSProperties;
5
+ }
6
+ export declare function PromptChevron({ className, style }: PromptChevronProps): import("react/jsx-runtime").JSX.Element;
7
+ export {};
@@ -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,3 @@
1
+ export declare function SessionRecoveryBanner({ blocked, }: {
2
+ blocked?: boolean;
3
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -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;