@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,18 @@
1
+ import type { ACPToolCall, Message } from './types.js';
2
+ export type ParallelAgentDisplayItem = {
3
+ type: 'message';
4
+ key: string;
5
+ message: Message;
6
+ } | {
7
+ type: 'parallel_agents';
8
+ key: string;
9
+ turnId: string;
10
+ agents: ACPToolCall[];
11
+ /**
12
+ * Wall-clock time of the first grouped launch, carried so the grouped
13
+ * box reveals its time on hover exactly like a standalone message row.
14
+ */
15
+ timestamp?: number;
16
+ };
17
+ export declare function isAgentOnlyToolGroup(message: Message): boolean;
18
+ export declare function groupParallelAgents(messages: Message[]): ParallelAgentDisplayItem[];
@@ -0,0 +1,12 @@
1
+ export interface PromptImage {
2
+ data: string;
3
+ media_type: string;
4
+ }
5
+ export interface PromptFile {
6
+ name: string;
7
+ media_type: string;
8
+ data?: Blob;
9
+ text?: string;
10
+ size?: number;
11
+ attachmentId?: string;
12
+ }
@@ -0,0 +1,10 @@
1
+ import type { ACPToolCall } from './types.js';
2
+ export declare function isActiveToolStatus(status: ACPToolCall['status'] | string): boolean;
3
+ export type TerminalBackgroundAgentStatus = 'completed' | 'failed' | 'cancelled' | 'canceled';
4
+ export declare function isTerminalBackgroundAgentStatus(status: unknown): status is TerminalBackgroundAgentStatus;
5
+ export declare function hasActiveAgents(agents: readonly ACPToolCall[]): boolean;
6
+ export declare function isTaskExecutionRaw(raw: unknown): boolean;
7
+ export declare function isSubAgentToolCall(tool: ACPToolCall): boolean;
8
+ export declare function isBackgroundSubAgentToolCall(tool: ACPToolCall): boolean;
9
+ export declare function projectTerminalBackgroundAgentTool(tool: ACPToolCall, status: unknown, endTime?: number, safeToolProjection?: boolean): ACPToolCall;
10
+ export declare function backgroundShellTaskId(tool: ACPToolCall): string | undefined;
@@ -0,0 +1,3 @@
1
+ import type { DaemonTranscriptBlock } from '@qwen-code/web-shell/daemon-react-sdk';
2
+ import type { PermissionRequest } from './types';
3
+ export declare function extractPendingPermission(blocks: readonly DaemonTranscriptBlock[]): PermissionRequest | null;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { DaemonTranscriptBlock } from '@qwen-code/sdk/daemon';
7
+ import type { DaemonMessage } from './messageTypes.js';
8
+ interface TranscriptMessageLabels {
9
+ promptCancelled?: string;
10
+ branchSuccess?: (name: string) => string;
11
+ modelStreamInterrupted?: string;
12
+ loopDetected?: string;
13
+ }
14
+ interface TranscriptMessageOptions {
15
+ labels?: TranscriptMessageLabels;
16
+ includeSourceIdentity?: boolean;
17
+ safeToolProjection?: boolean;
18
+ }
19
+ export declare function isRetryableTurnErrorKind(errorKind: string | undefined): boolean;
20
+ export declare function transcriptBlocksToDaemonMessages(blocks: readonly DaemonTranscriptBlock[], options?: TranscriptMessageOptions): DaemonMessage[];
21
+ type ParsedInsight = {
22
+ type: 'insight_progress';
23
+ stage: string;
24
+ progress: number;
25
+ detail?: string;
26
+ } | {
27
+ type: 'insight_ready';
28
+ path: string;
29
+ } | {
30
+ type: 'insight_error';
31
+ error: string;
32
+ };
33
+ type InsightSegment = {
34
+ kind: 'text';
35
+ text: string;
36
+ } | {
37
+ kind: 'insight';
38
+ data: ParsedInsight;
39
+ };
40
+ export declare function splitInsightSegments(text: string): InsightSegment[] | null;
41
+ export {};
@@ -0,0 +1,123 @@
1
+ import type { DaemonMessage, DaemonMessageToolCall, DaemonMessageToolCallContent, DaemonMessageToolCallStatus, DaemonMessageToolKind, DaemonMessageToolCallLocation, DaemonMessageTodoItem, DaemonAssistantMessage, DaemonInsightErrorMessage, DaemonInsightProgressMessage, DaemonInsightReadyMessage, DaemonPlanMessage, DaemonSystemMessage, DaemonThinkingMessage, DaemonToolGroupMessage, DaemonUserMessage, DaemonUserShellMessage } from './messageTypes.js';
2
+ import type { DaemonStreamingState } from '@qwen-code/web-shell/daemon-react-sdk';
3
+ export type Message = DaemonMessage;
4
+ export type ACPToolCall = DaemonMessageToolCall;
5
+ export type ToolCallContent = DaemonMessageToolCallContent;
6
+ export type ToolCallStatus = DaemonMessageToolCallStatus;
7
+ export type ToolKind = DaemonMessageToolKind;
8
+ export type ToolCallLocation = DaemonMessageToolCallLocation;
9
+ export type TodoItem = DaemonMessageTodoItem;
10
+ export type StreamingState = DaemonStreamingState;
11
+ export type UserMessage = DaemonUserMessage;
12
+ export type AssistantMessage = DaemonAssistantMessage;
13
+ export type ThinkingMessage = DaemonThinkingMessage;
14
+ export type InsightErrorMessage = DaemonInsightErrorMessage;
15
+ export type InsightProgressMessage = DaemonInsightProgressMessage;
16
+ export type InsightReadyMessage = DaemonInsightReadyMessage;
17
+ export type ToolGroupMessage = DaemonToolGroupMessage;
18
+ export type PlanMessage = DaemonPlanMessage;
19
+ export type SystemMessage = DaemonSystemMessage;
20
+ export type UserShellMessage = DaemonUserShellMessage;
21
+ /**
22
+ * Collapse state attached to a turn's leading user-message row. A "turn" spans
23
+ * one user message up to (but not including) the next, and when collapsed its
24
+ * intermediate steps (thinking, tool calls, mid-turn assistant text) are hidden,
25
+ * leaving only the prompt and the final answer. Carried on the user
26
+ * `DisplayItem` so the row can render its own expand/collapse toggle.
27
+ */
28
+ export interface TurnCollapseHead {
29
+ /** id of the turn's user message; the key used to toggle the turn. */
30
+ turnId: string;
31
+ /** whether the turn's intermediate steps are currently hidden. */
32
+ collapsed: boolean;
33
+ /** number of display rows hidden behind the toggle while collapsed. */
34
+ hiddenCount: number;
35
+ /**
36
+ * Wall-clock span from the prompt to the turn's last step, in ms. Derived
37
+ * from block timestamps (so it survives replay); undefined when either end
38
+ * lacks a timestamp. Approximate — a step's own runtime past its start is not
39
+ * captured.
40
+ */
41
+ elapsedMs?: number;
42
+ /**
43
+ * Per-turn token usage, summed from the main assistant messages and root
44
+ * subagent execution summaries. Both fields are present together or the pair
45
+ * is undefined (older sessions stamp no usage).
46
+ */
47
+ inputTokens?: number;
48
+ outputTokens?: number;
49
+ /** Cached-read tokens — a subset of inputTokens, surfaced only when > 0. */
50
+ cachedTokens?: number;
51
+ /** Number of tool calls shown in this turn. */
52
+ toolCallCount?: number;
53
+ /** Number of assistant thinking blocks shown in this turn. */
54
+ thinkingCount?: number;
55
+ /**
56
+ * Prompt wall-clock (ms) for a still-running turn. Present only while the turn
57
+ * is active; the row ticks `now - liveStartedAt` once a second so the elapsed
58
+ * advances smoothly instead of jumping per step. Absent once complete, when
59
+ * the frozen `elapsedMs` is shown.
60
+ */
61
+ liveStartedAt?: number;
62
+ }
63
+ export interface ContentBlock {
64
+ type: 'text' | 'image';
65
+ text?: string;
66
+ source?: {
67
+ type: string;
68
+ media_type: string;
69
+ data: string;
70
+ };
71
+ }
72
+ export type PermissionOptionKind = 'allow_once' | 'allow_always' | 'reject_once' | 'reject_always';
73
+ export interface PermissionOption {
74
+ id: string;
75
+ label: string;
76
+ kind?: PermissionOptionKind;
77
+ }
78
+ export interface PermissionRequest {
79
+ id: string;
80
+ sessionId?: string;
81
+ toolCallId?: string;
82
+ title?: string;
83
+ toolKind?: string;
84
+ /** Canonical tool name (from the ACP frame's `_meta.toolName`). */
85
+ toolName?: string;
86
+ /** Whether this permission includes a diff the host can preview. */
87
+ hasDiffPreview?: boolean;
88
+ todoPlan?: {
89
+ planId: string;
90
+ sourceCallId: string;
91
+ };
92
+ content: ContentBlock[];
93
+ options: PermissionOption[];
94
+ contentIsInput?: boolean;
95
+ rawInput?: Record<string, unknown>;
96
+ kind?: string;
97
+ }
98
+ export interface CommandInfo {
99
+ name: string;
100
+ description: string;
101
+ completionLabel?: string;
102
+ completionSection?: string;
103
+ completionPriority?: number;
104
+ argumentHint?: string;
105
+ subcommands?: string[];
106
+ source?: string;
107
+ displayCategory?: 'custom' | 'skill' | 'system';
108
+ autoSubmit?: boolean;
109
+ }
110
+ export interface ModelInfo {
111
+ id: string;
112
+ baseModelId?: string;
113
+ label?: string;
114
+ authType?: string;
115
+ contextWindow?: number;
116
+ modalities?: {
117
+ image?: boolean;
118
+ pdf?: boolean;
119
+ audio?: boolean;
120
+ video?: boolean;
121
+ };
122
+ isRuntime?: boolean;
123
+ }
@@ -0,0 +1,44 @@
1
+ import { type ReactNode } from 'react';
2
+ /**
3
+ * Product branding the shell presents. An empty value means "use the built-in
4
+ * brand", so a deployment that configures nothing renders exactly what it
5
+ * rendered before branding was configurable.
6
+ */
7
+ export interface WebShellBrand {
8
+ /**
9
+ * Product name. Absent *or empty* means {@link DEFAULT_BRAND_NAME} — the
10
+ * settings surface documents an empty value as "use the built-in name", and a
11
+ * host mirroring that convention must not blank the sidebar.
12
+ */
13
+ name?: string;
14
+ /**
15
+ * Logo node rendered in place of the built-in mark. Only an embedding host
16
+ * can supply this; the daemon-resolved brand carries `logoDataUri` instead.
17
+ */
18
+ logo?: ReactNode;
19
+ /**
20
+ * Logo as a `data:image/svg+xml` URI.
21
+ *
22
+ * Always render it as an `img` src, never as injected markup. SVG loaded as
23
+ * an image cannot run script; SVG injected into the document can, and the
24
+ * daemon does not sanitize the file it read. This is the invariant that makes
25
+ * the absence of a sanitizer on the server correct.
26
+ */
27
+ logoDataUri?: string;
28
+ }
29
+ export declare const DEFAULT_BRAND_NAME = "Qwen Code";
30
+ /**
31
+ * The payload of `onBrandResolved` — the subset of `WebShellBrand` a host
32
+ * document can act on. `logo` (a React node) is deliberately absent: a document
33
+ * can apply a title and a favicon URI but never renders a node, and the node
34
+ * has no stable identity to key a change notification on.
35
+ */
36
+ export type WebShellResolvedBrand = Pick<WebShellBrand, 'name' | 'logoDataUri'>;
37
+ /**
38
+ * Stable identity for "no brand configured". Returning a fresh `{}` from a hook
39
+ * would change the provider value on every render and re-render every consumer.
40
+ */
41
+ export declare const EMPTY_BRAND: WebShellBrand;
42
+ export declare const BrandProvider: import("react").Provider<WebShellBrand>;
43
+ export declare function useBrand(): WebShellBrand;
44
+ export declare function useBrandName(): string;
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type ReactNode } from 'react';
7
+ import { type WebShellLanguage } from './i18n';
8
+ export declare const BROWSER_NOTIFICATIONS_STORAGE_KEY = "qwen-code-web-shell-browser-notifications";
9
+ export interface WebShellBrowserNotificationsOptions {
10
+ /** Initial preference when none is saved. Defaults to false; never requests permission automatically. */
11
+ defaultEnabled?: boolean;
12
+ /** Application name prefixed to notification titles. Defaults to QwenCode. */
13
+ appName?: string;
14
+ /** Image URL, including HTTPS CDN URLs. Defaults to the bundled Qwen Code icon. */
15
+ iconUrl?: string;
16
+ }
17
+ interface BrowserTurnNotificationsProps {
18
+ children: ReactNode;
19
+ language: WebShellLanguage;
20
+ options?: WebShellBrowserNotificationsOptions;
21
+ active?: boolean;
22
+ }
23
+ type Permission = NotificationPermission | 'unavailable';
24
+ interface BrowserNotificationSettings {
25
+ enabled: boolean;
26
+ permission: Permission;
27
+ pending: boolean;
28
+ persistent: boolean;
29
+ error: boolean;
30
+ setEnabled(enabled: boolean): Promise<void>;
31
+ refreshPermission(): void;
32
+ syncLanguage(language: WebShellLanguage): void;
33
+ }
34
+ export declare function useBrowserNotificationSettings(): BrowserNotificationSettings | undefined;
35
+ export declare function BrowserTurnNotifications({ children, language, options, active, }: BrowserTurnNotificationsProps): import("react/jsx-runtime").JSX.Element;
36
+ export {};
@@ -0,0 +1,35 @@
1
+ import type { CompletionContext, CompletionResult } from '@codemirror/autocomplete';
2
+ import type { CommandInfo } from '../adapters/types';
3
+ import type { WebShellLanguage } from '../i18n';
4
+ import { type CommandDisplayCategory, type CommandDisplayCategoryOrder } from '../utils/commandDisplay';
5
+ export interface SkillInfo {
6
+ name: string;
7
+ description: string;
8
+ argumentHint?: string;
9
+ }
10
+ export type SlashCommandCompletionKind = 'command' | 'subcommand';
11
+ export interface SlashCommandCompletionItem {
12
+ id: string;
13
+ label: string;
14
+ apply: string;
15
+ detail?: string;
16
+ argumentHint?: string;
17
+ category?: CommandDisplayCategory;
18
+ section?: string;
19
+ type?: 'command-info' | 'skill';
20
+ autoSubmit?: boolean;
21
+ }
22
+ export interface SlashCommandCompletionResult {
23
+ kind: SlashCommandCompletionKind;
24
+ from: number;
25
+ to: number;
26
+ query: string;
27
+ items: SlashCommandCompletionItem[];
28
+ }
29
+ type Translate = (key: string) => string;
30
+ export declare function getMissingSlashPrefixCompletion(text: string, commands: CommandInfo[]): string | null;
31
+ export declare function getImplicitTabCompletion(text: string, commands: CommandInfo[], language: WebShellLanguage): string | null;
32
+ export declare function getSlashCommandArgumentHint(text: string, commands: CommandInfo[], language: WebShellLanguage): string | null;
33
+ export declare function getSlashCommandCompletionResult(text: string, cursor: number, commands: CommandInfo[], skills?: SkillInfo[], language?: WebShellLanguage, translate?: Translate, categoryOrder?: CommandDisplayCategoryOrder, includeEmpty?: boolean): SlashCommandCompletionResult | null;
34
+ export declare function slashCompletionSource(getCommands: () => CommandInfo[], getSkills?: () => SkillInfo[], getLanguage?: () => WebShellLanguage, translate?: Translate, getCategoryOrder?: () => CommandDisplayCategoryOrder | undefined): (context: CompletionContext) => CompletionResult | null;
35
+ export {};
@@ -0,0 +1,13 @@
1
+ import { type RefObject } from 'react';
2
+ import { type AtMentionMenuState } from '../hooks/useAtMentionMenu';
3
+ export declare function AtMentionPanel({ menu, anchorRef, panelRef, compact, onSelect, onAccept, onBack, onSearch, onSelectTab, }: {
4
+ menu: AtMentionMenuState;
5
+ anchorRef: RefObject<HTMLElement | null>;
6
+ panelRef: RefObject<HTMLDivElement | null>;
7
+ compact?: boolean;
8
+ onSelect: (index: number) => boolean;
9
+ onAccept: (index?: number) => boolean;
10
+ onBack: () => boolean;
11
+ onSearch: (query: string) => boolean;
12
+ onSelectTab: (tabId: string) => boolean;
13
+ }): import("react").ReactPortal | null;
@@ -0,0 +1,73 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Qwen Team
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { DaemonGitBranchesResult, DaemonWorkspaceGitStatus } from '@qwen-code/sdk/daemon';
7
+ import { useI18n } from '../i18n';
8
+ export declare const GIT_REMOTE_MUTATION_FETCH_TIMEOUT_MS = 600000;
9
+ interface BranchPickerPopoverProps {
10
+ open: boolean;
11
+ onOpenChange: (open: boolean) => void;
12
+ workspaceCwd: string;
13
+ gitCwd?: string;
14
+ side?: 'top' | 'right' | 'bottom' | 'left';
15
+ onBranchChanged?: () => void;
16
+ /**
17
+ * Working-tree summary from the trigger chip. Seeds the hints beside the
18
+ * Update / Commit / Push actions (dirty counts, in-progress operation) until
19
+ * the popover's own on-open fetch lands; whichever of the two carries the
20
+ * newer `computedAt` wins.
21
+ */
22
+ status?: DaemonWorkspaceGitStatus;
23
+ /**
24
+ * Receives the status the popover fetches for itself on open, so a caller
25
+ * that renders a chip from the same object can update it in step.
26
+ */
27
+ onStatusRefreshed?: (status: DaemonWorkspaceGitStatus) => void;
28
+ onOpenDiff?: () => void;
29
+ onOpenCommit?: () => void;
30
+ children: React.ReactNode;
31
+ }
32
+ type HintTone = 'muted' | 'info' | 'warning';
33
+ interface ActionHint {
34
+ text: string;
35
+ tone: HintTone;
36
+ }
37
+ interface ActionHints {
38
+ pull?: ActionHint;
39
+ pullDisabled: boolean;
40
+ commit?: ActionHint;
41
+ push?: ActionHint;
42
+ pushDisabled: boolean;
43
+ }
44
+ type TranslateFn = ReturnType<typeof useI18n>['t'];
45
+ /**
46
+ * Derive the per-action hints shown beside Update / Commit / Push so the user
47
+ * can judge before clicking.
48
+ *
49
+ * Disabling is reserved for what is provable from the local repository
50
+ * alone: `git pull` during a merge/rebase/cherry-pick, with unmerged
51
+ * entries, on a detached HEAD, or without a usable upstream; `git push` only
52
+ * on a detached HEAD. Whether a remote will accept a push is *not* locally
53
+ * decidable — the destination depends on config git itself sometimes
54
+ * declines to resolve (`push.default=simple` in triangular shapes),
55
+ * `remote.<name>.push` refspecs and forcing refspecs change the answer, and
56
+ * every count is a snapshot of the last fetch — so a push the counts call
57
+ * doomed is warned about on an enabled row, and the click surfaces git's own
58
+ * authoritative message. Soft states (up to date, nothing to push, clean
59
+ * tree) only dim the row since the action is still harmless.
60
+ *
61
+ * The branch listing (fetched on open) provides ahead/behind/upstream; the
62
+ * status provides the tree counters and the in-progress operation. When the
63
+ * listing has no head entry the status fills in. Exported for tests.
64
+ */
65
+ export declare function deriveActionHints(t: TranslateFn, data: DaemonGitBranchesResult | null, status: DaemonWorkspaceGitStatus | undefined): ActionHints;
66
+ /**
67
+ * True when a status disagrees with the branch listing on a field the hints
68
+ * take from the listing — the signal that the listing is stale and should be
69
+ * re-fetched. Exported for tests.
70
+ */
71
+ export declare function listingContradictsStatus(data: DaemonGitBranchesResult, status: DaemonWorkspaceGitStatus): boolean;
72
+ export declare function BranchPickerPopover({ open, onOpenChange, workspaceCwd, gitCwd, side, onBranchChanged, status, onStatusRefreshed, onOpenDiff, onOpenCommit, children, }: BranchPickerPopoverProps): import("react/jsx-runtime").JSX.Element;
73
+ export {};
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ interface ChatContextHeaderProps {
3
+ content: ReactNode;
4
+ environmentOpen: boolean;
5
+ environmentAvailable: boolean;
6
+ rightPanelOpen: boolean;
7
+ rightPanelAvailable: boolean;
8
+ onToggleEnvironment: () => void;
9
+ onToggleRightPanel: () => void;
10
+ /** Opens the session token-usage panel; hidden when omitted. */
11
+ onOpenTokenUsage?: () => void;
12
+ /** Opens the session context panel; hidden when omitted. */
13
+ onOpenContextUsage?: () => void;
14
+ /** Shows the Local Control QR entry; hidden when omitted. */
15
+ onOpenLocalControlSettings?: () => void;
16
+ }
17
+ export declare function ChatContextHeader({ content, environmentOpen, environmentAvailable, rightPanelOpen, rightPanelAvailable, onToggleEnvironment, onToggleRightPanel, onOpenTokenUsage, onOpenContextUsage, onOpenLocalControlSettings, }: ChatContextHeaderProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,134 @@
1
+ import type { CommandInfo } from '../adapters/types';
2
+ import type { AttachmentPreviewRequest } from '../adapters/messageTypes';
3
+ import type { UseDaemonFollowupSuggestionReturn } from '@qwen-code/web-shell/daemon-react-sdk';
4
+ import type { DaemonSessionGroupPresetColor, DaemonWorkspaceGitStatus, ReasoningSelection } from '@qwen-code/sdk/daemon';
5
+ import type { CommandDisplayCategoryOrder } from '../utils/commandDisplay';
6
+ import type { SkillInfo } from '../completions/slashCompletion';
7
+ import type { DaemonReasoningControls } from '@qwen-code/web-shell/daemon-react-sdk';
8
+ import { type WebShellComposerInput, type WebShellComposerTagIconMap, type WebShellAtProvider, type WebShellBuiltinAtProvidersConfig } from '../customization';
9
+ import { type ComposerSubmitMetadata, type EditorHandle } from '../hooks/useComposerCore';
10
+ import type { ContextUsageControls } from '../hooks/useContextUsageControls';
11
+ import type { VoiceStatusRevision, VoiceWorkspaceTarget } from '../voice/voice-workspace-target';
12
+ import { type SessionGitIntent } from './GitModePopover';
13
+ export type ComposerToolbarAction = 'approvalMode' | 'plan' | 'contextUsage' | 'gitBranch' | 'model' | 'commands' | 'files' | 'widthMode' | 'voice' | 'workspace' | 'addMenu';
14
+ interface ChatEditorProps {
15
+ onSubmit: (text: string, images?: import('../adapters/promptTypes').PromptImage[], files?: import('../adapters/promptTypes').PromptFile[], commitAccepted?: import('../hooks/useComposerCore').ComposerSubmitCommit, metadata?: ComposerSubmitMetadata) => boolean | void;
16
+ onInputTextChange?: (text: string) => void;
17
+ onAttachmentsChange?: (hasAttachments: boolean) => void;
18
+ onCycleMode?: () => void;
19
+ cycleModeOnTab?: boolean;
20
+ onToggleShortcuts?: () => void;
21
+ onCancel?: () => void;
22
+ isRunning?: boolean;
23
+ isPreparing?: boolean;
24
+ /** First Esc armed a cancel — the send button shows an "Esc to stop" hint. */
25
+ cancelArmed?: boolean;
26
+ disabled?: boolean;
27
+ placeholderText?: string;
28
+ commands: CommandInfo[];
29
+ skills?: SkillInfo[];
30
+ onSkillsOpenChange?: (open: boolean) => void;
31
+ skillsLoading?: boolean;
32
+ skillsLoadError?: boolean;
33
+ skillsLoaded?: boolean;
34
+ slashCommandCategoryOrder?: CommandDisplayCategoryOrder;
35
+ autoSubmitSlashCommands?: boolean;
36
+ queuedMessages?: string[];
37
+ onPopQueuedMessages?: () => boolean;
38
+ onClearQueuedMessages?: () => boolean;
39
+ currentMode?: string;
40
+ planMode?: boolean;
41
+ modeControlsDisabled?: boolean;
42
+ onTogglePlan?: () => void;
43
+ sessionWorkflowEnabled?: boolean;
44
+ currentModel?: string;
45
+ gitBranch?: string;
46
+ /** Whether the session is in a worktree (styles the git chip purple). */
47
+ gitWorktree?: boolean;
48
+ /** Git working directory for worktree sessions; targets git operations. */
49
+ gitCwd?: string;
50
+ /** Git mode intent for the empty-state composer chip (branch/worktree selection). */
51
+ gitModeIntent?: SessionGitIntent;
52
+ /** Callback when the user changes the git mode intent via the composer chip popover. */
53
+ onGitModeIntentChange?: (intent: SessionGitIntent) => void;
54
+ /** Enriched working-tree summary (dirty / ahead-behind / stash / operation). */
55
+ gitStatus?: DaemonWorkspaceGitStatus;
56
+ /** Opens the working-tree Changes dialog; makes the git chip clickable. */
57
+ onOpenGitDiff?: () => void;
58
+ /** Opens the commit dialog. */
59
+ onOpenCommit?: () => void;
60
+ /** Workspace name shown in the pane composer's `workspace` toolbar chip. */
61
+ workspaceName?: string;
62
+ /** Full workspace cwd, used as the chip's tooltip. */
63
+ workspaceTitle?: string;
64
+ /**
65
+ * Stable per-workspace accent color for the chip, so it stays distinguishable
66
+ * from other panes' chips even when it collapses to an icon on a narrow split.
67
+ */
68
+ workspaceColor?: DaemonSessionGroupPresetColor;
69
+ chatWidthMode?: '1000' | 'wide';
70
+ showChatWidthToggle?: boolean;
71
+ chatWidthToggleMin?: number;
72
+ visibleToolbarActions?: readonly ComposerToolbarAction[];
73
+ /** Current context-window occupancy for the `contextUsage` toolbar ring. */
74
+ tokenCount?: number;
75
+ contextWindow?: number;
76
+ /** Keep Context Usage available before a restored session reports usage. */
77
+ contextUsageAlwaysVisible?: boolean;
78
+ /** Show the context-usage breakdown, exactly like typing /context. */
79
+ onShowContextUsage?: () => void;
80
+ onOpenContextUsage?: () => void;
81
+ contextUsageControls?: ContextUsageControls;
82
+ availableModels?: Array<{
83
+ id: string;
84
+ label?: string;
85
+ }>;
86
+ onSelectMode?: (mode: string) => void;
87
+ onSelectModel?: (model: string) => void;
88
+ reasoning?: DaemonReasoningControls;
89
+ onSelectReasoningEffort?: (value: ReasoningSelection, source?: 'toggle') => Promise<void> | void;
90
+ workspaces?: Array<{
91
+ id: string;
92
+ cwd: string;
93
+ label: string;
94
+ primary: boolean;
95
+ trusted: boolean;
96
+ }>;
97
+ selectedWorkspaceCwd?: string;
98
+ workspaceSelectionDisabled?: boolean;
99
+ onSelectWorkspace?: (workspaceCwd: string | undefined) => void;
100
+ scratchWorkspaceSupported?: boolean;
101
+ existingFolderWorkspaceSupported?: boolean;
102
+ standaloneTargetSupported?: boolean;
103
+ selectedStandaloneTarget?: boolean;
104
+ onSelectStandaloneTarget?: () => void;
105
+ workspaceMutationBusy?: boolean;
106
+ onCreateScratchWorkspace?: () => void;
107
+ onOpenExistingWorkspace?: () => void;
108
+ atWorkspaceCwd?: string;
109
+ composerScopeKey?: string;
110
+ workspaceFeaturesEnabled?: boolean;
111
+ attachmentsEnabled?: boolean;
112
+ onChatWidthModeChange?: (mode: '1000' | 'wide') => void;
113
+ onFocusFooter?: () => boolean;
114
+ dialogOpen?: boolean;
115
+ followupState?: UseDaemonFollowupSuggestionReturn['followupState'];
116
+ onAcceptFollowup?: UseDaemonFollowupSuggestionReturn['onAcceptFollowup'];
117
+ onDismissFollowup?: UseDaemonFollowupSuggestionReturn['onDismissFollowup'];
118
+ sessionId?: string;
119
+ sessionName?: string;
120
+ composerInput?: WebShellComposerInput;
121
+ composerInputVersion?: number;
122
+ builtinAtProviders?: WebShellBuiltinAtProvidersConfig;
123
+ atProviders?: readonly WebShellAtProvider[];
124
+ composerTagIcons?: WebShellComposerTagIconMap;
125
+ voiceTarget?: VoiceWorkspaceTarget;
126
+ voiceStatusRevision?: VoiceStatusRevision;
127
+ onImageIngestionNotice?: (tone: 'warning' | 'error', message: string) => void;
128
+ /** Click a pasted image in the composer to preview it in the right panel. */
129
+ onImagePreview?: (src: string, alt?: string) => void;
130
+ onAttachmentPreview?: (file: AttachmentPreviewRequest) => void;
131
+ compactOverlays?: boolean;
132
+ }
133
+ export declare const ChatEditor: import("react").NamedExoticComponent<ChatEditorProps & import("react").RefAttributes<EditorHandle>>;
134
+ export {};