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
@@ -1,356 +0,0 @@
1
- /**
2
- * The machines components' strings. One flat dictionary, every key prefixed
3
- * `machines…` so it shares a `<LabelsProvider>` with the other areas' keys;
4
- * the headless helpers (`./messages`) take it as an argument.
5
- */
6
- import { SYNC_CATEGORY_INFO, SYNC_MODE_LABEL, type SyncCategory, type SyncMode } from 'zidane/chat/pure';
7
-
8
- import { DEFAULT_CHAT_LABELS } from '../../chat/headless/labels';
9
- import type { HostCheckError, MachinesError, ServerTokenScope } from './host';
10
- import type { SyncBlockedReason } from './sync';
11
-
12
- /** The default English strings of the machines components. Override any of them through `MachinesProvider` or `LabelsProvider`. */
13
- export const DEFAULT_MACHINES_LABELS = {
14
- /** One word per host status, for dots and chips (the chat area's `hostStatuses`). */
15
- machinesHostStatuses: DEFAULT_CHAT_LABELS.hostStatuses,
16
- machinesCancel: 'Cancel',
17
- machinesSave: 'Save',
18
- machinesRemove: 'Remove',
19
- machinesDismiss: 'Dismiss',
20
- machinesRetry: 'Retry',
21
- /** A failed read or action. The default shows the backend's message. */
22
- machinesError: (error: MachinesError) => error.detail,
23
- /** "5m" → "5m ago"; a date stays as is. */
24
- machinesAgo: (short: string) => `${short} ago`,
25
-
26
- // The offline banner, the removed-host notice, the waiting banner.
27
- machinesThisServer: 'This server',
28
- machinesOfflineRemoved: (name: string) => `${name} was removed from your hosts.`,
29
- machinesOfflineAuthRefused: (name: string) =>
30
- `${name} refused this computer's token. Remove it in Settings › Accounts › Hosts, then add it again with a new token.`,
31
- machinesOfflineIdentity: (name: string) =>
32
- `A different server answers at ${name}'s address. If it was reinstalled, remove it and add it again in Settings › Accounts › Hosts.`,
33
- machinesOfflineVersion: (name: string, error?: string) =>
34
- `${name} speaks another protocol version${error ? ` (${error})` : ''}. This session is read-only until one side is upgraded.`,
35
- machinesOfflineConnecting: (name: string) =>
36
- `${name} is still connecting. This session is read-only until it is connected.`,
37
- machinesOfflineOther: (name: string, status: string) =>
38
- `${name} is ${status}. This session is read-only until it reconnects.`,
39
- machinesHostRemoved: (notice: string) => `${notice}. Its chat was closed.`,
40
- machinesWaiting: (machine: string) => `Waiting for ${machine}… It is offline. The run continues when it reconnects.`,
41
-
42
- // A server's card (Settings › Hosts › a server).
43
- machinesCopy: 'Copy',
44
- machinesCopyText: (text: string) => `Copy ${text}`,
45
- machinesCopiedText: (text: string) => `Copied ${text}`,
46
- machinesHostName: 'Host name',
47
- machinesTest: 'Test',
48
- machinesTesting: 'Testing…',
49
- machinesRename: 'Rename',
50
- machinesRenaming: 'Renaming…',
51
- machinesHostActions: (name: string) => `${name} actions`,
52
- machinesChangeUrl: 'Change URL',
53
- machinesChangingUrl: 'Connecting…',
54
- machinesUrlChanged: (name: string, url: string) => `${name} now connects at ${url}.`,
55
- machinesRemoving: 'Removing…',
56
- machinesRemoveTitle: (name: string) => `Remove ${name}?`,
57
- machinesRemoveMessage: 'This deletes its URL and token from this computer. Its sessions stay on the server.',
58
- machinesRemoveFailed: (name: string, detail: string) => `Couldn't remove ${name}: ${detail}`,
59
- machinesFactServerName: (name: string) => `server name ${name}`,
60
- machinesFactVersion: (version: string) => `Zidane ${version}`,
61
- machinesFactConnected: (ago: string) => `connected ${ago}`,
62
- machinesFactScope: (scope: string) => `${scope} token`,
63
- machinesFactUptime: (uptime: string) => `up ${uptime}`,
64
- machinesOkLine: (name: string, version?: string, latencyMs?: number) =>
65
- `${name} answered${version ? ` (zidane ${version})` : ''}${latencyMs !== undefined ? ` in ${latencyMs} ms` : ''}.`,
66
- /** What to do about a refusal, per registry error code; `message` is the backend's own words. */
67
- machinesCheckError: (error: HostCheckError, message: string): string => {
68
- switch (error) {
69
- case 'invalid-url':
70
- return `That URL won't do: ${message}`;
71
- case 'invalid-token':
72
- return 'Paste the device token (zidane server token create --name <device> on the server).';
73
- case 'invalid-name':
74
- return 'A host needs a name.';
75
- case 'auth':
76
- return `The server refused the token. ${message}`;
77
- case 'unreachable':
78
- return `Nothing answered: ${message} Check the URL, that the server runs, and the network.`;
79
- case 'tls':
80
- return `The TLS handshake failed (certificate): ${message} A private or self-signed certificate must be trusted by this computer: add it to the system keychain (or set NODE_EXTRA_CA_CERTS).`;
81
- case 'protocol':
82
- return `Not a zidane-server this app can use: ${message}`;
83
- default:
84
- return message;
85
- }
86
- },
87
-
88
- // The add form.
89
- machinesAddServer: 'Add a server',
90
- machinesServerUrl: 'Server URL',
91
- machinesServerUrlPlaceholder: 'wss://zidane.example.com',
92
- machinesDeviceToken: 'Device token',
93
- machinesDeviceTokenPlaceholder: 'zds_…',
94
- machinesNameOptional: "Name (optional, defaults to the server's name)",
95
- machinesAdding: 'Checking the server and saving…',
96
- machinesAdd: 'Add',
97
-
98
- // Auto-update.
99
- machinesUpdateOn: 'Auto-update on',
100
- machinesUpdateOff: 'Auto-update off',
101
- machinesUpdateVersion: (version: string) => `v${version}`,
102
- machinesUpdateFrom: (version: string) => `from v${version}`,
103
- machinesUpdateCheck: 'Check now',
104
- machinesUpdateChecking: 'Checking…',
105
- machinesUpdateInstall: 'Install now',
106
- machinesUpdateTurnOn: 'Turn on',
107
- machinesUpdateTurnOff: 'Turn off',
108
- machinesUpdateUnsupported: (name: string) => `Update ${name} to a release with auto-update.`,
109
- machinesUpdateOtherWay: 'This install updates another way.',
110
- machinesUpdateStateChecking: 'Checking for a release…',
111
- machinesUpdateStateDownloading: (latest?: string) => `Downloading ${latest ?? 'the release'}…`,
112
- machinesUpdateStateReady: (latest?: string) => `${latest} is downloaded and verified, ready to install.`,
113
- machinesUpdateStateWaiting: (latest?: string) =>
114
- `${latest} is ready. Waiting for runs and background tasks to pause.`,
115
- machinesUpdateStateInstalling: (latest?: string) => `Installing ${latest}. Runs continue after the restart.`,
116
- machinesUpdateStateError: 'The last check failed.',
117
- machinesUpdateRolledBack: (version: string) => `${version} did not start: rolled back.`,
118
- machinesUpdateOut: (version: string) => `${version} is out.`,
119
- machinesUpdateUpToDate: 'Up to date.',
120
- machinesUpdateInstallTitle: (latest?: string) => `Install ${latest} now?`,
121
- machinesUpdateInstallMessage:
122
- 'Runs pause at their next step and continue after the restart. Background commands and terminals still running are stopped.',
123
-
124
- // Machines and links.
125
- machinesLinkOff: 'Off',
126
- machinesShareTitle: (name: string) => `Share this computer with ${name}`,
127
- machinesShareHint: (name: string) => `Let ${name} run commands in folders you pick.`,
128
- machinesShareStop: 'Stop sharing',
129
- machinesShareOpen: 'Share…',
130
- machinesShareForm: 'Share this computer',
131
- machinesShareName: (name: string) => `Name on ${name}`,
132
- machinesShareNamePlaceholder: "Default: this computer's name",
133
- machinesShareFolders: 'Folders it can use',
134
- machinesShareAddFolder: 'Add a folder…',
135
- machinesShareToken: 'Machine token',
136
- machinesShareTokenPlaceholder: 'A machine token of the server (zds_…)',
137
- machinesShareStart: 'Start sharing',
138
- machinesSharing: (name: string) => `Sharing this computer with ${name}…`,
139
- machinesShared: (roots: string, name: string) => `Sharing ${roots} with ${name}.`,
140
- machinesStopping: 'Stopping…',
141
- machinesUseTitle: (name: string) => `Use ${name} as a machine`,
142
- machinesUseMachineName: (machine: string) => `local@${machine}`,
143
- machinesUseHint: (name: string) => `Run commands on ${name}. Chats stay here.`,
144
- machinesUseNotLent: (name: string) => `${name} does not lend itself (allowAsMachine is off).`,
145
- machinesUseStop: 'Stop using',
146
- machinesUse: 'Use',
147
- machinesConnectingTo: (name: string) => `Connecting to ${name}…`,
148
- machinesListTitle: (name: string) => `Machines on ${name}`,
149
- machinesListEmpty: 'none yet',
150
- machinesStatus: (status: 'online' | 'offline') => status,
151
- machinesForget: 'Forget',
152
- machinesForgetLabel: (machine: string) => `Forget ${machine}`,
153
- machinesForgetTitle: (machine: string) => `Forget ${machine}?`,
154
- machinesForgetMessage: (name: string) =>
155
- `${name} forgets it. Its sessions there stop working. To use it again, add it with a new join code.`,
156
- machinesListNotPermitted: 'Listing machines needs a chat token.',
157
- /** An offline machine's chip: `when` is "14:05" today, else a date. */
158
- machinesOfflineSince: (when: string) => `offline since ${when}`,
159
- machinesVersion: (version: string) => `v${version.replace(/^v/, '')}`,
160
- machinesVersionDiffers: (version: string, server: string) =>
161
- `Runs v${version.replace(/^v/, '')}. The main server runs v${server.replace(/^v/, '')}. Update one of them.`,
162
- machinesGpus: 'GPUs',
163
- machinesFolders: 'Folders',
164
- machinesInviteOpen: 'Add a machine',
165
- machinesInviteCreating: 'Creating a join code…',
166
- machinesInviteForm: 'New machine',
167
- machinesInviteName: 'Machine name',
168
- machinesInviteNamePlaceholder: "Optional. Default: the machine's own name",
169
- machinesInviteNameRule: 'Letters, digits, dots, dashes or underscores.',
170
- machinesInviteCreate: 'Create join command',
171
- machinesInviteTitle: (name: string) => `Add a machine to ${name}`,
172
- machinesInviteCommand: 'Join command',
173
- machinesInviteCopy: 'Copy the join command',
174
- machinesInviteExpires: (time: string) => `Works once, until ${time}.`,
175
- machinesInviteHint: 'Run it on the machine. It installs a service that joins this server.',
176
- machinesInviteDone: 'Done',
177
- machinesInviteNeedsAdmin: 'Needs an admin token on this server.',
178
-
179
- // Tokens.
180
- machinesTokensName: 'Name',
181
- machinesTokensNamePlaceholder: 'The device it is for',
182
- machinesTokensScope: 'Scope',
183
- machinesTokensScopes: { chat: 'Chat', approve: 'Approve', admin: 'Admin', machine: 'Machine' } as Record<
184
- ServerTokenScope,
185
- string
186
- >,
187
- machinesTokensCreate: 'Create token',
188
- machinesTokensCreating: 'Creating…',
189
- machinesTokensCreated: (name: string) => `Copy the token for ${name} now: it is not shown again.`,
190
- machinesTokensRevoke: 'Revoke',
191
- machinesTokensRevokeLabel: (name: string) => `Revoke ${name}`,
192
- machinesTokensRevokeTitle: (name: string) => `Revoke ${name}?`,
193
- machinesTokensRevokeMessage: 'Apps using it are disconnected and cannot connect again with it.',
194
- machinesTokensRevoked: 'revoked',
195
- machinesTokensExpired: 'expired',
196
- machinesTokensExpires: (date: string) => `expires ${date}`,
197
- machinesTokensUsed: (ago: string) => `used ${ago}`,
198
- machinesTokensNeverUsed: 'never used',
199
- machinesTokensCreatedAt: (ago: string) => `created ${ago}`,
200
- machinesTokensEmpty: 'No tokens yet.',
201
- machinesTokensList: 'Tokens',
202
- machinesTokensNotPermitted: 'Managing tokens needs an admin token.',
203
-
204
- // The daemon menu.
205
- machinesDaemonMenu: (health: string) => `Daemon menu, ${health}`,
206
- machinesDaemon: 'Daemon',
207
- machinesDaemonOff: 'Daemon mode is off',
208
- machinesDaemonOffDetail: 'Chats run inside this window.',
209
- machinesDaemonConnected: 'Connected',
210
- machinesDaemonRetiring: 'Daemon shutting down',
211
- machinesDaemonRetiringDetail: 'It exits once its runs finish.',
212
- machinesDaemonPid: (pid: number) => `pid ${pid}`,
213
- machinesDaemonUp: (uptime: string) => `up ${uptime}`,
214
- machinesDaemonProtocol: (version: number) => `protocol ${version}`,
215
- machinesDaemonVersions: (daemon: number, window: number) => `Daemon protocol ${daemon}, this window ${window}.`,
216
- machinesDaemonNewer: 'Daemon runs newer code',
217
- machinesDaemonNewerDetail: (versions: string) => `${versions} Relaunch Zidane to attach.`,
218
- machinesDaemonOlder: 'Daemon runs older code',
219
- machinesDaemonOlderDetail: (versions: string) => `${versions} Restart it to update.`,
220
- machinesDaemonRefused: 'Daemon refused this window',
221
- machinesDaemonConnecting: 'Connecting…',
222
- machinesDaemonUnreachable: "Can't reach the daemon",
223
- machinesDaemonRetrying: 'Retrying every 5 s.',
224
- machinesDaemonMinutes: (minutes: number) => `${minutes} min`,
225
- machinesDaemonHours: (hours: number, minutes: number) => `${hours} h ${minutes} min`,
226
- machinesDaemonDays: (days: number) => `${days} d`,
227
- machinesDaemonOnIt: 'On the daemon',
228
- machinesDaemonActions: 'Actions',
229
- machinesDaemonWaitingForYou: 'Waiting for your answer',
230
- machinesDaemonRunning: 'Running',
231
- machinesDaemonStop: 'Stop',
232
- machinesDaemonStopping: 'Stopping…',
233
- machinesDaemonStopped: (title: string) => `Stopped "${title}".`,
234
- machinesDaemonStopAll: 'Stop all runs',
235
- machinesDaemonStoppingAll: 'Stopping all runs…',
236
- machinesDaemonStoppedAll: (count: number | void) => `Stopped ${count} runs.`,
237
- machinesDaemonRelaunch: 'Relaunch Zidane',
238
- machinesDaemonRelaunchHint: "Loads this window's newer code so it can attach.",
239
- machinesDaemonReconnect: 'Reconnect now',
240
- machinesDaemonReconnectHint: "Don't wait for the next retry.",
241
- machinesDaemonReconnecting: 'Reconnecting…',
242
- machinesDaemonReconnected: 'Connected.',
243
- machinesDaemonRestart: 'Restart daemon',
244
- machinesDaemonRestartHint: 'After its runs finish. This window starts a new one.',
245
- machinesDaemonRestarting: 'Restarting…',
246
- machinesDaemonRestartDeferred: 'The daemon exits once its runs finish.',
247
- machinesDaemonRestarted: 'Daemon restarted.',
248
- machinesDaemonRestartNow: 'Restart daemon now',
249
- machinesDaemonRestartNowHint: 'Stops running work.',
250
- machinesDaemonRestartNowConfirm: 'Restart the daemon now? Every running session on it is stopped.',
251
- machinesDaemonModeOff: 'Turn daemon mode off',
252
- machinesDaemonModeOn: 'Turn daemon mode on',
253
- machinesDaemonModeOffHint: 'Run chats inside this window instead.',
254
- machinesDaemonModeOnHint: 'Share runs across windows and the TUI.',
255
- machinesDaemonCopy: 'Copy diagnostics',
256
- machinesDaemonCopying: 'Copying…',
257
- machinesDaemonCopied: 'Diagnostics copied.',
258
- // Capabilities
259
- machinesCapsMore: (count: number) => `+${count}`,
260
- machinesCapsOs: { darwin: 'macOS', linux: 'Linux', win32: 'Windows' } as Record<string, string>,
261
- machinesCapsFree: (bytes: number) => `${(bytes / 1024 ** 3).toFixed(bytes < 10 * 1024 ** 3 ? 1 : 0)} GB free`,
262
- machinesCapsPartial: 'Update the server for the full check.',
263
- machinesCapsChecking: 'Checking…',
264
- machinesCapsRecheck: 'Re-check',
265
- machinesCapsAvailable: 'Available',
266
- machinesCapsMissing: 'Missing',
267
- machinesCapsAvailableA11y: 'available',
268
- machinesCapsMissingA11y: 'missing',
269
- machinesCapsTools: 'Tools',
270
- machinesCapsFeatures: 'Features',
271
- machinesCapsSandbox: 'OS sandbox',
272
- machinesCapsNotAvailable: 'Not available',
273
- machinesCapsEnvAvailable: 'Sessions can run here',
274
- machinesCapsRemoteInstalls: 'Installs from clients',
275
- machinesCapsAsMachine: 'Lends itself as a machine',
276
- machinesCapsSync: 'Settings sync',
277
- machinesCapsClone: 'Clones from clients',
278
- machinesCapsCreateFolders: 'New folders from clients',
279
-
280
- // The hosts list and a host's page (Settings › Accounts › Hosts).
281
- machinesHostsTitle: 'Hosts',
282
- machinesOpenHost: (name: string) => `Open ${name}`,
283
- machinesThisApp: 'This app',
284
- machinesLocalDescription: 'This app, or the shared background service.',
285
- machinesSavedHostsError: (detail: string) => `Couldn't read the saved servers: ${detail}`,
286
- machinesCapabilitiesTitle: 'Capabilities',
287
- machinesAutoUpdateTitle: 'Auto-update',
288
- machinesSyncTitle: 'Settings sync',
289
- machinesMachinesTitle: 'Machines',
290
-
291
- // A server's Sync section.
292
- machinesSyncModes: SYNC_MODE_LABEL as Record<SyncMode, string>,
293
- machinesSyncCategories: SYNC_CATEGORY_INFO as Record<SyncCategory, { label: string; description: string }>,
294
- machinesSyncStartsWithHosts: 'Settings sync starts with remote hosts.',
295
- machinesSyncOffline: 'Offline. Changes wait here.',
296
- machinesSyncTooOld: 'This server is too old to sync.',
297
- machinesSyncPushing: 'Pushing…',
298
- machinesSyncNotPushed: 'Not pushed yet',
299
- /** `ago` is `syncAgo`'s ("5m ago"). */
300
- machinesSyncPushed: (ago: string) => `Pushed ${ago}`,
301
- machinesSyncMode: 'Mode',
302
- machinesSyncModeDescription: (device: string | undefined, name: string) =>
303
- `${device ?? 'This computer'} → ${name}. One way.`,
304
- machinesSyncWhat: 'What to sync',
305
- machinesSyncBlocked: (reason: SyncBlockedReason, name: string) =>
306
- reason === 'newer-server'
307
- ? 'Needs a newer server'
308
- : reason === 'refuses-installs'
309
- ? `${name} refuses installs`
310
- : `git is missing on ${name}`,
311
- machinesSyncWaiting: 'Waiting to push',
312
- machinesSyncWaitingList: (categories: string) => `Waiting to push: ${categories}`,
313
- machinesSyncStdio: (name: string, list: string) => `May not run on ${name}: ${list}`,
314
- machinesSyncNotSyncable: (list: string) => `Not syncable: ${list}`,
315
- machinesSyncFrom: (device: string) => `Synced from ${device}`,
316
- machinesSyncTakeOver: 'Take over',
317
- machinesSyncTakeOverTitle: (name: string) => `Sync ${name} from this computer?`,
318
- machinesSyncTakeOverMessage: (name: string, other: string) =>
319
- `${name} is synced from ${other}. This computer becomes its source instead, and ${other} stops pushing there.`,
320
- machinesSyncEditedOnTitle: (name: string) => `Edited on ${name}. Not synced until you reset it.`,
321
- machinesSyncEditedOn: (name: string) => `edited on ${name}`,
322
- machinesSyncAgain: 'Sync again',
323
- machinesSyncPushNow: 'Push now',
324
- machinesSyncEnvTitle: (name: string) => `Copy your cloud sandbox keys to ${name}?`,
325
- machinesSyncEnvMessage: (name: string) =>
326
- `E2B and Daytona keys are stored on ${name}. Anyone with a token for it can use them.`,
327
- machinesSyncEnvConfirm: 'Copy the keys',
328
- machinesSyncKeyTitle: (label: string, name: string) => `Copy your ${label} API key to ${name}?`,
329
- machinesSyncKeyMessage: (name: string) => `The key is stored on ${name}. Anyone with a token for it can use the key.`,
330
- machinesSyncKeyConfirm: 'Copy the key',
331
- // The last push's chip.
332
- machinesSyncComplete: 'Sync complete',
333
- machinesSyncPartial: 'Partial sync',
334
- machinesSyncNotSynced: 'Not synced',
335
- machinesSyncWarnings: 'Warnings',
336
- machinesSyncMoreLines: (count: number) => `and ${count} more`,
337
- machinesSyncOutcomeDetails: (label: string) => `${label}: hover for details`,
338
- // The accounts list (the API keys tile on).
339
- machinesSyncAccounts: 'Accounts',
340
- machinesSyncNoAccounts: 'No API key or sign-in on this computer.',
341
- machinesSyncSetUpOn: (name: string) => `Set up on ${name}`,
342
- machinesSyncOnHost: (name: string) => `on ${name}`,
343
- machinesSyncCopyKey: (label: string) => `Copy the ${label} API key`,
344
- machinesSyncApiKey: 'API key',
345
- /** A sign-in's label; the only one is `Default`. */
346
- machinesSyncSignIn: (label: string) => (label === 'Default' ? 'Sign-in' : label),
347
- machinesSyncSignedInThere: 'signed in there',
348
- machinesSyncSignInThere: 'Sign in there',
349
- machinesSyncStaysHere: 'stays here',
350
- // The markers in a server's Settings.
351
- machinesSyncSyncedFrom: (device: string) => `synced from ${device}`,
352
- machinesSyncEditedHere: (device: string) => `edited here, not synced from ${device}`,
353
- };
354
-
355
- /** The machines components' strings: the shape of {@link DEFAULT_MACHINES_LABELS}. */
356
- export type MachinesLabels = typeof DEFAULT_MACHINES_LABELS;
@@ -1,197 +0,0 @@
1
- /**
2
- * The machines area's wording, React-free: a daemon status's headline, a
3
- * registry refusal, an update's state line, a link's state, "5m ago". Each
4
- * takes the labels, so an app's overrides apply.
5
- */
6
- import { MACHINE_LINK_STATE_TEXT, type MachineLinkState } from 'zidane/chat/pure';
7
-
8
- import { hostStatusLabel } from '../../chat/headless/hosts';
9
- import { relativeTime } from '../../chat/headless/session-list';
10
- import type { DaemonStatus, HostCheckResult, HostSummary, ServerUpdateStatus } from './host';
11
- import { DEFAULT_MACHINES_LABELS, type MachinesLabels } from './labels';
12
-
13
- /**
14
- * How long a process has been up: `12 min`, `3 h 5 min`, `4 d`.
15
- *
16
- * @param startedAt - When it started, epoch ms.
17
- * @param now - The current time, epoch ms. Default: now.
18
- * @param labels - The label dictionary.
19
- */
20
- export function uptimeText(
21
- startedAt: number,
22
- now: number = Date.now(),
23
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
24
- ): string {
25
- const minutes = Math.max(0, Math.round((now - startedAt) / 60_000));
26
- if (minutes < 60) return labels.machinesDaemonMinutes(minutes);
27
- const hours = Math.floor(minutes / 60);
28
- return hours < 48
29
- ? labels.machinesDaemonHours(hours, minutes % 60)
30
- : labels.machinesDaemonDays(Math.floor(hours / 24));
31
- }
32
-
33
- /**
34
- * The daemon menu's headline, detail and badge facts for a status.
35
- *
36
- * @param status - The daemon's status.
37
- * @param now - The current time, epoch ms (for the uptime).
38
- * @param labels - The label dictionary.
39
- */
40
- export function daemonStatusText(
41
- status: DaemonStatus,
42
- now: number = Date.now(),
43
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
44
- ): { title: string; detail: string; facts?: string[] } {
45
- const daemon = status.daemon;
46
- switch (status.state) {
47
- case 'disabled':
48
- return { title: labels.machinesDaemonOff, detail: labels.machinesDaemonOffDetail };
49
- case 'connected':
50
- return {
51
- title: daemon?.retiring ? labels.machinesDaemonRetiring : labels.machinesDaemonConnected,
52
- detail: daemon?.retiring ? labels.machinesDaemonRetiringDetail : '',
53
- facts: daemon
54
- ? [
55
- labels.machinesDaemonPid(daemon.pid),
56
- labels.machinesDaemonUp(uptimeText(daemon.startedAt, now, labels)),
57
- labels.machinesDaemonProtocol(daemon.protocolVersion),
58
- ]
59
- : [labels.machinesDaemonProtocol(status.window.protocolVersion)],
60
- };
61
- case 'refused': {
62
- const versions = daemon
63
- ? labels.machinesDaemonVersions(daemon.protocolVersion, status.window.protocolVersion)
64
- : (status.refused?.message ?? '');
65
- if (status.refused?.direction === 'daemon-newer')
66
- return { title: labels.machinesDaemonNewer, detail: labels.machinesDaemonNewerDetail(versions) };
67
- if (status.refused?.direction === 'daemon-older')
68
- return { title: labels.machinesDaemonOlder, detail: labels.machinesDaemonOlderDetail(versions) };
69
- return { title: labels.machinesDaemonRefused, detail: status.refused?.message ?? versions };
70
- }
71
- case 'connecting':
72
- return { title: labels.machinesDaemonConnecting, detail: status.socketPath };
73
- default:
74
- return { title: labels.machinesDaemonUnreachable, detail: status.error ?? labels.machinesDaemonRetrying };
75
- }
76
- }
77
-
78
- /**
79
- * What to do about a refused test, add or rename.
80
- *
81
- * @param result - The refusal.
82
- * @param labels - The label dictionary.
83
- */
84
- export function hostCheckMessage(
85
- result: Extract<HostCheckResult, { ok: false }>,
86
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
87
- ): string {
88
- return labels.machinesCheckError(result.error, result.message);
89
- }
90
-
91
- /**
92
- * A successful test: who answered, its version, how fast.
93
- *
94
- * @param result - The answer.
95
- * @param labels - The label dictionary.
96
- */
97
- export function hostCheckOkLine(
98
- result: Extract<HostCheckResult, { ok: true }>,
99
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
100
- ): string {
101
- return labels.machinesOkLine(result.name, result.serverVersion, result.latencyMs);
102
- }
103
-
104
- /** The tone of a line or chip: plain, good, worth a look, failed. */
105
- export type MachinesTone = 'muted' | 'success' | 'warn' | 'danger';
106
-
107
- /**
108
- * A host's status as a chip tone: (re)connecting is not a failure.
109
- *
110
- * @param host - The host.
111
- */
112
- export function hostStatusTone(host: HostSummary): 'muted' | 'warn' | 'danger' {
113
- if (host.status === 'connected') return 'muted';
114
- return host.status === 'connecting' || host.status === 'reconnecting' ? 'warn' : 'danger';
115
- }
116
-
117
- /**
118
- * One word for a host's status, through the machines labels.
119
- *
120
- * @param host - The host.
121
- * @param labels - The label dictionary.
122
- */
123
- export function hostStatusText(host: HostSummary, labels: MachinesLabels = DEFAULT_MACHINES_LABELS): string {
124
- return hostStatusLabel(host, { hostStatuses: labels.machinesHostStatuses });
125
- }
126
-
127
- /** The update states during which the updater is working (the panel follows it). */
128
- export const UPDATE_BUSY_STATES: ReadonlySet<ServerUpdateStatus['state']> = new Set([
129
- 'checking',
130
- 'downloading',
131
- 'waiting',
132
- 'installing',
133
- ]);
134
-
135
- /**
136
- * One line for where a server's self-update stands, and its tone.
137
- *
138
- * @param status - The update status.
139
- * @param labels - The label dictionary.
140
- */
141
- export function updateStateLine(
142
- status: ServerUpdateStatus,
143
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
144
- ): { text: string; tone: MachinesTone } {
145
- if (!status.supported) return { text: status.reason ?? labels.machinesUpdateOtherWay, tone: 'muted' };
146
- switch (status.state) {
147
- case 'checking':
148
- return { text: labels.machinesUpdateStateChecking, tone: 'muted' };
149
- case 'downloading':
150
- return { text: labels.machinesUpdateStateDownloading(status.latest), tone: 'muted' };
151
- case 'ready':
152
- return { text: labels.machinesUpdateStateReady(status.latest), tone: 'warn' };
153
- case 'waiting':
154
- return { text: labels.machinesUpdateStateWaiting(status.latest), tone: 'warn' };
155
- case 'installing':
156
- return { text: labels.machinesUpdateStateInstalling(status.latest), tone: 'warn' };
157
- case 'error':
158
- return { text: status.error ?? labels.machinesUpdateStateError, tone: 'danger' };
159
- default:
160
- if (status.rolledBackFrom)
161
- return { text: labels.machinesUpdateRolledBack(status.rolledBackFrom), tone: 'danger' };
162
- if (status.latest && status.latest !== status.current && !status.enabled)
163
- return { text: labels.machinesUpdateOut(status.latest), tone: 'warn' };
164
- return { text: labels.machinesUpdateUpToDate, tone: 'success' };
165
- }
166
- }
167
-
168
- /**
169
- * A machine link's state, with why it is not connected; `Off` without a link.
170
- *
171
- * @param link - The link, or `undefined` when there is none.
172
- * @param labels - The label dictionary.
173
- */
174
- export function linkStateText(
175
- link: { state: MachineLinkState; detail?: string } | undefined,
176
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
177
- ): string {
178
- return link
179
- ? `${MACHINE_LINK_STATE_TEXT[link.state]}${link.detail ? `: ${link.detail}` : ''}`
180
- : labels.machinesLinkOff;
181
- }
182
-
183
- /**
184
- * "just now", "5m ago", "3h ago", "2d ago", then a date.
185
- *
186
- * @param at - When it happened, epoch ms.
187
- * @param now - The current time, epoch ms.
188
- * @param labels - The label dictionary.
189
- */
190
- export function agoText(
191
- at: number,
192
- now: number = Date.now(),
193
- labels: MachinesLabels = DEFAULT_MACHINES_LABELS,
194
- ): string {
195
- const short = relativeTime(at, now);
196
- return /^\d+[a-z]+$/.test(short) ? labels.machinesAgo(short) : short;
197
- }
@@ -1,110 +0,0 @@
1
- /**
2
- * Live per-session presence: which sessions have attached windows, a run in
3
- * flight, or something waiting on you, keyed by session id. Drives the
4
- * sidebar rows' status dot, the footer and the palette's session order.
5
- *
6
- * Each snapshot carries every live session. Entries that did not change
7
- * keep their identity, and only changed sessions notify their readers, so a
8
- * snapshot re-renders only the rows whose presence changed.
9
- */
10
- import { writable, type Readable } from '../../chat/headless/store';
11
- import { createKeyedState } from '../../session/headless/keyed';
12
-
13
- /** One session's presence. */
14
- export interface SessionPresence {
15
- /** The session the presence is for. */
16
- sessionId: string;
17
- /** How many windows are attached to (watching) the session. */
18
- windows: number;
19
- /** A run is executing right now. */
20
- running: boolean;
21
- /** A pending approval or question: it waits on the user somewhere. */
22
- attention: boolean;
23
- }
24
-
25
- /** Every session's presence, and one session's. */
26
- export interface MachinesPresence {
27
- /** Every live session's presence, by session id (for list-level decisions). */
28
- sessions: Readable<ReadonlyMap<string, SessionPresence>>;
29
- /** One session's presence (`null`: none); the same store for the same id. */
30
- session(sessionId: string): Readable<SessionPresence | null>;
31
- }
32
-
33
- /**
34
- * Starts the feed: hands each snapshot to `apply` (every live session), and returns how to stop.
35
- * Re-list on a reconnect: the last snapshot predates it.
36
- */
37
- export type PresenceFeed = (apply: (sessions: readonly SessionPresence[]) => void) => () => void;
38
-
39
- const EMPTY: ReadonlyMap<string, SessionPresence> = new Map();
40
-
41
- function samePresence(a: SessionPresence, b: SessionPresence): boolean {
42
- return a.windows === b.windows && a.running === b.running && a.attention === b.attention;
43
- }
44
-
45
- /**
46
- * Creates the presence stores over a feed. The feed starts with the first reader (of the map or of any
47
- * session) and stops after the last, which forgets the snapshot.
48
- *
49
- * @param feed - Starts listening; see {@link PresenceFeed}.
50
- */
51
- export function createPresenceStore(feed: PresenceFeed): MachinesPresence {
52
- const map = writable<ReadonlyMap<string, SessionPresence>>(EMPTY);
53
- const keyed = createKeyedState<SessionPresence>(null);
54
- let readers = 0;
55
- let stop: (() => void) | null = null;
56
-
57
- const apply = (list: readonly SessionPresence[]) => {
58
- const prev = map.get();
59
- const next = new Map<string, SessionPresence>();
60
- const changed: string[] = [];
61
- for (const s of list) {
62
- const before = prev.get(s.sessionId);
63
- const kept = before && samePresence(before, s) ? before : s;
64
- next.set(s.sessionId, kept);
65
- if (kept !== before) changed.push(s.sessionId);
66
- }
67
- for (const id of prev.keys()) if (!next.has(id)) changed.push(id);
68
- if (changed.length === 0) return;
69
- for (const id of changed) {
70
- const value = next.get(id);
71
- if (value) keyed.set(id, value);
72
- else keyed.delete(id);
73
- }
74
- map.set(next);
75
- };
76
-
77
- /** Counts a reader in, starting the feed on the first; returns the count-out. */
78
- const enter = (off: () => void) => {
79
- readers += 1;
80
- if (!stop) stop = feed(apply);
81
- let done = false;
82
- return () => {
83
- if (done) return;
84
- done = true;
85
- off();
86
- readers -= 1;
87
- if (readers > 0 || !stop) return;
88
- const halt = stop;
89
- stop = null;
90
- halt();
91
- // The next reader starts from a fresh snapshot.
92
- keyed.clear();
93
- map.set(EMPTY);
94
- };
95
- };
96
-
97
- const sessions = new Map<string, Readable<SessionPresence | null>>();
98
- return {
99
- sessions: { get: map.get, subscribe: (onChange) => enter(map.subscribe(onChange)) },
100
- session(sessionId) {
101
- let store = sessions.get(sessionId);
102
- if (!store) {
103
- const inner = keyed.readable(sessionId);
104
- store = { get: inner.get, subscribe: (onChange) => enter(inner.subscribe(onChange)) };
105
- sessions.set(sessionId, store);
106
- }
107
- return store;
108
- },
109
- };
110
- }