@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.
- package/package.json +7 -7
- package/src/{annotation-palette.ts → annotations/annotation-palette.ts} +1 -1
- package/src/{components → annotations/components}/AnnotationCards.stories.tsx +4 -4
- package/src/{components → annotations/components}/AnnotationCards.tsx +7 -7
- package/src/{components → annotations/components}/DiscussionMarkerRail.stories.tsx +3 -3
- package/src/{components → annotations/components}/DiscussionMarkerRail.tsx +5 -5
- package/src/{discussions.ts → annotations/discussions.ts} +1 -1
- package/src/{use-annotation-surface.tsx → annotations/use-annotation-surface.tsx} +7 -7
- package/src/{App.appearance.test.tsx → app/App.appearance.test.tsx} +1 -1
- package/src/{App.autoclose.test.tsx → app/App.autoclose.test.tsx} +1 -1
- package/src/{App.deleted-scroll.test.tsx → app/App.deleted-scroll.test.tsx} +3 -3
- package/src/{App.diff.test.tsx → app/App.diff.test.tsx} +2 -2
- package/src/{App.export.test.tsx → app/App.export.test.tsx} +1 -1
- package/src/{App.identity.test.tsx → app/App.identity.test.tsx} +6 -1
- package/src/{App.plan-render.test.tsx → app/App.plan-render.test.tsx} +2 -2
- package/src/{App.plan-review.test.tsx → app/App.plan-review.test.tsx} +3 -3
- package/src/{App.prototype-markdown.test.tsx → app/App.prototype-markdown.test.tsx} +2 -2
- package/src/{App.prototype.test.tsx → app/App.prototype.test.tsx} +2 -2
- package/src/{App.readonly.test.tsx → app/App.readonly.test.tsx} +1 -1
- package/src/{App.regression.test.tsx → app/App.regression.test.tsx} +1 -1
- package/src/{App.rendering.test.tsx → app/App.rendering.test.tsx} +1 -1
- package/src/{App.share-dialog.test.tsx → app/App.share-dialog.test.tsx} +2 -2
- package/src/{App.submit-confirm.test.tsx → app/App.submit-confirm.test.tsx} +1 -1
- package/src/{App.test.tsx → app/App.test.tsx} +2 -2
- package/src/{App.toast.test.tsx → app/App.toast.test.tsx} +2 -2
- package/src/{App.tsx → app/App.tsx} +37 -37
- package/src/{App.visual.test.tsx → app/App.visual.test.tsx} +4 -4
- package/src/{App.walk.test.tsx → app/App.walk.test.tsx} +2 -2
- package/src/{App.workbench.test.tsx → app/App.workbench.test.tsx} +26 -5
- package/src/{app-key-state.ts → app/app-key-state.ts} +4 -4
- package/src/{app-screens.tsx → app/app-screens.tsx} +31 -31
- package/src/{app-view-model.ts → app/app-view-model.ts} +6 -6
- package/src/{components → app/components}/AppHeader.stories.tsx +4 -4
- package/src/{components → app/components}/AppHeader.tsx +3 -3
- package/src/{components → app/components}/AppShell.brand.test.tsx +2 -2
- package/src/{components → app/components}/AppShell.extensions.test.tsx +2 -2
- package/src/{components → app/components}/AppShell.stories.tsx +2 -2
- package/src/{components → app/components}/AppShell.tsx +12 -9
- package/src/{components → app/components}/AppShell.zoom.test.tsx +4 -4
- package/src/{components → app/components}/Breadcrumb.stories.tsx +2 -2
- package/src/{components → app/components}/Breadcrumb.tsx +2 -2
- package/src/{components → app/components}/MenuBar.stories.tsx +2 -2
- package/src/{components → app/components}/MenuBar.tsx +3 -3
- package/src/{components → app/components}/PaneGrid.stories.tsx +2 -2
- package/src/{components → app/components}/PaneGrid.tsx +1 -1
- package/src/{components → app/components}/PanelColumn.stories.tsx +2 -2
- package/src/{components → app/components}/PanelColumn.tsx +2 -2
- package/src/{components → app/components}/ShellHeader.stories.tsx +3 -3
- package/src/{components → app/components}/ShellHeader.tsx +2 -2
- package/src/{components → app/components}/WorkspacePanels.stories.tsx +3 -3
- package/src/{components → app/components}/WorkspacePanels.tsx +9 -5
- package/src/{components → app/components}/pages/Workspace.stories.tsx +4 -4
- package/src/{intent-dispatch.test.ts → app/intent-dispatch.test.ts} +7 -3
- package/src/{intent-dispatch.ts → app/intent-dispatch.ts} +12 -6
- package/src/{ready-signal.test.ts → app/ready-signal.test.ts} +1 -1
- package/src/{run.ts → app/run.ts} +6 -6
- package/src/{serve.ts → app/serve.ts} +1 -1
- package/src/{version.ts → app/version.ts} +1 -1
- package/src/{components → appearance/components}/theme-context.stories.tsx +2 -2
- package/src/{components → diff/components}/AnnotatableFileView.stories.tsx +2 -2
- package/src/{components → diff/components}/AnnotatableFileView.test.tsx +8 -2
- package/src/{components → diff/components}/AnnotatableFileView.tsx +3 -3
- package/src/{components → diff/components}/BareWorkbenchFileView.stories.tsx +2 -2
- package/src/{components → diff/components}/BareWorkbenchFileView.tsx +2 -2
- package/src/{components → diff/components}/DiffContentView.scroll.test.tsx +4 -4
- package/src/{components → diff/components}/DiffContentView.split.test.tsx +4 -4
- package/src/{components → diff/components}/DiffContentView.stories.tsx +5 -5
- package/src/{components → diff/components}/DiffContentView.syntax.test.tsx +3 -3
- package/src/{components → diff/components}/DiffContentView.tsx +13 -13
- package/src/{components → diff/components}/WalkWizard.stories.tsx +2 -2
- package/src/{components → diff/components}/WalkWizard.tsx +4 -4
- package/src/{components → diff/components}/diff-content-view-layout.test.ts +2 -2
- package/src/{components → diff/components}/diff-content-view-layout.ts +2 -2
- package/src/{diff-syntax.ts → diff/diff-syntax.ts} +1 -1
- package/src/{view-diff.ts → diff/view-diff.ts} +4 -4
- package/src/index.ts +8 -8
- package/src/{components → integrations/components}/ExtensionZone.stories.tsx +1 -1
- package/src/{components → integrations/components}/ExtensionZone.tsx +3 -3
- package/src/{components → integrations/components}/ShareDialog.stories.tsx +2 -2
- package/src/{components → integrations/components}/ShareDialog.tsx +11 -11
- package/src/{integrations.test.ts → integrations/integrations.test.ts} +1 -1
- package/src/{integrations.ts → integrations/integrations.ts} +1 -1
- package/src/{components → keyboard/components}/CompletionOverlay.stories.tsx +2 -2
- package/src/{components → keyboard/components}/CompletionOverlay.tsx +4 -4
- package/src/{components → keyboard/components}/HandleChipsInput.stories.tsx +2 -2
- package/src/{components → keyboard/components}/HandleChipsInput.test.tsx +2 -2
- package/src/{components → keyboard/components}/HandleChipsInput.tsx +3 -3
- package/src/{components → keyboard/components}/KeybindsDialog.stories.tsx +2 -2
- package/src/{components → keyboard/components}/KeybindsDialog.tsx +3 -3
- package/src/{components → keyboard/components}/NavModeHint.stories.tsx +2 -2
- package/src/{components → keyboard/components}/NavModeHint.tsx +1 -1
- package/src/{components → keyboard/components}/SlashComposer.stories.tsx +3 -3
- package/src/{components → keyboard/components}/SlashComposer.tsx +3 -3
- package/src/{key-bindings.test.ts → keyboard/key-bindings.test.ts} +1 -1
- package/src/{keymap.test.ts → keyboard/keymap.test.ts} +1 -1
- package/src/{keymap.ts → keyboard/keymap.ts} +1 -1
- package/src/{slash-palette.ts → keyboard/slash-palette.ts} +1 -1
- package/src/{components → markdown/components}/MarkdownGridBlock.stories.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownGridBlock.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.stories.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.test.tsx +2 -2
- package/src/{components → markdown/components}/MarkdownThreadEditor.tsx +1 -1
- package/src/{components → markdown/components}/ThreadView.selection.test.tsx +4 -4
- package/src/{components → markdown/components}/ThreadView.slash.test.tsx +6 -6
- package/src/{components → markdown/components}/ThreadView.stories.tsx +4 -4
- package/src/{components → markdown/components}/ThreadView.tsx +13 -13
- package/src/{mark-runs.ts → markdown/mark-runs.ts} +1 -1
- package/src/{markdown-editor-syntax-style.ts → markdown/markdown-editor-syntax-style.ts} +1 -1
- package/src/{thread-code-syntax.ts → markdown/thread-code-syntax.ts} +3 -3
- package/src/{use-thread-body-editing.tsx → markdown/use-thread-body-editing.tsx} +2 -2
- package/src/{view-plan.ts → markdown/view-plan.ts} +3 -3
- package/src/{components → prototype/components}/PrototypeContentView.stories.tsx +2 -2
- package/src/{components → prototype/components}/PrototypeContentView.tsx +5 -5
- package/src/{components → settings/components}/SettingsDialog.stories.tsx +3 -3
- package/src/{components → settings/components}/SettingsDialog.tsx +7 -7
- package/src/{components → settings/components}/SettingsRows.stories.tsx +2 -2
- package/src/{components → settings/components}/SettingsRows.tsx +2 -2
- package/src/{components → settings/components}/quick-actions-editor.stories.tsx +2 -2
- package/src/{components → settings/components}/quick-actions-editor.test.tsx +1 -1
- package/src/{components → settings/components}/quick-actions-editor.tsx +3 -3
- package/src/{config.test.ts → settings/config.test.ts} +2 -2
- package/src/{config.ts → settings/config.ts} +8 -3
- package/src/{use-settings-dialog.tsx → settings/use-settings-dialog.tsx} +2 -2
- package/src/{components → stories}/stories-app.tsx +8 -8
- package/src/{components → stories}/stories.test.tsx +2 -2
- package/src/{components → stories}/story-fixtures.ts +2 -2
- package/src/{components → stories}/story-tree.test.ts +1 -1
- package/src/{components → stories}/story.ts +4 -4
- package/src/{components → terminal/components}/AnsiScreen.stories.tsx +1 -1
- package/src/{components → terminal/components}/AnsiScreen.tsx +2 -2
- package/src/{components → terminal/components}/terminal-pane.test.tsx +1 -1
- package/src/{ghostty-terminal.ts → terminal/ghostty-terminal.ts} +1 -1
- package/src/{pty.ts → terminal/pty.ts} +1 -1
- package/src/{test-support.test.ts → testing/test-support.test.ts} +1 -1
- package/src/{test-support.ts → testing/test-support.ts} +1 -1
- package/src/{components → thread/components}/ThreadFooter.stories.tsx +2 -2
- package/src/{components → thread/components}/ThreadFooter.test.tsx +2 -2
- package/src/{components → thread/components}/ThreadFooter.tsx +4 -4
- package/src/{components → thread/components}/ThreadTree.stories.tsx +3 -3
- package/src/{components → thread/components}/ThreadTree.tsx +8 -8
- package/src/{thread-controller.live-diff.test.ts → thread/thread-controller.live-diff.test.ts} +1 -1
- package/src/{thread-controller.share.test.ts → thread/thread-controller.share.test.ts} +1 -1
- package/src/{thread-controller.tree.test.ts → thread/thread-controller.tree.test.ts} +1 -1
- package/src/{thread-controller.ts → thread/thread-controller.ts} +18 -13
- package/src/{components → ui/components}/CodeBlock.stories.tsx +2 -2
- package/src/{components → ui/components}/CodeBlock.tsx +2 -2
- package/src/{components → ui/components}/ConfirmCard.stories.tsx +3 -3
- package/src/{components → ui/components}/ConfirmCard.tsx +12 -7
- package/src/{components → ui/components}/ConfirmDialog.stories.tsx +2 -2
- package/src/{components → ui/components}/ConfirmDialog.tsx +2 -2
- package/src/{components → ui/components}/OverlayScrollbar.stories.tsx +2 -2
- package/src/{components → ui/components}/OverlayScrollbar.test.tsx +5 -5
- package/src/{components → ui/components}/OverlayScrollbar.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.stories.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.test.tsx +2 -2
- package/src/{components → ui/components}/PromptDialog.tsx +2 -2
- package/src/{components → ui/components}/RootOverlay.stories.tsx +2 -2
- package/src/{components → ui/components}/ScrollArea.stories.tsx +2 -2
- package/src/{components → ui/components}/ScrollArea.tsx +1 -1
- package/src/{components → ui/components}/Toast.stories.tsx +2 -2
- package/src/{components → ui/components}/Toast.tsx +2 -2
- package/src/{components → ui/components}/Tooltip.stories.tsx +2 -2
- package/src/{components → ui/components}/Tooltip.tsx +1 -1
- package/src/{components → ui/components}/menu-control.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Button.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Button.tsx +2 -2
- package/src/{components → ui/components}/primitives/Card.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Card.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.test.tsx +2 -2
- package/src/{components → ui/components}/primitives/Dialog.tsx +2 -2
- package/src/{components → ui/components}/primitives/DialogActions.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/DialogActions.tsx +1 -1
- package/src/{components → ui/components}/primitives/IconButton.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/IconButton.tsx +1 -1
- package/src/{components → ui/components}/primitives/StatusBar.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/StatusBar.tsx +2 -2
- package/src/{components → ui/components}/primitives/Switch.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Switch.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tabs.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tabs.tsx +2 -2
- package/src/{components → ui/components}/primitives/Toolbar.stories.tsx +1 -1
- package/src/{components → ui/components}/primitives/Tree.stories.tsx +2 -2
- package/src/{components → ui/components}/primitives/Tree.tsx +2 -2
- package/src/{components → ui/components}/syntax-highlight.ts +1 -1
- package/src/{components → workbench/components}/ChangesColumn.stories.tsx +2 -2
- package/src/{components → workbench/components}/ChangesColumn.tsx +7 -7
- package/src/{components → workbench/components}/ChangesFileTree.test.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.split.test.tsx +1 -1
- package/src/{components → workbench/components}/EditorGrid.stories.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.tabs.test.tsx +2 -2
- package/src/{components → workbench/components}/EditorGrid.tsx +8 -8
- package/src/{components → workbench/components}/EditorGrid.zoom.test.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.stories.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.test.tsx +2 -2
- package/src/{components → workbench/components}/FileContentsView.tsx +4 -4
- package/src/{components → workbench/components}/GridTabContent.actions.test.tsx +6 -6
- package/src/{components → workbench/components}/GridTabContent.stories.tsx +4 -4
- package/src/{components → workbench/components}/GridTabContent.tsx +4 -4
- package/src/{components → workbench/components}/ProjectTreeView.stories.tsx +2 -2
- package/src/{components → workbench/components}/ProjectTreeView.test.tsx +2 -2
- package/src/{components → workbench/components}/ProjectTreeView.tsx +5 -5
- package/src/{components → workbench/components}/TreePane.stories.tsx +3 -3
- package/src/{components → workbench/components}/TreePane.tsx +6 -6
- package/src/{components → workbench/components}/WelcomePlayground.stories.tsx +2 -2
- package/src/{components → workbench/components}/WelcomePlayground.test.tsx +10 -3
- package/src/{components → workbench/components}/WelcomePlayground.tsx +5 -5
- package/src/{components → workbench/components}/file-tree.ts +1 -1
- package/src/{use-changes-workbench.ts → workbench/use-changes-workbench.ts} +2 -2
- package/src/{use-remember-layout.ts → workbench/use-remember-layout.ts} +2 -2
- /package/src/{thread-selection.test.ts → annotations/thread-selection.test.ts} +0 -0
- /package/src/{thread-selection.ts → annotations/thread-selection.ts} +0 -0
- /package/src/{App.focus.test.ts → app/App.focus.test.ts} +0 -0
- /package/src/{launch-layout.test.ts → app/launch-layout.test.ts} +0 -0
- /package/src/{launch-layout.ts → app/launch-layout.ts} +0 -0
- /package/src/{ready-signal.ts → app/ready-signal.ts} +0 -0
- /package/src/{serve.test.ts → app/serve.test.ts} +0 -0
- /package/src/{components → appearance/components}/theme-context.tsx +0 -0
- /package/src/{theme-presets.test.ts → appearance/theme-presets.test.ts} +0 -0
- /package/src/{theme-presets.ts → appearance/theme-presets.ts} +0 -0
- /package/src/{theme.ts → appearance/theme.ts} +0 -0
- /package/src/{visual → appearance/visual}/contrast.test.ts +0 -0
- /package/src/{visual → appearance/visual}/contrast.ts +0 -0
- /package/src/{diff-fold.test.ts → diff/diff-fold.test.ts} +0 -0
- /package/src/{diff-fold.ts → diff/diff-fold.ts} +0 -0
- /package/src/{diff-hunk-curate.test.ts → diff/diff-hunk-curate.test.ts} +0 -0
- /package/src/{diff-hunk-curate.ts → diff/diff-hunk-curate.ts} +0 -0
- /package/src/{diff-intraline.test.ts → diff/diff-intraline.test.ts} +0 -0
- /package/src/{diff-intraline.ts → diff/diff-intraline.ts} +0 -0
- /package/src/{diff-syntax.test.ts → diff/diff-syntax.test.ts} +0 -0
- /package/src/{split-diff.test.ts → diff/split-diff.test.ts} +0 -0
- /package/src/{split-diff.ts → diff/split-diff.ts} +0 -0
- /package/src/{view-diff.test.ts → diff/view-diff.test.ts} +0 -0
- /package/src/{walk.test.ts → diff/walk.test.ts} +0 -0
- /package/src/{walk.ts → diff/walk.ts} +0 -0
- /package/src/{attribution.test.ts → integrations/attribution.test.ts} +0 -0
- /package/src/{attribution.ts → integrations/attribution.ts} +0 -0
- /package/src/{client-extension-registry.test.tsx → integrations/client-extension-registry.test.tsx} +0 -0
- /package/src/{client-extension-registry.ts → integrations/client-extension-registry.ts} +0 -0
- /package/src/{clipboard.test.ts → integrations/clipboard.test.ts} +0 -0
- /package/src/{clipboard.ts → integrations/clipboard.ts} +0 -0
- /package/src/{components → integrations/components}/share-dialog-store.ts +0 -0
- /package/src/{editor.test.ts → integrations/editor.test.ts} +0 -0
- /package/src/{editor.ts → integrations/editor.ts} +0 -0
- /package/src/{github-identity.test.ts → integrations/github-identity.test.ts} +0 -0
- /package/src/{github-identity.ts → integrations/github-identity.ts} +0 -0
- /package/src/{herdr.test.ts → integrations/herdr.test.ts} +0 -0
- /package/src/{herdr.ts → integrations/herdr.ts} +0 -0
- /package/src/{pasted-image.test.ts → integrations/pasted-image.test.ts} +0 -0
- /package/src/{pasted-image.ts → integrations/pasted-image.ts} +0 -0
- /package/src/{share.ts → integrations/share.ts} +0 -0
- /package/src/{key-bindings.ts → keyboard/key-bindings.ts} +0 -0
- /package/src/{skills.test.ts → keyboard/skills.test.ts} +0 -0
- /package/src/{skills.ts → keyboard/skills.ts} +0 -0
- /package/src/{slash-palette.test.ts → keyboard/slash-palette.test.ts} +0 -0
- /package/src/{thread-chords.test.ts → keyboard/thread-chords.test.ts} +0 -0
- /package/src/{thread-chords.ts → keyboard/thread-chords.ts} +0 -0
- /package/src/{use-shared-keyboard.ts → keyboard/use-shared-keyboard.ts} +0 -0
- /package/src/{__snapshots__ → markdown/__snapshots__}/view-plan.regression.test.ts.snap +0 -0
- /package/src/{markdown-grid.test.ts → markdown/markdown-grid.test.ts} +0 -0
- /package/src/{markdown-grid.ts → markdown/markdown-grid.ts} +0 -0
- /package/src/{markdown-highlight.test.ts → markdown/markdown-highlight.test.ts} +0 -0
- /package/src/{markdown-highlight.ts → markdown/markdown-highlight.ts} +0 -0
- /package/src/{view-plan.regression.test.ts → markdown/view-plan.regression.test.ts} +0 -0
- /package/src/{view-plan.test.ts → markdown/view-plan.test.ts} +0 -0
- /package/src/{perf → performance}/otlp-trace.test.ts +0 -0
- /package/src/{perf → performance}/otlp-trace.ts +0 -0
- /package/src/{perf → performance}/perf-report.ts +0 -0
- /package/src/{perf → performance}/perf-timings.test.ts +0 -0
- /package/src/{perf → performance}/perf-timings.ts +0 -0
- /package/src/{prototype-browser.test.ts → prototype/prototype-browser.test.ts} +0 -0
- /package/src/{prototype-browser.ts → prototype/prototype-browser.ts} +0 -0
- /package/src/{prototype-pixels.tsx → prototype/prototype-pixels.tsx} +0 -0
- /package/src/{config-identity.test.ts → settings/config-identity.test.ts} +0 -0
- /package/src/{components → stories}/__snapshots__/stories.test.tsx.snap +0 -0
- /package/src/{ansi-screen.test.ts → terminal/ansi-screen.test.ts} +0 -0
- /package/src/{ansi-screen.ts → terminal/ansi-screen.ts} +0 -0
- /package/src/{components → terminal/components}/terminal-pane.ts +0 -0
- /package/src/{ghostty-terminal.test.ts → terminal/ghostty-terminal.test.ts} +0 -0
- /package/src/{kitty-image.test.ts → terminal/kitty-image.test.ts} +0 -0
- /package/src/{kitty-image.ts → terminal/kitty-image.ts} +0 -0
- /package/src/{pty.test.ts → terminal/pty.test.ts} +0 -0
- /package/src/{components → thread/components}/thread-tree.test.ts +0 -0
- /package/src/{components → thread/components}/thread-tree.ts +0 -0
- /package/src/{thread-controller.curate.test.ts → thread/thread-controller.curate.test.ts} +0 -0
- /package/src/{thread-controller.derivation.test.ts → thread/thread-controller.derivation.test.ts} +0 -0
- /package/src/{thread-controller.optimistic.test.ts → thread/thread-controller.optimistic.test.ts} +0 -0
- /package/src/{thread-controller.switch-cache.test.ts → thread/thread-controller.switch-cache.test.ts} +0 -0
- /package/src/{tree-view.test.ts → thread/tree-view.test.ts} +0 -0
- /package/src/{tree-view.ts → thread/tree-view.ts} +0 -0
- /package/src/{components → ui/components}/RootOverlay.tsx +0 -0
- /package/src/{components → ui/components}/menu-control.tsx +0 -0
- /package/src/{components → ui/components}/primitives/Toolbar.tsx +0 -0
- /package/src/{components → ui/components}/primitives/frame.test.ts +0 -0
- /package/src/{components → ui/components}/primitives/frame.ts +0 -0
- /package/src/{components → ui/components}/primitives/icons.ts +0 -0
- /package/src/{components → ui/components}/primitives/tree-model.test.ts +0 -0
- /package/src/{components → ui/components}/primitives/tree-model.ts +0 -0
- /package/src/{components → ui/components}/truncate-text.ts +0 -0
- /package/src/{components → ui/components}/truncate-title.test.ts +0 -0
- /package/src/{components → ui/components}/truncate-title.ts +0 -0
- /package/src/{use-frame-measure.ts → ui/use-frame-measure.ts} +0 -0
- /package/src/{use-terminal-virtualizer.ts → ui/use-terminal-virtualizer.ts} +0 -0
- /package/src/{components → workbench/components}/editor-grid.test.ts +0 -0
- /package/src/{components → workbench/components}/editor-grid.ts +0 -0
- /package/src/{components → workbench/components}/file-tree.test.ts +0 -0
- /package/src/{use-repo-changes.ts → workbench/use-repo-changes.ts} +0 -0
- /package/src/{workbench-snapshot.test.ts → workbench/workbench-snapshot.test.ts} +0 -0
- /package/src/{workbench-snapshot.ts → workbench/workbench-snapshot.ts} +0 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import { SyntaxStyle, type StyleDefinitionInput } from "@opentui/core";
|
|
10
|
-
import { type Theme } from "
|
|
10
|
+
import { type Theme } from "../appearance/theme";
|
|
11
11
|
import { MARKDOWN_HIGHLIGHT_GROUPS, type MarkdownHighlightGroup } from "./markdown-highlight";
|
|
12
12
|
|
|
13
13
|
/** A markdown SyntaxStyle plus the lookup from token group to its native styleId. */
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import { getTreeSitterClient } from "@opentui/core";
|
|
4
4
|
import type { DisplayBlock } from "./view-plan";
|
|
5
5
|
import { renderedText } from "./view-plan";
|
|
6
|
-
import { spansByLine, type SyntaxSpan } from "
|
|
7
|
-
import { filetypeFor } from "
|
|
6
|
+
import { spansByLine, type SyntaxSpan } from "../diff/diff-syntax";
|
|
7
|
+
import { filetypeFor } from "../ui/components/syntax-highlight";
|
|
8
8
|
|
|
9
|
-
export type { SyntaxSpan } from "
|
|
9
|
+
export type { SyntaxSpan } from "../diff/diff-syntax";
|
|
10
10
|
|
|
11
11
|
/** Highlight whole code blocks so multi-line syntax stays intact. */
|
|
12
12
|
export async function highlightThreadCodeBlocks(
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import React, { useRef, useState } from "react";
|
|
13
|
-
import type { Theme } from "
|
|
14
|
-
import type { ReviewController } from "
|
|
13
|
+
import type { Theme } from "../appearance/theme";
|
|
14
|
+
import type { ReviewController } from "../thread/thread-controller";
|
|
15
15
|
import { MarkdownThreadEditor, type MarkdownEditorHandle } from "./components/MarkdownThreadEditor";
|
|
16
16
|
|
|
17
17
|
export interface ThreadBodyEditing {
|
|
@@ -20,10 +20,10 @@ import {
|
|
|
20
20
|
type BlockTextSourceSegment,
|
|
21
21
|
type TextCut,
|
|
22
22
|
} from "@cueloop/schema";
|
|
23
|
-
import { wordLevelChanges } from "
|
|
24
|
-
import { spanRangeInBlock, type CharRange, type TextSpan } from "
|
|
23
|
+
import { wordLevelChanges } from "../diff/diff-intraline";
|
|
24
|
+
import { spanRangeInBlock, type CharRange, type TextSpan } from "../annotations/thread-selection";
|
|
25
25
|
import type { MarkRange, VisualLine } from "./mark-runs";
|
|
26
|
-
import type { SyntaxSpan } from "
|
|
26
|
+
import type { SyntaxSpan } from "../diff/diff-syntax";
|
|
27
27
|
|
|
28
28
|
// ── display model ─────────────────────────────
|
|
29
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { PrototypeContentView } from "./PrototypeContentView";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Surfaces/PrototypeContentView" };
|
|
@@ -13,10 +13,10 @@ import React, { useEffect, useRef, useState } from "react";
|
|
|
13
13
|
import type { BoxRenderable } from "@opentui/core";
|
|
14
14
|
import * as v from "valibot";
|
|
15
15
|
import { useKeyboard, useRenderer } from "@opentui/react";
|
|
16
|
-
import type { Theme } from "
|
|
17
|
-
import { useComponentTheme } from "
|
|
18
|
-
import { Composer, DiscussionCard } from "
|
|
19
|
-
import { annotationPaletteFor } from "
|
|
16
|
+
import type { Theme } from "../../appearance/theme";
|
|
17
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
18
|
+
import { Composer, DiscussionCard } from "../../annotations/components/AnnotationCards";
|
|
19
|
+
import { annotationPaletteFor } from "../../annotations/annotation-palette";
|
|
20
20
|
import {
|
|
21
21
|
cssBoxToCell,
|
|
22
22
|
imageCellToCss,
|
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
resolveTransmitMedium,
|
|
32
32
|
transmitKittyImage,
|
|
33
33
|
type CellRegion,
|
|
34
|
-
} from "
|
|
34
|
+
} from "../../terminal/kitty-image";
|
|
35
35
|
|
|
36
36
|
export interface PrototypeContentViewProps {
|
|
37
37
|
prototypePath: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import { THEME_PRESETS } from "
|
|
4
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import { THEME_PRESETS } from "../../appearance/theme-presets";
|
|
4
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
5
5
|
import { SettingsDialog, type SettingsCategory } from "./SettingsDialog";
|
|
6
6
|
|
|
7
7
|
export const meta: StoryMeta = { title: "Overlays/SettingsDialog" };
|
|
@@ -7,15 +7,15 @@
|
|
|
7
7
|
* stories catalog) drive it without a second key handler inside.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { ScrollArea } from "
|
|
10
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
11
11
|
import React from "react";
|
|
12
12
|
import { useTerminalDimensions } from "@opentui/react";
|
|
13
|
-
import type { Theme } from "
|
|
14
|
-
import type { CheatsheetSection } from "
|
|
15
|
-
import { useComponentTheme } from "
|
|
16
|
-
import { Dialog } from "
|
|
17
|
-
import { Tree } from "
|
|
18
|
-
import type { TreeNode } from "
|
|
13
|
+
import type { Theme } from "../../appearance/theme";
|
|
14
|
+
import type { CheatsheetSection } from "../../keyboard/key-bindings";
|
|
15
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
16
|
+
import { Dialog } from "../../ui/components/primitives/Dialog";
|
|
17
|
+
import { Tree } from "../../ui/components/primitives/Tree";
|
|
18
|
+
import type { TreeNode } from "../../ui/components/primitives/tree-model";
|
|
19
19
|
import { CycleRow, TextRow, ToggleRow, type SettingsRowDescriptor } from "./SettingsRows";
|
|
20
20
|
|
|
21
21
|
export interface SettingsCategory {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { CycleRow, TextRow, ToggleRow } from "./SettingsRows";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Chrome/SettingsRows" };
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import React from "react";
|
|
9
|
-
import type { Theme } from "
|
|
10
|
-
import { useComponentTheme } from "
|
|
9
|
+
import type { Theme } from "../../appearance/theme";
|
|
10
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
11
11
|
|
|
12
12
|
export interface SettingsRowDescriptor {
|
|
13
13
|
key: string;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
3
|
import { DEFAULT_QUICK_ACTIONS } from "../config";
|
|
4
|
-
import type { Story, StoryMeta } from "
|
|
4
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
5
5
|
import { QuickActionsEditor } from "./quick-actions-editor";
|
|
6
6
|
|
|
7
7
|
export const meta: StoryMeta = { title: "Chrome/QuickActionsEditor" };
|
|
@@ -4,7 +4,7 @@ import { describe, expect, test } from "bun:test";
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { testRender } from "@opentui/react/test-utils";
|
|
6
6
|
import type { QuickAction } from "../config";
|
|
7
|
-
import { locateText, settle, typeText } from "
|
|
7
|
+
import { locateText, settle, typeText } from "../../testing/test-support";
|
|
8
8
|
import { QuickActionsEditor } from "./quick-actions-editor";
|
|
9
9
|
|
|
10
10
|
const MANY: QuickAction[] = Array.from({ length: 14 }, (_, index) => ({
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
import React, { useEffect, useRef, useState } from "react";
|
|
10
10
|
import type { KeyBinding, ScrollBoxRenderable, TextareaRenderable } from "@opentui/core";
|
|
11
11
|
import type { QuickAction } from "../config";
|
|
12
|
-
import type { Theme } from "
|
|
13
|
-
import { ScrollArea } from "
|
|
14
|
-
import { useComponentTheme } from "
|
|
12
|
+
import type { Theme } from "../../appearance/theme";
|
|
13
|
+
import { ScrollArea } from "../../ui/components/ScrollArea";
|
|
14
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
15
15
|
|
|
16
16
|
// ⏎ never inserts a newline: a system prompt is one line, esc closes the editor.
|
|
17
17
|
const ACTION_INPUT_KEY_BINDINGS: KeyBinding[] = [{ name: "return", action: "submit" }];
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
quickActionBody,
|
|
18
18
|
resolveQuickAction,
|
|
19
19
|
} from "./config";
|
|
20
|
-
import { DARK } from "
|
|
21
|
-
import { themeForName } from "
|
|
20
|
+
import { DARK } from "../appearance/theme";
|
|
21
|
+
import { themeForName } from "../appearance/theme-presets";
|
|
22
22
|
|
|
23
23
|
describe("loadConfig", () => {
|
|
24
24
|
test("review defaults use the bundled skill in an isolated worktree", () => {
|
|
@@ -13,9 +13,14 @@ import { MESSAGE_OUTCOMES, type MessageOutcome } from "@cueloop/schema";
|
|
|
13
13
|
import { writeFileSync, mkdirSync } from "node:fs";
|
|
14
14
|
import { dirname } from "node:path";
|
|
15
15
|
import * as v from "valibot";
|
|
16
|
-
import { DARK, type Theme } from "
|
|
17
|
-
import {
|
|
18
|
-
|
|
16
|
+
import { DARK, type Theme } from "../appearance/theme";
|
|
17
|
+
import {
|
|
18
|
+
DEFAULT_THEME_NAME,
|
|
19
|
+
isThemeName,
|
|
20
|
+
themeForName,
|
|
21
|
+
type ThemeName,
|
|
22
|
+
} from "../appearance/theme-presets";
|
|
23
|
+
import type { LaunchLayout } from "../app/launch-layout";
|
|
19
24
|
|
|
20
25
|
export interface KeymapConfig {
|
|
21
26
|
[action: string]: string | string[];
|
|
@@ -17,8 +17,8 @@ import {
|
|
|
17
17
|
THEME_NAMES,
|
|
18
18
|
type Appearance,
|
|
19
19
|
type ThemeName,
|
|
20
|
-
} from "
|
|
21
|
-
import type { Theme } from "
|
|
20
|
+
} from "../appearance/theme-presets";
|
|
21
|
+
import type { Theme } from "../appearance/theme";
|
|
22
22
|
import type { SettingsCategory } from "./components/SettingsDialog";
|
|
23
23
|
import { QuickActionsEditor } from "./components/quick-actions-editor";
|
|
24
24
|
|
|
@@ -8,15 +8,15 @@
|
|
|
8
8
|
import React, { useEffect, useMemo, useRef, useState } from "react";
|
|
9
9
|
import { createCliRenderer, type ScrollBoxRenderable } from "@opentui/core";
|
|
10
10
|
import { createRoot, useKeyboard } from "@opentui/react";
|
|
11
|
-
import { DARK } from "../theme";
|
|
12
|
-
import { ThemeProvider } from "
|
|
11
|
+
import { DARK } from "../appearance/theme";
|
|
12
|
+
import { ThemeProvider } from "../appearance/components/theme-context";
|
|
13
13
|
import { buildStoryTree, loadStories, type LoadedStory } from "./story";
|
|
14
|
-
import { PaneGrid } from "
|
|
15
|
-
import { ShellHeader } from "
|
|
16
|
-
import { AnsiScreen } from "
|
|
17
|
-
import { Tree } from "
|
|
18
|
-
import { NERD } from "
|
|
19
|
-
import { flattenTree } from "
|
|
14
|
+
import { PaneGrid } from "../app/components/PaneGrid";
|
|
15
|
+
import { ShellHeader } from "../app/components/ShellHeader";
|
|
16
|
+
import { AnsiScreen } from "../terminal/components/AnsiScreen";
|
|
17
|
+
import { Tree } from "../ui/components/primitives/Tree";
|
|
18
|
+
import { NERD } from "../ui/components/primitives/icons";
|
|
19
|
+
import { flattenTree } from "../ui/components/primitives/tree-model";
|
|
20
20
|
|
|
21
21
|
interface StoriesAppProps {
|
|
22
22
|
stories: LoadedStory[];
|
|
@@ -10,8 +10,8 @@ import { describe, expect, test } from "bun:test";
|
|
|
10
10
|
import { testRender } from "@opentui/react/test-utils";
|
|
11
11
|
import { RGBA } from "@opentui/core";
|
|
12
12
|
import { componentFilesMissingStories, loadStories } from "./story";
|
|
13
|
-
import { AnsiScreen } from "
|
|
14
|
-
import { settle } from "../test-support";
|
|
13
|
+
import { AnsiScreen } from "../terminal/components/AnsiScreen";
|
|
14
|
+
import { settle } from "../testing/test-support";
|
|
15
15
|
|
|
16
16
|
const stories = await loadStories();
|
|
17
17
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** Shared fixture data for the stories catalog: one plan session, one diff. */
|
|
2
2
|
|
|
3
3
|
import type { Annotation, Thread } from "@cueloop/schema";
|
|
4
|
-
import { buildDisplay, marksByDisplay } from "../view-plan";
|
|
5
|
-
import { diffRows } from "../view-diff";
|
|
4
|
+
import { buildDisplay, marksByDisplay } from "../markdown/view-plan";
|
|
5
|
+
import { diffRows } from "../diff/view-diff";
|
|
6
6
|
|
|
7
7
|
export const FIXTURE_PLAN = `# Migration Plan
|
|
8
8
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, test } from "bun:test";
|
|
2
2
|
import { buildStoryTree, type LoadedStory, type StorySection } from "./story";
|
|
3
|
-
import type { TreeNode } from "
|
|
3
|
+
import type { TreeNode } from "../ui/components/primitives/tree-model";
|
|
4
4
|
|
|
5
5
|
/** A story object whose render is never invoked in these structural tests. */
|
|
6
6
|
const STUB = { render: () => null };
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
9
|
import type React from "react";
|
|
10
|
-
import type { TreeNode } from "
|
|
10
|
+
import type { TreeNode } from "../ui/components/primitives/tree-model";
|
|
11
11
|
|
|
12
12
|
export interface StoryMeta {
|
|
13
13
|
/** Catalog path, e.g. "primitives/Card". */
|
|
@@ -80,7 +80,7 @@ async function collectStories(
|
|
|
80
80
|
export async function loadStories(): Promise<LoadedStory[]> {
|
|
81
81
|
const loaded: LoadedStory[] = [];
|
|
82
82
|
|
|
83
|
-
await collectStories(import.meta.dir
|
|
83
|
+
await collectStories(`${import.meta.dir}/..`, "**/*.stories.tsx", "App", loaded);
|
|
84
84
|
await collectStories(GATEWAY_SRC_DIR, "**/*.stories.ts", "SSH", loaded);
|
|
85
85
|
|
|
86
86
|
return loaded;
|
|
@@ -142,8 +142,8 @@ export function buildStoryTree(stories: LoadedStory[]): TreeNode[] {
|
|
|
142
142
|
|
|
143
143
|
/** Component files that must carry stories: every .tsx that is not a story/test/prototype. */
|
|
144
144
|
export function componentFilesMissingStories(): string[] {
|
|
145
|
-
const componentGlob = new Bun.Glob("
|
|
146
|
-
const files = [...componentGlob.scanSync({ cwd: import.meta.dir })];
|
|
145
|
+
const componentGlob = new Bun.Glob("**/components/**/*.tsx");
|
|
146
|
+
const files = [...componentGlob.scanSync({ cwd: `${import.meta.dir}/..` })];
|
|
147
147
|
const missing: string[] = [];
|
|
148
148
|
|
|
149
149
|
for (const file of files) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** Paints a raw ANSI screen (cursor-positioned text) as a terminal would, for previewing SSH surfaces. */
|
|
2
2
|
|
|
3
3
|
import React from "react";
|
|
4
|
-
import type { Theme } from "
|
|
4
|
+
import type { Theme } from "../../appearance/theme";
|
|
5
5
|
import { ansiScreenToLines } from "../ansi-screen";
|
|
6
|
-
import { useComponentTheme } from "
|
|
6
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
7
7
|
|
|
8
8
|
export interface AnsiScreenProps {
|
|
9
9
|
ansi: string;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { describe, expect, test } from "bun:test";
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { testRender } from "@opentui/react/test-utils";
|
|
6
|
-
import { waitForText } from "
|
|
6
|
+
import { waitForText } from "../../testing/test-support";
|
|
7
7
|
import {
|
|
8
8
|
embeddedTerminalAvailable,
|
|
9
9
|
registerTerminalPane,
|
|
@@ -55,7 +55,7 @@ type CvtLib = ReturnType<typeof dlopen<typeof CVT_SYMBOLS>>["symbols"];
|
|
|
55
55
|
function nativeLibraryPath(): string | null {
|
|
56
56
|
const suffix = process.platform === "darwin" ? "dylib" : "so";
|
|
57
57
|
const dir = `${process.platform}-${process.arch}`;
|
|
58
|
-
const path = join(import.meta.dir, "..", "native", dir, `libcueloopvt.${suffix}`);
|
|
58
|
+
const path = join(import.meta.dir, "..", "..", "native", dir, `libcueloopvt.${suffix}`);
|
|
59
59
|
|
|
60
60
|
return existsSync(path) ? path : null;
|
|
61
61
|
}
|
|
@@ -69,7 +69,7 @@ type PtyLib = ReturnType<typeof dlopen<typeof PTY_SYMBOLS>>["symbols"];
|
|
|
69
69
|
function nativeLibraryPath(): string | null {
|
|
70
70
|
const suffix = process.platform === "darwin" ? "dylib" : "so";
|
|
71
71
|
const dir = `${process.platform}-${process.arch}`;
|
|
72
|
-
const path = join(import.meta.dir, "..", "native", dir, `libcuelooppty.${suffix}`);
|
|
72
|
+
const path = join(import.meta.dir, "..", "..", "native", dir, `libcuelooppty.${suffix}`);
|
|
73
73
|
|
|
74
74
|
return existsSync(path) ? path : null;
|
|
75
75
|
}
|
|
@@ -7,7 +7,7 @@ import type { KeyEvent, MouseEvent } from "@opentui/core";
|
|
|
7
7
|
import type { TestRendererSetup } from "@opentui/core/testing";
|
|
8
8
|
import { useKeyboard } from "@opentui/react";
|
|
9
9
|
import { testRender } from "@opentui/react/test-utils";
|
|
10
|
-
import { loadConfig } from "
|
|
10
|
+
import { loadConfig } from "../settings/config";
|
|
11
11
|
import {
|
|
12
12
|
clickText,
|
|
13
13
|
dragText,
|
|
@@ -10,7 +10,7 @@ import { join } from "node:path";
|
|
|
10
10
|
import { cloneElement, isValidElement, type ReactNode } from "react";
|
|
11
11
|
import type { TestRendererOptions, TestRendererSetup } from "@opentui/core/testing";
|
|
12
12
|
import { testRender } from "@opentui/react/test-utils";
|
|
13
|
-
import type { AppProps } from "
|
|
13
|
+
import type { AppProps } from "../app/App";
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* A probe for the App's ready signal in an in-process suite: pass `onReady`
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { ThreadFooter } from "./ThreadFooter";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Chrome/ThreadFooter" };
|
|
@@ -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 { ThreadFooter } from "./ThreadFooter";
|
|
8
|
-
import { settle } from "
|
|
9
|
-
import { DARK } from "
|
|
8
|
+
import { settle } from "../../testing/test-support";
|
|
9
|
+
import { DARK } from "../../appearance/theme";
|
|
10
10
|
|
|
11
11
|
test("a long branch truncates on one line and keeps the send control in place", async () => {
|
|
12
12
|
const setup = await testRender(
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
import React, { useRef } from "react";
|
|
6
6
|
import type { BoxRenderable } from "@opentui/core";
|
|
7
|
-
import { DARK, type Theme } from "
|
|
8
|
-
import { useFrameMeasure } from "
|
|
9
|
-
import { truncateTitle } from "
|
|
10
|
-
import { NERD } from "
|
|
7
|
+
import { DARK, type Theme } from "../../appearance/theme";
|
|
8
|
+
import { useFrameMeasure } from "../../ui/use-frame-measure";
|
|
9
|
+
import { truncateTitle } from "../../ui/components/truncate-title";
|
|
10
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
11
11
|
|
|
12
12
|
export interface ThreadFooterProps {
|
|
13
13
|
repo: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { ThreadTree } from "./ThreadTree";
|
|
5
5
|
import { groupInbox } from "./thread-tree";
|
|
6
|
-
import { fixtureDiffSession, fixturePlanSession } from "
|
|
6
|
+
import { fixtureDiffSession, fixturePlanSession } from "../../stories/story-fixtures";
|
|
7
7
|
|
|
8
8
|
export const meta: StoryMeta = { title: "Surfaces/ThreadTree" };
|
|
9
9
|
|
|
@@ -9,14 +9,14 @@
|
|
|
9
9
|
|
|
10
10
|
import React, { useEffect, useRef, useState } from "react";
|
|
11
11
|
import type { BoxRenderable } from "@opentui/core";
|
|
12
|
-
import type { Theme } from "
|
|
13
|
-
import { useComponentTheme } from "
|
|
14
|
-
import { useFrameMeasure } from "
|
|
15
|
-
import { useRootOverlay } from "
|
|
16
|
-
import { useMenuControl } from "
|
|
17
|
-
import { IconButton } from "
|
|
18
|
-
import { NERD } from "
|
|
19
|
-
import { truncateTitle } from "
|
|
12
|
+
import type { Theme } from "../../appearance/theme";
|
|
13
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
14
|
+
import { useFrameMeasure } from "../../ui/use-frame-measure";
|
|
15
|
+
import { useRootOverlay } from "../../ui/components/RootOverlay";
|
|
16
|
+
import { useMenuControl } from "../../ui/components/menu-control";
|
|
17
|
+
import { IconButton } from "../../ui/components/primitives/IconButton";
|
|
18
|
+
import { NERD } from "../../ui/components/primitives/icons";
|
|
19
|
+
import { truncateTitle } from "../../ui/components/truncate-title";
|
|
20
20
|
import { threadTitle, type InboxRow } from "./thread-tree";
|
|
21
21
|
|
|
22
22
|
export interface ThreadTreeProps {
|
package/src/{thread-controller.live-diff.test.ts → thread/thread-controller.live-diff.test.ts}
RENAMED
|
@@ -9,7 +9,7 @@ import { describe, expect, mock, test } from "bun:test";
|
|
|
9
9
|
import { SCHEMA_VERSION, type Annotation, type Thread } from "@cueloop/schema";
|
|
10
10
|
import type { ThreadClient } from "@cueloop/daemon/client";
|
|
11
11
|
import { createReviewController, type ShareTransport } from "./thread-controller";
|
|
12
|
-
import { mergeFromShare } from "
|
|
12
|
+
import { mergeFromShare } from "../integrations/share";
|
|
13
13
|
|
|
14
14
|
const AT = "2026-01-01T00:00:00.000Z";
|
|
15
15
|
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
SHARE_RECONNECT_MIN_MS,
|
|
9
9
|
type ShareTransport,
|
|
10
10
|
} from "./thread-controller";
|
|
11
|
-
import { mergeFromShare, type ShareWatchHandlers } from "
|
|
11
|
+
import { mergeFromShare, type ShareWatchHandlers } from "../integrations/share";
|
|
12
12
|
|
|
13
13
|
const publishShare = mock(async () => ({ line: "ssh p_abc123xy@cueloop.dev", copied: true }));
|
|
14
14
|
let remote: Thread;
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
} from "@cueloop/schema";
|
|
17
17
|
import type { ThreadClient } from "@cueloop/daemon/client";
|
|
18
18
|
import { createReviewController, type ShareTransport } from "./thread-controller";
|
|
19
|
-
import { mergeFromShare } from "
|
|
19
|
+
import { mergeFromShare } from "../integrations/share";
|
|
20
20
|
|
|
21
21
|
const AT = "2026-01-01T00:00:00.000Z";
|
|
22
22
|
|
|
@@ -44,7 +44,7 @@ import {
|
|
|
44
44
|
type SessionHistory,
|
|
45
45
|
type MessageOutcome,
|
|
46
46
|
} from "@cueloop/schema";
|
|
47
|
-
import { loadBundledExporters, type BundledExporter } from "
|
|
47
|
+
import { loadBundledExporters, type BundledExporter } from "../integrations/integrations";
|
|
48
48
|
import {
|
|
49
49
|
collaboratorAnnotations,
|
|
50
50
|
mergeFromShare,
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
watchShare,
|
|
56
56
|
shareIdFromLine,
|
|
57
57
|
formatShareLine,
|
|
58
|
-
} from "
|
|
58
|
+
} from "../integrations/share";
|
|
59
59
|
import {
|
|
60
60
|
baseRangeForRendered,
|
|
61
61
|
blockRuns,
|
|
@@ -64,7 +64,7 @@ import {
|
|
|
64
64
|
renderedSpanToWork,
|
|
65
65
|
renderedText,
|
|
66
66
|
type DisplayBlock,
|
|
67
|
-
} from "
|
|
67
|
+
} from "../markdown/view-plan";
|
|
68
68
|
import { entryTarget, treeRows, type TreeRow } from "./tree-view";
|
|
69
69
|
import {
|
|
70
70
|
diffRowBlocks,
|
|
@@ -73,10 +73,10 @@ import {
|
|
|
73
73
|
fileRowRange,
|
|
74
74
|
readsFrozenDiff,
|
|
75
75
|
type DiffRow,
|
|
76
|
-
} from "
|
|
77
|
-
import { applyFold } from "
|
|
78
|
-
import { snapshotWorkbench } from "
|
|
79
|
-
import { copyToClipboard } from "
|
|
76
|
+
} from "../diff/view-diff";
|
|
77
|
+
import { applyFold } from "../diff/diff-fold";
|
|
78
|
+
import { snapshotWorkbench } from "../workbench/workbench-snapshot";
|
|
79
|
+
import { copyToClipboard } from "../integrations/clipboard";
|
|
80
80
|
import {
|
|
81
81
|
changeRejectionForRow,
|
|
82
82
|
hunkRejectionForRow,
|
|
@@ -85,13 +85,18 @@ import {
|
|
|
85
85
|
rejectsWholeHunk,
|
|
86
86
|
sameRejection,
|
|
87
87
|
type HunkRejection,
|
|
88
|
-
} from "
|
|
88
|
+
} from "../diff/diff-hunk-curate";
|
|
89
89
|
import type { FileDiffMetadata } from "@pierre/diffs";
|
|
90
|
-
import { firstUnviewedIndex, walkFiles, type WalkFile } from "
|
|
91
|
-
import { editInEditor } from "
|
|
92
|
-
import { focusHerdrPane } from "
|
|
93
|
-
import {
|
|
94
|
-
|
|
90
|
+
import { firstUnviewedIndex, walkFiles, type WalkFile } from "../diff/walk";
|
|
91
|
+
import { editInEditor } from "../integrations/editor";
|
|
92
|
+
import { focusHerdrPane } from "../integrations/herdr";
|
|
93
|
+
import {
|
|
94
|
+
persistAutoClose,
|
|
95
|
+
type AutoClose,
|
|
96
|
+
type CueloopConfig,
|
|
97
|
+
type QuickAction,
|
|
98
|
+
} from "../settings/config";
|
|
99
|
+
import { slashItemsFrom } from "../keyboard/slash-palette";
|
|
95
100
|
|
|
96
101
|
/**
|
|
97
102
|
* Post-submit lifecycle (a review pane should hand you back to the agent,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import type { Story, StoryMeta } from "
|
|
2
|
+
import { DARK } from "../../appearance/theme";
|
|
3
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
4
4
|
import { CodeBlock } from "./CodeBlock";
|
|
5
5
|
|
|
6
6
|
export const meta: StoryMeta = { title: "Primitives/CodeBlock" };
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
|
|
8
8
|
import React from "react";
|
|
9
9
|
import { createTextAttributes } from "@opentui/core";
|
|
10
|
-
import type { Theme } from "
|
|
11
|
-
import { useComponentTheme } from "
|
|
10
|
+
import type { Theme } from "../../appearance/theme";
|
|
11
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
12
12
|
import { filetypeFor, syntaxStyleFor } from "./syntax-highlight";
|
|
13
13
|
|
|
14
14
|
/** A cut code block reads as removed: struck through and grayed, never red. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import { DARK } from "
|
|
3
|
-
import { DEFAULT_QUICK_ACTIONS } from "
|
|
4
|
-
import type { Story, StoryMeta } from "
|
|
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 { ConfirmCard } from "./ConfirmCard";
|
|
6
6
|
|
|
7
7
|
export const meta: StoryMeta = { title: "Cards/ConfirmCard" };
|