@cueloop/client 0.1.0-alpha.93 → 0.1.0-alpha.95

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 (309) hide show
  1. package/package.json +12 -12
  2. package/src/{annotation-palette.ts → annotations/annotation-palette.ts} +1 -1
  3. package/src/{components → annotations/components}/AnnotationCards.stories.tsx +4 -4
  4. package/src/{components → annotations/components}/AnnotationCards.tsx +7 -7
  5. package/src/{components → annotations/components}/DiscussionMarkerRail.stories.tsx +3 -3
  6. package/src/{components → annotations/components}/DiscussionMarkerRail.tsx +5 -5
  7. package/src/{discussions.ts → annotations/discussions.ts} +1 -1
  8. package/src/{use-annotation-surface.tsx → annotations/use-annotation-surface.tsx} +7 -7
  9. package/src/{App.appearance.test.tsx → app/App.appearance.test.tsx} +1 -1
  10. package/src/{App.autoclose.test.tsx → app/App.autoclose.test.tsx} +1 -1
  11. package/src/{App.deleted-scroll.test.tsx → app/App.deleted-scroll.test.tsx} +3 -3
  12. package/src/{App.diff.test.tsx → app/App.diff.test.tsx} +2 -2
  13. package/src/{App.export.test.tsx → app/App.export.test.tsx} +1 -1
  14. package/src/{App.identity.test.tsx → app/App.identity.test.tsx} +6 -1
  15. package/src/{App.plan-render.test.tsx → app/App.plan-render.test.tsx} +2 -2
  16. package/src/{App.plan-review.test.tsx → app/App.plan-review.test.tsx} +3 -3
  17. package/src/{App.prototype-markdown.test.tsx → app/App.prototype-markdown.test.tsx} +2 -2
  18. package/src/{App.prototype.test.tsx → app/App.prototype.test.tsx} +2 -2
  19. package/src/{App.readonly.test.tsx → app/App.readonly.test.tsx} +1 -1
  20. package/src/{App.regression.test.tsx → app/App.regression.test.tsx} +1 -1
  21. package/src/{App.rendering.test.tsx → app/App.rendering.test.tsx} +1 -1
  22. package/src/{App.share-dialog.test.tsx → app/App.share-dialog.test.tsx} +2 -2
  23. package/src/{App.submit-confirm.test.tsx → app/App.submit-confirm.test.tsx} +1 -1
  24. package/src/{App.test.tsx → app/App.test.tsx} +2 -2
  25. package/src/{App.toast.test.tsx → app/App.toast.test.tsx} +2 -2
  26. package/src/{App.tsx → app/App.tsx} +68 -37
  27. package/src/{App.visual.test.tsx → app/App.visual.test.tsx} +4 -4
  28. package/src/{App.walk.test.tsx → app/App.walk.test.tsx} +2 -2
  29. package/src/{App.workbench.test.tsx → app/App.workbench.test.tsx} +85 -3
  30. package/src/{app-key-state.ts → app/app-key-state.ts} +4 -4
  31. package/src/{app-screens.tsx → app/app-screens.tsx} +31 -31
  32. package/src/{app-view-model.ts → app/app-view-model.ts} +6 -6
  33. package/src/{components → app/components}/AppHeader.stories.tsx +4 -4
  34. package/src/{components → app/components}/AppHeader.tsx +3 -3
  35. package/src/{components → app/components}/AppShell.brand.test.tsx +2 -2
  36. package/src/{components → app/components}/AppShell.extensions.test.tsx +2 -2
  37. package/src/{components → app/components}/AppShell.stories.tsx +2 -2
  38. package/src/{components → app/components}/AppShell.tsx +12 -9
  39. package/src/{components → app/components}/AppShell.zoom.test.tsx +4 -4
  40. package/src/{components → app/components}/Breadcrumb.stories.tsx +2 -2
  41. package/src/{components → app/components}/Breadcrumb.tsx +2 -2
  42. package/src/{components → app/components}/MenuBar.stories.tsx +2 -2
  43. package/src/{components → app/components}/MenuBar.tsx +3 -3
  44. package/src/{components → app/components}/PaneGrid.stories.tsx +2 -2
  45. package/src/{components → app/components}/PaneGrid.tsx +1 -1
  46. package/src/{components → app/components}/PanelColumn.stories.tsx +2 -2
  47. package/src/{components → app/components}/PanelColumn.tsx +2 -2
  48. package/src/{components → app/components}/ShellHeader.stories.tsx +3 -3
  49. package/src/{components → app/components}/ShellHeader.tsx +2 -2
  50. package/src/{components → app/components}/WorkspacePanels.stories.tsx +3 -3
  51. package/src/{components → app/components}/WorkspacePanels.tsx +9 -5
  52. package/src/{components → app/components}/pages/Workspace.stories.tsx +4 -4
  53. package/src/{intent-dispatch.test.ts → app/intent-dispatch.test.ts} +7 -3
  54. package/src/{intent-dispatch.ts → app/intent-dispatch.ts} +12 -6
  55. package/src/{ready-signal.test.ts → app/ready-signal.test.ts} +1 -1
  56. package/src/{run.ts → app/run.ts} +12 -6
  57. package/src/{serve.ts → app/serve.ts} +1 -1
  58. package/src/{version.ts → app/version.ts} +1 -1
  59. package/src/{components → appearance/components}/theme-context.stories.tsx +2 -2
  60. package/src/{components → diff/components}/AnnotatableFileView.stories.tsx +2 -2
  61. package/src/{components → diff/components}/AnnotatableFileView.test.tsx +8 -2
  62. package/src/{components → diff/components}/AnnotatableFileView.tsx +3 -3
  63. package/src/{components → diff/components}/BareWorkbenchFileView.stories.tsx +2 -2
  64. package/src/{components → diff/components}/BareWorkbenchFileView.tsx +2 -2
  65. package/src/{components → diff/components}/DiffContentView.scroll.test.tsx +4 -4
  66. package/src/{components → diff/components}/DiffContentView.split.test.tsx +4 -4
  67. package/src/{components → diff/components}/DiffContentView.stories.tsx +5 -5
  68. package/src/{components → diff/components}/DiffContentView.syntax.test.tsx +3 -3
  69. package/src/{components → diff/components}/DiffContentView.tsx +13 -13
  70. package/src/{components → diff/components}/WalkWizard.stories.tsx +2 -2
  71. package/src/{components → diff/components}/WalkWizard.tsx +4 -4
  72. package/src/{components → diff/components}/diff-content-view-layout.test.ts +2 -2
  73. package/src/{components → diff/components}/diff-content-view-layout.ts +2 -2
  74. package/src/{diff-syntax.ts → diff/diff-syntax.ts} +1 -1
  75. package/src/{view-diff.ts → diff/view-diff.ts} +4 -4
  76. package/src/index.ts +8 -8
  77. package/src/{components → integrations/components}/ExtensionZone.stories.tsx +1 -1
  78. package/src/{components → integrations/components}/ExtensionZone.tsx +3 -3
  79. package/src/{components → integrations/components}/ShareDialog.stories.tsx +2 -2
  80. package/src/{components → integrations/components}/ShareDialog.tsx +11 -11
  81. package/src/{integrations.test.ts → integrations/integrations.test.ts} +1 -1
  82. package/src/{integrations.ts → integrations/integrations.ts} +1 -1
  83. package/src/{components → keyboard/components}/CompletionOverlay.stories.tsx +2 -2
  84. package/src/{components → keyboard/components}/CompletionOverlay.tsx +4 -4
  85. package/src/{components → keyboard/components}/HandleChipsInput.stories.tsx +2 -2
  86. package/src/{components → keyboard/components}/HandleChipsInput.test.tsx +2 -2
  87. package/src/{components → keyboard/components}/HandleChipsInput.tsx +3 -3
  88. package/src/{components → keyboard/components}/KeybindsDialog.stories.tsx +2 -2
  89. package/src/{components → keyboard/components}/KeybindsDialog.tsx +3 -3
  90. package/src/{components → keyboard/components}/NavModeHint.stories.tsx +2 -2
  91. package/src/{components → keyboard/components}/NavModeHint.tsx +1 -1
  92. package/src/{components → keyboard/components}/SlashComposer.stories.tsx +3 -3
  93. package/src/{components → keyboard/components}/SlashComposer.tsx +3 -3
  94. package/src/{key-bindings.test.ts → keyboard/key-bindings.test.ts} +1 -1
  95. package/src/{keymap.test.ts → keyboard/keymap.test.ts} +1 -1
  96. package/src/{keymap.ts → keyboard/keymap.ts} +1 -1
  97. package/src/{slash-palette.ts → keyboard/slash-palette.ts} +1 -1
  98. package/src/{components → markdown/components}/MarkdownGridBlock.stories.tsx +2 -2
  99. package/src/{components → markdown/components}/MarkdownGridBlock.tsx +2 -2
  100. package/src/{components → markdown/components}/MarkdownThreadEditor.stories.tsx +2 -2
  101. package/src/{components → markdown/components}/MarkdownThreadEditor.test.tsx +2 -2
  102. package/src/{components → markdown/components}/MarkdownThreadEditor.tsx +1 -1
  103. package/src/{components → markdown/components}/ThreadView.selection.test.tsx +4 -4
  104. package/src/{components → markdown/components}/ThreadView.slash.test.tsx +6 -6
  105. package/src/{components → markdown/components}/ThreadView.stories.tsx +4 -4
  106. package/src/{components → markdown/components}/ThreadView.tsx +13 -13
  107. package/src/{mark-runs.ts → markdown/mark-runs.ts} +1 -1
  108. package/src/{markdown-editor-syntax-style.ts → markdown/markdown-editor-syntax-style.ts} +1 -1
  109. package/src/{thread-code-syntax.ts → markdown/thread-code-syntax.ts} +3 -3
  110. package/src/{use-thread-body-editing.tsx → markdown/use-thread-body-editing.tsx} +2 -2
  111. package/src/{view-plan.ts → markdown/view-plan.ts} +3 -3
  112. package/src/{components → prototype/components}/PrototypeContentView.stories.tsx +2 -2
  113. package/src/{components → prototype/components}/PrototypeContentView.tsx +5 -5
  114. package/src/{components → settings/components}/SettingsDialog.stories.tsx +3 -3
  115. package/src/{components → settings/components}/SettingsDialog.tsx +7 -7
  116. package/src/{components → settings/components}/SettingsRows.stories.tsx +2 -2
  117. package/src/{components → settings/components}/SettingsRows.tsx +2 -2
  118. package/src/{components → settings/components}/quick-actions-editor.stories.tsx +2 -2
  119. package/src/{components → settings/components}/quick-actions-editor.test.tsx +1 -1
  120. package/src/{components → settings/components}/quick-actions-editor.tsx +3 -3
  121. package/src/{config.test.ts → settings/config.test.ts} +2 -2
  122. package/src/{config.ts → settings/config.ts} +8 -3
  123. package/src/{use-settings-dialog.tsx → settings/use-settings-dialog.tsx} +2 -2
  124. package/src/{components → stories}/stories-app.tsx +8 -8
  125. package/src/{components → stories}/stories.test.tsx +2 -2
  126. package/src/{components → stories}/story-fixtures.ts +2 -2
  127. package/src/{components → stories}/story-tree.test.ts +1 -1
  128. package/src/{components → stories}/story.ts +4 -4
  129. package/src/{components → terminal/components}/AnsiScreen.stories.tsx +1 -1
  130. package/src/{components → terminal/components}/AnsiScreen.tsx +2 -2
  131. package/src/{components → terminal/components}/terminal-pane.test.tsx +1 -1
  132. package/src/{ghostty-terminal.ts → terminal/ghostty-terminal.ts} +1 -1
  133. package/src/{pty.ts → terminal/pty.ts} +1 -1
  134. package/src/{test-support.test.ts → testing/test-support.test.ts} +1 -1
  135. package/src/{test-support.ts → testing/test-support.ts} +1 -1
  136. package/src/{components → thread/components}/ThreadFooter.stories.tsx +2 -2
  137. package/src/{components → thread/components}/ThreadFooter.test.tsx +2 -2
  138. package/src/{components → thread/components}/ThreadFooter.tsx +4 -4
  139. package/src/{components → thread/components}/ThreadTree.stories.tsx +3 -3
  140. package/src/{components → thread/components}/ThreadTree.tsx +8 -8
  141. package/src/{thread-controller.live-diff.test.ts → thread/thread-controller.live-diff.test.ts} +31 -1
  142. package/src/{thread-controller.share.test.ts → thread/thread-controller.share.test.ts} +1 -1
  143. package/src/{thread-controller.tree.test.ts → thread/thread-controller.tree.test.ts} +1 -1
  144. package/src/{thread-controller.ts → thread/thread-controller.ts} +43 -14
  145. package/src/{components → ui/components}/CodeBlock.stories.tsx +2 -2
  146. package/src/{components → ui/components}/CodeBlock.tsx +2 -2
  147. package/src/{components → ui/components}/ConfirmCard.stories.tsx +3 -3
  148. package/src/{components → ui/components}/ConfirmCard.tsx +12 -7
  149. package/src/{components → ui/components}/ConfirmDialog.stories.tsx +2 -2
  150. package/src/{components → ui/components}/ConfirmDialog.tsx +2 -2
  151. package/src/{components → ui/components}/OverlayScrollbar.stories.tsx +2 -2
  152. package/src/{components → ui/components}/OverlayScrollbar.test.tsx +5 -5
  153. package/src/{components → ui/components}/OverlayScrollbar.tsx +2 -2
  154. package/src/{components → ui/components}/PromptDialog.stories.tsx +2 -2
  155. package/src/{components → ui/components}/PromptDialog.test.tsx +2 -2
  156. package/src/{components → ui/components}/PromptDialog.tsx +2 -2
  157. package/src/{components → ui/components}/RootOverlay.stories.tsx +2 -2
  158. package/src/{components → ui/components}/ScrollArea.stories.tsx +2 -2
  159. package/src/{components → ui/components}/ScrollArea.tsx +1 -1
  160. package/src/{components → ui/components}/Toast.stories.tsx +2 -2
  161. package/src/{components → ui/components}/Toast.tsx +2 -2
  162. package/src/{components → ui/components}/Tooltip.stories.tsx +2 -2
  163. package/src/{components → ui/components}/Tooltip.tsx +1 -1
  164. package/src/{components → ui/components}/menu-control.stories.tsx +2 -2
  165. package/src/{components → ui/components}/primitives/Button.stories.tsx +2 -2
  166. package/src/{components → ui/components}/primitives/Button.tsx +2 -2
  167. package/src/{components → ui/components}/primitives/Card.stories.tsx +2 -2
  168. package/src/{components → ui/components}/primitives/Card.tsx +2 -2
  169. package/src/{components → ui/components}/primitives/Dialog.stories.tsx +2 -2
  170. package/src/{components → ui/components}/primitives/Dialog.test.tsx +2 -2
  171. package/src/{components → ui/components}/primitives/Dialog.tsx +2 -2
  172. package/src/{components → ui/components}/primitives/DialogActions.stories.tsx +2 -2
  173. package/src/{components → ui/components}/primitives/DialogActions.tsx +1 -1
  174. package/src/{components → ui/components}/primitives/IconButton.stories.tsx +2 -2
  175. package/src/{components → ui/components}/primitives/IconButton.tsx +1 -1
  176. package/src/{components → ui/components}/primitives/StatusBar.stories.tsx +2 -2
  177. package/src/{components → ui/components}/primitives/StatusBar.tsx +2 -2
  178. package/src/{components → ui/components}/primitives/Switch.stories.tsx +2 -2
  179. package/src/{components → ui/components}/primitives/Switch.tsx +2 -2
  180. package/src/{components → ui/components}/primitives/Tabs.stories.tsx +2 -2
  181. package/src/{components → ui/components}/primitives/Tabs.tsx +2 -2
  182. package/src/{components → ui/components}/primitives/Toolbar.stories.tsx +1 -1
  183. package/src/{components → ui/components}/primitives/Tree.stories.tsx +2 -2
  184. package/src/{components → ui/components}/primitives/Tree.tsx +2 -2
  185. package/src/{components → ui/components}/syntax-highlight.ts +1 -1
  186. package/src/{components → workbench/components}/ChangesColumn.stories.tsx +2 -2
  187. package/src/{components → workbench/components}/ChangesColumn.tsx +7 -7
  188. package/src/{components → workbench/components}/ChangesFileTree.test.tsx +2 -2
  189. package/src/{components → workbench/components}/EditorGrid.split.test.tsx +1 -1
  190. package/src/{components → workbench/components}/EditorGrid.stories.tsx +2 -2
  191. package/src/{components → workbench/components}/EditorGrid.tabs.test.tsx +2 -2
  192. package/src/{components → workbench/components}/EditorGrid.tsx +8 -8
  193. package/src/{components → workbench/components}/EditorGrid.zoom.test.tsx +2 -2
  194. package/src/{components → workbench/components}/FileContentsView.stories.tsx +2 -2
  195. package/src/{components → workbench/components}/FileContentsView.test.tsx +2 -2
  196. package/src/{components → workbench/components}/FileContentsView.tsx +4 -4
  197. package/src/{components → workbench/components}/GridTabContent.actions.test.tsx +6 -6
  198. package/src/{components → workbench/components}/GridTabContent.stories.tsx +4 -4
  199. package/src/{components → workbench/components}/GridTabContent.tsx +4 -4
  200. package/src/{components → workbench/components}/ProjectTreeView.stories.tsx +2 -2
  201. package/src/{components → workbench/components}/ProjectTreeView.test.tsx +2 -2
  202. package/src/{components → workbench/components}/ProjectTreeView.tsx +5 -5
  203. package/src/{components → workbench/components}/TreePane.stories.tsx +3 -3
  204. package/src/{components → workbench/components}/TreePane.tsx +6 -6
  205. package/src/{components → workbench/components}/WelcomePlayground.stories.tsx +2 -2
  206. package/src/{components → workbench/components}/WelcomePlayground.test.tsx +10 -3
  207. package/src/{components → workbench/components}/WelcomePlayground.tsx +5 -5
  208. package/src/{components → workbench/components}/file-tree.ts +1 -1
  209. package/src/{use-changes-workbench.ts → workbench/use-changes-workbench.ts} +2 -2
  210. package/src/{use-remember-layout.ts → workbench/use-remember-layout.ts} +2 -2
  211. package/src/{use-repo-changes.ts → workbench/use-repo-changes.ts} +5 -1
  212. /package/src/{thread-selection.test.ts → annotations/thread-selection.test.ts} +0 -0
  213. /package/src/{thread-selection.ts → annotations/thread-selection.ts} +0 -0
  214. /package/src/{App.focus.test.ts → app/App.focus.test.ts} +0 -0
  215. /package/src/{launch-layout.test.ts → app/launch-layout.test.ts} +0 -0
  216. /package/src/{launch-layout.ts → app/launch-layout.ts} +0 -0
  217. /package/src/{ready-signal.ts → app/ready-signal.ts} +0 -0
  218. /package/src/{serve.test.ts → app/serve.test.ts} +0 -0
  219. /package/src/{components → appearance/components}/theme-context.tsx +0 -0
  220. /package/src/{theme-presets.test.ts → appearance/theme-presets.test.ts} +0 -0
  221. /package/src/{theme-presets.ts → appearance/theme-presets.ts} +0 -0
  222. /package/src/{theme.ts → appearance/theme.ts} +0 -0
  223. /package/src/{visual → appearance/visual}/contrast.test.ts +0 -0
  224. /package/src/{visual → appearance/visual}/contrast.ts +0 -0
  225. /package/src/{diff-fold.test.ts → diff/diff-fold.test.ts} +0 -0
  226. /package/src/{diff-fold.ts → diff/diff-fold.ts} +0 -0
  227. /package/src/{diff-hunk-curate.test.ts → diff/diff-hunk-curate.test.ts} +0 -0
  228. /package/src/{diff-hunk-curate.ts → diff/diff-hunk-curate.ts} +0 -0
  229. /package/src/{diff-intraline.test.ts → diff/diff-intraline.test.ts} +0 -0
  230. /package/src/{diff-intraline.ts → diff/diff-intraline.ts} +0 -0
  231. /package/src/{diff-syntax.test.ts → diff/diff-syntax.test.ts} +0 -0
  232. /package/src/{split-diff.test.ts → diff/split-diff.test.ts} +0 -0
  233. /package/src/{split-diff.ts → diff/split-diff.ts} +0 -0
  234. /package/src/{view-diff.test.ts → diff/view-diff.test.ts} +0 -0
  235. /package/src/{walk.test.ts → diff/walk.test.ts} +0 -0
  236. /package/src/{walk.ts → diff/walk.ts} +0 -0
  237. /package/src/{attribution.test.ts → integrations/attribution.test.ts} +0 -0
  238. /package/src/{attribution.ts → integrations/attribution.ts} +0 -0
  239. /package/src/{client-extension-registry.test.tsx → integrations/client-extension-registry.test.tsx} +0 -0
  240. /package/src/{client-extension-registry.ts → integrations/client-extension-registry.ts} +0 -0
  241. /package/src/{clipboard.test.ts → integrations/clipboard.test.ts} +0 -0
  242. /package/src/{clipboard.ts → integrations/clipboard.ts} +0 -0
  243. /package/src/{components → integrations/components}/share-dialog-store.ts +0 -0
  244. /package/src/{editor.test.ts → integrations/editor.test.ts} +0 -0
  245. /package/src/{editor.ts → integrations/editor.ts} +0 -0
  246. /package/src/{github-identity.test.ts → integrations/github-identity.test.ts} +0 -0
  247. /package/src/{github-identity.ts → integrations/github-identity.ts} +0 -0
  248. /package/src/{herdr.test.ts → integrations/herdr.test.ts} +0 -0
  249. /package/src/{herdr.ts → integrations/herdr.ts} +0 -0
  250. /package/src/{pasted-image.test.ts → integrations/pasted-image.test.ts} +0 -0
  251. /package/src/{pasted-image.ts → integrations/pasted-image.ts} +0 -0
  252. /package/src/{share.ts → integrations/share.ts} +0 -0
  253. /package/src/{key-bindings.ts → keyboard/key-bindings.ts} +0 -0
  254. /package/src/{skills.test.ts → keyboard/skills.test.ts} +0 -0
  255. /package/src/{skills.ts → keyboard/skills.ts} +0 -0
  256. /package/src/{slash-palette.test.ts → keyboard/slash-palette.test.ts} +0 -0
  257. /package/src/{thread-chords.test.ts → keyboard/thread-chords.test.ts} +0 -0
  258. /package/src/{thread-chords.ts → keyboard/thread-chords.ts} +0 -0
  259. /package/src/{use-shared-keyboard.ts → keyboard/use-shared-keyboard.ts} +0 -0
  260. /package/src/{__snapshots__ → markdown/__snapshots__}/view-plan.regression.test.ts.snap +0 -0
  261. /package/src/{markdown-grid.test.ts → markdown/markdown-grid.test.ts} +0 -0
  262. /package/src/{markdown-grid.ts → markdown/markdown-grid.ts} +0 -0
  263. /package/src/{markdown-highlight.test.ts → markdown/markdown-highlight.test.ts} +0 -0
  264. /package/src/{markdown-highlight.ts → markdown/markdown-highlight.ts} +0 -0
  265. /package/src/{view-plan.regression.test.ts → markdown/view-plan.regression.test.ts} +0 -0
  266. /package/src/{view-plan.test.ts → markdown/view-plan.test.ts} +0 -0
  267. /package/src/{perf → performance}/otlp-trace.test.ts +0 -0
  268. /package/src/{perf → performance}/otlp-trace.ts +0 -0
  269. /package/src/{perf → performance}/perf-report.ts +0 -0
  270. /package/src/{perf → performance}/perf-timings.test.ts +0 -0
  271. /package/src/{perf → performance}/perf-timings.ts +0 -0
  272. /package/src/{prototype-browser.test.ts → prototype/prototype-browser.test.ts} +0 -0
  273. /package/src/{prototype-browser.ts → prototype/prototype-browser.ts} +0 -0
  274. /package/src/{prototype-pixels.tsx → prototype/prototype-pixels.tsx} +0 -0
  275. /package/src/{config-identity.test.ts → settings/config-identity.test.ts} +0 -0
  276. /package/src/{components → stories}/__snapshots__/stories.test.tsx.snap +0 -0
  277. /package/src/{ansi-screen.test.ts → terminal/ansi-screen.test.ts} +0 -0
  278. /package/src/{ansi-screen.ts → terminal/ansi-screen.ts} +0 -0
  279. /package/src/{components → terminal/components}/terminal-pane.ts +0 -0
  280. /package/src/{ghostty-terminal.test.ts → terminal/ghostty-terminal.test.ts} +0 -0
  281. /package/src/{kitty-image.test.ts → terminal/kitty-image.test.ts} +0 -0
  282. /package/src/{kitty-image.ts → terminal/kitty-image.ts} +0 -0
  283. /package/src/{pty.test.ts → terminal/pty.test.ts} +0 -0
  284. /package/src/{components → thread/components}/thread-tree.test.ts +0 -0
  285. /package/src/{components → thread/components}/thread-tree.ts +0 -0
  286. /package/src/{thread-controller.curate.test.ts → thread/thread-controller.curate.test.ts} +0 -0
  287. /package/src/{thread-controller.derivation.test.ts → thread/thread-controller.derivation.test.ts} +0 -0
  288. /package/src/{thread-controller.optimistic.test.ts → thread/thread-controller.optimistic.test.ts} +0 -0
  289. /package/src/{thread-controller.switch-cache.test.ts → thread/thread-controller.switch-cache.test.ts} +0 -0
  290. /package/src/{tree-view.test.ts → thread/tree-view.test.ts} +0 -0
  291. /package/src/{tree-view.ts → thread/tree-view.ts} +0 -0
  292. /package/src/{components → ui/components}/RootOverlay.tsx +0 -0
  293. /package/src/{components → ui/components}/menu-control.tsx +0 -0
  294. /package/src/{components → ui/components}/primitives/Toolbar.tsx +0 -0
  295. /package/src/{components → ui/components}/primitives/frame.test.ts +0 -0
  296. /package/src/{components → ui/components}/primitives/frame.ts +0 -0
  297. /package/src/{components → ui/components}/primitives/icons.ts +0 -0
  298. /package/src/{components → ui/components}/primitives/tree-model.test.ts +0 -0
  299. /package/src/{components → ui/components}/primitives/tree-model.ts +0 -0
  300. /package/src/{components → ui/components}/truncate-text.ts +0 -0
  301. /package/src/{components → ui/components}/truncate-title.test.ts +0 -0
  302. /package/src/{components → ui/components}/truncate-title.ts +0 -0
  303. /package/src/{use-frame-measure.ts → ui/use-frame-measure.ts} +0 -0
  304. /package/src/{use-terminal-virtualizer.ts → ui/use-terminal-virtualizer.ts} +0 -0
  305. /package/src/{components → workbench/components}/editor-grid.test.ts +0 -0
  306. /package/src/{components → workbench/components}/editor-grid.ts +0 -0
  307. /package/src/{components → workbench/components}/file-tree.test.ts +0 -0
  308. /package/src/{workbench-snapshot.test.ts → workbench/workbench-snapshot.test.ts} +0 -0
  309. /package/src/{workbench-snapshot.ts → workbench/workbench-snapshot.ts} +0 -0
@@ -23,7 +23,7 @@ import { cueloopHome } from "@cueloop/daemon";
23
23
  import { DaemonClient } from "@cueloop/daemon/client";
24
24
  import type { Artifact } from "@cueloop/schema";
25
25
  import { App } from "./App";
26
- import { snapshotWorkbench } from "./workbench-snapshot";
26
+ import { snapshotWorkbench } from "../workbench/workbench-snapshot";
27
27
 
28
28
  /** OSC background query budget: brief so a terminal that never answers falls back to dark. */
29
29
  const THEME_QUERY_TIMEOUT_MS = 200;
@@ -1,5 +1,5 @@
1
1
  /** The published client version, read from the package manifest. */
2
2
 
3
- import manifest from "../package.json" with { type: "json" };
3
+ import manifest from "../../package.json" with { type: "json" };
4
4
 
5
5
  export const CLIENT_VERSION: string = manifest.version;
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  import { DARK, type Theme } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { ThemeProvider } from "./theme-context";
5
- import { Card } from "./primitives/Card";
5
+ import { Card } from "../../ui/components/primitives/Card";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Foundations/Theme" };
8
8
 
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { SCHEMA_VERSION, type Thread } from "@cueloop/schema";
3
- import { DARK } from "../theme";
4
- import type { Story, StoryMeta } from "./story";
3
+ import { DARK } from "../../appearance/theme";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
  import { AnnotatableFileView } from "./AnnotatableFileView";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Surfaces/AnnotatableFileView" };
@@ -9,8 +9,14 @@ import { testRender } from "@opentui/react/test-utils";
9
9
  import React from "react";
10
10
  import { SCHEMA_VERSION, type Anchor, type Thread } from "@cueloop/schema";
11
11
  import { AnnotatableFileView } from "./AnnotatableFileView";
12
- import { DARK } from "../theme";
13
- import { allowEventLoopUpdates, dragText, typeText, pressKey, waitForText } from "../test-support";
12
+ import { DARK } from "../../appearance/theme";
13
+ import {
14
+ allowEventLoopUpdates,
15
+ dragText,
16
+ typeText,
17
+ pressKey,
18
+ waitForText,
19
+ } from "../../testing/test-support";
14
20
 
15
21
  const SAMPLE = "export function add(a: number, b: number) {\n return a + b;\n}\n";
16
22
 
@@ -11,9 +11,9 @@ import {
11
11
  type Annotation,
12
12
  type Thread,
13
13
  } from "@cueloop/schema";
14
- import type { Theme } from "../theme";
15
- import type { QuickAction } from "../config";
16
- import { useComponentTheme } from "./theme-context";
14
+ import type { Theme } from "../../appearance/theme";
15
+ import type { QuickAction } from "../../settings/config";
16
+ import { useComponentTheme } from "../../appearance/components/theme-context";
17
17
  import { DiffContentView } from "./DiffContentView";
18
18
  import { diffRowBlocks, fileContentsRows, marksByRows } from "../view-diff";
19
19
 
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { BareWorkbenchFileView, type WorkbenchCommenter } from "./BareWorkbenchFileView";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Surfaces/BareWorkbenchFileView" };
@@ -4,8 +4,8 @@
4
4
 
5
5
  import React from "react";
6
6
  import { SCHEMA_VERSION, type Anchor, type AnnotationTarget, type Thread } from "@cueloop/schema";
7
- import type { Theme } from "../theme";
8
- import type { QuickAction } from "../config";
7
+ import type { Theme } from "../../appearance/theme";
8
+ import type { QuickAction } from "../../settings/config";
9
9
  import { AnnotatableFileView } from "./AnnotatableFileView";
10
10
 
11
11
  /** The controller slice this view needs: read a file, and route a comment to the workbench thread. */
@@ -7,10 +7,10 @@ import { ScrollBoxRenderable, type Renderable } from "@opentui/core";
7
7
  import type { Annotation } from "@cueloop/schema";
8
8
  import { DiffContentView } from "./DiffContentView";
9
9
  import { diffRows, marksByRows } from "../view-diff";
10
- import { DARK } from "../theme";
11
- import { annotationPaletteFor } from "../annotation-palette";
12
- import { press, settle, typeText } from "../test-support";
13
- import { fixtureDiffSession } from "./story-fixtures";
10
+ import { DARK } from "../../appearance/theme";
11
+ import { annotationPaletteFor } from "../../annotations/annotation-palette";
12
+ import { press, settle, typeText } from "../../testing/test-support";
13
+ import { fixtureDiffSession } from "../../stories/story-fixtures";
14
14
 
15
15
  const noop = (): void => {};
16
16
 
@@ -9,10 +9,10 @@ import { testRender } from "@opentui/react/test-utils";
9
9
  import React from "react";
10
10
  import { DiffContentView } from "./DiffContentView";
11
11
  import { diffRows } from "../view-diff";
12
- import { allowEventLoopUpdates } from "../test-support";
13
- import { fixtureDiffSession } from "./story-fixtures";
14
- import { annotationPaletteFor } from "../annotation-palette";
15
- import { DARK } from "../theme";
12
+ import { allowEventLoopUpdates } from "../../testing/test-support";
13
+ import { fixtureDiffSession } from "../../stories/story-fixtures";
14
+ import { annotationPaletteFor } from "../../annotations/annotation-palette";
15
+ import { DARK } from "../../appearance/theme";
16
16
 
17
17
  const noop = (): void => {};
18
18
 
@@ -1,12 +1,12 @@
1
1
  import React from "react";
2
2
  import type { Annotation } from "@cueloop/schema";
3
- import { DARK } from "../theme";
4
- import { annotationPaletteFor } from "../annotation-palette";
5
- import { DEFAULT_QUICK_ACTIONS } from "../config";
3
+ import { DARK } from "../../appearance/theme";
4
+ import { annotationPaletteFor } from "../../annotations/annotation-palette";
5
+ import { DEFAULT_QUICK_ACTIONS } from "../../settings/config";
6
6
  import { marksByRows } from "../view-diff";
7
- import type { Story, StoryMeta } from "./story";
7
+ import type { Story, StoryMeta } from "../../stories/story";
8
8
  import { DiffContentView } from "./DiffContentView";
9
- import { fixtureDiffRows, fixtureDiffSession } from "./story-fixtures";
9
+ import { fixtureDiffRows, fixtureDiffSession } from "../../stories/story-fixtures";
10
10
 
11
11
  export const meta: StoryMeta = { title: "Surfaces/DiffContentView" };
12
12
 
@@ -3,10 +3,10 @@ import { testRender } from "@opentui/react/test-utils";
3
3
  import type { RGBA } from "@opentui/core";
4
4
  import React from "react";
5
5
  import { DiffContentView } from "./DiffContentView";
6
- import { fixtureDiffSession } from "./story-fixtures";
6
+ import { fixtureDiffSession } from "../../stories/story-fixtures";
7
7
  import { diffRows } from "../view-diff";
8
- import { DARK } from "../theme";
9
- import { allowEventLoopUpdates } from "../test-support";
8
+ import { DARK } from "../../appearance/theme";
9
+ import { allowEventLoopUpdates } from "../../testing/test-support";
10
10
 
11
11
  const PATCH = `diff --git a/src/x.ts b/src/x.ts
12
12
  --- a/src/x.ts
@@ -17,22 +17,22 @@ import {
17
17
  } from "@opentui/core";
18
18
  import type { Annotation, Thread } from "@cueloop/schema";
19
19
  import { diffRowText, fileChangeCounts, type DiffRow, type Mark } from "../view-diff";
20
- import type { TextSpan } from "../thread-selection";
21
- import type { QuickAction } from "../config";
22
- import type { Theme } from "../theme";
23
- import { useComponentTheme } from "./theme-context";
24
- import { useTooltip } from "./Tooltip";
25
- import { NERD } from "./primitives/icons";
20
+ import type { TextSpan } from "../../annotations/thread-selection";
21
+ import type { QuickAction } from "../../settings/config";
22
+ import type { Theme } from "../../appearance/theme";
23
+ import { useComponentTheme } from "../../appearance/components/theme-context";
24
+ import { useTooltip } from "../../ui/components/Tooltip";
25
+ import { NERD } from "../../ui/components/primitives/icons";
26
26
  import { createIntralineResolver, type IntralineRun } from "../diff-intraline";
27
27
  import { highlightDiffRows, type SyntaxSpan } from "../diff-syntax";
28
28
  import { splitDiffRows, type SplitLine, type SplitRow } from "../split-diff";
29
- import { UNDERLINE, type AnnotationPalette } from "../annotation-palette";
30
- import { lineMarkRanges, runsFor, wrapLines, type MarkRange } from "../mark-runs";
31
- import { useFrameMeasure } from "../use-frame-measure";
32
- import { scrollBoxDragViewport, useTerminalVirtualizer } from "../use-terminal-virtualizer";
33
- import { useAnnotationSurface, type LineSource } from "../use-annotation-surface";
34
- import { NavModeHint } from "./NavModeHint";
35
- import { DiscussionMarkerRail } from "./DiscussionMarkerRail";
29
+ import { UNDERLINE, type AnnotationPalette } from "../../annotations/annotation-palette";
30
+ import { lineMarkRanges, runsFor, wrapLines, type MarkRange } from "../../markdown/mark-runs";
31
+ import { useFrameMeasure } from "../../ui/use-frame-measure";
32
+ import { scrollBoxDragViewport, useTerminalVirtualizer } from "../../ui/use-terminal-virtualizer";
33
+ import { useAnnotationSurface, type LineSource } from "../../annotations/use-annotation-surface";
34
+ import { NavModeHint } from "../../keyboard/components/NavModeHint";
35
+ import { DiscussionMarkerRail } from "../../annotations/components/DiscussionMarkerRail";
36
36
  import { coloredRowSpans } from "./diff-content-view-layout";
37
37
 
38
38
  /** Shared empty map so an unresolved/stale highlight state is a stable value. */
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
2
+ import { DARK } from "../../appearance/theme";
3
3
  import type { WalkFile } from "../walk";
4
- import type { Story, StoryMeta } from "./story";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
  import { WalkWizard } from "./WalkWizard";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Overlays/WalkWizard" };
@@ -8,12 +8,12 @@
8
8
  */
9
9
 
10
10
  import React from "react";
11
- import type { Theme } from "../theme";
12
- import { useComponentTheme } from "./theme-context";
11
+ import type { Theme } from "../../appearance/theme";
12
+ import { useComponentTheme } from "../../appearance/components/theme-context";
13
13
  import type { WalkFile } from "../walk";
14
14
  import { viewedCount } from "../walk";
15
- import { Card } from "./primitives/Card";
16
- import { DialogActions } from "./primitives/DialogActions";
15
+ import { Card } from "../../ui/components/primitives/Card";
16
+ import { DialogActions } from "../../ui/components/primitives/DialogActions";
17
17
 
18
18
  export interface WalkWizardProps {
19
19
  files: WalkFile[];
@@ -7,10 +7,10 @@ import {
7
7
  marksByRows,
8
8
  type DiffRow,
9
9
  } from "../view-diff";
10
- import { fixtureDiffSession } from "./story-fixtures";
10
+ import { fixtureDiffSession } from "../../stories/story-fixtures";
11
11
  import type { IntralineRun } from "../diff-intraline";
12
12
  import type { SyntaxSpan } from "../diff-syntax";
13
- import { DARK } from "../theme";
13
+ import { DARK } from "../../appearance/theme";
14
14
  import { coloredRowSpans } from "./diff-content-view-layout";
15
15
 
16
16
  function row(kind: DiffRow["kind"], text: string, extra: Partial<DiffRow> = {}): DiffRow {
@@ -4,10 +4,10 @@
4
4
  * color). DiffContentView.tsx paints marks and the caret over these per character.
5
5
  */
6
6
 
7
- import type { Theme } from "../theme";
7
+ import type { Theme } from "../../appearance/theme";
8
8
  import type { IntralineRun } from "../diff-intraline";
9
9
  import type { SyntaxSpan } from "../diff-syntax";
10
- import { colorForSyntaxGroup } from "./syntax-highlight";
10
+ import { colorForSyntaxGroup } from "../../ui/components/syntax-highlight";
11
11
 
12
12
  /** One rendered span of a row: its text and its resolved foreground color. */
13
13
  export interface ColoredSpan {
@@ -10,7 +10,7 @@
10
10
 
11
11
  import { getTreeSitterClient, type SimpleHighlight } from "@opentui/core";
12
12
  import type { DiffRow } from "./view-diff";
13
- import { filetypeForPath } from "./components/syntax-highlight";
13
+ import { filetypeForPath } from "../ui/components/syntax-highlight";
14
14
 
15
15
  /** A syntax-colored run within one row, in line-relative columns [start, end). */
16
16
  export interface SyntaxSpan {
@@ -14,12 +14,12 @@ import {
14
14
  type Block,
15
15
  type Thread,
16
16
  } from "@cueloop/schema";
17
- import { spanRangeInBlock, type TextSpan } from "./thread-selection";
18
- import type { Mark } from "./view-plan";
19
- import { discussionsFrom } from "./discussions";
17
+ import { spanRangeInBlock, type TextSpan } from "../annotations/thread-selection";
18
+ import type { Mark } from "../markdown/view-plan";
19
+ import { discussionsFrom } from "../annotations/discussions";
20
20
 
21
21
  // the diff sheet reads marks over rows as a diff concept; re-export so it need not reach into view-plan
22
- export type { Mark } from "./view-plan";
22
+ export type { Mark } from "../markdown/view-plan";
23
23
 
24
24
  export type DiffRowKind = "file" | "hunk" | "ctx" | "add" | "del";
25
25
 
package/src/index.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { runClient, type RunClientOptions } from "./run";
2
- export { snapshotWorkbench, type RepoDiff } from "./workbench-snapshot";
1
+ export { runClient, type RunClientOptions } from "./app/run";
2
+ export { snapshotWorkbench, type RepoDiff } from "./workbench/workbench-snapshot";
3
3
  export {
4
4
  defaultLayout,
5
5
  pairLayout,
@@ -7,7 +7,7 @@ export {
7
7
  pullRequestReviewLayout,
8
8
  reviewLayout,
9
9
  type LaunchLayout,
10
- } from "./launch-layout";
10
+ } from "./app/launch-layout";
11
11
  export {
12
12
  diffRowAnchor,
13
13
  diffRows,
@@ -15,10 +15,10 @@ export {
15
15
  fileRowRange,
16
16
  resolveReviewAnchorRow,
17
17
  type DiffRow,
18
- } from "./view-diff";
19
- export { loadConfig, type ReviewWorkspaceMode } from "./config";
20
- export { serveClient, type ServeHandle, type ServeOptions } from "./serve";
21
- export { App, type AppProps } from "./App";
18
+ } from "./diff/view-diff";
19
+ export { loadConfig, type ReviewWorkspaceMode } from "./settings/config";
20
+ export { serveClient, type ServeHandle, type ServeOptions } from "./app/serve";
21
+ export { App, type AppProps } from "./app/App";
22
22
  export {
23
23
  collaboratorAnnotations,
24
24
  mergeFromShare,
@@ -28,4 +28,4 @@ export {
28
28
  shareIdFromLine,
29
29
  type ShareResult,
30
30
  type ShareTarget,
31
- } from "./share";
31
+ } from "./integrations/share";
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { ClientExtensionRegistry } from "../client-extension-registry";
3
- import type { Story, StoryMeta } from "./story";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { ExtensionZone } from "./ExtensionZone";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Extensions/ExtensionZone" };
@@ -4,9 +4,9 @@ import type {
4
4
  ClientExtensionRegistry,
5
5
  ClientExtensionSnapshot,
6
6
  } from "../client-extension-registry";
7
- import { useComponentTheme } from "./theme-context";
8
- import { IconButton } from "./primitives/IconButton";
9
- import { NERD } from "./primitives/icons";
7
+ import { useComponentTheme } from "../../appearance/components/theme-context";
8
+ import { IconButton } from "../../ui/components/primitives/IconButton";
9
+ import { NERD } from "../../ui/components/primitives/icons";
10
10
 
11
11
  /** Subscribe to the client extension registry without coupling extensions to React state. */
12
12
  export function useClientExtensionSnapshot(
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { ShareLink } from "@cueloop/schema";
3
- import { DARK } from "../theme";
4
- import type { Story, StoryMeta } from "./story";
3
+ import { DARK } from "../../appearance/theme";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
  import { ShareDialog } from "./ShareDialog";
6
6
  import { newWizardDraft, shareDialogStore } from "./share-dialog-store";
7
7
 
@@ -14,17 +14,17 @@ import { useKeyboard, useTerminalDimensions } from "@opentui/react";
14
14
  import type { KeyBinding, MouseEvent, TextareaRenderable } from "@opentui/core";
15
15
  import { DEFAULT_SHARE_HOST } from "@cueloop/daemon/share-blob";
16
16
  import type { ShareLink } from "@cueloop/schema";
17
- import type { Theme } from "../theme";
18
- import type { NewShareLink } from "../thread-controller";
19
- import { useComponentTheme } from "./theme-context";
20
- import { Dialog } from "./primitives/Dialog";
21
- import { DialogActions } from "./primitives/DialogActions";
22
- import { Button } from "./primitives/Button";
23
- import { Switch } from "./primitives/Switch";
24
- import { Tree } from "./primitives/Tree";
25
- import type { TreeNode } from "./primitives/tree-model";
26
- import { NERD } from "./primitives/icons";
27
- import { HandleChipsInput } from "./HandleChipsInput";
17
+ import type { Theme } from "../../appearance/theme";
18
+ import type { NewShareLink } from "../../thread/thread-controller";
19
+ import { useComponentTheme } from "../../appearance/components/theme-context";
20
+ import { Dialog } from "../../ui/components/primitives/Dialog";
21
+ import { DialogActions } from "../../ui/components/primitives/DialogActions";
22
+ import { Button } from "../../ui/components/primitives/Button";
23
+ import { Switch } from "../../ui/components/primitives/Switch";
24
+ import { Tree } from "../../ui/components/primitives/Tree";
25
+ import type { TreeNode } from "../../ui/components/primitives/tree-model";
26
+ import { NERD } from "../../ui/components/primitives/icons";
27
+ import { HandleChipsInput } from "../../keyboard/components/HandleChipsInput";
28
28
  import {
29
29
  newWizardDraft,
30
30
  useShareDialog,
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, test } from "bun:test";
2
2
  import { OBSIDIAN_DEFAULTS } from "@cueloop/integration-obsidian";
3
3
  import { loadBundledExporters } from "./integrations";
4
- import type { IntegrationsConfig } from "./config";
4
+ import type { IntegrationsConfig } from "../settings/config";
5
5
 
6
6
  function integrations(overrides: Partial<typeof OBSIDIAN_DEFAULTS> = {}): IntegrationsConfig {
7
7
  return { obsidian: { ...OBSIDIAN_DEFAULTS, ...overrides } };
@@ -8,7 +8,7 @@
8
8
  import { Registry, type Exporter } from "@cueloop/extension-api";
9
9
  import { createObsidianExtension, shouldExport } from "@cueloop/integration-obsidian";
10
10
  import type { MessageOutcome } from "@cueloop/schema";
11
- import type { IntegrationsConfig } from "./config";
11
+ import type { IntegrationsConfig } from "../settings/config";
12
12
 
13
13
  /** An exporter plus the policy deciding which messages trigger it. */
14
14
  export interface BundledExporter {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { CompletionOverlay } from "./CompletionOverlay";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Overlays/CompletionOverlay" };
@@ -6,10 +6,10 @@
6
6
 
7
7
  import React from "react";
8
8
  import type { MessageOutcome } from "@cueloop/schema";
9
- import type { Theme } from "../theme";
10
- import { useComponentTheme } from "./theme-context";
11
- import { Toolbar } from "./primitives/Toolbar";
12
- import { Button } from "./primitives/Button";
9
+ import type { Theme } from "../../appearance/theme";
10
+ import { useComponentTheme } from "../../appearance/components/theme-context";
11
+ import { Toolbar } from "../../ui/components/primitives/Toolbar";
12
+ import { Button } from "../../ui/components/primitives/Button";
13
13
 
14
14
  export interface CompletionOverlayProps {
15
15
  message: MessageOutcome;
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { HandleChipsInput } from "./HandleChipsInput";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Inputs/HandleChips" };
@@ -3,8 +3,8 @@
3
3
  import React, { useState } from "react";
4
4
  import { describe, expect, test } from "bun:test";
5
5
  import { testRender } from "@opentui/react/test-utils";
6
- import { DARK } from "../theme";
7
- import { press, settle } from "../test-support";
6
+ import { DARK } from "../../appearance/theme";
7
+ import { press, settle } from "../../testing/test-support";
8
8
  import { HandleChipsInput } from "./HandleChipsInput";
9
9
 
10
10
  /** A controlled host so onChange edits flow back into the rendered list, like the wizard. */
@@ -8,9 +8,9 @@
8
8
  import React, { useEffect, useRef, useState } from "react";
9
9
  import { useKeyboard } from "@opentui/react";
10
10
  import type { KeyBinding, TextareaRenderable } from "@opentui/core";
11
- import type { Theme } from "../theme";
12
- import { useComponentTheme } from "./theme-context";
13
- import { NERD } from "./primitives/icons";
11
+ import type { Theme } from "../../appearance/theme";
12
+ import { useComponentTheme } from "../../appearance/components/theme-context";
13
+ import { NERD } from "../../ui/components/primitives/icons";
14
14
 
15
15
  // enter adds the handle rather than inserting a newline into the one-line field
16
16
  const ADD_KEY_BINDINGS: KeyBinding[] = [{ name: "return", action: "submit" }];
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { KeybindsDialog } from "./KeybindsDialog";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Overlays/KeybindsDialog" };
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  import { useTerminalDimensions } from "@opentui/react";
3
- import type { Theme } from "../theme";
4
- import { useComponentTheme } from "./theme-context";
5
- import { Dialog } from "./primitives/Dialog";
3
+ import type { Theme } from "../../appearance/theme";
4
+ import { useComponentTheme } from "../../appearance/components/theme-context";
5
+ import { Dialog } from "../../ui/components/primitives/Dialog";
6
6
  import type { CheatsheetSection } from "../key-bindings";
7
7
 
8
8
  export interface KeybindsDialogProps {
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import type { Story, StoryMeta } from "../../stories/story";
4
4
  import { NavModeHint } from "./NavModeHint";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Chrome/NavModeHint" };
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { Theme } from "../theme";
2
+ import type { Theme } from "../../appearance/theme";
3
3
 
4
4
  const DIFF_NAV_HINT = "x reject · c fold · d layout · k walk · ⏎ submit · type to leave";
5
5
  const THREAD_NAV_HINT = "c comment · e edit · s share · n/p cards · ⏎ submit · type to leave";
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
3
- import { DEFAULT_QUICK_ACTIONS } from "../config";
4
- import type { Story, StoryMeta } from "./story";
2
+ import { DARK } from "../../appearance/theme";
3
+ import { DEFAULT_QUICK_ACTIONS } from "../../settings/config";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
  import { SlashComposer } from "./SlashComposer";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Chrome/SlashComposer" };
@@ -2,8 +2,8 @@
2
2
 
3
3
  import React, { useContext, useState } from "react";
4
4
  import { useKeyboard } from "@opentui/react";
5
- import type { Theme } from "../theme";
6
- import type { QuickAction } from "../config";
5
+ import type { Theme } from "../../appearance/theme";
6
+ import type { QuickAction } from "../../settings/config";
7
7
  import { SlashSkillsContext } from "../skills";
8
8
  import {
9
9
  activeSlashToken,
@@ -12,7 +12,7 @@ import {
12
12
  slashFilter,
13
13
  slashItemsFrom,
14
14
  } from "../slash-palette";
15
- import { Composer, ComposerPalette } from "./AnnotationCards";
15
+ import { Composer, ComposerPalette } from "../../annotations/components/AnnotationCards";
16
16
 
17
17
  export interface SlashComposerProps {
18
18
  seed: string;
@@ -1,7 +1,7 @@
1
1
  /** Config keys resolve to per-layer actions, and status hints derive from getActiveKeys() so rebinds surface. */
2
2
 
3
3
  import { describe, expect, test } from "bun:test";
4
- import { DEFAULT_KEYS } from "./config";
4
+ import { DEFAULT_KEYS } from "../settings/config";
5
5
  import { KeyBindings } from "./key-bindings";
6
6
 
7
7
  function bindings(
@@ -1,7 +1,7 @@
1
1
  /** The keyboard grammar as data: every mode x key maps to a known intent list, gated once by the read-only rule. */
2
2
 
3
3
  import { describe, expect, test } from "bun:test";
4
- import { DEFAULT_KEYS } from "./config";
4
+ import { DEFAULT_KEYS } from "../settings/config";
5
5
  import { reduceKey, type Intent, type KeyState } from "./keymap";
6
6
 
7
7
  function state(patch: Partial<KeyState> = {}): KeyState {
@@ -6,7 +6,7 @@
6
6
  * navigation, deletion, and submit; the read-only rule is one gate here.
7
7
  */
8
8
 
9
- import { actionFor } from "./config";
9
+ import { actionFor } from "../settings/config";
10
10
 
11
11
  export type Intent =
12
12
  | { type: "exit" }
@@ -4,7 +4,7 @@
4
4
  * "/word" completion offered mid-sentence. Pure; the surfaces render it.
5
5
  */
6
6
 
7
- import { quickActionBody, type QuickAction } from "./config";
7
+ import { quickActionBody, type QuickAction } from "../settings/config";
8
8
 
9
9
  export interface SlashItem {
10
10
  name: string;
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
2
+ import { DARK } from "../../appearance/theme";
3
3
  import { buildDisplay, type DisplayBlock } from "../view-plan";
4
- import type { Story, StoryMeta } from "./story";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
  import { MarkdownGridBlock } from "./MarkdownGridBlock";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Surfaces/MarkdownGridBlock" };
@@ -10,8 +10,8 @@
10
10
  import React from "react";
11
11
  import type { MouseEvent as TerminalMouseEvent, TextRenderable } from "@opentui/core";
12
12
  import { displayText, type DisplayBlock } from "../view-plan";
13
- import type { Theme } from "../theme";
14
- import { BOLD } from "../annotation-palette";
13
+ import type { Theme } from "../../appearance/theme";
14
+ import { BOLD } from "../../annotations/annotation-palette";
15
15
  import {
16
16
  layoutFrontmatterGrid,
17
17
  layoutMarkdownTable,