zidane-ui 9.0.4 → 9.1.3

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 (1435) hide show
  1. package/README.md +3 -1
  2. package/dist/adapters/extension-modules.d.ts +147 -0
  3. package/dist/adapters/extension-modules.js +244 -0
  4. package/dist/adapters/index.d.ts +3 -1
  5. package/dist/adapters/index.js +3 -1
  6. package/dist/adapters/live.d.ts +6 -0
  7. package/dist/adapters/live.js +33 -3
  8. package/dist/adapters/server-composer-host.js +20 -37
  9. package/dist/adapters/server-extensions-host.d.ts +113 -0
  10. package/dist/adapters/server-extensions-host.js +829 -0
  11. package/dist/adapters/server-host.js +28 -6
  12. package/dist/adapters/server-machines-host.js +1 -1
  13. package/dist/adapters/server-settings-host.js +1 -1
  14. package/dist/adapters/server-settings-sections.js +36 -13
  15. package/dist/adapters/server-transcript-members.d.ts +1 -1
  16. package/dist/adapters/server-transcript-members.js +19 -1
  17. package/dist/app/AppHostProvider.d.ts +4 -1
  18. package/dist/app/AppHostProvider.js +11 -4
  19. package/dist/app/ModalProvider.d.ts +9 -3
  20. package/dist/app/ModalProvider.js +45 -25
  21. package/dist/app/headless/app-host.d.ts +3 -0
  22. package/dist/appearance/AppearanceProvider.d.ts +11 -4
  23. package/dist/appearance/AppearanceProvider.js +18 -6
  24. package/dist/appearance/headless/index.js +1 -1
  25. package/dist/appearance/headless/prefs.d.ts +2 -2
  26. package/dist/appearance/index.d.ts +1 -1
  27. package/dist/approvals/ApprovalBar.js +7 -1
  28. package/dist/approvals/FileEditApproval.js +7 -3
  29. package/dist/approvals/headless/index.js +2 -2
  30. package/dist/approvals/headless/labels.js +3 -3
  31. package/dist/chat/HostBadge.js +1 -1
  32. package/dist/chat/HostStatusDot.js +1 -1
  33. package/dist/chat/HostTranscript.d.ts +3 -1
  34. package/dist/chat/HostTranscript.js +5 -3
  35. package/dist/chat/RunEstimateChip.d.ts +53 -0
  36. package/dist/chat/RunEstimateChip.js +116 -0
  37. package/dist/chat/SessionFilterMenu.d.ts +77 -5
  38. package/dist/chat/SessionFilterMenu.js +86 -4
  39. package/dist/chat/SessionGroupHeader.d.ts +6 -2
  40. package/dist/chat/SessionGroupHeader.js +35 -3
  41. package/dist/chat/SessionHostHeader.js +1 -1
  42. package/dist/chat/SessionList.js +1 -1
  43. package/dist/chat/SessionListRow.d.ts +8 -1
  44. package/dist/chat/SessionListRow.js +5 -4
  45. package/dist/chat/Throbber.js +0 -3
  46. package/dist/chat/Transcript.d.ts +1 -1
  47. package/dist/chat/Transcript.js +112 -57
  48. package/dist/chat/composer/ComposerEditor.js +1 -1
  49. package/dist/chat/composer/ConversationBadges.js +18 -11
  50. package/dist/chat/composer/HostPicker.js +1 -1
  51. package/dist/chat/composer/ProjectMenu.d.ts +8 -1
  52. package/dist/chat/composer/ProjectMenu.js +11 -8
  53. package/dist/chat/composer/RetryPill.js +1 -1
  54. package/dist/chat/composer/SelectTurnHint.d.ts +19 -0
  55. package/dist/chat/composer/SelectTurnHint.js +28 -0
  56. package/dist/chat/composer/ServerScopeToggle.js +4 -1
  57. package/dist/chat/composer/composer-bus.d.ts +8 -1
  58. package/dist/chat/composer/composer-bus.js +10 -1
  59. package/dist/chat/composer/index.d.ts +4 -4
  60. package/dist/chat/composer/index.js +3 -3
  61. package/dist/chat/composer/use-composer-stores.js +1 -1
  62. package/dist/chat/composer/use-draft-target.d.ts +19 -1
  63. package/dist/chat/composer/use-draft-target.js +14 -1
  64. package/dist/chat/composer/use-run-meter.js +1 -1
  65. package/dist/chat/headless/block-runs.d.ts +57 -0
  66. package/dist/chat/headless/block-runs.js +123 -0
  67. package/dist/chat/headless/chip-labels.d.ts +1 -0
  68. package/dist/chat/headless/chip-labels.js +1 -0
  69. package/dist/chat/headless/composer/conversation-badges.d.ts +8 -6
  70. package/dist/chat/headless/composer/conversation-badges.js +26 -24
  71. package/dist/chat/headless/composer/host-chrome.d.ts +2 -27
  72. package/dist/chat/headless/composer/host.d.ts +1 -3
  73. package/dist/chat/headless/composer/index.d.ts +3 -4
  74. package/dist/chat/headless/composer/index.js +5 -6
  75. package/dist/chat/headless/composer/labels-chrome.d.ts +1 -1
  76. package/dist/chat/headless/composer/labels-chrome.js +1 -1
  77. package/dist/chat/headless/extension-sources.d.ts +17 -0
  78. package/dist/chat/headless/extension-sources.js +52 -0
  79. package/dist/chat/headless/fixture-transcript.d.ts +6 -1
  80. package/dist/chat/headless/fixture-transcript.js +49 -0
  81. package/dist/chat/headless/host.d.ts +8 -0
  82. package/dist/chat/headless/hosts.d.ts +2 -0
  83. package/dist/chat/headless/index.d.ts +10 -8
  84. package/dist/chat/headless/index.js +21 -18
  85. package/dist/chat/headless/labels.d.ts +79 -1
  86. package/dist/chat/headless/labels.js +80 -3
  87. package/dist/chat/headless/session-list.d.ts +65 -2
  88. package/dist/chat/headless/session-list.js +10 -2
  89. package/dist/chat/headless/sidebar/badges.d.ts +2 -0
  90. package/dist/chat/headless/sidebar/badges.js +20 -1
  91. package/dist/chat/headless/sidebar/directory.d.ts +46 -6
  92. package/dist/chat/headless/sidebar/directory.js +198 -22
  93. package/dist/chat/headless/sidebar/estimates.d.ts +55 -0
  94. package/dist/chat/headless/sidebar/estimates.js +91 -0
  95. package/dist/chat/headless/sidebar/index.d.ts +6 -4
  96. package/dist/chat/headless/sidebar/index.js +6 -3
  97. package/dist/chat/headless/sidebar/labels.d.ts +71 -1
  98. package/dist/chat/headless/sidebar/labels.js +17 -0
  99. package/dist/chat/headless/sidebar/query.d.ts +276 -0
  100. package/dist/chat/headless/sidebar/query.js +450 -0
  101. package/dist/chat/headless/sidebar/rows.d.ts +104 -13
  102. package/dist/chat/headless/sidebar/rows.js +189 -5
  103. package/dist/chat/headless/sidebar/types.d.ts +37 -4
  104. package/dist/chat/headless/sidebar/types.js +8 -0
  105. package/dist/chat/headless/sidebar/view.d.ts +25 -1
  106. package/dist/chat/headless/sidebar/view.js +56 -3
  107. package/dist/chat/headless/streams/live-events.js +2 -1
  108. package/dist/chat/headless/streams/session-streams.js +6 -0
  109. package/dist/chat/headless/transcript/batch.d.ts +21 -1
  110. package/dist/chat/headless/transcript/batch.js +55 -10
  111. package/dist/chat/headless/transcript/collapse.js +22 -3
  112. package/dist/chat/headless/transcript/fold-attachments.js +1 -1
  113. package/dist/chat/headless/transcript/fold.js +26 -10
  114. package/dist/chat/headless/transcript/rows.d.ts +15 -1
  115. package/dist/chat/headless/transcript-labels.d.ts +1 -0
  116. package/dist/chat/index.d.ts +14 -6
  117. package/dist/chat/index.js +40 -32
  118. package/dist/chat/rich-composer/RichComposer.js +32 -1
  119. package/dist/chat/rich-composer/badge-decorations.js +1 -1
  120. package/dist/chat/rich-composer/use-extension-composer.d.ts +32 -0
  121. package/dist/chat/rich-composer/use-extension-composer.js +46 -0
  122. package/dist/chat/sidebar/MainSessionRow.js +1 -1
  123. package/dist/chat/sidebar/ProjectIcon.d.ts +25 -6
  124. package/dist/chat/sidebar/ProjectIcon.js +79 -34
  125. package/dist/chat/sidebar/SessionSidebar.d.ts +34 -1
  126. package/dist/chat/sidebar/SessionSidebar.js +161 -25
  127. package/dist/chat/sidebar/SidebarDecoration.d.ts +38 -0
  128. package/dist/chat/sidebar/SidebarDecoration.js +61 -0
  129. package/dist/chat/sidebar/SidebarFilterMenu.d.ts +15 -2
  130. package/dist/chat/sidebar/SidebarFilterMenu.js +226 -8
  131. package/dist/chat/sidebar/SidebarFooter.d.ts +3 -1
  132. package/dist/chat/sidebar/SidebarFooter.js +17 -4
  133. package/dist/chat/sidebar/SidebarGroupHeader.d.ts +17 -4
  134. package/dist/chat/sidebar/SidebarGroupHeader.js +23 -4
  135. package/dist/chat/sidebar/SidebarRowView.d.ts +30 -0
  136. package/dist/chat/sidebar/SidebarRowView.js +117 -0
  137. package/dist/chat/sidebar/SidebarSessionRow.d.ts +4 -1
  138. package/dist/chat/sidebar/SidebarSessionRow.js +22 -4
  139. package/dist/chat/sidebar/SpaceSwitcher.d.ts +12 -5
  140. package/dist/chat/sidebar/SpaceSwitcher.js +142 -49
  141. package/dist/chat/sidebar/SpacesSection.js +4 -2
  142. package/dist/chat/sidebar/collapsed.d.ts +24 -0
  143. package/dist/chat/sidebar/collapsed.js +44 -0
  144. package/dist/chat/sidebar/index.d.ts +8 -4
  145. package/dist/chat/sidebar/index.js +6 -2
  146. package/dist/chat/sidebar/session-menu.d.ts +2 -0
  147. package/dist/chat/sidebar/session-menu.js +8 -2
  148. package/dist/chat/sidebar/sidebar-live.d.ts +12 -1
  149. package/dist/chat/sidebar/sidebar-live.js +57 -17
  150. package/dist/chat/sidebar/useAgentNames.d.ts +8 -0
  151. package/dist/chat/sidebar/useAgentNames.js +13 -0
  152. package/dist/chat/sidebar/useSaveViewAsSpace.d.ts +13 -0
  153. package/dist/chat/sidebar/useSaveViewAsSpace.js +44 -0
  154. package/dist/chat/sidebar/useSessionDirectoryView.d.ts +4 -1
  155. package/dist/chat/sidebar/useSessionDirectoryView.js +46 -12
  156. package/dist/chat/sidebar/useSidebarKeyboardNav.js +3 -1
  157. package/dist/chat/testing/composer.contract.d.ts +2 -6
  158. package/dist/chat/testing/composer.contract.js +2 -31
  159. package/dist/chat/testing/contract.d.ts +6 -1
  160. package/dist/chat/testing/contract.js +30 -3
  161. package/dist/chat/testing/fixture-composer-chrome.d.ts +2 -6
  162. package/dist/chat/testing/fixture-composer-chrome.js +1 -17
  163. package/dist/chat/transcript/AnsiText.d.ts +27 -0
  164. package/dist/chat/transcript/AnsiText.js +73 -0
  165. package/dist/chat/transcript/BadgeMenu.d.ts +2 -0
  166. package/dist/chat/transcript/BadgeMenu.js +22 -6
  167. package/dist/chat/transcript/CardMarkdown.js +17 -5
  168. package/dist/chat/transcript/ChipCard.js +6 -0
  169. package/dist/chat/transcript/ChipCards.js +2 -2
  170. package/dist/chat/transcript/CodemodeScript.d.ts +33 -0
  171. package/dist/chat/transcript/CodemodeScript.js +212 -0
  172. package/dist/chat/transcript/EditDiffBlock.js +4 -1
  173. package/dist/chat/transcript/FileChip.js +20 -7
  174. package/dist/chat/transcript/InlineChipText.js +1 -1
  175. package/dist/chat/transcript/InteractionToolBody.js +32 -13
  176. package/dist/chat/transcript/LiveOutput.d.ts +21 -0
  177. package/dist/chat/transcript/LiveOutput.js +42 -0
  178. package/dist/chat/transcript/MermaidDiagram.d.ts +22 -0
  179. package/dist/chat/transcript/MermaidDiagram.js +410 -0
  180. package/dist/chat/transcript/PromptEcho.js +5 -5
  181. package/dist/chat/transcript/ProseMarkdown.js +9 -6
  182. package/dist/chat/transcript/ReferenceText.js +7 -2
  183. package/dist/chat/transcript/SelectTurnHint.js +1 -1
  184. package/dist/chat/transcript/SubagentBlock.d.ts +4 -2
  185. package/dist/chat/transcript/SubagentBlock.js +5 -2
  186. package/dist/chat/transcript/TranscriptRow.js +28 -6
  187. package/dist/chat/transcript/TranscriptSearch.js +1 -1
  188. package/dist/chat/transcript/actions.d.ts +6 -0
  189. package/dist/chat/transcript/badges.js +5 -2
  190. package/dist/chat/transcript/extension-renderers.d.ts +36 -0
  191. package/dist/chat/transcript/extension-renderers.js +133 -0
  192. package/dist/chat/transcript/fold-worker.js +2 -2
  193. package/dist/chat/transcript/fold.js +6 -4
  194. package/dist/chat/transcript/index.d.ts +8 -2
  195. package/dist/chat/transcript/index.js +35 -29
  196. package/dist/chat/transcript/markdown-cache.js +16 -7
  197. package/dist/chat/transcript/markdown.d.ts +15 -1
  198. package/dist/chat/transcript/markdown.js +71 -6
  199. package/dist/chat/transcript/messages.js +3 -2
  200. package/dist/chat/transcript/notices.js +1 -1
  201. package/dist/chat/transcript/prompt.js +1 -1
  202. package/dist/chat/transcript/prose.js +1 -1
  203. package/dist/chat/transcript/recent-map.d.ts +20 -0
  204. package/dist/chat/transcript/recent-map.js +22 -0
  205. package/dist/chat/transcript/references.js +7 -3
  206. package/dist/chat/transcript/renderers.d.ts +11 -1
  207. package/dist/chat/transcript/renderers.js +14 -4
  208. package/dist/chat/transcript/script-input.d.ts +17 -0
  209. package/dist/chat/transcript/script-input.js +16 -0
  210. package/dist/chat/transcript/shell-block-scope.d.ts +29 -0
  211. package/dist/chat/transcript/shell-block-scope.js +18 -0
  212. package/dist/chat/transcript/shell-block.d.ts +27 -0
  213. package/dist/chat/transcript/shell-block.js +306 -0
  214. package/dist/chat/transcript/tool-batch.js +4 -9
  215. package/dist/chat/transcript/tool-details.js +7 -67
  216. package/dist/chat/transcript/tool-parts.d.ts +18 -6
  217. package/dist/chat/transcript/tool-parts.js +15 -5
  218. package/dist/chat/transcript/tool-payload.d.ts +21 -0
  219. package/dist/chat/transcript/tool-payload.js +80 -0
  220. package/dist/chat/transcript/tool-row.js +158 -96
  221. package/dist/chat/transcript/useTranscriptScroll.js +3 -2
  222. package/dist/chat/transcript/user-bash.js +3 -2
  223. package/dist/chat/transcript-options.d.ts +15 -0
  224. package/dist/chat/transcript-options.js +40 -0
  225. package/dist/code/CodeHighlightProvider.d.ts +3 -3
  226. package/dist/code/CodeHighlightProvider.js +4 -4
  227. package/dist/code/HighlightedCode.d.ts +7 -2
  228. package/dist/code/HighlightedCode.js +7 -71
  229. package/dist/code/code-themes.d.ts +13 -6
  230. package/dist/code/code-themes.js +385 -13
  231. package/dist/code/editor/CodeHover.d.ts +5 -4
  232. package/dist/code/editor/CodeHover.js +20 -16
  233. package/dist/code/editor/HighlightWorkers.js +2 -2
  234. package/dist/code/editor/edit-session.js +1 -0
  235. package/dist/code/editor/environment.d.ts +1 -1
  236. package/dist/code/editor/environment.js +1 -1
  237. package/dist/code/editor/index.d.ts +2 -2
  238. package/dist/code/editor/index.js +2 -2
  239. package/dist/code/editor/pierre-theme.d.ts +5 -5
  240. package/dist/code/editor/pierre-theme.js +6 -5
  241. package/dist/code/highlight-lines.d.ts +24 -0
  242. package/dist/code/highlight-lines.js +41 -0
  243. package/dist/code/highlight.worker.js +2 -14
  244. package/dist/code/highlighter.d.ts +24 -9
  245. package/dist/code/highlighter.js +1 -4
  246. package/dist/code/highlights.d.ts +12 -0
  247. package/dist/code/highlights.js +47 -0
  248. package/dist/code/mermaid-lexer.d.ts +26 -0
  249. package/dist/code/mermaid-lexer.js +303 -0
  250. package/dist/code/shiki-theme.d.ts +6 -6
  251. package/dist/code/shiki-theme.js +3 -3
  252. package/dist/code/use-highlighted-html.d.ts +5 -0
  253. package/dist/code/use-highlighted-html.js +75 -0
  254. package/dist/components/BrandMark.d.ts +6 -4
  255. package/dist/components/BrandMark.js +5 -2
  256. package/dist/components/CodeFrame.d.ts +5 -0
  257. package/dist/components/CodeFrame.js +27 -23
  258. package/dist/components/Form.js +1 -1
  259. package/dist/core.css +82 -11
  260. package/dist/dist/{index-Cx7GDZlz.d.ts → index-WlE93Q6d.d.ts} +255 -51
  261. package/dist/extensions/ExtensionComponent.d.ts +62 -0
  262. package/dist/extensions/ExtensionComponent.js +120 -0
  263. package/dist/extensions/ExtensionDialogHost.d.ts +31 -0
  264. package/dist/extensions/ExtensionDialogHost.js +439 -0
  265. package/dist/extensions/ExtensionRenderer.d.ts +30 -0
  266. package/dist/extensions/ExtensionRenderer.js +78 -0
  267. package/dist/extensions/ExtensionScreen.d.ts +24 -0
  268. package/dist/extensions/ExtensionScreen.js +120 -0
  269. package/dist/extensions/ExtensionSettingsPage.d.ts +19 -0
  270. package/dist/extensions/ExtensionSettingsPage.js +116 -0
  271. package/dist/extensions/ExtensionSettingsPages.d.ts +17 -0
  272. package/dist/extensions/ExtensionSettingsPages.js +33 -0
  273. package/dist/extensions/ExtensionSettingsSidebar.d.ts +63 -0
  274. package/dist/extensions/ExtensionSettingsSidebar.js +360 -0
  275. package/dist/extensions/ExtensionSlot.d.ts +44 -0
  276. package/dist/extensions/ExtensionSlot.js +161 -0
  277. package/dist/extensions/ExtensionWebview.d.ts +32 -0
  278. package/dist/extensions/ExtensionWebview.js +80 -0
  279. package/dist/extensions/ExtensionsProvider.d.ts +42 -0
  280. package/dist/extensions/ExtensionsProvider.js +104 -0
  281. package/dist/extensions/SettingsWireForm.d.ts +44 -0
  282. package/dist/extensions/SettingsWireForm.js +104 -0
  283. package/dist/extensions/headless/dialog-queue.d.ts +27 -0
  284. package/dist/extensions/headless/dialog-queue.js +68 -0
  285. package/dist/extensions/headless/effect-channel.d.ts +15 -0
  286. package/dist/extensions/headless/effect-channel.js +33 -0
  287. package/dist/extensions/headless/effect-router.d.ts +34 -0
  288. package/dist/extensions/headless/effect-router.js +50 -0
  289. package/dist/extensions/headless/fixture-host.d.ts +110 -0
  290. package/dist/extensions/headless/fixture-host.js +258 -0
  291. package/dist/extensions/headless/host.d.ts +433 -0
  292. package/dist/extensions/headless/host.js +27 -0
  293. package/dist/extensions/headless/index.d.ts +10 -0
  294. package/dist/extensions/headless/index.js +10 -0
  295. package/dist/extensions/headless/labels.d.ts +45 -0
  296. package/dist/extensions/headless/labels.js +49 -0
  297. package/dist/extensions/headless/links.d.ts +30 -0
  298. package/dist/extensions/headless/links.js +34 -0
  299. package/dist/extensions/headless/select.d.ts +120 -0
  300. package/dist/extensions/headless/select.js +191 -0
  301. package/dist/extensions/headless/webview-bridge.d.ts +71 -0
  302. package/dist/extensions/headless/webview-bridge.js +78 -0
  303. package/dist/extensions/headless/wire.d.ts +113 -0
  304. package/dist/extensions/headless/wire.js +38 -0
  305. package/dist/extensions/hooks.d.ts +88 -0
  306. package/dist/extensions/hooks.js +151 -0
  307. package/dist/extensions/index.d.ts +15 -0
  308. package/dist/extensions/index.js +15 -0
  309. package/dist/extensions/kit.d.ts +19 -0
  310. package/dist/extensions/kit.js +19 -0
  311. package/dist/extensions/links.d.ts +79 -0
  312. package/dist/extensions/links.js +94 -0
  313. package/dist/extensions/testing/contract.d.ts +80 -0
  314. package/dist/extensions/testing/contract.js +407 -0
  315. package/dist/extensions/testing/index.d.ts +2 -0
  316. package/dist/extensions/testing/index.js +1 -0
  317. package/dist/extensions/useExtensionsLabels.d.ts +6 -0
  318. package/dist/extensions/useExtensionsLabels.js +18 -0
  319. package/dist/files/DiffsTab.js +7 -19
  320. package/dist/files/EditorColumn.js +1 -1
  321. package/dist/files/EditorEnvironmentRoot.d.ts +15 -0
  322. package/dist/files/EditorEnvironmentRoot.js +55 -0
  323. package/dist/files/MediaDiff.js +1 -1
  324. package/dist/files/drafts-store.d.ts +10 -0
  325. package/dist/files/drafts-store.js +30 -1
  326. package/dist/files/headless/lsp-edits.d.ts +4 -1
  327. package/dist/files/headless/lsp-edits.js +14 -2
  328. package/dist/files/index.d.ts +2 -1
  329. package/dist/files/index.js +2 -1
  330. package/dist/files/session-patch.d.ts +11 -0
  331. package/dist/files/session-patch.js +44 -0
  332. package/dist/files/useEntryActions.js +1 -1
  333. package/dist/files/useLsp.js +5 -2
  334. package/dist/files/useOpenFiles.js +1 -1
  335. package/dist/git/BranchMenu.d.ts +1 -5
  336. package/dist/git/BranchMenu.js +23 -39
  337. package/dist/git/GitBar.d.ts +1 -1
  338. package/dist/git/GitBar.js +7 -1
  339. package/dist/git/ImportRepoDialog.d.ts +3 -1
  340. package/dist/git/ImportRepoDialog.js +8 -6
  341. package/dist/git/MoveSessionDialog.js +3 -1
  342. package/dist/git/headless/labels.d.ts +0 -2
  343. package/dist/git/headless/labels.js +0 -2
  344. package/dist/hooks/useDisplayPath.d.ts +40 -0
  345. package/dist/hooks/useDisplayPath.js +75 -0
  346. package/dist/index.d.ts +6 -4
  347. package/dist/index.js +4 -2
  348. package/dist/keybindings/KeyCommands.js +1 -1
  349. package/dist/keybindings/KeybindingsProvider.js +1 -1
  350. package/dist/keybindings/headless/index.js +2 -2
  351. package/dist/keybindings/headless/overrides.js +1 -1
  352. package/dist/keybindings/index.d.ts +2 -1
  353. package/dist/keybindings/index.js +2 -1
  354. package/dist/keybindings/press.d.ts +27 -0
  355. package/dist/keybindings/press.js +67 -0
  356. package/dist/machines/Banners.js +1 -1
  357. package/dist/machines/HostSyncPanel.js +1 -1
  358. package/dist/machines/HostsSection.js +1 -1
  359. package/dist/machines/SyncOutcomeBadge.js +1 -1
  360. package/dist/machines/headless/index.js +1 -1
  361. package/dist/machines/headless/labels.d.ts +1 -0
  362. package/dist/machines/headless/labels.js +1 -0
  363. package/dist/machines/headless/messages.d.ts +2 -1
  364. package/dist/machines/headless/messages.js +4 -3
  365. package/dist/machines/settings-section.d.ts +1 -1
  366. package/dist/onboarding/conversation.js +21 -3
  367. package/dist/onboarding/demos/features.d.ts +5 -1
  368. package/dist/onboarding/demos/features.js +80 -1
  369. package/dist/onboarding/headless/fixture-host.d.ts +2 -2
  370. package/dist/onboarding/headless/host.d.ts +2 -2
  371. package/dist/onboarding/headless/labels.d.ts +2 -0
  372. package/dist/onboarding/headless/labels.js +2 -0
  373. package/dist/onboarding/index.d.ts +4 -2
  374. package/dist/onboarding/index.js +3 -2
  375. package/dist/onboarding/marks.d.ts +29 -7
  376. package/dist/onboarding/marks.js +38 -12
  377. package/dist/onboarding/skills/SkillSourceBrowser.js +56 -247
  378. package/dist/onboarding/skills/parts.d.ts +31 -4
  379. package/dist/onboarding/skills/parts.js +8 -11
  380. package/dist/onboarding/sources/SourceBrowser.d.ts +87 -0
  381. package/dist/onboarding/sources/SourceBrowser.js +292 -0
  382. package/dist/onboarding/steps/ConnectStep.js +1 -1
  383. package/dist/onboarding/steps/ConnectorsStep.js +3 -3
  384. package/dist/onboarding/steps/ConversationStep.js +2 -1
  385. package/dist/onboarding/steps/ExtensionsStep.js +2 -2
  386. package/dist/onboarding/steps/ReadyStep.js +2 -2
  387. package/dist/onboarding/steps/connect/ProviderPanel.js +1 -1
  388. package/dist/palette/app-sources.js +1 -1
  389. package/dist/path.d.ts +24 -2
  390. package/dist/path.js +34 -2
  391. package/dist/session/ArtifactRowChips.js +11 -2
  392. package/dist/session/ArtifactsPanel.d.ts +2 -0
  393. package/dist/session/ArtifactsPanel.js +67 -27
  394. package/dist/session/ProjectHome.d.ts +82 -0
  395. package/dist/session/ProjectHome.js +518 -0
  396. package/dist/session/ProviderUsageProvider.d.ts +3 -1
  397. package/dist/session/ProviderUsageProvider.js +5 -2
  398. package/dist/session/QueueTab.js +1 -1
  399. package/dist/session/SessionCacheFacts.js +1 -1
  400. package/dist/session/SessionDetailsDialog.d.ts +1 -1
  401. package/dist/session/SessionDetailsDialog.js +5 -2
  402. package/dist/session/SessionHeader.d.ts +3 -1
  403. package/dist/session/SessionHeader.js +7 -1
  404. package/dist/session/SideChat.js +2 -2
  405. package/dist/session/TodosPanel.js +4 -1
  406. package/dist/session/UsagePanel.js +139 -17
  407. package/dist/session/WelcomeScreen.d.ts +1 -1
  408. package/dist/session/WelcomeScreen.js +46 -502
  409. package/dist/session/headless/fixture-host.js +43 -1
  410. package/dist/session/headless/home-layout.d.ts +137 -0
  411. package/dist/session/headless/home-layout.js +235 -0
  412. package/dist/session/headless/host.d.ts +3 -1
  413. package/dist/session/headless/index.d.ts +4 -3
  414. package/dist/session/headless/index.js +4 -3
  415. package/dist/session/headless/labels.d.ts +33 -36
  416. package/dist/session/headless/labels.js +48 -47
  417. package/dist/session/headless/usage-format.d.ts +2 -92
  418. package/dist/session/headless/usage-format.js +2 -181
  419. package/dist/session/headless/usage.d.ts +15 -2
  420. package/dist/session/headless/usage.js +15 -1
  421. package/dist/session/index.d.ts +3 -1
  422. package/dist/session/index.js +4 -2
  423. package/dist/session/modal-shell.d.ts +8 -0
  424. package/dist/session/modal-shell.js +18 -0
  425. package/dist/session/testing/contract.d.ts +1 -1
  426. package/dist/session/testing/contract.js +16 -0
  427. package/dist/session/testing/demo.js +28 -4
  428. package/dist/settings/SettingsNav.d.ts +3 -2
  429. package/dist/settings/SettingsNav.js +86 -13
  430. package/dist/settings/SettingsRowsPage.d.ts +2 -2
  431. package/dist/settings/SettingsShell.d.ts +3 -1
  432. package/dist/settings/SettingsShell.js +16 -9
  433. package/dist/settings/headless/catalog.js +20 -0
  434. package/dist/settings/headless/fixture-sections.d.ts +10 -1
  435. package/dist/settings/headless/fixture-sections.js +88 -3
  436. package/dist/settings/headless/host.d.ts +2 -0
  437. package/dist/settings/headless/index.d.ts +4 -4
  438. package/dist/settings/headless/index.js +1 -1
  439. package/dist/settings/headless/layout.d.ts +8 -4
  440. package/dist/settings/headless/layout.js +22 -16
  441. package/dist/settings/headless/registry.d.ts +14 -0
  442. package/dist/settings/headless/search.d.ts +1 -1
  443. package/dist/settings/headless/sections-host.d.ts +36 -3
  444. package/dist/settings/index.d.ts +5 -3
  445. package/dist/settings/index.js +8 -6
  446. package/dist/settings/sections/appearance/AppearanceSection.js +4 -4
  447. package/dist/settings/sections/claude-import/ClaudeImportDialog.js +1 -1
  448. package/dist/settings/sections/editor/EditorSection.js +1 -1
  449. package/dist/settings/sections/environments/EnvironmentsSection.js +1 -1
  450. package/dist/settings/sections/extensions/ChangeOriginDialog.d.ts +48 -0
  451. package/dist/settings/sections/extensions/ChangeOriginDialog.js +181 -0
  452. package/dist/settings/sections/extensions/CreateExtensionDialog.js +5 -2
  453. package/dist/settings/sections/extensions/ExtensionConfigRows.d.ts +76 -0
  454. package/dist/settings/sections/extensions/ExtensionConfigRows.js +349 -0
  455. package/dist/settings/sections/extensions/ExtensionOptionsSection.d.ts +1 -4
  456. package/dist/settings/sections/extensions/ExtensionOptionsSection.js +23 -286
  457. package/dist/settings/sections/extensions/ExtensionPicksBar.d.ts +46 -0
  458. package/dist/settings/sections/extensions/ExtensionPicksBar.js +102 -0
  459. package/dist/settings/sections/extensions/ExtensionSourceBrowser.d.ts +50 -0
  460. package/dist/settings/sections/extensions/ExtensionSourceBrowser.js +164 -0
  461. package/dist/settings/sections/extensions/ExtensionsSection.d.ts +6 -2
  462. package/dist/settings/sections/extensions/ExtensionsSection.js +233 -42
  463. package/dist/settings/sections/extensions/labels.d.ts +26 -5
  464. package/dist/settings/sections/extensions/labels.js +28 -3
  465. package/dist/settings/sections/extensions/options-labels.d.ts +2 -0
  466. package/dist/settings/sections/extensions/options-labels.js +2 -0
  467. package/dist/settings/sections/host-catalog/HostCatalogSection.js +104 -30
  468. package/dist/settings/sections/host-catalog/labels.js +4 -2
  469. package/dist/settings/sections/index.d.ts +5 -3
  470. package/dist/settings/sections/index.js +8 -6
  471. package/dist/settings/sections/instructions/InstructionsSection.js +7 -4
  472. package/dist/settings/sections/mcp/McpSection.js +1 -1
  473. package/dist/settings/sections/mcp/McpServerRow.js +3 -2
  474. package/dist/settings/sections/models/AgentDefaults.js +1 -1
  475. package/dist/settings/sections/models/ModelPickField.js +1 -1
  476. package/dist/settings/sections/models/ModelRows.js +3 -3
  477. package/dist/settings/sections/plugins/PluginsSection.js +3 -1
  478. package/dist/settings/sections/providers/ProvidersSection.js +3 -3
  479. package/dist/settings/sections/providers/ServerProvidersSection.js +2 -2
  480. package/dist/settings/sections/providers/ServerSignIn.js +3 -3
  481. package/dist/settings/sections/shared/catalog.d.ts +6 -1
  482. package/dist/settings/sections/shared/catalog.js +28 -22
  483. package/dist/settings/sections/skills/SkillList.js +2 -2
  484. package/dist/settings/sections/skills/SkillsSection.js +1 -1
  485. package/dist/styles.css +526 -21
  486. package/dist/terminal/HostTerminalSurface.js +18 -8
  487. package/dist/terminal/TerminalProvider.d.ts +3 -1
  488. package/dist/terminal/TerminalProvider.js +5 -1
  489. package/dist/terminal/headless/store.d.ts +17 -0
  490. package/dist/terminal/headless/store.js +31 -0
  491. package/dist/terminal/index.d.ts +2 -2
  492. package/dist/terminal/index.js +2 -2
  493. package/dist/theme/runtime-icons.d.ts +50 -0
  494. package/dist/theme/runtime-icons.js +95 -0
  495. package/dist/workspace/PanelContentView.d.ts +33 -4
  496. package/dist/workspace/PanelContentView.js +192 -58
  497. package/dist/workspace/PanelCorner.d.ts +35 -0
  498. package/dist/workspace/PanelCorner.js +68 -0
  499. package/dist/workspace/PanelGroups.d.ts +7 -2
  500. package/dist/workspace/PanelGroups.js +7 -3
  501. package/dist/workspace/PanelHome.d.ts +19 -0
  502. package/dist/workspace/PanelHome.js +74 -0
  503. package/dist/workspace/PanelItems.d.ts +28 -0
  504. package/dist/workspace/PanelItems.js +330 -0
  505. package/dist/workspace/PanelStrip.d.ts +5 -1
  506. package/dist/workspace/PanelStrip.js +6 -4
  507. package/dist/workspace/SidePanel.d.ts +9 -3
  508. package/dist/workspace/SidePanel.js +47 -10
  509. package/dist/workspace/TabParking.d.ts +2 -0
  510. package/dist/workspace/TabParking.js +8 -2
  511. package/dist/workspace/WorkspaceProvider.d.ts +1 -1
  512. package/dist/workspace/WorkspaceProvider.js +10 -6
  513. package/dist/workspace/extension-tabs.d.ts +36 -0
  514. package/dist/workspace/extension-tabs.js +175 -0
  515. package/dist/workspace/headless/host.d.ts +6 -2
  516. package/dist/workspace/headless/index.js +1 -1
  517. package/dist/workspace/headless/labels.d.ts +7 -0
  518. package/dist/workspace/headless/labels.js +14 -0
  519. package/dist/workspace/headless/view.d.ts +5 -0
  520. package/dist/workspace/index.d.ts +3 -2
  521. package/dist/workspace/index.js +3 -2
  522. package/package.json +37 -9
  523. package/src/styles/components.css +24 -8
  524. package/src/styles/motion.css +35 -0
  525. package/src/styles/primitives.css +5 -2
  526. package/src/styles/rich-composer.css +7 -2
  527. package/src/styles/sidebar.css +24 -0
  528. package/src/styles/transcript.css +329 -0
  529. package/src/styles/workspace.css +58 -0
  530. package/dist/chat/composer/use-hud.d.ts +0 -16
  531. package/dist/chat/composer/use-hud.js +0 -36
  532. package/dist/chat/headless/composer/hud.d.ts +0 -25
  533. package/dist/chat/headless/composer/hud.js +0 -66
  534. package/src/adapters/browser-appearance-host.ts +0 -51
  535. package/src/adapters/browser-keybindings-host.ts +0 -48
  536. package/src/adapters/browser-workspace-host.ts +0 -92
  537. package/src/adapters/closable-client.ts +0 -34
  538. package/src/adapters/index.ts +0 -32
  539. package/src/adapters/live-events.ts +0 -6
  540. package/src/adapters/live.ts +0 -230
  541. package/src/adapters/run-host.ts +0 -238
  542. package/src/adapters/server-approvals-host.ts +0 -102
  543. package/src/adapters/server-client.ts +0 -15
  544. package/src/adapters/server-composer-host.ts +0 -474
  545. package/src/adapters/server-files-host.ts +0 -287
  546. package/src/adapters/server-git-host.ts +0 -289
  547. package/src/adapters/server-host.ts +0 -459
  548. package/src/adapters/server-machines-host.ts +0 -283
  549. package/src/adapters/server-oauth-flow.ts +0 -133
  550. package/src/adapters/server-onboarding-host.ts +0 -363
  551. package/src/adapters/server-palette-host.ts +0 -134
  552. package/src/adapters/server-session-host.ts +0 -241
  553. package/src/adapters/server-settings-accounts.ts +0 -212
  554. package/src/adapters/server-settings-host.ts +0 -120
  555. package/src/adapters/server-settings-models.ts +0 -46
  556. package/src/adapters/server-settings-performance.ts +0 -58
  557. package/src/adapters/server-settings-sections.ts +0 -184
  558. package/src/adapters/server-sidebar-host.ts +0 -59
  559. package/src/adapters/server-terminal-host.ts +0 -124
  560. package/src/adapters/server-transcript-members.ts +0 -131
  561. package/src/adapters/sse-host.ts +0 -264
  562. package/src/adapters/sse-parser.ts +0 -82
  563. package/src/adapters/sse-protocol.ts +0 -118
  564. package/src/adapters/stream-pacer.ts +0 -122
  565. package/src/adapters/worker-host.ts +0 -192
  566. package/src/adapters/worker-protocol.ts +0 -97
  567. package/src/app/AppHostProvider.tsx +0 -122
  568. package/src/app/ModalProvider.tsx +0 -711
  569. package/src/app/headless/app-host.ts +0 -58
  570. package/src/app/headless/index.ts +0 -6
  571. package/src/app/headless/resource.ts +0 -444
  572. package/src/app/index.ts +0 -9
  573. package/src/app/testing/index.ts +0 -90
  574. package/src/app/useConfirm.tsx +0 -65
  575. package/src/app/useResource.ts +0 -30
  576. package/src/appearance/AppearanceProvider.tsx +0 -359
  577. package/src/appearance/apply.ts +0 -69
  578. package/src/appearance/headless/fixture-host.ts +0 -111
  579. package/src/appearance/headless/fonts.ts +0 -224
  580. package/src/appearance/headless/host.ts +0 -65
  581. package/src/appearance/headless/index.ts +0 -12
  582. package/src/appearance/headless/prefs.ts +0 -252
  583. package/src/appearance/headless/storage.ts +0 -127
  584. package/src/appearance/headless/zoom-commands.ts +0 -21
  585. package/src/appearance/index.ts +0 -11
  586. package/src/appearance/testing/contract.ts +0 -210
  587. package/src/appearance/testing/index.ts +0 -6
  588. package/src/approvals/ApprovalBar.tsx +0 -227
  589. package/src/approvals/ApprovalConcern.tsx +0 -33
  590. package/src/approvals/ApprovalShell.tsx +0 -69
  591. package/src/approvals/ApprovalsProvider.tsx +0 -110
  592. package/src/approvals/FileEditApproval.tsx +0 -305
  593. package/src/approvals/HunkPreviews.tsx +0 -225
  594. package/src/approvals/SafelistPanel.tsx +0 -149
  595. package/src/approvals/headless/fixture-host.ts +0 -73
  596. package/src/approvals/headless/fixtures.ts +0 -86
  597. package/src/approvals/headless/heads.ts +0 -81
  598. package/src/approvals/headless/host.ts +0 -80
  599. package/src/approvals/headless/index.ts +0 -12
  600. package/src/approvals/headless/labels.ts +0 -67
  601. package/src/approvals/headless/pending.ts +0 -91
  602. package/src/approvals/headless/preview.ts +0 -94
  603. package/src/approvals/headless/safelist.ts +0 -63
  604. package/src/approvals/index.ts +0 -13
  605. package/src/approvals/key-scope.ts +0 -33
  606. package/src/approvals/testing/contract.ts +0 -230
  607. package/src/approvals/testing/index.ts +0 -7
  608. package/src/brands/marks.ts +0 -298
  609. package/src/chat/ChatProvider.tsx +0 -60
  610. package/src/chat/DaemonOrb.tsx +0 -107
  611. package/src/chat/HostBadge.tsx +0 -71
  612. package/src/chat/HostStatusDot.tsx +0 -53
  613. package/src/chat/HostTranscript.tsx +0 -101
  614. package/src/chat/PdfPreview.tsx +0 -65
  615. package/src/chat/SessionFilterMenu.tsx +0 -237
  616. package/src/chat/SessionGroupHeader.tsx +0 -136
  617. package/src/chat/SessionHostHeader.tsx +0 -66
  618. package/src/chat/SessionList.tsx +0 -413
  619. package/src/chat/SessionListRow.tsx +0 -279
  620. package/src/chat/SessionStreamsProvider.tsx +0 -253
  621. package/src/chat/StatusDot.tsx +0 -128
  622. package/src/chat/TextPreview.tsx +0 -121
  623. package/src/chat/Throbber.tsx +0 -277
  624. package/src/chat/Transcript.tsx +0 -461
  625. package/src/chat/composer/AgentPicker.tsx +0 -155
  626. package/src/chat/composer/AgentPickerDialog.tsx +0 -99
  627. package/src/chat/composer/ApprovalDock.tsx +0 -64
  628. package/src/chat/composer/ArchivedBanner.tsx +0 -44
  629. package/src/chat/composer/AttachmentTiles.tsx +0 -211
  630. package/src/chat/composer/Composer.tsx +0 -500
  631. package/src/chat/composer/ComposerBadges.tsx +0 -339
  632. package/src/chat/composer/ComposerControls.tsx +0 -243
  633. package/src/chat/composer/ComposerEditor.tsx +0 -101
  634. package/src/chat/composer/ComposerHostProvider.tsx +0 -46
  635. package/src/chat/composer/ComposerShell.tsx +0 -129
  636. package/src/chat/composer/ContextBreakdown.tsx +0 -382
  637. package/src/chat/composer/ContextOrb.tsx +0 -176
  638. package/src/chat/composer/ConversationBadges.tsx +0 -159
  639. package/src/chat/composer/DockCard.tsx +0 -126
  640. package/src/chat/composer/EffortPickerDialog.tsx +0 -184
  641. package/src/chat/composer/HostComposer.tsx +0 -135
  642. package/src/chat/composer/HostContextOrb.tsx +0 -94
  643. package/src/chat/composer/HostModelChainList.tsx +0 -102
  644. package/src/chat/composer/HostPicker.tsx +0 -97
  645. package/src/chat/composer/HostPickers.tsx +0 -320
  646. package/src/chat/composer/ImageModelList.tsx +0 -151
  647. package/src/chat/composer/ModelChainList.tsx +0 -442
  648. package/src/chat/composer/ModelChainParts.tsx +0 -247
  649. package/src/chat/composer/ModelChainRow.tsx +0 -191
  650. package/src/chat/composer/ModelChainRows.tsx +0 -223
  651. package/src/chat/composer/ModelChainTooltip.tsx +0 -121
  652. package/src/chat/composer/ModelFacts.tsx +0 -204
  653. package/src/chat/composer/ModelOptionsPicker.tsx +0 -257
  654. package/src/chat/composer/ModelPicker.tsx +0 -513
  655. package/src/chat/composer/ModelPickerDialog.tsx +0 -99
  656. package/src/chat/composer/ModelProviderPills.tsx +0 -141
  657. package/src/chat/composer/PickerPill.tsx +0 -41
  658. package/src/chat/composer/ProjectMenu.tsx +0 -170
  659. package/src/chat/composer/PromptHistoryProvider.tsx +0 -214
  660. package/src/chat/composer/RetryPill.tsx +0 -47
  661. package/src/chat/composer/RunStatusChip.tsx +0 -150
  662. package/src/chat/composer/ScopeToggle.tsx +0 -94
  663. package/src/chat/composer/SendButton.tsx +0 -89
  664. package/src/chat/composer/ServerScopeToggle.tsx +0 -179
  665. package/src/chat/composer/attachment-ingest.ts +0 -413
  666. package/src/chat/composer/attachments.tsx +0 -176
  667. package/src/chat/composer/badge-order.ts +0 -65
  668. package/src/chat/composer/composer-bus.ts +0 -307
  669. package/src/chat/composer/index.ts +0 -63
  670. package/src/chat/composer/load-composer-editor.ts +0 -25
  671. package/src/chat/composer/model-catalog.ts +0 -424
  672. package/src/chat/composer/model-list-layout.ts +0 -118
  673. package/src/chat/composer/prompt-history-nav.ts +0 -60
  674. package/src/chat/composer/scope-side.ts +0 -7
  675. package/src/chat/composer/suggestion-extension.ts +0 -113
  676. package/src/chat/composer/suggestions.tsx +0 -115
  677. package/src/chat/composer/use-agent-profiles.ts +0 -97
  678. package/src/chat/composer/use-cache-hints.ts +0 -93
  679. package/src/chat/composer/use-composer-stores.ts +0 -140
  680. package/src/chat/composer/use-draft-target.ts +0 -284
  681. package/src/chat/composer/use-hud.ts +0 -38
  682. package/src/chat/composer/use-new-session-defaults.ts +0 -201
  683. package/src/chat/composer/use-provider-ready-poll.ts +0 -35
  684. package/src/chat/composer/use-run-meter.ts +0 -140
  685. package/src/chat/composer/use-send-prompt.ts +0 -188
  686. package/src/chat/composer/use-session-meters.ts +0 -109
  687. package/src/chat/composer/use-sustained-work.ts +0 -74
  688. package/src/chat/composer/useAttachmentIngest.ts +0 -116
  689. package/src/chat/composer/useModelListSpy.ts +0 -19
  690. package/src/chat/headless/badge-refs.ts +0 -76
  691. package/src/chat/headless/chip-labels.ts +0 -39
  692. package/src/chat/headless/chip-settle.ts +0 -53
  693. package/src/chat/headless/chip-views.ts +0 -215
  694. package/src/chat/headless/composer/attachment-dedupe.ts +0 -50
  695. package/src/chat/headless/composer/commands.ts +0 -16
  696. package/src/chat/headless/composer/composer-sources.ts +0 -150
  697. package/src/chat/headless/composer/conversation-badges.ts +0 -222
  698. package/src/chat/headless/composer/draft-sync.ts +0 -199
  699. package/src/chat/headless/composer/editor-markdown.ts +0 -137
  700. package/src/chat/headless/composer/ghost-autocomplete.ts +0 -381
  701. package/src/chat/headless/composer/host-chrome.ts +0 -227
  702. package/src/chat/headless/composer/host.ts +0 -253
  703. package/src/chat/headless/composer/hud.ts +0 -101
  704. package/src/chat/headless/composer/index.ts +0 -18
  705. package/src/chat/headless/composer/labels-chrome.ts +0 -83
  706. package/src/chat/headless/composer/labels-editor.ts +0 -44
  707. package/src/chat/headless/composer/labels.ts +0 -18
  708. package/src/chat/headless/composer/live-cost.ts +0 -67
  709. package/src/chat/headless/composer/model-knobs.ts +0 -179
  710. package/src/chat/headless/composer/model-names.ts +0 -145
  711. package/src/chat/headless/composer/model-picker-prefs.ts +0 -90
  712. package/src/chat/headless/composer/models.ts +0 -86
  713. package/src/chat/headless/composer/new-session-defaults.ts +0 -68
  714. package/src/chat/headless/composer/prompt-suggestions.ts +0 -72
  715. package/src/chat/headless/composer/remember-model-pick.ts +0 -132
  716. package/src/chat/headless/composer/run-meter.ts +0 -228
  717. package/src/chat/headless/composer-modes.ts +0 -170
  718. package/src/chat/headless/draft-scope.ts +0 -136
  719. package/src/chat/headless/draft-target.ts +0 -87
  720. package/src/chat/headless/file-chip.ts +0 -175
  721. package/src/chat/headless/fixture-host.ts +0 -294
  722. package/src/chat/headless/fixture-transcript.ts +0 -125
  723. package/src/chat/headless/fixtures/demo-transcript-all-kinds.ts +0 -233
  724. package/src/chat/headless/fixtures/demo-transcript.ts +0 -244
  725. package/src/chat/headless/host.ts +0 -259
  726. package/src/chat/headless/hosts.ts +0 -53
  727. package/src/chat/headless/index.ts +0 -31
  728. package/src/chat/headless/labels.ts +0 -331
  729. package/src/chat/headless/markdown-chunks.ts +0 -134
  730. package/src/chat/headless/path-resolver.ts +0 -178
  731. package/src/chat/headless/prompt-origin.ts +0 -90
  732. package/src/chat/headless/reference-store.ts +0 -285
  733. package/src/chat/headless/send-flow.ts +0 -347
  734. package/src/chat/headless/session-list.ts +0 -390
  735. package/src/chat/headless/sidebar/activity.ts +0 -179
  736. package/src/chat/headless/sidebar/badges.ts +0 -163
  737. package/src/chat/headless/sidebar/compaction.ts +0 -98
  738. package/src/chat/headless/sidebar/directory.ts +0 -819
  739. package/src/chat/headless/sidebar/dot-state.ts +0 -36
  740. package/src/chat/headless/sidebar/environment.ts +0 -70
  741. package/src/chat/headless/sidebar/host.ts +0 -41
  742. package/src/chat/headless/sidebar/index.ts +0 -16
  743. package/src/chat/headless/sidebar/labels.ts +0 -140
  744. package/src/chat/headless/sidebar/notifications.ts +0 -61
  745. package/src/chat/headless/sidebar/pinned-projects.ts +0 -51
  746. package/src/chat/headless/sidebar/pinned-sessions.ts +0 -27
  747. package/src/chat/headless/sidebar/project-icons.ts +0 -116
  748. package/src/chat/headless/sidebar/rows.ts +0 -229
  749. package/src/chat/headless/sidebar/types.ts +0 -61
  750. package/src/chat/headless/sidebar/view.ts +0 -296
  751. package/src/chat/headless/site-icons.ts +0 -51
  752. package/src/chat/headless/smooth-stream.ts +0 -76
  753. package/src/chat/headless/store.ts +0 -62
  754. package/src/chat/headless/streams/actions.ts +0 -85
  755. package/src/chat/headless/streams/index.ts +0 -25
  756. package/src/chat/headless/streams/live-events.ts +0 -124
  757. package/src/chat/headless/streams/merge.ts +0 -60
  758. package/src/chat/headless/streams/pacer.ts +0 -189
  759. package/src/chat/headless/streams/prompt-previews.ts +0 -64
  760. package/src/chat/headless/streams/scheduler.ts +0 -36
  761. package/src/chat/headless/streams/selectors.ts +0 -76
  762. package/src/chat/headless/streams/session-streams.ts +0 -394
  763. package/src/chat/headless/streams/store.ts +0 -1107
  764. package/src/chat/headless/streams/transcript.ts +0 -41
  765. package/src/chat/headless/streams/types.ts +0 -84
  766. package/src/chat/headless/transcript/batch.ts +0 -429
  767. package/src/chat/headless/transcript/collapse.ts +0 -780
  768. package/src/chat/headless/transcript/fold-actions.ts +0 -269
  769. package/src/chat/headless/transcript/fold-attachments.ts +0 -78
  770. package/src/chat/headless/transcript/fold.ts +0 -382
  771. package/src/chat/headless/transcript/index.ts +0 -41
  772. package/src/chat/headless/transcript/nesting.ts +0 -73
  773. package/src/chat/headless/transcript/pairing.ts +0 -124
  774. package/src/chat/headless/transcript/rows.ts +0 -367
  775. package/src/chat/headless/transcript/run-failures.ts +0 -72
  776. package/src/chat/headless/transcript/select-stops.ts +0 -151
  777. package/src/chat/headless/transcript/tool-media.ts +0 -42
  778. package/src/chat/headless/transcript-host.ts +0 -180
  779. package/src/chat/headless/transcript-labels.ts +0 -12
  780. package/src/chat/headless/turn-labels.ts +0 -28
  781. package/src/chat/headless/turn-prompt.ts +0 -32
  782. package/src/chat/index.ts +0 -29
  783. package/src/chat/interactions/HostInteractions.tsx +0 -76
  784. package/src/chat/interactions/InboxPanel.tsx +0 -226
  785. package/src/chat/interactions/InteractionCard.tsx +0 -111
  786. package/src/chat/interactions/PlanCard.tsx +0 -186
  787. package/src/chat/interactions/QuestionField.tsx +0 -336
  788. package/src/chat/interactions/QuestionForm.tsx +0 -283
  789. package/src/chat/interactions/card-ui.tsx +0 -86
  790. package/src/chat/interactions/hooks.ts +0 -49
  791. package/src/chat/interactions/index.ts +0 -8
  792. package/src/chat/provider-color.ts +0 -71
  793. package/src/chat/rich-composer/MentionList.tsx +0 -238
  794. package/src/chat/rich-composer/RichComposer.tsx +0 -1036
  795. package/src/chat/rich-composer/badge-decorations.ts +0 -157
  796. package/src/chat/rich-composer/composer-controls.tsx +0 -102
  797. package/src/chat/rich-composer/composer-extensions.ts +0 -388
  798. package/src/chat/rich-composer/composer-keys.ts +0 -416
  799. package/src/chat/rich-composer/ghost-plugin.ts +0 -89
  800. package/src/chat/rich-composer/index.ts +0 -3
  801. package/src/chat/rich-composer/mention-popover.ts +0 -336
  802. package/src/chat/rich-composer/slash-completion.ts +0 -143
  803. package/src/chat/rich-composer/use-composer-bus.ts +0 -57
  804. package/src/chat/rich-composer/use-composer-editor.ts +0 -216
  805. package/src/chat/rich-composer/use-composer-sources.ts +0 -90
  806. package/src/chat/rich-composer/use-draft-mirror.ts +0 -398
  807. package/src/chat/rich-composer/use-editor-handover.ts +0 -45
  808. package/src/chat/rich-composer/use-ghost-lifecycle.ts +0 -265
  809. package/src/chat/rich-composer/use-prompt-ghost.ts +0 -90
  810. package/src/chat/rich-composer/use-staged-attachments.ts +0 -65
  811. package/src/chat/sidebar/MainSessionRow.tsx +0 -102
  812. package/src/chat/sidebar/ProjectIcon.tsx +0 -336
  813. package/src/chat/sidebar/RowChips.tsx +0 -98
  814. package/src/chat/sidebar/SessionSidebar.tsx +0 -805
  815. package/src/chat/sidebar/SidebarFilterMenu.tsx +0 -41
  816. package/src/chat/sidebar/SidebarFooter.tsx +0 -234
  817. package/src/chat/sidebar/SidebarFrame.tsx +0 -154
  818. package/src/chat/sidebar/SidebarGroupHeader.tsx +0 -231
  819. package/src/chat/sidebar/SidebarHostProvider.tsx +0 -51
  820. package/src/chat/sidebar/SidebarSearchRow.tsx +0 -66
  821. package/src/chat/sidebar/SidebarSessionRow.tsx +0 -293
  822. package/src/chat/sidebar/SidebarToggleButton.tsx +0 -48
  823. package/src/chat/sidebar/SpaceSwitcher.tsx +0 -232
  824. package/src/chat/sidebar/SpacesSection.tsx +0 -256
  825. package/src/chat/sidebar/index.ts +0 -92
  826. package/src/chat/sidebar/session-menu.ts +0 -437
  827. package/src/chat/sidebar/sidebar-focus-hold.ts +0 -56
  828. package/src/chat/sidebar/sidebar-live.tsx +0 -605
  829. package/src/chat/sidebar/use-main-session.ts +0 -32
  830. package/src/chat/sidebar/useCompactionProgress.ts +0 -24
  831. package/src/chat/sidebar/usePinnedProjects.ts +0 -36
  832. package/src/chat/sidebar/useSessionActivity.ts +0 -24
  833. package/src/chat/sidebar/useSessionBadges.ts +0 -26
  834. package/src/chat/sidebar/useSessionDirectoryView.ts +0 -86
  835. package/src/chat/sidebar/useSessionSearch.ts +0 -94
  836. package/src/chat/sidebar/useSidebarKeyboardNav.ts +0 -165
  837. package/src/chat/sidebar/useSidebarLabels.ts +0 -10
  838. package/src/chat/testing/composer.contract.ts +0 -532
  839. package/src/chat/testing/contract.ts +0 -634
  840. package/src/chat/testing/fixture-composer-chrome.ts +0 -178
  841. package/src/chat/testing/fixture-composer-host.ts +0 -147
  842. package/src/chat/testing/fixture-sidebar-host.ts +0 -99
  843. package/src/chat/testing/index.ts +0 -12
  844. package/src/chat/testing/sidebar.contract.ts +0 -196
  845. package/src/chat/transcript/BadgeMenu.tsx +0 -223
  846. package/src/chat/transcript/CardMarkdown.tsx +0 -92
  847. package/src/chat/transcript/ChipCard.tsx +0 -176
  848. package/src/chat/transcript/ChipCards.tsx +0 -100
  849. package/src/chat/transcript/DiffLines.tsx +0 -122
  850. package/src/chat/transcript/EarlierHistory.tsx +0 -136
  851. package/src/chat/transcript/EditDiffBlock.tsx +0 -171
  852. package/src/chat/transcript/FileChip.tsx +0 -350
  853. package/src/chat/transcript/ImageGenerationBlock.tsx +0 -239
  854. package/src/chat/transcript/InlineChipText.tsx +0 -57
  855. package/src/chat/transcript/InteractionToolBody.tsx +0 -193
  856. package/src/chat/transcript/LazyRow.tsx +0 -311
  857. package/src/chat/transcript/PromptEcho.tsx +0 -171
  858. package/src/chat/transcript/PromptOriginLabel.tsx +0 -44
  859. package/src/chat/transcript/ProseMarkdown.tsx +0 -165
  860. package/src/chat/transcript/ReferenceText.tsx +0 -193
  861. package/src/chat/transcript/SelectCursor.tsx +0 -118
  862. package/src/chat/transcript/SelectTurnHint.tsx +0 -81
  863. package/src/chat/transcript/SelectTurnProvider.tsx +0 -150
  864. package/src/chat/transcript/SubagentBlock.tsx +0 -218
  865. package/src/chat/transcript/TranscriptRow.tsx +0 -356
  866. package/src/chat/transcript/TranscriptSearch.tsx +0 -171
  867. package/src/chat/transcript/TurnMenu.tsx +0 -217
  868. package/src/chat/transcript/actions.tsx +0 -77
  869. package/src/chat/transcript/badges.tsx +0 -152
  870. package/src/chat/transcript/chip-details.ts +0 -169
  871. package/src/chat/transcript/chip-resolve.ts +0 -56
  872. package/src/chat/transcript/fold-attachments.tsx +0 -221
  873. package/src/chat/transcript/fold-status.tsx +0 -112
  874. package/src/chat/transcript/fold-worker.tsx +0 -160
  875. package/src/chat/transcript/fold.tsx +0 -520
  876. package/src/chat/transcript/frame.tsx +0 -326
  877. package/src/chat/transcript/index.ts +0 -65
  878. package/src/chat/transcript/markdown-cache.ts +0 -70
  879. package/src/chat/transcript/markdown-context.ts +0 -52
  880. package/src/chat/transcript/markdown.tsx +0 -282
  881. package/src/chat/transcript/messages.tsx +0 -168
  882. package/src/chat/transcript/notices.tsx +0 -508
  883. package/src/chat/transcript/prompt-lines.tsx +0 -55
  884. package/src/chat/transcript/prompt.tsx +0 -258
  885. package/src/chat/transcript/prose.tsx +0 -171
  886. package/src/chat/transcript/references.ts +0 -104
  887. package/src/chat/transcript/remark-references.ts +0 -157
  888. package/src/chat/transcript/remark-refs.ts +0 -176
  889. package/src/chat/transcript/renderer-slots.tsx +0 -35
  890. package/src/chat/transcript/renderers.tsx +0 -241
  891. package/src/chat/transcript/row-estimate.ts +0 -158
  892. package/src/chat/transcript/run-rows.tsx +0 -291
  893. package/src/chat/transcript/site-icons.ts +0 -27
  894. package/src/chat/transcript/thumbnails.ts +0 -146
  895. package/src/chat/transcript/tool-batch.tsx +0 -111
  896. package/src/chat/transcript/tool-details.tsx +0 -77
  897. package/src/chat/transcript/tool-media.tsx +0 -132
  898. package/src/chat/transcript/tool-parts.tsx +0 -358
  899. package/src/chat/transcript/tool-row.tsx +0 -489
  900. package/src/chat/transcript/turn-commands.ts +0 -101
  901. package/src/chat/transcript/use-transcript-rows.ts +0 -195
  902. package/src/chat/transcript/useComposerSearch.ts +0 -106
  903. package/src/chat/transcript/useSelectTurnKeys.ts +0 -204
  904. package/src/chat/transcript/useSettledReveal.ts +0 -57
  905. package/src/chat/transcript/useStickToBottom.ts +0 -600
  906. package/src/chat/transcript/useTranscriptFind.ts +0 -70
  907. package/src/chat/transcript/useTranscriptFindKey.ts +0 -52
  908. package/src/chat/transcript/useTranscriptScroll.ts +0 -162
  909. package/src/chat/transcript/useTranscriptSearch.tsx +0 -382
  910. package/src/chat/transcript/useTranscriptSelectionCopy.ts +0 -63
  911. package/src/chat/transcript/useWheelHoverPause.ts +0 -79
  912. package/src/chat/transcript/user-bash.tsx +0 -134
  913. package/src/chat/useChatLabels.ts +0 -14
  914. package/src/code/CodeHighlightProvider.tsx +0 -87
  915. package/src/code/HighlightedCode.tsx +0 -150
  916. package/src/code/code-themes.ts +0 -34
  917. package/src/code/editor/CodeCompletion.tsx +0 -719
  918. package/src/code/editor/CodeEditor.tsx +0 -480
  919. package/src/code/editor/CodeHover.tsx +0 -428
  920. package/src/code/editor/DiagnosticAnnotation.tsx +0 -73
  921. package/src/code/editor/DiagnosticsChip.tsx +0 -85
  922. package/src/code/editor/DiffView.tsx +0 -197
  923. package/src/code/editor/EditorColumn.tsx +0 -256
  924. package/src/code/editor/FileIcon.tsx +0 -89
  925. package/src/code/editor/FileTabPill.tsx +0 -101
  926. package/src/code/editor/FileTree.tsx +0 -414
  927. package/src/code/editor/FileView.tsx +0 -462
  928. package/src/code/editor/HighlightWorkers.tsx +0 -84
  929. package/src/code/editor/LanguageEditor.tsx +0 -210
  930. package/src/code/editor/_vendor/tree-icon-colors.ts +0 -72
  931. package/src/code/editor/diagnostics.ts +0 -140
  932. package/src/code/editor/edit-session.ts +0 -28
  933. package/src/code/editor/environment.tsx +0 -88
  934. package/src/code/editor/find/FindBar.tsx +0 -126
  935. package/src/code/editor/find/find-highlight.ts +0 -138
  936. package/src/code/editor/find/find-model.ts +0 -123
  937. package/src/code/editor/find/settle-scroll.ts +0 -77
  938. package/src/code/editor/find/useFind.ts +0 -203
  939. package/src/code/editor/fs-adapter.ts +0 -37
  940. package/src/code/editor/index.ts +0 -36
  941. package/src/code/editor/language.ts +0 -31
  942. package/src/code/editor/patch-parse.ts +0 -176
  943. package/src/code/editor/patch-parse.worker.ts +0 -12
  944. package/src/code/editor/pierre-theme.ts +0 -154
  945. package/src/code/editor/prime-diff.ts +0 -37
  946. package/src/code/editor/reveal.ts +0 -58
  947. package/src/code/editor/scroll-reach.ts +0 -28
  948. package/src/code/editor/useCodeDocument.ts +0 -226
  949. package/src/code/editor/useDefinition.ts +0 -159
  950. package/src/code/editor/useDetachCleanup.ts +0 -36
  951. package/src/code/editor/useFileDocument.ts +0 -87
  952. package/src/code/editor/useRevealLine.ts +0 -92
  953. package/src/code/editor/word-at.ts +0 -145
  954. package/src/code/highlight.worker.ts +0 -19
  955. package/src/code/highlighter.ts +0 -185
  956. package/src/code/shiki-theme.ts +0 -47
  957. package/src/components/BrandMark.tsx +0 -107
  958. package/src/components/Breadcrumb.tsx +0 -105
  959. package/src/components/BrowserChrome.tsx +0 -189
  960. package/src/components/BrowserSignIn.tsx +0 -210
  961. package/src/components/ChoiceCards.tsx +0 -170
  962. package/src/components/CodeFrame.tsx +0 -209
  963. package/src/components/ConfirmDialog.tsx +0 -119
  964. package/src/components/CopyButton.tsx +0 -85
  965. package/src/components/EditableTitle.tsx +0 -199
  966. package/src/components/ErrorBoundary.tsx +0 -208
  967. package/src/components/Form.tsx +0 -589
  968. package/src/components/Highlighted.tsx +0 -68
  969. package/src/components/HowItWorks.tsx +0 -123
  970. package/src/components/IconButton.tsx +0 -101
  971. package/src/components/IconToggle.tsx +0 -71
  972. package/src/components/Keycap.tsx +0 -334
  973. package/src/components/Lightbox.tsx +0 -257
  974. package/src/components/LoadError.tsx +0 -45
  975. package/src/components/MediaNav.tsx +0 -85
  976. package/src/components/Menu.tsx +0 -435
  977. package/src/components/Overlay.tsx +0 -327
  978. package/src/components/PanelEmpty.tsx +0 -80
  979. package/src/components/PanelRows.tsx +0 -107
  980. package/src/components/PreviewWindow.tsx +0 -53
  981. package/src/components/ReorderTabs.tsx +0 -103
  982. package/src/components/RowActionsMenu.tsx +0 -383
  983. package/src/components/SegmentSpinner.tsx +0 -88
  984. package/src/components/Segmented.tsx +0 -126
  985. package/src/components/StepFrame.tsx +0 -151
  986. package/src/components/Stepper.tsx +0 -157
  987. package/src/components/Surface.tsx +0 -191
  988. package/src/components/SwatchPicker.tsx +0 -147
  989. package/src/components/SwitchGlyph.tsx +0 -56
  990. package/src/components/TabPill.tsx +0 -188
  991. package/src/components/ThemeThumb.tsx +0 -52
  992. package/src/components/ToggleCard.tsx +0 -120
  993. package/src/components/Tooltip.tsx +0 -288
  994. package/src/components/ZoomableImage.tsx +0 -322
  995. package/src/components/button.ts +0 -120
  996. package/src/components/floating/FloatingSurface.tsx +0 -158
  997. package/src/components/floating/HoverCard.tsx +0 -143
  998. package/src/components/floating/Popover.tsx +0 -166
  999. package/src/components/floating/useAnchoredPosition.ts +0 -186
  1000. package/src/components/floating/usePopover.ts +0 -158
  1001. package/src/components/image-clipboard.ts +0 -70
  1002. package/src/components/keyboard-layout.ts +0 -115
  1003. package/src/components/palette/PaletteList.tsx +0 -432
  1004. package/src/components/palette/PalettePanel.tsx +0 -338
  1005. package/src/components/palette/palette-layout.ts +0 -86
  1006. package/src/components/report-error.ts +0 -142
  1007. package/src/components/zoom.ts +0 -133
  1008. package/src/files/CodeViewer.tsx +0 -289
  1009. package/src/files/DiffFileViewer.tsx +0 -143
  1010. package/src/files/DiffsTab.tsx +0 -590
  1011. package/src/files/EditorColumn.tsx +0 -453
  1012. package/src/files/FilesDiagnosticsChip.tsx +0 -32
  1013. package/src/files/FilesProvider.tsx +0 -58
  1014. package/src/files/FilesTab.tsx +0 -441
  1015. package/src/files/MediaDiff.tsx +0 -61
  1016. package/src/files/MediaView.tsx +0 -170
  1017. package/src/files/ReviewDraft.tsx +0 -88
  1018. package/src/files/ReviewableDiff.tsx +0 -72
  1019. package/src/files/SearchPanel.tsx +0 -325
  1020. package/src/files/TreeColumn.tsx +0 -229
  1021. package/src/files/code-excerpt.ts +0 -265
  1022. package/src/files/code-menu.ts +0 -53
  1023. package/src/files/drafts-store.ts +0 -159
  1024. package/src/files/file-actions.ts +0 -152
  1025. package/src/files/headless/editor-prefs.ts +0 -230
  1026. package/src/files/headless/entries.ts +0 -172
  1027. package/src/files/headless/fixture-host.ts +0 -260
  1028. package/src/files/headless/host.ts +0 -387
  1029. package/src/files/headless/index.ts +0 -14
  1030. package/src/files/headless/labels.ts +0 -123
  1031. package/src/files/headless/lsp-edits.ts +0 -40
  1032. package/src/files/headless/media.ts +0 -57
  1033. package/src/files/headless/name-match.ts +0 -38
  1034. package/src/files/headless/search.ts +0 -23
  1035. package/src/files/headless/view.ts +0 -114
  1036. package/src/files/headless/workspace-diff.ts +0 -82
  1037. package/src/files/index.ts +0 -24
  1038. package/src/files/lazy-tabs.tsx +0 -41
  1039. package/src/files/tab-hooks.ts +0 -37
  1040. package/src/files/testing/contract.ts +0 -279
  1041. package/src/files/testing/demo.ts +0 -36
  1042. package/src/files/testing/index.ts +0 -7
  1043. package/src/files/useCodeReview.tsx +0 -177
  1044. package/src/files/useDiagnostics.ts +0 -59
  1045. package/src/files/useDiagnosticsRun.ts +0 -86
  1046. package/src/files/useEntryActions.ts +0 -280
  1047. package/src/files/useFilesDiagnostics.ts +0 -51
  1048. package/src/files/useFilesLabels.ts +0 -14
  1049. package/src/files/useFolderChanges.ts +0 -38
  1050. package/src/files/useLsp.ts +0 -178
  1051. package/src/files/useOpenFiles.ts +0 -402
  1052. package/src/files/useWorkspace.ts +0 -148
  1053. package/src/files/working-tree-diff.ts +0 -142
  1054. package/src/git/BranchMenu.tsx +0 -981
  1055. package/src/git/GitBar.tsx +0 -286
  1056. package/src/git/GitProvider.tsx +0 -50
  1057. package/src/git/ImportRepoDialog.tsx +0 -381
  1058. package/src/git/MoveSessionDialog.tsx +0 -394
  1059. package/src/git/RemoteFolderPicker.tsx +0 -475
  1060. package/src/git/SyncChip.tsx +0 -275
  1061. package/src/git/WherePicker.tsx +0 -358
  1062. package/src/git/headless/environment.ts +0 -132
  1063. package/src/git/headless/host.ts +0 -353
  1064. package/src/git/headless/index.ts +0 -14
  1065. package/src/git/headless/labels.ts +0 -230
  1066. package/src/git/headless/move.ts +0 -101
  1067. package/src/git/headless/remote-clone.ts +0 -44
  1068. package/src/git/headless/status-reads.ts +0 -77
  1069. package/src/git/headless/switcher.ts +0 -215
  1070. package/src/git/headless/sync.ts +0 -71
  1071. package/src/git/index.ts +0 -17
  1072. package/src/git/testing/contract.ts +0 -551
  1073. package/src/git/testing/index.ts +0 -537
  1074. package/src/git/useEnvironmentChoices.ts +0 -50
  1075. package/src/git/useGitBar.ts +0 -180
  1076. package/src/hooks/keyed-store.ts +0 -65
  1077. package/src/hooks/useHydrated.ts +0 -16
  1078. package/src/hooks/useMinuteTick.ts +0 -49
  1079. package/src/hooks/useNearViewport.ts +0 -111
  1080. package/src/hooks/usePersistedState.ts +0 -98
  1081. package/src/hooks/useResizeDrag.ts +0 -240
  1082. package/src/hooks/useTabDrag.ts +0 -88
  1083. package/src/index.ts +0 -118
  1084. package/src/keybindings/KeyCommands.tsx +0 -123
  1085. package/src/keybindings/KeyHint.tsx +0 -78
  1086. package/src/keybindings/KeybindingsProvider.tsx +0 -231
  1087. package/src/keybindings/headless/catalog.ts +0 -360
  1088. package/src/keybindings/headless/commands.ts +0 -77
  1089. package/src/keybindings/headless/fixture-host.ts +0 -51
  1090. package/src/keybindings/headless/host.ts +0 -29
  1091. package/src/keybindings/headless/index.ts +0 -13
  1092. package/src/keybindings/headless/key-scope.ts +0 -91
  1093. package/src/keybindings/headless/labels.ts +0 -14
  1094. package/src/keybindings/headless/overrides.ts +0 -64
  1095. package/src/keybindings/index.ts +0 -14
  1096. package/src/keybindings/load-once.ts +0 -11
  1097. package/src/keybindings/match.ts +0 -48
  1098. package/src/keybindings/testing/contract.ts +0 -139
  1099. package/src/keybindings/testing/index.ts +0 -6
  1100. package/src/keybindings/useHelpKey.ts +0 -35
  1101. package/src/keybindings/useKeybindingsLabels.ts +0 -14
  1102. package/src/labels.tsx +0 -175
  1103. package/src/machines/AddServerForm.tsx +0 -151
  1104. package/src/machines/Banners.tsx +0 -172
  1105. package/src/machines/DaemonMenu.tsx +0 -413
  1106. package/src/machines/HostCapabilities.tsx +0 -245
  1107. package/src/machines/HostSignIn.tsx +0 -63
  1108. package/src/machines/HostSyncPanel.tsx +0 -275
  1109. package/src/machines/HostsSection.tsx +0 -312
  1110. package/src/machines/MachinesProvider.tsx +0 -164
  1111. package/src/machines/ServerCard.tsx +0 -347
  1112. package/src/machines/ServerMachinesPanel.tsx +0 -547
  1113. package/src/machines/ServerUpdatePanel.tsx +0 -160
  1114. package/src/machines/SyncAccounts.tsx +0 -148
  1115. package/src/machines/SyncMarker.tsx +0 -87
  1116. package/src/machines/SyncOutcomeBadge.tsx +0 -84
  1117. package/src/machines/TokensPanel.tsx +0 -249
  1118. package/src/machines/headless/fixture-host.ts +0 -519
  1119. package/src/machines/headless/fixtures.ts +0 -164
  1120. package/src/machines/headless/host.ts +0 -381
  1121. package/src/machines/headless/index.ts +0 -13
  1122. package/src/machines/headless/labels.ts +0 -356
  1123. package/src/machines/headless/messages.ts +0 -197
  1124. package/src/machines/headless/presence.ts +0 -110
  1125. package/src/machines/headless/settings-focus.ts +0 -25
  1126. package/src/machines/headless/stores.ts +0 -137
  1127. package/src/machines/headless/sync.ts +0 -207
  1128. package/src/machines/index.ts +0 -29
  1129. package/src/machines/settings-section.tsx +0 -37
  1130. package/src/machines/testing/contract.ts +0 -617
  1131. package/src/machines/testing/index.ts +0 -7
  1132. package/src/machines/testing/sync.contract.ts +0 -260
  1133. package/src/motion/SwapIcon.tsx +0 -29
  1134. package/src/motion/collapse.ts +0 -21
  1135. package/src/motion/grow.tsx +0 -86
  1136. package/src/motion/layout-animating.ts +0 -50
  1137. package/src/motion/presence.ts +0 -191
  1138. package/src/motion/provider.tsx +0 -63
  1139. package/src/motion/reduced.ts +0 -36
  1140. package/src/motion/roll.tsx +0 -131
  1141. package/src/motion/shimmer.ts +0 -15
  1142. package/src/motion/size.tsx +0 -192
  1143. package/src/motion/springs.ts +0 -413
  1144. package/src/motion/swap.tsx +0 -216
  1145. package/src/motion/title-text.tsx +0 -74
  1146. package/src/onboarding/ConnectProviderCard.tsx +0 -49
  1147. package/src/onboarding/OnboardingFlow.tsx +0 -176
  1148. package/src/onboarding/OnboardingProvider.tsx +0 -209
  1149. package/src/onboarding/OnboardingStepFrame.tsx +0 -80
  1150. package/src/onboarding/conversation.tsx +0 -179
  1151. package/src/onboarding/demos/autonomy.tsx +0 -154
  1152. package/src/onboarding/demos/extensions.tsx +0 -183
  1153. package/src/onboarding/demos/features.tsx +0 -447
  1154. package/src/onboarding/demos/how-it-works.tsx +0 -698
  1155. package/src/onboarding/demos/index.ts +0 -11
  1156. package/src/onboarding/demos/parts.tsx +0 -133
  1157. package/src/onboarding/demos/tour.tsx +0 -217
  1158. package/src/onboarding/headless/controller.ts +0 -110
  1159. package/src/onboarding/headless/fixture-host.ts +0 -269
  1160. package/src/onboarding/headless/fixtures.ts +0 -486
  1161. package/src/onboarding/headless/host.ts +0 -176
  1162. package/src/onboarding/headless/index.ts +0 -8
  1163. package/src/onboarding/headless/labels.ts +0 -280
  1164. package/src/onboarding/index.ts +0 -20
  1165. package/src/onboarding/marks.tsx +0 -69
  1166. package/src/onboarding/preview-attachments.ts +0 -39
  1167. package/src/onboarding/skills/SkillSourceBrowser.tsx +0 -336
  1168. package/src/onboarding/skills/parts.tsx +0 -440
  1169. package/src/onboarding/steps/AutonomyStep.tsx +0 -128
  1170. package/src/onboarding/steps/ConnectStep.tsx +0 -104
  1171. package/src/onboarding/steps/ConnectorsStep.tsx +0 -226
  1172. package/src/onboarding/steps/ConversationStep.tsx +0 -131
  1173. package/src/onboarding/steps/ExtensionsStep.tsx +0 -113
  1174. package/src/onboarding/steps/FeatureExample.tsx +0 -46
  1175. package/src/onboarding/steps/FeaturesStep.tsx +0 -88
  1176. package/src/onboarding/steps/ImportStep.tsx +0 -156
  1177. package/src/onboarding/steps/LookStep.tsx +0 -276
  1178. package/src/onboarding/steps/ReadyStep.tsx +0 -278
  1179. package/src/onboarding/steps/SkillsStep.tsx +0 -45
  1180. package/src/onboarding/steps/StepSection.tsx +0 -63
  1181. package/src/onboarding/steps/Tradeoff.tsx +0 -45
  1182. package/src/onboarding/steps/WelcomeStep.tsx +0 -147
  1183. package/src/onboarding/steps/connect/KeyForm.tsx +0 -112
  1184. package/src/onboarding/steps/connect/ProviderPanel.tsx +0 -149
  1185. package/src/onboarding/steps/connect/ProviderReady.tsx +0 -171
  1186. package/src/onboarding/steps/connect/ready-text.ts +0 -17
  1187. package/src/onboarding/steps/index.ts +0 -12
  1188. package/src/onboarding/steps/tasks.tsx +0 -84
  1189. package/src/onboarding/testing/contract.ts +0 -472
  1190. package/src/onboarding/testing/index.ts +0 -7
  1191. package/src/onboarding/tutorials.tsx +0 -45
  1192. package/src/onboarding/useSignIn.ts +0 -58
  1193. package/src/palette/CommandPalette.tsx +0 -59
  1194. package/src/palette/PaletteDialog.tsx +0 -186
  1195. package/src/palette/PaletteProvider.tsx +0 -149
  1196. package/src/palette/PaletteRows.tsx +0 -208
  1197. package/src/palette/app-sources.ts +0 -62
  1198. package/src/palette/headless/app-sources.ts +0 -515
  1199. package/src/palette/headless/gather.ts +0 -50
  1200. package/src/palette/headless/host.ts +0 -129
  1201. package/src/palette/headless/index.ts +0 -15
  1202. package/src/palette/headless/labels.ts +0 -124
  1203. package/src/palette/headless/rank-protocol.ts +0 -23
  1204. package/src/palette/headless/recents.ts +0 -35
  1205. package/src/palette/headless/session-sources.ts +0 -218
  1206. package/src/palette/headless/sources.ts +0 -313
  1207. package/src/palette/headless/store.ts +0 -105
  1208. package/src/palette/index.ts +0 -17
  1209. package/src/palette/rank.worker.ts +0 -30
  1210. package/src/palette/setup.ts +0 -19
  1211. package/src/palette/testing/contract.ts +0 -250
  1212. package/src/palette/testing/index.ts +0 -152
  1213. package/src/palette/useConversationSearch.ts +0 -115
  1214. package/src/palette/usePaletteController.ts +0 -229
  1215. package/src/palette/useRankedItems.ts +0 -122
  1216. package/src/path.ts +0 -165
  1217. package/src/server/demo-tools.ts +0 -34
  1218. package/src/server/environment.ts +0 -118
  1219. package/src/server/index.ts +0 -7
  1220. package/src/server/scripted-provider.ts +0 -174
  1221. package/src/server/sse-handler.ts +0 -457
  1222. package/src/server/testing/index.ts +0 -7
  1223. package/src/session/ArtifactRowChips.tsx +0 -251
  1224. package/src/session/ArtifactsPanel.tsx +0 -381
  1225. package/src/session/DiffFileTree.tsx +0 -173
  1226. package/src/session/PanelAttention.tsx +0 -131
  1227. package/src/session/ProviderUsageProvider.tsx +0 -106
  1228. package/src/session/QueueTab.tsx +0 -669
  1229. package/src/session/RunningWorkDialog.tsx +0 -178
  1230. package/src/session/SessionCacheFacts.tsx +0 -190
  1231. package/src/session/SessionDetailsDialog.tsx +0 -621
  1232. package/src/session/SessionHeader.tsx +0 -237
  1233. package/src/session/SessionProvider.tsx +0 -98
  1234. package/src/session/SessionShell.tsx +0 -77
  1235. package/src/session/SideChat.tsx +0 -316
  1236. package/src/session/TodoList.tsx +0 -123
  1237. package/src/session/TodosPanel.tsx +0 -278
  1238. package/src/session/TurnDetailsDialog.tsx +0 -299
  1239. package/src/session/UsagePanel.tsx +0 -222
  1240. package/src/session/WelcomeScreen.tsx +0 -578
  1241. package/src/session/headless/artifacts.ts +0 -101
  1242. package/src/session/headless/diff-tree.ts +0 -167
  1243. package/src/session/headless/fixture-host.ts +0 -331
  1244. package/src/session/headless/host.ts +0 -255
  1245. package/src/session/headless/index.ts +0 -22
  1246. package/src/session/headless/keyed.ts +0 -72
  1247. package/src/session/headless/labels.ts +0 -321
  1248. package/src/session/headless/queue-attachments.ts +0 -73
  1249. package/src/session/headless/queue.ts +0 -122
  1250. package/src/session/headless/running-work.ts +0 -85
  1251. package/src/session/headless/session-actions.ts +0 -198
  1252. package/src/session/headless/session-diffs.ts +0 -136
  1253. package/src/session/headless/side.ts +0 -63
  1254. package/src/session/headless/todos.ts +0 -62
  1255. package/src/session/headless/usage-format.ts +0 -280
  1256. package/src/session/headless/usage.ts +0 -380
  1257. package/src/session/index.ts +0 -29
  1258. package/src/session/testing/contract.ts +0 -579
  1259. package/src/session/testing/demo.ts +0 -209
  1260. package/src/session/testing/index.ts +0 -7
  1261. package/src/session/useSessionLabels.ts +0 -14
  1262. package/src/session/useUsageSummary.ts +0 -82
  1263. package/src/settings/SettingsHeadingText.tsx +0 -54
  1264. package/src/settings/SettingsHostSwitcher.tsx +0 -93
  1265. package/src/settings/SettingsNav.tsx +0 -116
  1266. package/src/settings/SettingsProvider.tsx +0 -127
  1267. package/src/settings/SettingsRowsPage.tsx +0 -217
  1268. package/src/settings/SettingsShell.tsx +0 -336
  1269. package/src/settings/SettingsTutorial.tsx +0 -55
  1270. package/src/settings/headless/catalog.ts +0 -553
  1271. package/src/settings/headless/claude-import.ts +0 -61
  1272. package/src/settings/headless/enabled.ts +0 -44
  1273. package/src/settings/headless/fixture-accounts.ts +0 -260
  1274. package/src/settings/headless/fixture-host.ts +0 -162
  1275. package/src/settings/headless/fixture-models.ts +0 -51
  1276. package/src/settings/headless/fixture-performance.ts +0 -350
  1277. package/src/settings/headless/fixture-sections.ts +0 -323
  1278. package/src/settings/headless/host.ts +0 -125
  1279. package/src/settings/headless/index.ts +0 -22
  1280. package/src/settings/headless/labels.ts +0 -63
  1281. package/src/settings/headless/layout-sections.ts +0 -41
  1282. package/src/settings/headless/layout.ts +0 -723
  1283. package/src/settings/headless/mcp.ts +0 -319
  1284. package/src/settings/headless/models.ts +0 -51
  1285. package/src/settings/headless/page-counts.ts +0 -40
  1286. package/src/settings/headless/performance.ts +0 -524
  1287. package/src/settings/headless/providers.ts +0 -117
  1288. package/src/settings/headless/registry.ts +0 -52
  1289. package/src/settings/headless/resource.ts +0 -75
  1290. package/src/settings/headless/search.ts +0 -142
  1291. package/src/settings/headless/sections-host.ts +0 -307
  1292. package/src/settings/index.ts +0 -32
  1293. package/src/settings/rows.tsx +0 -152
  1294. package/src/settings/section.tsx +0 -165
  1295. package/src/settings/sections/appearance/AppearanceSection.tsx +0 -667
  1296. package/src/settings/sections/appearance/labels.ts +0 -77
  1297. package/src/settings/sections/claude-import/ClaudeImportDialog.tsx +0 -258
  1298. package/src/settings/sections/claude-import/labels.ts +0 -42
  1299. package/src/settings/sections/claude-import/use-claude-import-available.ts +0 -35
  1300. package/src/settings/sections/descriptors.tsx +0 -261
  1301. package/src/settings/sections/editor/EditorSection.tsx +0 -521
  1302. package/src/settings/sections/editor/labels.ts +0 -84
  1303. package/src/settings/sections/enabled-list/EnabledListSection.tsx +0 -112
  1304. package/src/settings/sections/enabled-list/labels.ts +0 -37
  1305. package/src/settings/sections/environments/EnvironmentsSection.tsx +0 -549
  1306. package/src/settings/sections/environments/labels.ts +0 -31
  1307. package/src/settings/sections/extensions/CreateExtensionDialog.tsx +0 -206
  1308. package/src/settings/sections/extensions/ExtensionOptionsSection.tsx +0 -743
  1309. package/src/settings/sections/extensions/ExtensionsSection.tsx +0 -480
  1310. package/src/settings/sections/extensions/create-labels.ts +0 -31
  1311. package/src/settings/sections/extensions/labels.ts +0 -38
  1312. package/src/settings/sections/extensions/options-labels.ts +0 -31
  1313. package/src/settings/sections/host-catalog/HostCatalogSection.tsx +0 -374
  1314. package/src/settings/sections/host-catalog/labels.ts +0 -40
  1315. package/src/settings/sections/index.ts +0 -58
  1316. package/src/settings/sections/instructions/InstructionsSection.tsx +0 -381
  1317. package/src/settings/sections/instructions/labels.ts +0 -33
  1318. package/src/settings/sections/keybindings/KeybindingsSection.tsx +0 -124
  1319. package/src/settings/sections/keybindings/labels.ts +0 -72
  1320. package/src/settings/sections/keybindings/rows.ts +0 -103
  1321. package/src/settings/sections/logs/LogsSection.tsx +0 -153
  1322. package/src/settings/sections/logs/labels.ts +0 -20
  1323. package/src/settings/sections/mcp/McpAddForm.tsx +0 -245
  1324. package/src/settings/sections/mcp/McpSection.tsx +0 -358
  1325. package/src/settings/sections/mcp/McpServerRow.tsx +0 -403
  1326. package/src/settings/sections/mcp/labels.ts +0 -193
  1327. package/src/settings/sections/models/AgentDefaults.tsx +0 -365
  1328. package/src/settings/sections/models/ModelListPicker.tsx +0 -265
  1329. package/src/settings/sections/models/ModelPickField.tsx +0 -220
  1330. package/src/settings/sections/models/ModelRows.tsx +0 -381
  1331. package/src/settings/sections/models/SpacesDefaultsSection.tsx +0 -102
  1332. package/src/settings/sections/models/labels.ts +0 -119
  1333. package/src/settings/sections/models/model-test.tsx +0 -125
  1334. package/src/settings/sections/performance/PerfSparkline.tsx +0 -64
  1335. package/src/settings/sections/performance/PerformanceHud.tsx +0 -110
  1336. package/src/settings/sections/performance/PerformanceSection.tsx +0 -770
  1337. package/src/settings/sections/performance/labels.ts +0 -114
  1338. package/src/settings/sections/performance/use-perf-monitor.ts +0 -26
  1339. package/src/settings/sections/plugins/PluginsSection.tsx +0 -148
  1340. package/src/settings/sections/plugins/labels.ts +0 -23
  1341. package/src/settings/sections/providers/CredentialSources.tsx +0 -237
  1342. package/src/settings/sections/providers/ProvidersSection.tsx +0 -389
  1343. package/src/settings/sections/providers/ServerProvidersSection.tsx +0 -244
  1344. package/src/settings/sections/providers/ServerSignIn.tsx +0 -136
  1345. package/src/settings/sections/providers/labels.ts +0 -160
  1346. package/src/settings/sections/shared/catalog.tsx +0 -246
  1347. package/src/settings/sections/shared/labels.ts +0 -31
  1348. package/src/settings/sections/skills/SkillList.tsx +0 -494
  1349. package/src/settings/sections/skills/SkillsSection.tsx +0 -249
  1350. package/src/settings/sections/skills/labels.ts +0 -54
  1351. package/src/settings/sections/use-section-labels.ts +0 -10
  1352. package/src/settings/testing/accounts-demo.ts +0 -110
  1353. package/src/settings/testing/accounts.contract.ts +0 -319
  1354. package/src/settings/testing/claude-import.contract.ts +0 -93
  1355. package/src/settings/testing/contract.ts +0 -192
  1356. package/src/settings/testing/extension-options.contract.ts +0 -163
  1357. package/src/settings/testing/index.ts +0 -11
  1358. package/src/settings/testing/models.contract.ts +0 -135
  1359. package/src/settings/testing/performance.contract.ts +0 -219
  1360. package/src/settings/testing/sections.contract.ts +0 -306
  1361. package/src/terminal/HostTerminalSurface.tsx +0 -911
  1362. package/src/terminal/TerminalDrawer.tsx +0 -228
  1363. package/src/terminal/TerminalPanel.tsx +0 -740
  1364. package/src/terminal/TerminalProvider.tsx +0 -201
  1365. package/src/terminal/TerminalSurface.tsx +0 -262
  1366. package/src/terminal/box-glyphs.ts +0 -333
  1367. package/src/terminal/ghostty.ts +0 -116
  1368. package/src/terminal/grid-size.ts +0 -46
  1369. package/src/terminal/headless/fixture-host.ts +0 -250
  1370. package/src/terminal/headless/host.ts +0 -99
  1371. package/src/terminal/headless/index.ts +0 -11
  1372. package/src/terminal/headless/labels.ts +0 -69
  1373. package/src/terminal/headless/layout.ts +0 -57
  1374. package/src/terminal/headless/links.ts +0 -227
  1375. package/src/terminal/headless/order.ts +0 -28
  1376. package/src/terminal/headless/output-cursor.ts +0 -66
  1377. package/src/terminal/headless/recent.ts +0 -20
  1378. package/src/terminal/headless/replay.ts +0 -45
  1379. package/src/terminal/headless/scope.ts +0 -60
  1380. package/src/terminal/headless/store.ts +0 -621
  1381. package/src/terminal/index.ts +0 -40
  1382. package/src/terminal/keys.ts +0 -34
  1383. package/src/terminal/testing/contract.ts +0 -274
  1384. package/src/terminal/testing/demo.ts +0 -40
  1385. package/src/terminal/testing/index.ts +0 -7
  1386. package/src/terminal/theme.ts +0 -110
  1387. package/src/terminal/useTerminalLabels.ts +0 -14
  1388. package/src/theme/accents.ts +0 -46
  1389. package/src/theme/color.ts +0 -450
  1390. package/src/theme/css-vars.ts +0 -187
  1391. package/src/theme/derive.ts +0 -700
  1392. package/src/theme/from-theme.ts +0 -52
  1393. package/src/theme/stylesheet.ts +0 -55
  1394. package/src/theme/themes.ts +0 -767
  1395. package/src/theme/without-transitions.ts +0 -18
  1396. package/src/uno.ts +0 -167
  1397. package/src/workspace/LayoutBudget.tsx +0 -143
  1398. package/src/workspace/PanelContentView.tsx +0 -335
  1399. package/src/workspace/PanelGroups.tsx +0 -249
  1400. package/src/workspace/PanelStrip.tsx +0 -307
  1401. package/src/workspace/SidePanel.tsx +0 -192
  1402. package/src/workspace/TabParking.tsx +0 -111
  1403. package/src/workspace/WorkspaceProvider.tsx +0 -554
  1404. package/src/workspace/dnd/engine.ts +0 -371
  1405. package/src/workspace/dnd/hooks.ts +0 -72
  1406. package/src/workspace/dnd/index.ts +0 -57
  1407. package/src/workspace/dnd/parking.tsx +0 -181
  1408. package/src/workspace/frame-motion.ts +0 -160
  1409. package/src/workspace/headless/contents.ts +0 -125
  1410. package/src/workspace/headless/host.ts +0 -118
  1411. package/src/workspace/headless/index.ts +0 -33
  1412. package/src/workspace/headless/labels.ts +0 -34
  1413. package/src/workspace/headless/layout-memory.ts +0 -649
  1414. package/src/workspace/headless/layouts.ts +0 -224
  1415. package/src/workspace/headless/open-target.ts +0 -125
  1416. package/src/workspace/headless/ops.ts +0 -163
  1417. package/src/workspace/headless/panel-focus.ts +0 -58
  1418. package/src/workspace/headless/panel-tree.ts +0 -259
  1419. package/src/workspace/headless/resolve.ts +0 -146
  1420. package/src/workspace/headless/reveal-at.ts +0 -27
  1421. package/src/workspace/headless/strip-drop.ts +0 -81
  1422. package/src/workspace/headless/tree.ts +0 -480
  1423. package/src/workspace/headless/view.ts +0 -159
  1424. package/src/workspace/index.ts +0 -22
  1425. package/src/workspace/panel-group-keys.ts +0 -36
  1426. package/src/workspace/panel-visibility.ts +0 -28
  1427. package/src/workspace/tab-scopes.ts +0 -245
  1428. package/src/workspace/testing/contract.ts +0 -282
  1429. package/src/workspace/testing/index.ts +0 -140
  1430. package/src/workspace/use-split-drag.ts +0 -73
  1431. package/src/workspace/useScopeLayout.ts +0 -26
  1432. package/src/workspace/useViewport.ts +0 -22
  1433. package/src/workspace/useWorkspaceLabels.ts +0 -14
  1434. package/src/workspace/workspace-key-commands.ts +0 -108
  1435. /package/dist/dist/{types-bDQagoiL.d.ts → types-2HrgolQz.d.ts} +0 -0
@@ -22,6 +22,13 @@ declare function hasComposerFor(scopeKey: string | null | undefined): boolean;
22
22
  declare function useComposerFor(scopeKey: string | null): ComposerTarget | null;
23
23
  /** Whether the window has a composer: where a push without a target goes (producers without a scope of their own). */
24
24
  declare function hasFocusedComposer(): boolean;
25
+ /**
26
+ * Whether the composer receiving `scopeKey` (`null`: a folderless draft) is the window's: the one a push
27
+ * without a target goes to.
28
+ *
29
+ * @param scopeKey - The composer's scope.
30
+ */
31
+ declare function isFocusedComposer(scopeKey: string | null): boolean;
25
32
  /** Live {@link hasFocusedComposer}. */
26
33
  declare function useHasFocusedComposer(): boolean;
27
34
  /** Why a chat action is disabled (its tooltip). */
@@ -146,4 +153,4 @@ declare function onComposerDraft(scopeKey: string | null, handler: (draft: Compo
146
153
  */
147
154
  declare function textAttachment(name: string, text: string): ComposerAttachment;
148
155
  //#endregion
149
- export { ComposerDraft, ComposerTarget, NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer };
156
+ export { ComposerDraft, ComposerTarget, NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, isFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer };
@@ -61,6 +61,15 @@ function useComposerFor(scopeKey) {
61
61
  function hasFocusedComposer() {
62
62
  return focusedClaim !== null;
63
63
  }
64
+ /**
65
+ * Whether the composer receiving `scopeKey` (`null`: a folderless draft) is the window's: the one a push
66
+ * without a target goes to.
67
+ *
68
+ * @param scopeKey - The composer's scope.
69
+ */
70
+ function isFocusedComposer(scopeKey) {
71
+ return focusedClaim !== null && focusedClaim.scopeKey === (scopeKey ?? NO_SCOPE);
72
+ }
64
73
  /** Live {@link hasFocusedComposer}. */
65
74
  function useHasFocusedComposer() {
66
75
  return useSyncExternalStore(subscribeScopes, hasFocusedComposer, hasFocusedComposer);
@@ -251,4 +260,4 @@ function textAttachment(name, text) {
251
260
  };
252
261
  }
253
262
  //#endregion
254
- export { NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer };
263
+ export { NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, isFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer };
@@ -39,23 +39,23 @@ import { PromptHistoryProvider, PromptHistoryProviderProps, PromptHistoryValue,
39
39
  import { ComposerRetry, RetryPill, RetryPillProps } from "./RetryPill.js";
40
40
  import { RunStatusChip, RunStatusChipProps } from "./RunStatusChip.js";
41
41
  import { ScopeToggle, ScopeToggleProps } from "./ScopeToggle.js";
42
+ import { SelectTurnHint, SelectTurnHintProps } from "./SelectTurnHint.js";
42
43
  import { SendButton, SendButtonProps, SendRoute } from "./SendButton.js";
43
44
  import { ServerScopeToggle, ServerScopeToggleProps } from "./ServerScopeToggle.js";
44
45
  import { AttachmentNotices, AttachmentNoticesProps, AttachmentTiles, AttachmentTilesProps, attachmentLightboxItems } from "./attachments.js";
45
46
  import { DEFAULT_BADGE_ORDER, OrderedBadge, mergeBadgeOrder, orderComposerBadges } from "./badge-order.js";
46
- import { ComposerDraft, ComposerTarget, NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer } from "./composer-bus.js";
47
+ import { ComposerDraft, ComposerTarget, NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, isFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer } from "./composer-bus.js";
47
48
  import { isCaretAtEnd, isCaretAtStart, plainTextToDocJson } from "./prompt-history-nav.js";
48
49
  import { suggestionExtension } from "./suggestion-extension.js";
49
50
  import { ATTACHMENT_NOTICE_MS, useAttachmentIngest, useAttachmentNotices } from "./useAttachmentIngest.js";
50
51
  import { CycleAgentOptions, nextProfileId, useAgentProfiles, useCycleAgent } from "./use-agent-profiles.js";
51
52
  import { useCacheHints } from "./use-cache-hints.js";
52
53
  import { ModelCatalogState, resourceErrorText, useComposerModelName, useComposerProviderLabel, useDraftKnobs, useHostResource, useModelCatalog, useModelKnobs, useModelPickerPrefs, useModelPickerPrefsStore, useRememberedKnobs } from "./use-composer-stores.js";
53
- import { DraftServer, DraftTarget, DraftTargetOptions, useDraftTarget } from "./use-draft-target.js";
54
- import { useHudBadges, useHudStatuses } from "./use-hud.js";
54
+ import { DraftServer, DraftTarget, DraftTargetOptions, DraftTargetRequest, useDraftTarget } from "./use-draft-target.js";
55
55
  import { useJoinedRunProgress, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt } from "./use-run-meter.js";
56
56
  import { SendPromptControls, SendPromptOptions, useSendPrompt } from "./use-send-prompt.js";
57
57
  import { SessionMeters, SessionMetersTarget, useSessionContextStatus, useSessionMeters } from "./use-session-meters.js";
58
58
  import { NewSessionDefaults, NewSessionModelSource, useNewSessionDefaults } from "./use-new-session-defaults.js";
59
59
  import { useProviderReadyPoll } from "./use-provider-ready-poll.js";
60
60
  import { WORK_HOLD_MS, WORK_SHOW_MS, useSustainedWork, workShowDelay } from "./use-sustained-work.js";
61
- export { ATTACHMENT_NOTICE_MS, AgentPicker, AgentPickerDialog, AgentPickerDialogProps, AgentPickerProps, AgentProfile, ApprovalDock, ApprovalDockProps, ArchivedBanner, ArchivedBannerProps, AttachmentLabelFn, AttachmentNotices, AttachmentNoticesProps, AttachmentRefusedError, AttachmentRow, AttachmentRowProps, AttachmentTiles, AttachmentTilesProps, Composer, type ComposerAttachment, ComposerBadge, ComposerBadgeTone, ComposerBadges, ComposerBadgesProps, ComposerControls, ComposerControlsProps, ComposerDefaults, ComposerDock, ComposerDockProps, ComposerDraft, ComposerHandle, ComposerHostProvider, ComposerHostProviderProps, ComposerProps, ComposerResult, ComposerRetry, ComposerStatusPills, ComposerStatusPillsProps, ComposerSubmit, ComposerTarget, ContextBreakdown, type ContextBreakdownData, ContextBreakdownProps, ContextCost, ContextGauge, ContextOrb, ContextOrbProps, ContextUsage, ConversationBadges, ConversationBadgesProps, Cursor, CycleAgentOptions, DEFAULT_BADGE_ORDER, DockCard, DockCardProps, DockRow, DockRowProps, DraftServer, DraftTarget, DraftTargetOptions, EFFORT_LEVELS, EffortLevel, EffortPickerDialog, EffortPickerDialogProps, HostAgentPicker, HostAgentPickerProps, HostComposer, HostComposerProps, HostContextOrb, HostContextOrbProps, HostModelChainList, HostModelChainListProps, HostModelImages, HostModelOptionsPicker, HostModelOptionsPickerProps, HostModelPicker, HostModelPickerProps, HostPicker, HostPickerProps, ImageModelList, ImageModelListProps, type ImageModelRow, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MentionItem, type ModelCatalogRow, ModelCatalogState, ModelChainFooter, ModelChainFooterProps, ModelChainHeader, ModelChainHeaderProps, ModelChainImages, ModelChainList, ModelChainListProps, ModelChainPopover, ModelChainPopoverProps, ModelChainRow, ModelChainRowProps, ModelChainRows, ModelChainRowsProps, ModelChainTooltip, ModelChainTooltipProps, ModelChoice, ModelFlag, ModelFlagProps, ModelGroupHeader, ModelGroupHeaderProps, ModelKind, ModelMeta, ModelMetaProps, ModelOption, ModelOptionsPicker, ModelOptionsPickerProps, type ModelPickRef, ModelPicker, ModelPickerDialog, ModelPickerDialogProps, ModelPickerFrame, ModelPickerFrameProps, ModelPickerProps, ModelProviderChip, ModelProviderChipProps, ModelProviderPills, ModelProviderPillsProps, ModelReasoning, ModelReasoningProps, ModelWindow, ModelWindowProps, NO_COMPOSER_HINT, NewSessionDefaults, NewSessionModelSource, OPTION_ICON, OrderedBadge, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PickerGroup, PickerPill, PickerPillProps, ProjectMenu, ProjectMenuProps, PromptHistoryProvider, PromptHistoryProviderProps, PromptHistoryValue, RetryPill, RetryPillProps, RunStatusChip, RunStatusChipProps, ScopeToggle, ScopeToggleProps, SendButton, SendButtonProps, SendPromptControls, SendPromptOptions, SendRoute, ServerScopeToggle, ServerScopeToggleProps, SessionMeters, SessionMetersTarget, SuggestionKind, SuggestionPopup, SuggestionPopupProps, SuggestionSource, SuggestionState, THINKING_LEVELS, TRIGGER, ThinkingLevel, WORK_HOLD_MS, WORK_SHOW_MS, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, colorForCategory, compactWindow, contextGauge, decodeDataUrlAsText, defaultAttachmentTileLabel, detectLanguage, effectiveImageModel, findModel, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, imageCatalogRows, imageModelKey, isCaretAtEnd, isCaretAtStart, isPdfAttachment, isTextLike, lineupKeyOf, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, nextProfileId, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orderComposerBadges, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refKey, registerComposerScope, resolveChain, resolvePick, resourceErrorText, rowKey, shouldFoldPasteToAttachment, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useCacheHints, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useCycleAgent, useDraftKnobs, useDraftTarget, useHasFocusedComposer, useHostResource, useHudBadges, useHudStatuses, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, usePromptHistory, useProviderReadyPoll, useRememberedKnobs, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSendPrompt, useSessionContextStatus, useSessionMeters, useSustainedWork, withPrimary, workShowDelay };
61
+ export { ATTACHMENT_NOTICE_MS, AgentPicker, AgentPickerDialog, AgentPickerDialogProps, AgentPickerProps, AgentProfile, ApprovalDock, ApprovalDockProps, ArchivedBanner, ArchivedBannerProps, AttachmentLabelFn, AttachmentNotices, AttachmentNoticesProps, AttachmentRefusedError, AttachmentRow, AttachmentRowProps, AttachmentTiles, AttachmentTilesProps, Composer, type ComposerAttachment, ComposerBadge, ComposerBadgeTone, ComposerBadges, ComposerBadgesProps, ComposerControls, ComposerControlsProps, ComposerDefaults, ComposerDock, ComposerDockProps, ComposerDraft, ComposerHandle, ComposerHostProvider, ComposerHostProviderProps, ComposerProps, ComposerResult, ComposerRetry, ComposerStatusPills, ComposerStatusPillsProps, ComposerSubmit, ComposerTarget, ContextBreakdown, type ContextBreakdownData, ContextBreakdownProps, ContextCost, ContextGauge, ContextOrb, ContextOrbProps, ContextUsage, ConversationBadges, ConversationBadgesProps, Cursor, CycleAgentOptions, DEFAULT_BADGE_ORDER, DockCard, DockCardProps, DockRow, DockRowProps, DraftServer, DraftTarget, DraftTargetOptions, DraftTargetRequest, EFFORT_LEVELS, EffortLevel, EffortPickerDialog, EffortPickerDialogProps, HostAgentPicker, HostAgentPickerProps, HostComposer, HostComposerProps, HostContextOrb, HostContextOrbProps, HostModelChainList, HostModelChainListProps, HostModelImages, HostModelOptionsPicker, HostModelOptionsPickerProps, HostModelPicker, HostModelPickerProps, HostPicker, HostPickerProps, ImageModelList, ImageModelListProps, type ImageModelRow, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, MentionItem, type ModelCatalogRow, ModelCatalogState, ModelChainFooter, ModelChainFooterProps, ModelChainHeader, ModelChainHeaderProps, ModelChainImages, ModelChainList, ModelChainListProps, ModelChainPopover, ModelChainPopoverProps, ModelChainRow, ModelChainRowProps, ModelChainRows, ModelChainRowsProps, ModelChainTooltip, ModelChainTooltipProps, ModelChoice, ModelFlag, ModelFlagProps, ModelGroupHeader, ModelGroupHeaderProps, ModelKind, ModelMeta, ModelMetaProps, ModelOption, ModelOptionsPicker, ModelOptionsPickerProps, type ModelPickRef, ModelPicker, ModelPickerDialog, ModelPickerDialogProps, ModelPickerFrame, ModelPickerFrameProps, ModelPickerProps, ModelProviderChip, ModelProviderChipProps, ModelProviderPills, ModelProviderPillsProps, ModelReasoning, ModelReasoningProps, ModelWindow, ModelWindowProps, NO_COMPOSER_HINT, NewSessionDefaults, NewSessionModelSource, OPTION_ICON, OrderedBadge, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PickerGroup, PickerPill, PickerPillProps, ProjectMenu, ProjectMenuProps, PromptHistoryProvider, PromptHistoryProviderProps, PromptHistoryValue, RetryPill, RetryPillProps, RunStatusChip, RunStatusChipProps, ScopeToggle, ScopeToggleProps, SelectTurnHint, type SelectTurnHintProps, SendButton, SendButtonProps, SendPromptControls, SendPromptOptions, SendRoute, ServerScopeToggle, ServerScopeToggleProps, SessionMeters, SessionMetersTarget, SuggestionKind, SuggestionPopup, SuggestionPopupProps, SuggestionSource, SuggestionState, THINKING_LEVELS, TRIGGER, ThinkingLevel, WORK_HOLD_MS, WORK_SHOW_MS, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, colorForCategory, compactWindow, contextGauge, decodeDataUrlAsText, defaultAttachmentTileLabel, detectLanguage, effectiveImageModel, findModel, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, imageCatalogRows, imageModelKey, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isPdfAttachment, isTextLike, lineupKeyOf, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, nextProfileId, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orderComposerBadges, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refKey, registerComposerScope, resolveChain, resolvePick, resourceErrorText, rowKey, shouldFoldPasteToAttachment, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useCacheHints, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useCycleAgent, useDraftKnobs, useDraftTarget, useHasFocusedComposer, useHostResource, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, usePromptHistory, useProviderReadyPoll, useRememberedKnobs, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSendPrompt, useSessionContextStatus, useSessionMeters, useSustainedWork, withPrimary, workShowDelay };
@@ -1,5 +1,6 @@
1
1
  import { ComposerHostProvider, useComposerHost, useComposerLabels } from "./ComposerHostProvider.js";
2
2
  import { AttachmentRefusedError, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, attachmentErrorText, decodeDataUrlAsText, detectLanguage, formatBytes, isPdfAttachment, isTextLike, pastedTextFilename, readAttachment, shouldFoldPasteToAttachment } from "./attachment-ingest.js";
3
+ import { NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, isFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer } from "./composer-bus.js";
3
4
  import { PickerPill } from "./PickerPill.js";
4
5
  import { AgentPicker } from "./AgentPicker.js";
5
6
  import { AttachmentNotices, AttachmentTiles, attachmentLightboxItems } from "./attachments.js";
@@ -23,7 +24,6 @@ import { ModelChainPopover, ModelPicker, ModelPickerFrame, findModel, modelKey }
23
24
  import { HostComposer } from "./HostComposer.js";
24
25
  import { AttachmentRow, defaultAttachmentTileLabel, useAttachmentRemoval } from "./AttachmentTiles.js";
25
26
  import { DEFAULT_BADGE_ORDER, mergeBadgeOrder, orderComposerBadges } from "./badge-order.js";
26
- import { NO_COMPOSER_HINT, __resetComposerScopesForTests, claimComposerFocus, focusComposer, hasComposerFor, hasFocusedComposer, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, registerComposerScope, textAttachment, useComposerFor, useHasFocusedComposer } from "./composer-bus.js";
27
27
  import { PromptHistoryProvider, usePromptHistory } from "./PromptHistoryProvider.js";
28
28
  import { ContextBreakdown, colorForCategory } from "./ContextBreakdown.js";
29
29
  import { ContextOrb, contextGauge } from "./ContextOrb.js";
@@ -41,9 +41,9 @@ import { HostAgentPicker, HostModelOptionsPicker, HostModelPicker } from "./Host
41
41
  import { useJoinedRunProgress, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt } from "./use-run-meter.js";
42
42
  import { RunStatusChip } from "./RunStatusChip.js";
43
43
  import { ComposerControls, ComposerStatusPills } from "./ComposerControls.js";
44
- import { useHudBadges, useHudStatuses } from "./use-hud.js";
45
44
  import { WORK_HOLD_MS, WORK_SHOW_MS, useSustainedWork, workShowDelay } from "./use-sustained-work.js";
46
45
  import { ConversationBadges } from "./ConversationBadges.js";
46
+ import { SelectTurnHint } from "./SelectTurnHint.js";
47
47
  import { EffortPickerDialog } from "./EffortPickerDialog.js";
48
48
  import { HostModelChainList } from "./HostModelChainList.js";
49
49
  import { ModelPickerDialog } from "./ModelPickerDialog.js";
@@ -56,4 +56,4 @@ import { useSendPrompt } from "./use-send-prompt.js";
56
56
  import { useSessionContextStatus, useSessionMeters } from "./use-session-meters.js";
57
57
  import { useNewSessionDefaults } from "./use-new-session-defaults.js";
58
58
  import { useProviderReadyPoll } from "./use-provider-ready-poll.js";
59
- export { ATTACHMENT_NOTICE_MS, AgentPicker, AgentPickerDialog, ApprovalDock, ArchivedBanner, AttachmentNotices, AttachmentRefusedError, AttachmentRow, AttachmentTiles, Composer, ComposerBadges, ComposerControls, ComposerDock, ComposerHostProvider, ComposerStatusPills, ContextBreakdown, ContextOrb, ConversationBadges, DEFAULT_BADGE_ORDER, DockCard, DockRow, EFFORT_LEVELS, EffortPickerDialog, HostAgentPicker, HostComposer, HostContextOrb, HostModelChainList, HostModelOptionsPicker, HostModelPicker, HostPicker, ImageModelList, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, ModelChainFooter, ModelChainHeader, ModelChainList, ModelChainPopover, ModelChainRow, ModelChainRows, ModelChainTooltip, ModelFlag, ModelGroupHeader, ModelMeta, ModelOptionsPicker, ModelPicker, ModelPickerDialog, ModelPickerFrame, ModelProviderChip, ModelProviderPills, ModelReasoning, ModelWindow, NO_COMPOSER_HINT, OPTION_ICON, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PickerPill, ProjectMenu, PromptHistoryProvider, RetryPill, RunStatusChip, ScopeToggle, SendButton, ServerScopeToggle, SuggestionPopup, THINKING_LEVELS, TRIGGER, WORK_HOLD_MS, WORK_SHOW_MS, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, colorForCategory, compactWindow, contextGauge, decodeDataUrlAsText, defaultAttachmentTileLabel, detectLanguage, effectiveImageModel, findModel, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, imageCatalogRows, imageModelKey, isCaretAtEnd, isCaretAtStart, isPdfAttachment, isTextLike, lineupKeyOf, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, nextProfileId, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orderComposerBadges, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refKey, registerComposerScope, resolveChain, resolvePick, resourceErrorText, rowKey, shouldFoldPasteToAttachment, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useCacheHints, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useCycleAgent, useDraftKnobs, useDraftTarget, useHasFocusedComposer, useHostResource, useHudBadges, useHudStatuses, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, usePromptHistory, useProviderReadyPoll, useRememberedKnobs, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSendPrompt, useSessionContextStatus, useSessionMeters, useSustainedWork, withPrimary, workShowDelay };
59
+ export { ATTACHMENT_NOTICE_MS, AgentPicker, AgentPickerDialog, ApprovalDock, ArchivedBanner, AttachmentNotices, AttachmentRefusedError, AttachmentRow, AttachmentTiles, Composer, ComposerBadges, ComposerControls, ComposerDock, ComposerHostProvider, ComposerStatusPills, ContextBreakdown, ContextOrb, ConversationBadges, DEFAULT_BADGE_ORDER, DockCard, DockRow, EFFORT_LEVELS, EffortPickerDialog, HostAgentPicker, HostComposer, HostContextOrb, HostModelChainList, HostModelOptionsPicker, HostModelPicker, HostPicker, ImageModelList, MAX_FILE_ATTACHMENT_BYTES, MAX_IMAGE_ATTACHMENT_BYTES, ModelChainFooter, ModelChainHeader, ModelChainList, ModelChainPopover, ModelChainRow, ModelChainRows, ModelChainTooltip, ModelFlag, ModelGroupHeader, ModelMeta, ModelOptionsPicker, ModelPicker, ModelPickerDialog, ModelPickerFrame, ModelProviderChip, ModelProviderPills, ModelReasoning, ModelWindow, NO_COMPOSER_HINT, OPTION_ICON, PASTE_FOLD_CHAR_THRESHOLD, PASTE_FOLD_LINE_THRESHOLD, PickerPill, ProjectMenu, PromptHistoryProvider, RetryPill, RunStatusChip, ScopeToggle, SelectTurnHint, SendButton, ServerScopeToggle, SuggestionPopup, THINKING_LEVELS, TRIGGER, WORK_HOLD_MS, WORK_SHOW_MS, __resetComposerScopesForTests, attachmentErrorText, attachmentLightboxItems, canJoinChain, catalogFromProviders, claimComposerFocus, colorForCategory, compactWindow, contextGauge, decodeDataUrlAsText, defaultAttachmentTileLabel, detectLanguage, effectiveImageModel, findModel, focusComposer, formatBytes, groupKeyOf, hasComposerFor, hasFocusedComposer, imageCatalogRows, imageModelKey, isCaretAtEnd, isCaretAtStart, isFocusedComposer, isPdfAttachment, isTextLike, lineupKeyOf, mergeBadgeOrder, modelKey, modelLineup, modelNameOf, modelSearchScore, nextProfileId, offCatalogRows, onComposerAttachment, onComposerDraft, onComposerFocus, onComposerInsert, onComposerMention, onComposerPrompt, orderComposerBadges, pastedTextFilename, pickRefOf, pickerGroups, plainTextToDocJson, providerAccountLabel, pushComposerAttachment, pushComposerDraft, pushComposerInsert, pushComposerMention, pushComposerPrompt, readAttachment, refKey, registerComposerScope, resolveChain, resolvePick, resourceErrorText, rowKey, shouldFoldPasteToAttachment, suggestionExtension, textAttachment, unresolveChain, useAgentProfiles, useAttachmentIngest, useAttachmentNotices, useAttachmentRemoval, useCacheHints, useComposerFor, useComposerHost, useComposerLabels, useComposerModelName, useComposerProviderLabel, useCycleAgent, useDraftKnobs, useDraftTarget, useHasFocusedComposer, useHostResource, useJoinedRunProgress, useModelCatalog, useModelKnobs, useModelPickerPrefs, useModelPickerPrefsStore, useNewSessionDefaults, usePromptHistory, useProviderReadyPoll, useRememberedKnobs, useRunAccruedCost, useRunElapsedSec, useRunMeterValue, useRunOutputTokens, useRunProgress, useRunStartedAt, useSendPrompt, useSessionContextStatus, useSessionMeters, useSustainedWork, withPrimary, workShowDelay };
@@ -1,6 +1,6 @@
1
+ import { useComposerHost } from "./ComposerHostProvider.js";
1
2
  import { IDLE_RESOURCE } from "../../app/headless/resource.js";
2
3
  import { createModelPickerPrefs } from "../headless/composer/model-picker-prefs.js";
3
- import { useComposerHost } from "./ComposerHostProvider.js";
4
4
  import { modelKnobsOf } from "../headless/composer/model-knobs.js";
5
5
  import { modelNamesOf } from "../headless/composer/model-names.js";
6
6
  import { useEffect, useMemo, useSyncExternalStore } from "react";
@@ -27,6 +27,24 @@ interface DraftTargetOptions {
27
27
  servers: readonly DraftServer[];
28
28
  /** Hears the draft's folder on this computer while the draft shows, `null` once it leaves. Absent: not told. */
29
29
  onLocalFolder?(folder: string | null): void;
30
+ /**
31
+ * A pick made elsewhere (a server project's header in the sidebar, the
32
+ * Chats header): the draft moves to that host and folder, or to no folder,
33
+ * once per `seq`. A folder on this computer goes through `defaultFolder`
34
+ * instead.
35
+ */
36
+ request?: DraftTargetRequest | null;
37
+ }
38
+ /** A draft target picked outside the composer. */
39
+ interface DraftTargetRequest {
40
+ /** Grows with each request: a new one applies even to the same target. */
41
+ seq: number;
42
+ /** The saved server. */
43
+ hostId: string;
44
+ /** Its folder (`null`: its first root). */
45
+ folder: string | null;
46
+ /** A chat with no folder, on the request's host ("Start without a folder"); `folder` is ignored. */
47
+ folderless?: boolean;
30
48
  }
31
49
  /** The draft's target and its picks, as the composer's where menu and folder pickers read them. */
32
50
  interface DraftTarget {
@@ -88,4 +106,4 @@ interface DraftTarget {
88
106
  */
89
107
  declare function useDraftTarget(options: DraftTargetOptions): DraftTarget;
90
108
  //#endregion
91
- export { DraftServer, DraftTarget, DraftTargetOptions, useDraftTarget };
109
+ export { DraftServer, DraftTarget, DraftTargetOptions, DraftTargetRequest, useDraftTarget };
@@ -13,7 +13,7 @@ import { LOCAL_HOST_KEY } from "zidane/chat/pure";
13
13
  * @param options - The open session and the app's folder, sessions and servers.
14
14
  */
15
15
  function useDraftTarget(options) {
16
- const { session, defaultFolder, setDefaultFolder, sessions, servers, onLocalFolder } = options;
16
+ const { session, defaultFolder, setDefaultFolder, sessions, servers, onLocalFolder, request } = options;
17
17
  const isNewSession = session == null;
18
18
  const recentFolders = useMemo(() => recentLocalFolders(sessions), [sessions]);
19
19
  const [folderlessDraft, setFolderlessDraft] = useState(false);
@@ -43,6 +43,19 @@ function useDraftTarget(options) {
43
43
  setError(null);
44
44
  }
45
45
  }
46
+ const [appliedRequest, setAppliedRequest] = useState(0);
47
+ if (isNewSession && request && request.seq !== appliedRequest) {
48
+ setAppliedRequest(request.seq);
49
+ setHostId(request.hostId);
50
+ setResetKeys((keys) => ({
51
+ ...keys,
52
+ hostId: request.hostId
53
+ }));
54
+ setRemoteFolder(request.folderless ? null : request.folder);
55
+ setFolderlessDraft(request.folderless === true);
56
+ setEnvironment(null);
57
+ setError(null);
58
+ }
46
59
  if (hostId !== LOCAL_HOST_KEY && !servers.some((host) => host.id === hostId)) setHostId(LOCAL_HOST_KEY);
47
60
  const folderState = {
48
61
  ...session ? { sessionCwd: session.cwd } : {},
@@ -1,5 +1,5 @@
1
- import { EMPTY_RUN_METER } from "../headless/composer/run-meter.js";
2
1
  import { useComposerHost } from "./ComposerHostProvider.js";
2
+ import { EMPTY_RUN_METER } from "../headless/composer/run-meter.js";
3
3
  import { useCallback, useEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
4
4
  //#region src/chat/composer/use-run-meter.ts
5
5
  /**
@@ -0,0 +1,57 @@
1
+ import { Readable } from "./store.js";
2
+ import { BlockRun, BlockRunRequest, OutputLine } from "zidane/chat/pure";
3
+ //#region src/chat/headless/block-runs.d.ts
4
+ /** How a run reports and stops. */
5
+ interface ChatBlockRunOptions {
6
+ /** Output as it arrives. */
7
+ onOutput?(stream: 'stdout' | 'stderr', text: string): void;
8
+ /** Stops the run. */
9
+ signal?: AbortSignal;
10
+ }
11
+ /** Lines a live run keeps for its window. */
12
+ declare const LIVE_BLOCK_RUN_LINES = 15;
13
+ /** A run this window started: running, or one that could not run. */
14
+ interface LiveBlockRun {
15
+ /** The block's key (`blockRunKey`). */
16
+ key: string;
17
+ /** Its last lines so far. */
18
+ lines: readonly OutputLine[];
19
+ /** When it started (ms since epoch). */
20
+ startedAt: number;
21
+ /** Why it could not run. Absent while it runs. */
22
+ error?: string;
23
+ }
24
+ /** Run here on a reply's shell blocks. Absent: blocks have no Run button. */
25
+ interface ChatBlockRuns {
26
+ /** A session's saved runs, by key (`blockRunKey`), kept current. */
27
+ runs(sessionId: string): Readable<Readonly<Record<string, BlockRun>>>;
28
+ /** Runs a block in the session's folder with no input; resolves with the saved run. Rejects when it could not run. */
29
+ run(sessionId: string, request: BlockRunRequest, options?: ChatBlockRunOptions): Promise<BlockRun>;
30
+ /** Forgets a block's saved run. */
31
+ remove(sessionId: string, key: string): Promise<void>;
32
+ /** A session's runs started here, by key: running, or failed to run. */
33
+ live(sessionId: string): Readable<Readonly<Record<string, LiveBlockRun>>>;
34
+ /** Starts a run that {@link ChatBlockRuns.live} follows; once it ends it shows in {@link ChatBlockRuns.runs}. A block already running is left alone. */
35
+ start(sessionId: string, request: BlockRunRequest): void;
36
+ /** Stops a block's run, or forgets why it could not run. */
37
+ stop(sessionId: string, key: string): void;
38
+ }
39
+ /** What an adapter's transport offers for {@link createChatBlockRuns}. */
40
+ interface ChatBlockRunTransport {
41
+ /** The session's saved runs. */
42
+ list(sessionId: string): Promise<Record<string, BlockRun>>;
43
+ /** Runs a block on the host: {@link ChatBlockRuns.run}. */
44
+ run: ChatBlockRuns['run'];
45
+ /** Forgets a saved run on the host: {@link ChatBlockRuns.remove}. */
46
+ remove: ChatBlockRuns['remove'];
47
+ /** Calls `listener` with a session whose runs changed. Returns the unsubscribe. */
48
+ onChanged(listener: (sessionId: string) => void): () => void;
49
+ }
50
+ /**
51
+ * A {@link ChatBlockRuns} over `transport`: each session's runs read on first ask, again on each change.
52
+ *
53
+ * @param transport - The adapter's calls and change signal.
54
+ */
55
+ declare function createChatBlockRuns(transport: ChatBlockRunTransport): ChatBlockRuns;
56
+ //#endregion
57
+ export { ChatBlockRunOptions, ChatBlockRunTransport, ChatBlockRuns, LIVE_BLOCK_RUN_LINES, LiveBlockRun, createChatBlockRuns };
@@ -0,0 +1,123 @@
1
+ import { writable } from "./store.js";
2
+ import { blockRunKey, createOutputTail } from "zidane/chat/pure";
3
+ //#region src/chat/headless/block-runs.ts
4
+ /**
5
+ * Shell blocks a reply holds, run by the user (Run here): the `ChatHost`
6
+ * member a transcript reads (`ChatBlockRuns`), and the store every adapter
7
+ * builds it with (`createChatBlockRuns`) over its transport. A session's saved
8
+ * runs are one `Readable` per session, read once when first asked for and
9
+ * again each time the host says they changed (a run ended, one was removed, in
10
+ * any window). The runs this window started live in the store too
11
+ * (`live`), so a block that unmounts and comes back (a row scrolled away)
12
+ * still shows its run's output. Runs never enter the conversation.
13
+ */
14
+ /** Lines a live run keeps for its window. */
15
+ const LIVE_BLOCK_RUN_LINES = 15;
16
+ const NONE = Object.freeze({});
17
+ const NO_LIVE = Object.freeze({});
18
+ /** Output is shown at most this often (ms): a chatty command does not render per chunk. */
19
+ const LIVE_FLUSH_MS = 50;
20
+ const LINE_CHARS = 2e3;
21
+ /**
22
+ * A {@link ChatBlockRuns} over `transport`: each session's runs read on first ask, again on each change.
23
+ *
24
+ * @param transport - The adapter's calls and change signal.
25
+ */
26
+ function createChatBlockRuns(transport) {
27
+ const stores = /* @__PURE__ */ new Map();
28
+ /** The last read asked for, per session: an older answer never overwrites a newer one. */
29
+ const reads = /* @__PURE__ */ new Map();
30
+ const refresh = (sessionId) => {
31
+ const store = stores.get(sessionId);
32
+ if (!store) return;
33
+ const ticket = (reads.get(sessionId) ?? 0) + 1;
34
+ reads.set(sessionId, ticket);
35
+ transport.list(sessionId).then((runs) => {
36
+ if (reads.get(sessionId) === ticket) store.set(runs);
37
+ }, () => void 0);
38
+ };
39
+ transport.onChanged(refresh);
40
+ const runsOf = (sessionId) => {
41
+ let store = stores.get(sessionId);
42
+ if (!store) {
43
+ store = writable(NONE);
44
+ stores.set(sessionId, store);
45
+ refresh(sessionId);
46
+ }
47
+ return store;
48
+ };
49
+ const lives = /* @__PURE__ */ new Map();
50
+ const stops = /* @__PURE__ */ new Map();
51
+ const liveOf = (sessionId) => {
52
+ let store = lives.get(sessionId);
53
+ if (!store) {
54
+ store = writable(NO_LIVE);
55
+ lives.set(sessionId, store);
56
+ }
57
+ return store;
58
+ };
59
+ const setLive = (sessionId, key, run) => {
60
+ liveOf(sessionId).set((all) => {
61
+ const next = { ...all };
62
+ if (run) next[key] = run;
63
+ else delete next[key];
64
+ return next;
65
+ });
66
+ };
67
+ return {
68
+ runs: runsOf,
69
+ run: (sessionId, request, options) => transport.run(sessionId, request, options),
70
+ remove: (sessionId, key) => transport.remove(sessionId, key),
71
+ live: liveOf,
72
+ start(sessionId, request) {
73
+ const key = blockRunKey(request.turnId, request.code);
74
+ const id = `${sessionId}\u0000${key}`;
75
+ if (stops.has(id)) return;
76
+ const controller = new AbortController();
77
+ stops.set(id, controller);
78
+ const startedAt = Date.now();
79
+ const tail = createOutputTail(15, LINE_CHARS);
80
+ let timer = null;
81
+ const flush = () => {
82
+ timer = null;
83
+ setLive(sessionId, key, {
84
+ key,
85
+ lines: tail.lines(),
86
+ startedAt
87
+ });
88
+ };
89
+ flush();
90
+ transport.run(sessionId, request, {
91
+ signal: controller.signal,
92
+ onOutput: (stream, text) => {
93
+ tail.chunk(stream, text);
94
+ timer ??= setTimeout(flush, LIVE_FLUSH_MS);
95
+ }
96
+ }).then((run) => {
97
+ reads.set(sessionId, (reads.get(sessionId) ?? 0) + 1);
98
+ runsOf(sessionId).set((all) => ({
99
+ ...all,
100
+ [run.key]: run
101
+ }));
102
+ setLive(sessionId, key, null);
103
+ }, (err) => {
104
+ setLive(sessionId, key, {
105
+ key,
106
+ lines: tail.lines(),
107
+ startedAt,
108
+ error: err instanceof Error ? err.message : String(err)
109
+ });
110
+ }).finally(() => {
111
+ if (timer) clearTimeout(timer);
112
+ stops.delete(id);
113
+ });
114
+ },
115
+ stop(sessionId, key) {
116
+ const controller = stops.get(`${sessionId}\u0000${key}`);
117
+ if (controller) controller.abort();
118
+ else setLive(sessionId, key, null);
119
+ }
120
+ };
121
+ }
122
+ //#endregion
123
+ export { LIVE_BLOCK_RUN_LINES, createChatBlockRuns };
@@ -30,6 +30,7 @@ declare const CHIP_LABELS: {
30
30
  interactionWaitingDecision: string;
31
31
  interactionWaitingAnswers: string;
32
32
  interactionDismissed: string;
33
+ interactionAnsweredBy: (who: string) => string;
33
34
  badgePathUnavailable: string;
34
35
  badgeNoComposer: string;
35
36
  badgeCopied: string;
@@ -30,6 +30,7 @@ const CHIP_LABELS = {
30
30
  interactionWaitingDecision: "Waiting for your decision",
31
31
  interactionWaitingAnswers: "Waiting for your answers",
32
32
  interactionDismissed: "Dismissed, no answer given",
33
+ interactionAnsweredBy: (who) => `Answered by ${who}`,
33
34
  badgePathUnavailable: "Path unavailable.",
34
35
  badgeNoComposer: "No chat to add to here",
35
36
  badgeCopied: "Copied"
@@ -1,4 +1,4 @@
1
- import { ComposerHudBadge, ComposerHudStatus } from "./host-chrome.js";
1
+ import { ExtensionItem } from "../../../extensions/headless/wire.js";
2
2
  import { ComposerChromeLabels } from "./labels-chrome.js";
3
3
  import { InteractionRequest, TodosSnapshot } from "zidane/chat";
4
4
  import { RunningWorkItem } from "zidane/ipc";
@@ -32,6 +32,8 @@ interface ConversationBadge extends ConversationBadgeData {
32
32
  panel: string | null;
33
33
  /** A click opens the Running work dialog. */
34
34
  opensWork?: true;
35
+ /** A click runs this extension command (a `composer.badges` slot item's `command`). */
36
+ command?: string;
35
37
  }
36
38
  /** What the Inbox badge reads of the conversation's pending requests. */
37
39
  interface InboxSummary {
@@ -54,13 +56,13 @@ interface ConversationBadgeInput {
54
56
  queued: number;
55
57
  /** Its running work, as the badge shows it (`useSustainedWork`). */
56
58
  work: readonly RunningWorkItem[];
57
- /** The extensions' statuses scoped to the conversation. */
58
- statuses: readonly ComposerHudStatus[];
59
- /** The extensions' badges. */
60
- extensionBadges: readonly ComposerHudBadge[];
59
+ /** The `composer.badges` slot items shown with the conversation (`slotItems`), lowest order first. */
60
+ slotBadges?: readonly ExtensionItem<'slot'>[];
61
61
  /** The conversation's panels (the catalog's ids): an extension badge opens one of them or nothing. */
62
62
  panels: ReadonlySet<string>;
63
63
  }
64
+ /** How many badges one extension shows in one composer (zidane's `MAX_COMPOSER_BADGES`). */
65
+ declare const MAX_EXTENSION_COMPOSER_BADGES = 8;
64
66
  /**
65
67
  * The badges to show, in their default order (the kit's
66
68
  * `orderComposerBadges` applies the user's).
@@ -80,4 +82,4 @@ declare function conversationBadges(input: ConversationBadgeInput, labels: Compo
80
82
  */
81
83
  declare function resolveBadgePanel(panel: string | undefined, extension: string, panels: ReadonlySet<string>): string | null;
82
84
  //#endregion
83
- export { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, conversationBadges, resolveBadgePanel };
85
+ export { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel };
@@ -1,13 +1,14 @@
1
1
  import { INBOX_PANEL_ID, QUEUE_PANEL_ID, TODOS_PANEL_ID } from "zidane/chat/pure";
2
2
  //#region src/chat/headless/composer/conversation-badges.ts
3
- /** Default slots: the built-ins lead, extensions sit at the kit's default (100), statuses close the strip. */
3
+ /** Default slots: the built-ins lead, extensions sit at the kit's default (100). */
4
4
  const BADGE_ORDER = {
5
5
  inbox: 0,
6
6
  todos: 10,
7
7
  queue: 20,
8
- work: 30,
9
- status: 200
8
+ work: 30
10
9
  };
10
+ /** How many badges one extension shows in one composer (zidane's `MAX_COMPOSER_BADGES`). */
11
+ const MAX_EXTENSION_COMPOSER_BADGES = 8;
11
12
  /**
12
13
  * The badges to show, in their default order (the kit's
13
14
  * `orderComposerBadges` applies the user's).
@@ -30,15 +31,14 @@ function conversationBadges(input, labels) {
30
31
  panel: QUEUE_PANEL_ID
31
32
  });
32
33
  if (input.work.length > 0) out.push(workBadge(input.work, labels));
33
- for (const badge of input.extensionBadges) out.push(extensionBadge(badge, input.panels));
34
- for (const status of input.statuses) out.push({
35
- id: `status:${status.extension}`,
36
- label: status.text,
37
- ...status.loader ? { loader: true } : { icon: "i-ph-puzzle-piece" },
38
- title: status.extension,
39
- order: BADGE_ORDER.status,
40
- panel: null
41
- });
34
+ const shown = /* @__PURE__ */ new Map();
35
+ const room = (extension) => {
36
+ const n = shown.get(extension) ?? 0;
37
+ if (n >= 8) return false;
38
+ shown.set(extension, n + 1);
39
+ return true;
40
+ };
41
+ for (const entry of input.slotBadges ?? []) if (room(entry.extension)) out.push(slotBadge(entry, input.panels));
42
42
  return out;
43
43
  }
44
44
  function workBadge(work, labels) {
@@ -95,18 +95,20 @@ function todosBadge(snap, labels) {
95
95
  panel: TODOS_PANEL_ID
96
96
  };
97
97
  }
98
- function extensionBadge(badge, panels) {
98
+ function slotBadge(entry, panels) {
99
+ const { item, extension } = entry;
99
100
  return {
100
- id: `${badge.extension}/${badge.id}`,
101
- label: badge.label,
102
- ...badge.count ? { count: badge.count } : {},
103
- ...badge.highlight ? { highlight: true } : { countTone: "neutral" },
104
- ...badge.icon?.gui ? { icon: badge.icon.gui } : {},
105
- ...badge.tone ? { tone: badge.tone } : {},
106
- ...badge.loader ? { loader: true } : {},
107
- title: badge.title ?? badge.extension,
108
- ...badge.order !== void 0 ? { order: badge.order } : {},
109
- panel: resolveBadgePanel(badge.panel, badge.extension, panels)
101
+ id: `slot:${entry.key}`,
102
+ label: item.text ?? "",
103
+ ...item.count !== void 0 ? { count: item.count } : {},
104
+ ...item.highlight ? { highlight: true } : { countTone: "neutral" },
105
+ ...item.icon?.gui ? { icon: item.icon.gui } : {},
106
+ ...item.tone ? { tone: item.tone } : {},
107
+ ...item.loader ? { loader: true } : {},
108
+ title: item.title ?? extension,
109
+ order: item.order,
110
+ panel: resolveBadgePanel(item.panel, extension, panels),
111
+ ...item.command ? { command: item.command } : {}
110
112
  };
111
113
  }
112
114
  /**
@@ -125,4 +127,4 @@ function resolveBadgePanel(panel, extension, panels) {
125
127
  return panels.has(panel) ? panel : null;
126
128
  }
127
129
  //#endregion
128
- export { conversationBadges, resolveBadgePanel };
130
+ export { MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel };
@@ -2,7 +2,7 @@ import { Readable } from "../store.js";
2
2
  import { ResourceSnapshot } from "../../../app/headless/resource.js";
3
3
  import { ComposerModelEntry, ComposerModelOption, ImageModelRow, ModelPickRef } from "./models.js";
4
4
  import { RunMeterState } from "./run-meter.js";
5
- import { ContextBreakdown, ExtensionHudBadge } from "zidane/chat/pure";
5
+ import { ContextBreakdown } from "zidane/chat/pure";
6
6
  import { IpcParams, IpcResult } from "zidane/ipc";
7
7
  import { ThinkingLevel } from "zidane/types";
8
8
  //#region src/chat/headless/composer/host-chrome.d.ts
@@ -168,30 +168,5 @@ interface ComposerRuns {
168
168
  /** Zeroes the accrued cost when a cost read issued during run `generation` settled it. */
169
169
  settleCost?(sessionId: string, generation: number): void;
170
170
  }
171
- /** One extension's status line scoped to a session. */
172
- interface ComposerHudStatus {
173
- /** The extension's name. */
174
- extension: string;
175
- /** The status text. */
176
- text: string;
177
- /** Shows a spinner. */
178
- loader: boolean;
179
- }
180
- /** One extension badge on a session's composer. */
181
- type ComposerHudBadge = ExtensionHudBadge;
182
- /** What extensions show with each session. */
183
- interface ComposerHudSnapshot {
184
- /** Session id → its statuses. */
185
- sessions: Record<string, readonly ComposerHudStatus[]>;
186
- /** Session id → its badges. */
187
- badges: Record<string, readonly ComposerHudBadge[]>;
188
- }
189
- /** The extensions' status strip. Absent: no extension badges. */
190
- interface ComposerHud {
191
- /** The snapshot now. Absent: the strip fills on the first push. */
192
- get?(): Promise<ComposerHudSnapshot | null>;
193
- /** Calls `listener` with each new snapshot. Returns the unsubscribe. */
194
- onState(listener: (snapshot: ComposerHudSnapshot) => void): () => void;
195
- }
196
171
  //#endregion
197
- export { ComposerAgentProfile, ComposerAgents, ComposerCacheImpact, ComposerCacheImpactChange, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerEffort, ComposerHud, ComposerHudBadge, ComposerHudSnapshot, ComposerHudStatus, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerSessionView, type ResourceSnapshot };
172
+ export { ComposerAgentProfile, ComposerAgents, ComposerCacheImpact, ComposerCacheImpactChange, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerEffort, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerSessionView, type ResourceSnapshot };
@@ -1,5 +1,5 @@
1
1
  import { ChatAttachment } from "../host.js";
2
- import { ComposerAgents, ComposerContext, ComposerControls, ComposerHud, ComposerModels, ComposerPrefs, ComposerRuns } from "./host-chrome.js";
2
+ import { ComposerAgents, ComposerContext, ComposerControls, ComposerModels, ComposerPrefs, ComposerRuns } from "./host-chrome.js";
3
3
  import { ModelPickerPrefsStore } from "./model-picker-prefs.js";
4
4
  import { ChatReferenceEntry } from "zidane/chat/pure";
5
5
  import { CommandArgSuggestionSummary, CommandSummary, FileEntry, PromptAttachment } from "zidane/chat";
@@ -200,8 +200,6 @@ interface ComposerHost {
200
200
  context?: ComposerContext;
201
201
  /** The current run's counters per session (the run chip, the cost pill). */
202
202
  runs?: ComposerRuns;
203
- /** The extensions' statuses and badges per session (the badge strip). */
204
- hud?: ComposerHud;
205
203
  }
206
204
  //#endregion
207
205
  export { type CommandArgSuggestionSummary, type CommandSummary, ComposerAttachment, ComposerAutocomplete, ComposerCommandArgs, ComposerCompletions, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerPromptSuggestion, ComposerScope, ComposerSharedGhost, ComposerSuggestions, type FileEntry, type PromptAttachment, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, type SkillConfig };
@@ -2,7 +2,7 @@ import { ResourceSnapshot } from "../../../app/headless/resource.js";
2
2
  import { ComposerModelEntry, ComposerModelOption, ImageModelRow, ModelCatalogRow, ModelPickRef } from "./models.js";
3
3
  import { LiveCostStatus, LiveStreamProgress, composeLiveCost, formatSessionCostLabel } from "./live-cost.js";
4
4
  import { EMPTY_RUN_METER, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, createRunMeter } from "./run-meter.js";
5
- import { ComposerAgentProfile, ComposerAgents, ComposerCacheImpact, ComposerCacheImpactChange, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerEffort, ComposerHud, ComposerHudBadge, ComposerHudSnapshot, ComposerHudStatus, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerSessionView } from "./host-chrome.js";
5
+ import { ComposerAgentProfile, ComposerAgents, ComposerCacheImpact, ComposerCacheImpactChange, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerEffort, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerSessionView } from "./host-chrome.js";
6
6
  import { DEFAULT_MODEL_PICKER_PREFS, MODEL_PICKER_STORAGE_KEY, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, createModelPickerPrefs, parseModelPickerPrefs } from "./model-picker-prefs.js";
7
7
  import { CommandArgSuggestionSummary, CommandSummary, ComposerAttachment, ComposerAutocomplete, ComposerCommandArgs, ComposerCompletions, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerPromptSuggestion, ComposerScope, ComposerSharedGhost, ComposerSuggestions, FileEntry, PromptAttachment, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, SkillConfig } from "./host.js";
8
8
  import { ComposerChromeLabels, DEFAULT_COMPOSER_CHROME_LABELS } from "./labels-chrome.js";
@@ -10,10 +10,9 @@ import { ComposerLabels, DEFAULT_COMPOSER_LABELS } from "./labels.js";
10
10
  import { findCommand } from "./commands.js";
11
11
  import { ComposerListScope, ComposerLists, LazyList, createComposerLists } from "./composer-sources.js";
12
12
  import { wireAttachmentsToChat } from "./draft-sync.js";
13
- import { HudStore, createHudStore, hudStoreOf } from "./hud.js";
14
13
  import { ModelKnobs, ModelKnobsMemory, ModelKnobsStore, createModelKnobs, modelKnobsOf } from "./model-knobs.js";
15
14
  import { SetDefaultModel, commitModelPick, lastModelChainOf, rememberableChain, rememberedPick, settledResource } from "./remember-model-pick.js";
16
15
  import { EffortPickerTarget, defaultModelPatch, effortPickerTarget, rememberedDefaultModel } from "./new-session-defaults.js";
17
- import { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, conversationBadges, resolveBadgePanel } from "./conversation-badges.js";
16
+ import { ConversationBadge, ConversationBadgeData, ConversationBadgeInput, InboxSummary, MAX_EXTENSION_COMPOSER_BADGES, conversationBadges, resolveBadgePanel } from "./conversation-badges.js";
18
17
  import { ModelNames, ModelNamesProvider, ModelNamesStore, createModelNames, modelNamesOf, namerFor } from "./model-names.js";
19
- export { type CommandArgSuggestionSummary, type CommandSummary, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerHud, ComposerHudBadge, ComposerHudSnapshot, ComposerHudStatus, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, EMPTY_RUN_METER, EffortPickerTarget, type FileEntry, HudStore, ImageModelRow, InboxSummary, type LazyList, LiveCostStatus, LiveStreamProgress, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, type PromptAttachment, type ResourceSnapshot, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, type SkillConfig, commitModelPick, composeLiveCost, conversationBadges, createComposerLists, createHudStore, createModelKnobs, createModelNames, createModelPickerPrefs, createRunMeter, defaultModelPatch, effortPickerTarget, findCommand, formatSessionCostLabel, hudStoreOf, lastModelChainOf, modelKnobsOf, modelNamesOf, namerFor, parseModelPickerPrefs, rememberableChain, rememberedDefaultModel, rememberedPick, resolveBadgePanel, settledResource, wireAttachmentsToChat };
18
+ export { type CommandArgSuggestionSummary, type CommandSummary, ComposerAgentProfile, ComposerAgents, ComposerAttachment, ComposerAutocomplete, ComposerCacheImpact, ComposerCacheImpactChange, ComposerChromeLabels, ComposerCommandArgs, ComposerCompletions, ComposerContext, ComposerContextBreakdown, ComposerContextStatus, ComposerControls, ComposerCostStatus, ComposerDraftAttachmentsListener, ComposerDrafts, ComposerEffort, ComposerExtensionItem, ComposerExtensionProvider, ComposerFolderLocation, ComposerFolders, ComposerHost, ComposerLabels, type ComposerListScope, type ComposerLists, ComposerModelEntry, ComposerModelOption, ComposerModels, ComposerPrefs, ComposerPrefsState, ComposerPromptSuggestion, ComposerRememberedModel, ComposerRunProgress, ComposerRuns, ComposerScope, ComposerSessionView, ComposerSharedGhost, ComposerSuggestions, ConversationBadge, ConversationBadgeData, ConversationBadgeInput, DEFAULT_COMPOSER_CHROME_LABELS, DEFAULT_COMPOSER_LABELS, DEFAULT_MODEL_PICKER_PREFS, EMPTY_RUN_METER, EffortPickerTarget, type FileEntry, ImageModelRow, InboxSummary, type LazyList, LiveCostStatus, LiveStreamProgress, MAX_EXTENSION_COMPOSER_BADGES, MODEL_PICKER_STORAGE_KEY, ModelCatalogRow, ModelKnobs, ModelKnobsMemory, ModelKnobsStore, ModelNames, ModelNamesProvider, ModelNamesStore, ModelPickRef, ModelPickerPrefs, ModelPickerPrefsStorage, ModelPickerPrefsStore, type PromptAttachment, type ResourceSnapshot, RunMeter, RunMeterRow, RunMeterSignal, RunMeterState, SetDefaultModel, SharedDraft, SharedDraftAttachmentsChange, SharedDraftChange, type SkillConfig, commitModelPick, composeLiveCost, conversationBadges, createComposerLists, createModelKnobs, createModelNames, createModelPickerPrefs, createRunMeter, defaultModelPatch, effortPickerTarget, findCommand, formatSessionCostLabel, lastModelChainOf, modelKnobsOf, modelNamesOf, namerFor, parseModelPickerPrefs, rememberableChain, rememberedDefaultModel, rememberedPick, resolveBadgePanel, settledResource, wireAttachmentsToChat };