@cueloop/client 0.1.0-alpha.94 → 0.1.0-alpha.96

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 +7 -7
  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} +37 -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} +26 -5
  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} +6 -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} +1 -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} +18 -13
  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/{thread-selection.test.ts → annotations/thread-selection.test.ts} +0 -0
  212. /package/src/{thread-selection.ts → annotations/thread-selection.ts} +0 -0
  213. /package/src/{App.focus.test.ts → app/App.focus.test.ts} +0 -0
  214. /package/src/{launch-layout.test.ts → app/launch-layout.test.ts} +0 -0
  215. /package/src/{launch-layout.ts → app/launch-layout.ts} +0 -0
  216. /package/src/{ready-signal.ts → app/ready-signal.ts} +0 -0
  217. /package/src/{serve.test.ts → app/serve.test.ts} +0 -0
  218. /package/src/{components → appearance/components}/theme-context.tsx +0 -0
  219. /package/src/{theme-presets.test.ts → appearance/theme-presets.test.ts} +0 -0
  220. /package/src/{theme-presets.ts → appearance/theme-presets.ts} +0 -0
  221. /package/src/{theme.ts → appearance/theme.ts} +0 -0
  222. /package/src/{visual → appearance/visual}/contrast.test.ts +0 -0
  223. /package/src/{visual → appearance/visual}/contrast.ts +0 -0
  224. /package/src/{diff-fold.test.ts → diff/diff-fold.test.ts} +0 -0
  225. /package/src/{diff-fold.ts → diff/diff-fold.ts} +0 -0
  226. /package/src/{diff-hunk-curate.test.ts → diff/diff-hunk-curate.test.ts} +0 -0
  227. /package/src/{diff-hunk-curate.ts → diff/diff-hunk-curate.ts} +0 -0
  228. /package/src/{diff-intraline.test.ts → diff/diff-intraline.test.ts} +0 -0
  229. /package/src/{diff-intraline.ts → diff/diff-intraline.ts} +0 -0
  230. /package/src/{diff-syntax.test.ts → diff/diff-syntax.test.ts} +0 -0
  231. /package/src/{split-diff.test.ts → diff/split-diff.test.ts} +0 -0
  232. /package/src/{split-diff.ts → diff/split-diff.ts} +0 -0
  233. /package/src/{view-diff.test.ts → diff/view-diff.test.ts} +0 -0
  234. /package/src/{walk.test.ts → diff/walk.test.ts} +0 -0
  235. /package/src/{walk.ts → diff/walk.ts} +0 -0
  236. /package/src/{attribution.test.ts → integrations/attribution.test.ts} +0 -0
  237. /package/src/{attribution.ts → integrations/attribution.ts} +0 -0
  238. /package/src/{client-extension-registry.test.tsx → integrations/client-extension-registry.test.tsx} +0 -0
  239. /package/src/{client-extension-registry.ts → integrations/client-extension-registry.ts} +0 -0
  240. /package/src/{clipboard.test.ts → integrations/clipboard.test.ts} +0 -0
  241. /package/src/{clipboard.ts → integrations/clipboard.ts} +0 -0
  242. /package/src/{components → integrations/components}/share-dialog-store.ts +0 -0
  243. /package/src/{editor.test.ts → integrations/editor.test.ts} +0 -0
  244. /package/src/{editor.ts → integrations/editor.ts} +0 -0
  245. /package/src/{github-identity.test.ts → integrations/github-identity.test.ts} +0 -0
  246. /package/src/{github-identity.ts → integrations/github-identity.ts} +0 -0
  247. /package/src/{herdr.test.ts → integrations/herdr.test.ts} +0 -0
  248. /package/src/{herdr.ts → integrations/herdr.ts} +0 -0
  249. /package/src/{pasted-image.test.ts → integrations/pasted-image.test.ts} +0 -0
  250. /package/src/{pasted-image.ts → integrations/pasted-image.ts} +0 -0
  251. /package/src/{share.ts → integrations/share.ts} +0 -0
  252. /package/src/{key-bindings.ts → keyboard/key-bindings.ts} +0 -0
  253. /package/src/{skills.test.ts → keyboard/skills.test.ts} +0 -0
  254. /package/src/{skills.ts → keyboard/skills.ts} +0 -0
  255. /package/src/{slash-palette.test.ts → keyboard/slash-palette.test.ts} +0 -0
  256. /package/src/{thread-chords.test.ts → keyboard/thread-chords.test.ts} +0 -0
  257. /package/src/{thread-chords.ts → keyboard/thread-chords.ts} +0 -0
  258. /package/src/{use-shared-keyboard.ts → keyboard/use-shared-keyboard.ts} +0 -0
  259. /package/src/{__snapshots__ → markdown/__snapshots__}/view-plan.regression.test.ts.snap +0 -0
  260. /package/src/{markdown-grid.test.ts → markdown/markdown-grid.test.ts} +0 -0
  261. /package/src/{markdown-grid.ts → markdown/markdown-grid.ts} +0 -0
  262. /package/src/{markdown-highlight.test.ts → markdown/markdown-highlight.test.ts} +0 -0
  263. /package/src/{markdown-highlight.ts → markdown/markdown-highlight.ts} +0 -0
  264. /package/src/{view-plan.regression.test.ts → markdown/view-plan.regression.test.ts} +0 -0
  265. /package/src/{view-plan.test.ts → markdown/view-plan.test.ts} +0 -0
  266. /package/src/{perf → performance}/otlp-trace.test.ts +0 -0
  267. /package/src/{perf → performance}/otlp-trace.ts +0 -0
  268. /package/src/{perf → performance}/perf-report.ts +0 -0
  269. /package/src/{perf → performance}/perf-timings.test.ts +0 -0
  270. /package/src/{perf → performance}/perf-timings.ts +0 -0
  271. /package/src/{prototype-browser.test.ts → prototype/prototype-browser.test.ts} +0 -0
  272. /package/src/{prototype-browser.ts → prototype/prototype-browser.ts} +0 -0
  273. /package/src/{prototype-pixels.tsx → prototype/prototype-pixels.tsx} +0 -0
  274. /package/src/{config-identity.test.ts → settings/config-identity.test.ts} +0 -0
  275. /package/src/{components → stories}/__snapshots__/stories.test.tsx.snap +0 -0
  276. /package/src/{ansi-screen.test.ts → terminal/ansi-screen.test.ts} +0 -0
  277. /package/src/{ansi-screen.ts → terminal/ansi-screen.ts} +0 -0
  278. /package/src/{components → terminal/components}/terminal-pane.ts +0 -0
  279. /package/src/{ghostty-terminal.test.ts → terminal/ghostty-terminal.test.ts} +0 -0
  280. /package/src/{kitty-image.test.ts → terminal/kitty-image.test.ts} +0 -0
  281. /package/src/{kitty-image.ts → terminal/kitty-image.ts} +0 -0
  282. /package/src/{pty.test.ts → terminal/pty.test.ts} +0 -0
  283. /package/src/{components → thread/components}/thread-tree.test.ts +0 -0
  284. /package/src/{components → thread/components}/thread-tree.ts +0 -0
  285. /package/src/{thread-controller.curate.test.ts → thread/thread-controller.curate.test.ts} +0 -0
  286. /package/src/{thread-controller.derivation.test.ts → thread/thread-controller.derivation.test.ts} +0 -0
  287. /package/src/{thread-controller.optimistic.test.ts → thread/thread-controller.optimistic.test.ts} +0 -0
  288. /package/src/{thread-controller.switch-cache.test.ts → thread/thread-controller.switch-cache.test.ts} +0 -0
  289. /package/src/{tree-view.test.ts → thread/tree-view.test.ts} +0 -0
  290. /package/src/{tree-view.ts → thread/tree-view.ts} +0 -0
  291. /package/src/{components → ui/components}/RootOverlay.tsx +0 -0
  292. /package/src/{components → ui/components}/menu-control.tsx +0 -0
  293. /package/src/{components → ui/components}/primitives/Toolbar.tsx +0 -0
  294. /package/src/{components → ui/components}/primitives/frame.test.ts +0 -0
  295. /package/src/{components → ui/components}/primitives/frame.ts +0 -0
  296. /package/src/{components → ui/components}/primitives/icons.ts +0 -0
  297. /package/src/{components → ui/components}/primitives/tree-model.test.ts +0 -0
  298. /package/src/{components → ui/components}/primitives/tree-model.ts +0 -0
  299. /package/src/{components → ui/components}/truncate-text.ts +0 -0
  300. /package/src/{components → ui/components}/truncate-title.test.ts +0 -0
  301. /package/src/{components → ui/components}/truncate-title.ts +0 -0
  302. /package/src/{use-frame-measure.ts → ui/use-frame-measure.ts} +0 -0
  303. /package/src/{use-terminal-virtualizer.ts → ui/use-terminal-virtualizer.ts} +0 -0
  304. /package/src/{components → workbench/components}/editor-grid.test.ts +0 -0
  305. /package/src/{components → workbench/components}/editor-grid.ts +0 -0
  306. /package/src/{components → workbench/components}/file-tree.test.ts +0 -0
  307. /package/src/{use-repo-changes.ts → workbench/use-repo-changes.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
@@ -8,14 +8,19 @@
8
8
  import React, { useContext } from "react";
9
9
  import { useTerminalDimensions } from "@opentui/react";
10
10
  import { MESSAGE_OUTCOMES, type MessageOutcome } from "@cueloop/schema";
11
- import type { Theme } from "../theme";
12
- import type { QuickAction } from "../config";
13
- import { SlashSkillsContext } from "../skills";
14
- import { activeSlashToken, mergeSlashItems, slashFilter, slashItemsFrom } from "../slash-palette";
15
- import { useComponentTheme } from "./theme-context";
11
+ import type { Theme } from "../../appearance/theme";
12
+ import type { QuickAction } from "../../settings/config";
13
+ import { SlashSkillsContext } from "../../keyboard/skills";
14
+ import {
15
+ activeSlashToken,
16
+ mergeSlashItems,
17
+ slashFilter,
18
+ slashItemsFrom,
19
+ } from "../../keyboard/slash-palette";
20
+ import { useComponentTheme } from "../../appearance/components/theme-context";
16
21
  import { Card } from "./primitives/Card";
17
- import { composeRowCount } from "./AnnotationCards";
18
- import { SlashComposer } from "./SlashComposer";
22
+ import { composeRowCount } from "../../annotations/components/AnnotationCards";
23
+ import { SlashComposer } from "../../keyboard/components/SlashComposer";
19
24
  import { DialogActions } from "./primitives/DialogActions";
20
25
 
21
26
  const SUBMIT_CARD_MAX_WIDTH = 52;
@@ -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 { ConfirmDialog } from "./ConfirmDialog";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Overlays/ConfirmDialog" };
@@ -7,8 +7,8 @@
7
7
 
8
8
  import React from "react";
9
9
  import { useTerminalDimensions } from "@opentui/react";
10
- import type { Theme } from "../theme";
11
- import { useComponentTheme } from "./theme-context";
10
+ import type { Theme } from "../../appearance/theme";
11
+ import { useComponentTheme } from "../../appearance/components/theme-context";
12
12
  import { Dialog } from "./primitives/Dialog";
13
13
  import { DialogActions } from "./primitives/DialogActions";
14
14
 
@@ -1,8 +1,8 @@
1
1
  import React, { useRef } from "react";
2
2
  import type { ScrollBoxRenderable } from "@opentui/core";
3
- import { DARK } from "../theme";
3
+ import { DARK } from "../../appearance/theme";
4
4
  import { OverlayScrollbar } from "./OverlayScrollbar";
5
- import type { Story, StoryMeta } from "./story";
5
+ import type { Story, StoryMeta } from "../../stories/story";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Chrome/OverlayScrollbar" };
8
8
 
@@ -8,11 +8,11 @@ import { describe, expect, test } from "bun:test";
8
8
  import { testRender } from "@opentui/react/test-utils";
9
9
  import { ScrollBoxRenderable, type Renderable } from "@opentui/core";
10
10
  import React from "react";
11
- import { DiffContentView } from "./DiffContentView";
12
- import { diffRows, marksByRows } from "../view-diff";
13
- import { allowEventLoopUpdates } from "../test-support";
14
- import { fixtureDiffSession } from "./story-fixtures";
15
- import { DARK } from "../theme";
11
+ import { DiffContentView } from "../../diff/components/DiffContentView";
12
+ import { diffRows, marksByRows } from "../../diff/view-diff";
13
+ import { allowEventLoopUpdates } from "../../testing/test-support";
14
+ import { fixtureDiffSession } from "../../stories/story-fixtures";
15
+ import { DARK } from "../../appearance/theme";
16
16
  import { thumbGeometry } from "./OverlayScrollbar";
17
17
 
18
18
  const noop = (): void => {};
@@ -7,9 +7,9 @@
7
7
 
8
8
  import React, { useEffect, useRef, useState, type RefObject } from "react";
9
9
  import type { BoxRenderable, ScrollBoxRenderable } from "@opentui/core";
10
- import type { Theme } from "../theme";
10
+ import type { Theme } from "../../appearance/theme";
11
11
  import { useFrameMeasure } from "../use-frame-measure";
12
- import { useComponentTheme } from "./theme-context";
12
+ import { useComponentTheme } from "../../appearance/components/theme-context";
13
13
 
14
14
  const HIDE_DELAY_MS = 1500;
15
15
 
@@ -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 { PromptDialog } from "./PromptDialog";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Overlays/PromptDialog" };
@@ -5,8 +5,8 @@ import { test, expect } from "bun:test";
5
5
  import React from "react";
6
6
  import { testRender } from "@opentui/react/test-utils";
7
7
  import { PromptDialog } from "./PromptDialog";
8
- import { locateText, settle, typeText } from "../test-support";
9
- import { DARK } from "../theme";
8
+ import { locateText, settle, typeText } from "../../testing/test-support";
9
+ import { DARK } from "../../appearance/theme";
10
10
 
11
11
  test("the input is focused on open, so typing lands in the dialog", async () => {
12
12
  const inputs: string[] = [];
@@ -8,8 +8,8 @@
8
8
  import React, { useEffect, useRef } from "react";
9
9
  import { useTerminalDimensions } from "@opentui/react";
10
10
  import type { KeyBinding, TextareaRenderable } from "@opentui/core";
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 { Dialog } from "./primitives/Dialog";
14
14
  import { DialogActions } from "./primitives/DialogActions";
15
15
 
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect } 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 { RootOverlayProvider, useRootOverlay } from "./RootOverlay";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Layout/RootOverlay" };
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
- import { DARK } from "../theme";
2
+ import { DARK } from "../../appearance/theme";
3
3
  import { ScrollArea } from "./ScrollArea";
4
- import type { Story, StoryMeta } from "./story";
4
+ import type { Story, StoryMeta } from "../../stories/story";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Chrome/ScrollArea" };
7
7
 
@@ -6,7 +6,7 @@
6
6
 
7
7
  import React, { useLayoutEffect, useMemo, useRef, type ReactNode, type RefObject } from "react";
8
8
  import { MacOSScrollAccel, type ScrollBoxRenderable } from "@opentui/core";
9
- import type { Theme } from "../theme";
9
+ import type { Theme } from "../../appearance/theme";
10
10
  import { OverlayScrollbar } from "./OverlayScrollbar";
11
11
 
12
12
  export interface ScrollAreaProps {
@@ -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 { Toast } from "./Toast";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Overlays/Toast" };
@@ -1,7 +1,7 @@
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";
3
+ import type { Theme } from "../../appearance/theme";
4
+ import { useComponentTheme } from "../../appearance/components/theme-context";
5
5
  import { Dialog } from "./primitives/Dialog";
6
6
 
7
7
  export interface ToastProps {
@@ -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 { TooltipProvider } from "./Tooltip";
5
5
  import { IconButton } from "./primitives/IconButton";
6
6
  import { NERD } from "./primitives/icons";
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React, { createContext, useContext, useMemo, useState } from "react";
6
6
  import { useTerminalDimensions } from "@opentui/react";
7
- import { DARK, type Theme } from "../theme";
7
+ import { DARK, type Theme } from "../../appearance/theme";
8
8
 
9
9
  interface TooltipTarget {
10
10
  label: string;
@@ -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 { MenuControlProvider, useMenuControl } from "./menu-control";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Layout/MenuControl" };
@@ -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 { Button } from "./Button";
5
5
  import { Toolbar } from "./Toolbar";
6
6
 
@@ -6,8 +6,8 @@
6
6
 
7
7
  import React from "react";
8
8
  import type { MouseEvent } from "@opentui/core";
9
- import type { Theme } from "../../theme";
10
- import { useComponentTheme } from "../theme-context";
9
+ import type { Theme } from "../../../appearance/theme";
10
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
11
11
 
12
12
  export interface ButtonProps {
13
13
  /** Unified activation: mouse release today, keyboard activation tomorrow. */
@@ -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 { Card } from "./Card";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/Card" };
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import React from "react";
9
- import type { Theme } from "../../theme";
10
- import { useComponentTheme } from "../theme-context";
9
+ import type { Theme } from "../../../appearance/theme";
10
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
11
11
  import { FRAME_BORDER_STYLE, frameTitle } from "./frame";
12
12
 
13
13
  export interface CardProps {
@@ -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 { Dialog } from "./Dialog";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/Dialog" };
@@ -4,8 +4,8 @@ import { test, expect } from "bun:test";
4
4
  import React from "react";
5
5
  import { testRender } from "@opentui/react/test-utils";
6
6
  import { Dialog } from "./Dialog";
7
- import { settle } from "../../test-support";
8
- import { DARK } from "../../theme";
7
+ import { settle } from "../../../testing/test-support";
8
+ import { DARK } from "../../../appearance/theme";
9
9
 
10
10
  test("clicking the backdrop dismisses; clicking inside the panel does not", async () => {
11
11
  let dismissed = 0;
@@ -6,8 +6,8 @@
6
6
  */
7
7
 
8
8
  import React from "react";
9
- import type { Theme } from "../../theme";
10
- import { useComponentTheme } from "../theme-context";
9
+ import type { Theme } from "../../../appearance/theme";
10
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
11
11
  import { FRAME_BORDER_STYLE, frameTitle } from "./frame";
12
12
 
13
13
  export interface DialogProps {
@@ -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 { DialogActions } from "./DialogActions";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/DialogActions" };
@@ -1,7 +1,7 @@
1
1
  /** The one action row every overlay uses: a solid confirm word-button and a plain cancel, lowercased. */
2
2
 
3
3
  import React from "react";
4
- import type { Theme } from "../../theme";
4
+ import type { Theme } from "../../../appearance/theme";
5
5
  import { Toolbar } from "./Toolbar";
6
6
  import { Button } from "./Button";
7
7
 
@@ -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 { IconButton } from "./IconButton";
5
5
  import { NERD } from "./icons";
6
6
 
@@ -4,7 +4,7 @@
4
4
 
5
5
  import React from "react";
6
6
  import type { MouseEvent as TerminalMouseEvent } from "@opentui/core";
7
- import { DARK, type Theme } from "../../theme";
7
+ import { DARK, type Theme } from "../../../appearance/theme";
8
8
  import { useTooltip } from "../Tooltip";
9
9
 
10
10
  export interface IconButtonProps {
@@ -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 { StatusBar } from "./StatusBar";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/StatusBar" };
@@ -4,8 +4,8 @@
4
4
  */
5
5
 
6
6
  import React from "react";
7
- import type { Theme } from "../../theme";
8
- import { useComponentTheme } from "../theme-context";
7
+ import type { Theme } from "../../../appearance/theme";
8
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
9
9
 
10
10
  export interface StatusBarProps {
11
11
  theme?: Theme;
@@ -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 { Switch } from "./Switch";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/Switch" };
@@ -6,8 +6,8 @@
6
6
 
7
7
  import React from "react";
8
8
  import type { MouseEvent } from "@opentui/core";
9
- import type { Theme } from "../../theme";
10
- import { useComponentTheme } from "../theme-context";
9
+ import type { Theme } from "../../../appearance/theme";
10
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
11
11
 
12
12
  export interface SwitchProps {
13
13
  on: boolean;
@@ -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 { Tab, TabList, Tabs } from "./Tabs";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Primitives/Tabs" };
@@ -7,8 +7,8 @@
7
7
  */
8
8
 
9
9
  import React, { createContext, useContext } from "react";
10
- import type { Theme } from "../../theme";
11
- import { useComponentTheme } from "../theme-context";
10
+ import type { Theme } from "../../../appearance/theme";
11
+ import { useComponentTheme } from "../../../appearance/components/theme-context";
12
12
  import { FRAME_BORDER_STYLE } from "./frame";
13
13
 
14
14
  interface TabsContextValue {
@@ -1,5 +1,5 @@
1
1
  import React from "react";
2
- import type { Story, StoryMeta } from "../story";
2
+ import type { Story, StoryMeta } from "../../../stories/story";
3
3
  import { Button } from "./Button";
4
4
  import { Toolbar } from "./Toolbar";
5
5
 
@@ -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 { Tree } from "./Tree";
5
5
  import type { TreeNode } from "./tree-model";
6
6
 
@@ -1,8 +1,8 @@
1
1
  // OpenTUI renderer for the headless tree-model; the caller owns expansion and selection.
2
2
 
3
3
  import React, { useRef } from "react";
4
- import { DARK, type Theme } from "../../theme";
5
- import { isDoubleClick, type ClickStamp } from "../../thread-selection";
4
+ import { DARK, type Theme } from "../../../appearance/theme";
5
+ import { isDoubleClick, type ClickStamp } from "../../../annotations/thread-selection";
6
6
  import { flattenTree, statusMeta, type TreeNode, type TreeTone } from "./tree-model";
7
7
  import { NERD_TREE_ICONS, type TreeIcons } from "./icons";
8
8
 
@@ -12,7 +12,7 @@ import {
12
12
  extensionToFiletype,
13
13
  basenameToFiletype,
14
14
  } from "@opentui/core";
15
- import type { Theme } from "../theme";
15
+ import type { Theme } from "../../appearance/theme";
16
16
 
17
17
  /** Markdown fence info -> tree-sitter filetype, with the aliases we accept. */
18
18
  export function filetypeFor(language?: string): string | undefined {
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import type { DiffFileContents } 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 { ChangesColumn } from "./ChangesColumn";
6
6
 
7
7
  export const meta: StoryMeta = { title: "Surfaces/ChangesColumn" };
@@ -3,16 +3,16 @@
3
3
  // so the diff reclaims the width. Mirrors the left Threads column on the far side.
4
4
  // Co-located here: the state hook that opens it by context and the header toggle.
5
5
 
6
- import { ScrollArea } from "./ScrollArea";
6
+ import { ScrollArea } from "../../ui/components/ScrollArea";
7
7
  import React, { useMemo, useState } from "react";
8
8
  import { useKeyboard } from "@opentui/react";
9
9
  import type { DiffFileContents, Thread } from "@cueloop/schema";
10
- import type { Theme } from "../theme";
11
- import type { DiffRow } from "../view-diff";
12
- import { Tree } from "./primitives/Tree";
13
- import { allFolderIds, flattenTree } from "./primitives/tree-model";
14
- import { IconButton } from "./primitives/IconButton";
15
- import { NERD } from "./primitives/icons";
10
+ import type { Theme } from "../../appearance/theme";
11
+ import type { DiffRow } from "../../diff/view-diff";
12
+ import { Tree } from "../../ui/components/primitives/Tree";
13
+ import { allFolderIds, flattenTree } from "../../ui/components/primitives/tree-model";
14
+ import { IconButton } from "../../ui/components/primitives/IconButton";
15
+ import { NERD } from "../../ui/components/primitives/icons";
16
16
  import { buildFileTree } from "./file-tree";
17
17
 
18
18
  export interface DiffColumnsState {
@@ -7,8 +7,8 @@ import { testRender } from "@opentui/react/test-utils";
7
7
  import { ScrollBoxRenderable, TextRenderable, type Renderable } from "@opentui/core";
8
8
  import type { DiffFileContents } from "@cueloop/schema";
9
9
  import { ChangesFileTree } from "./ChangesColumn";
10
- import { settle, waitForText } from "../test-support";
11
- import { DARK } from "../theme";
10
+ import { settle, waitForText } from "../../testing/test-support";
11
+ import { DARK } from "../../appearance/theme";
12
12
 
13
13
  function findById(node: Renderable, id: string): Renderable | undefined {
14
14
  if (node.id === id) return node;
@@ -2,7 +2,7 @@ import { expect, test } from "bun:test";
2
2
  import React from "react";
3
3
  import { testRender } from "@opentui/react/test-utils";
4
4
  import type { Renderable } from "@opentui/core";
5
- import { allowEventLoopUpdates } from "../test-support";
5
+ import { allowEventLoopUpdates } from "../../testing/test-support";
6
6
  import { EditorGrid } from "./EditorGrid";
7
7
  import { makeGroup, splitGroup, welcomeTab, type EditorNode } from "./editor-grid";
8
8
  import { WelcomePlayground } from "./WelcomePlayground";
@@ -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 { EditorGrid } from "./EditorGrid";
5
5
  import { changesTab, fileTab, makeGroup, splitGroup, type EditorTab } from "./editor-grid";
6
6
 
@@ -9,8 +9,8 @@ import { testRender } from "@opentui/react/test-utils";
9
9
  import React from "react";
10
10
  import { EditorGrid, visibleTabWindow } from "./EditorGrid";
11
11
  import { changesTab, fileTab, makeGroup, type EditorTab } from "./editor-grid";
12
- import { NERD } from "./primitives/icons";
13
- import { allowEventLoopUpdates } from "../test-support";
12
+ import { NERD } from "../../ui/components/primitives/icons";
13
+ import { allowEventLoopUpdates } from "../../testing/test-support";
14
14
 
15
15
  describe("visibleTabWindow", () => {
16
16
  const tabs: EditorTab[] = ["aaaa", "bbbb", "cccc", "dddd", "eeee"].map((name) =>
@@ -4,14 +4,14 @@
4
4
 
5
5
  import React, { useEffect, useRef, useState } from "react";
6
6
  import type { BoxRenderable } from "@opentui/core";
7
- import { isDoubleClick, type ClickStamp } from "../thread-selection";
8
- import { DARK, type Theme } from "../theme";
9
- import { useFrameMeasure } from "../use-frame-measure";
10
- import { useSharedKeyboard } from "../use-shared-keyboard";
11
- import { useRootOverlay } from "./RootOverlay";
12
- import { useMenuControl } from "./menu-control";
13
- import { IconButton } from "./primitives/IconButton";
14
- import { NERD, HEADER_UNDERLINE_CHARS } from "./primitives/icons";
7
+ import { isDoubleClick, type ClickStamp } from "../../annotations/thread-selection";
8
+ import { DARK, type Theme } from "../../appearance/theme";
9
+ import { useFrameMeasure } from "../../ui/use-frame-measure";
10
+ import { useSharedKeyboard } from "../../keyboard/use-shared-keyboard";
11
+ import { useRootOverlay } from "../../ui/components/RootOverlay";
12
+ import { useMenuControl } from "../../ui/components/menu-control";
13
+ import { IconButton } from "../../ui/components/primitives/IconButton";
14
+ import { NERD, HEADER_UNDERLINE_CHARS } from "../../ui/components/primitives/icons";
15
15
  import {
16
16
  countEditorGroups,
17
17
  MAX_EDITOR_GROUPS,
@@ -10,8 +10,8 @@ import { testRender } from "@opentui/react/test-utils";
10
10
  import React from "react";
11
11
  import { EditorGrid } from "./EditorGrid";
12
12
  import { changesTab, fileTab, makeGroup, splitGroup } from "./editor-grid";
13
- import { NERD } from "./primitives/icons";
14
- import { allowEventLoopUpdates } from "../test-support";
13
+ import { NERD } from "../../ui/components/primitives/icons";
14
+ import { allowEventLoopUpdates } from "../../testing/test-support";
15
15
 
16
16
  const grid = makeGroup([changesTab(), fileTab("App.tsx", "src/App.tsx", "diff")]);
17
17
 
@@ -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 { FileContentsView } from "./FileContentsView";
5
5
 
6
6
  export const meta: StoryMeta = { title: "Surfaces/FileContentsView" };
@@ -2,8 +2,8 @@ import { expect, test } from "bun:test";
2
2
  import React from "react";
3
3
  import { testRender } from "@opentui/react/test-utils";
4
4
  import { FileContentsView } from "./FileContentsView";
5
- import { waitForText } from "../test-support";
6
- import { DARK } from "../theme";
5
+ import { waitForText } from "../../testing/test-support";
6
+ import { DARK } from "../../appearance/theme";
7
7
 
8
8
  test("renders the loaded file contents", async () => {
9
9
  const setup = await testRender(
@@ -4,12 +4,12 @@
4
4
  // Syntax highlighting comes from the native code renderable (tree-sitter), the language
5
5
  // auto-detected from the path; unknown languages simply render unstyled.
6
6
 
7
- import { ScrollArea } from "./ScrollArea";
7
+ import { ScrollArea } from "../../ui/components/ScrollArea";
8
8
  import React, { useEffect, useRef, useState } from "react";
9
9
  import type { CodeRenderable } from "@opentui/core";
10
- import type { Theme } from "../theme";
11
- import { useComponentTheme } from "./theme-context";
12
- import { filetypeForPath, syntaxStyleFor } from "./syntax-highlight";
10
+ import type { Theme } from "../../appearance/theme";
11
+ import { useComponentTheme } from "../../appearance/components/theme-context";
12
+ import { filetypeForPath, syntaxStyleFor } from "../../ui/components/syntax-highlight";
13
13
 
14
14
  export interface FileContentsViewProps {
15
15
  path: string;