@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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cueloop/client",
|
|
3
|
-
"version": "0.1.0-alpha.
|
|
3
|
+
"version": "0.1.0-alpha.96",
|
|
4
4
|
"description": "The cueloop review UI: projection renderer, keyboard grammar, review rail",
|
|
5
5
|
"homepage": "https://github.com/mmurakaru/cueloop#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -20,17 +20,17 @@
|
|
|
20
20
|
"type": "module",
|
|
21
21
|
"exports": {
|
|
22
22
|
".": "./src/index.ts",
|
|
23
|
-
"./config": "./src/config.ts",
|
|
24
|
-
"./slash-palette": "./src/slash-palette.ts"
|
|
23
|
+
"./config": "./src/settings/config.ts",
|
|
24
|
+
"./slash-palette": "./src/keyboard/slash-palette.ts"
|
|
25
25
|
},
|
|
26
26
|
"publishConfig": {
|
|
27
27
|
"access": "public"
|
|
28
28
|
},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@cueloop/daemon": "0.1.0-alpha.
|
|
31
|
-
"@cueloop/extension-api": "0.1.0-alpha.
|
|
32
|
-
"@cueloop/integration-obsidian": "0.1.0-alpha.
|
|
33
|
-
"@cueloop/schema": "0.1.0-alpha.
|
|
30
|
+
"@cueloop/daemon": "0.1.0-alpha.96",
|
|
31
|
+
"@cueloop/extension-api": "0.1.0-alpha.96",
|
|
32
|
+
"@cueloop/integration-obsidian": "0.1.0-alpha.96",
|
|
33
|
+
"@cueloop/schema": "0.1.0-alpha.96",
|
|
34
34
|
"@opentui/core": "^0.5.12",
|
|
35
35
|
"@opentui/keymap": "0.5.12",
|
|
36
36
|
"@opentui/react": "^0.5.12",
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import { createTextAttributes } from "@opentui/core";
|
|
9
|
-
import type { Theme } from "
|
|
9
|
+
import type { Theme } from "../appearance/theme";
|
|
10
10
|
|
|
11
11
|
export const UNDERLINE = createTextAttributes({ underline: true });
|
|
12
12
|
export const CUT = createTextAttributes({ strikethrough: true, dim: true });
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { Annotation } from "@cueloop/schema";
|
|
3
|
-
import { DARK } from "
|
|
3
|
+
import { DARK } from "../../appearance/theme";
|
|
4
4
|
import { annotationPaletteFor } from "../annotation-palette";
|
|
5
|
-
import { slashItemsFrom } from "
|
|
6
|
-
import { DEFAULT_QUICK_ACTIONS } from "
|
|
7
|
-
import type { Story, StoryMeta } from "
|
|
5
|
+
import { slashItemsFrom } from "../../keyboard/slash-palette";
|
|
6
|
+
import { DEFAULT_QUICK_ACTIONS } from "../../settings/config";
|
|
7
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
8
8
|
import { CommentRow, ComposerPalette, DiscussionCard } from "./AnnotationCards";
|
|
9
9
|
|
|
10
10
|
export const meta: StoryMeta = { title: "Chrome/AnnotationCards" };
|
|
@@ -15,14 +15,14 @@ import type {
|
|
|
15
15
|
TextareaRenderable,
|
|
16
16
|
} from "@opentui/core";
|
|
17
17
|
import type { Annotation } from "@cueloop/schema";
|
|
18
|
-
import type { Theme } from "
|
|
19
|
-
import { useTooltip } from "
|
|
18
|
+
import type { Theme } from "../../appearance/theme";
|
|
19
|
+
import { useTooltip } from "../../ui/components/Tooltip";
|
|
20
20
|
import { lighten } from "../annotation-palette";
|
|
21
|
-
import { useFrameMeasure } from "
|
|
22
|
-
import { imagePlaceholder, looksLikeBinaryPaste } from "
|
|
23
|
-
import { skillReferenceRanges, type SlashItem } from "
|
|
24
|
-
import { PaletteNamesContext } from "
|
|
25
|
-
import { referenceStyleFor } from "
|
|
21
|
+
import { useFrameMeasure } from "../../ui/use-frame-measure";
|
|
22
|
+
import { imagePlaceholder, looksLikeBinaryPaste } from "../../integrations/pasted-image";
|
|
23
|
+
import { skillReferenceRanges, type SlashItem } from "../../keyboard/slash-palette";
|
|
24
|
+
import { PaletteNamesContext } from "../../keyboard/skills";
|
|
25
|
+
import { referenceStyleFor } from "../../ui/components/syntax-highlight";
|
|
26
26
|
|
|
27
27
|
/* -------------------------------------------------------------- composer */
|
|
28
28
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import type { Annotation } from "@cueloop/schema";
|
|
3
|
-
import { DARK } from "
|
|
3
|
+
import { DARK } from "../../appearance/theme";
|
|
4
4
|
import type { Discussion } from "../discussions";
|
|
5
5
|
import type { TextSpan } from "../thread-selection";
|
|
6
|
-
import { RootOverlayProvider } from "
|
|
6
|
+
import { RootOverlayProvider } from "../../ui/components/RootOverlay";
|
|
7
7
|
import { DiscussionMarkerRail } from "./DiscussionMarkerRail";
|
|
8
|
-
import type { Story, StoryMeta } from "
|
|
8
|
+
import type { Story, StoryMeta } from "../../stories/story";
|
|
9
9
|
|
|
10
10
|
export const meta: StoryMeta = { title: "Chrome/DiscussionMarkerRail" };
|
|
11
11
|
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
|
|
9
9
|
import React, { useEffect, useRef, useState, type RefObject } from "react";
|
|
10
10
|
import type { BoxRenderable, ScrollBoxRenderable } from "@opentui/core";
|
|
11
|
-
import type { Theme } from "
|
|
11
|
+
import type { Theme } from "../../appearance/theme";
|
|
12
12
|
import type { TextSpan } from "../thread-selection";
|
|
13
13
|
import type { Discussion } from "../discussions";
|
|
14
|
-
import { useFrameMeasure } from "
|
|
15
|
-
import { useComponentTheme } from "
|
|
16
|
-
import { useRootOverlay } from "
|
|
17
|
-
import { OverlayScrollbar } from "
|
|
14
|
+
import { useFrameMeasure } from "../../ui/use-frame-measure";
|
|
15
|
+
import { useComponentTheme } from "../../appearance/components/theme-context";
|
|
16
|
+
import { useRootOverlay } from "../../ui/components/RootOverlay";
|
|
17
|
+
import { OverlayScrollbar } from "../../ui/components/OverlayScrollbar";
|
|
18
18
|
|
|
19
19
|
interface HoveredMarker {
|
|
20
20
|
key: string;
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
8
|
import type { Annotation, Thread } from "@cueloop/schema";
|
|
9
|
-
import type { Mark } from "
|
|
9
|
+
import type { Mark } from "../markdown/view-plan";
|
|
10
10
|
import { comparePositions, type TextSpan } from "./thread-selection";
|
|
11
11
|
|
|
12
12
|
/** One conversation: a root annotation, its replies, and the span they mark. */
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
import React, { useContext, useEffect, useRef, useState } from "react";
|
|
16
16
|
import type { KeyEvent, MouseEvent as TerminalMouseEvent, TextRenderable } from "@opentui/core";
|
|
17
17
|
import { flushSync } from "@opentui/react";
|
|
18
|
-
import { useSharedKeyboard } from "
|
|
18
|
+
import { useSharedKeyboard } from "../keyboard/use-shared-keyboard";
|
|
19
19
|
import type { Annotation, Thread } from "@cueloop/schema";
|
|
20
|
-
import type { Mark } from "
|
|
21
|
-
import type { QuickAction } from "
|
|
22
|
-
import type { Theme } from "
|
|
20
|
+
import type { Mark } from "../markdown/view-plan";
|
|
21
|
+
import type { QuickAction } from "../settings/config";
|
|
22
|
+
import type { Theme } from "../appearance/theme";
|
|
23
23
|
import {
|
|
24
24
|
comparePositions,
|
|
25
25
|
isDoubleClick,
|
|
@@ -37,7 +37,7 @@ import {
|
|
|
37
37
|
type TextSpan,
|
|
38
38
|
} from "./thread-selection";
|
|
39
39
|
import { annotationPaletteFor, type AnnotationPalette } from "./annotation-palette";
|
|
40
|
-
import { printableSequence, type MarkRange, type VisualLine } from "
|
|
40
|
+
import { printableSequence, type MarkRange, type VisualLine } from "../markdown/mark-runs";
|
|
41
41
|
import {
|
|
42
42
|
activeSlashToken,
|
|
43
43
|
insertSlashItem,
|
|
@@ -45,8 +45,8 @@ import {
|
|
|
45
45
|
mergeSlashItems,
|
|
46
46
|
slashFilter,
|
|
47
47
|
slashItemsFrom,
|
|
48
|
-
} from "
|
|
49
|
-
import { SlashSkillsContext } from "
|
|
48
|
+
} from "../keyboard/slash-palette";
|
|
49
|
+
import { SlashSkillsContext } from "../keyboard/skills";
|
|
50
50
|
import { discussionsFrom, type Discussion } from "./discussions";
|
|
51
51
|
import {
|
|
52
52
|
CommentRow,
|
|
@@ -8,7 +8,7 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { isolateUserConfig, settle, waitForText, renderReadyApp } from "
|
|
11
|
+
import { isolateUserConfig, settle, waitForText, renderReadyApp } from "../testing/test-support";
|
|
12
12
|
|
|
13
13
|
const PLAN = "# Sync Plan\n\n## Steps\n\n- flush the queue\n";
|
|
14
14
|
|
|
@@ -10,7 +10,7 @@ import { ManualClock } from "@opentui/core/testing";
|
|
|
10
10
|
import { DaemonServer } from "@cueloop/daemon";
|
|
11
11
|
import type { Thread } from "@cueloop/schema";
|
|
12
12
|
import { App } from "./App";
|
|
13
|
-
import { isolateUserConfig, press, settle, waitForText, pressKey } from "
|
|
13
|
+
import { isolateUserConfig, press, settle, waitForText, pressKey } from "../testing/test-support";
|
|
14
14
|
|
|
15
15
|
const PLAN = "# Plan\n\nShip the thing.\n";
|
|
16
16
|
|
|
@@ -8,8 +8,8 @@ import React from "react";
|
|
|
8
8
|
import { ScrollBoxRenderable, type Renderable } from "@opentui/core";
|
|
9
9
|
import { DaemonServer } from "@cueloop/daemon";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { annotationPaletteFor } from "
|
|
12
|
-
import { DARK } from "
|
|
11
|
+
import { annotationPaletteFor } from "../annotations/annotation-palette";
|
|
12
|
+
import { DARK } from "../appearance/theme";
|
|
13
13
|
import {
|
|
14
14
|
isolateUserConfig,
|
|
15
15
|
locateText,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
renderReadyApp,
|
|
18
18
|
settle,
|
|
19
19
|
waitForText,
|
|
20
|
-
} from "
|
|
20
|
+
} from "../testing/test-support";
|
|
21
21
|
|
|
22
22
|
function findScrollbox(node: Renderable): ScrollBoxRenderable | null {
|
|
23
23
|
if (node.id === "diff-scroll" && node instanceof ScrollBoxRenderable) return node;
|
|
@@ -9,7 +9,7 @@ import { DaemonServer } from "@cueloop/daemon";
|
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
11
|
import { pullRequestReviewLayout } from "./launch-layout";
|
|
12
|
-
import { DARK } from "
|
|
12
|
+
import { DARK } from "../appearance/theme";
|
|
13
13
|
import {
|
|
14
14
|
clickText,
|
|
15
15
|
dragText,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
typeText,
|
|
22
22
|
waitForState,
|
|
23
23
|
waitForText,
|
|
24
|
-
} from "
|
|
24
|
+
} from "../testing/test-support";
|
|
25
25
|
|
|
26
26
|
const PATCH = `diff --git a/src/store.ts b/src/store.ts
|
|
27
27
|
index 111..222 100644
|
|
@@ -7,7 +7,12 @@ import { join } from "node:path";
|
|
|
7
7
|
import React from "react";
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import { App } from "./App";
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
isolateUserConfig,
|
|
12
|
+
locateText,
|
|
13
|
+
renderReadyApp,
|
|
14
|
+
waitForText,
|
|
15
|
+
} from "../testing/test-support";
|
|
11
16
|
|
|
12
17
|
const PLAN = "# Migration Plan\n\nThe daemon persists sessions to disk atomically.\n";
|
|
13
18
|
|
|
@@ -16,7 +16,7 @@ import React from "react";
|
|
|
16
16
|
import { DaemonServer } from "@cueloop/daemon";
|
|
17
17
|
import type { Thread } from "@cueloop/schema";
|
|
18
18
|
import { App } from "./App";
|
|
19
|
-
import { DARK } from "
|
|
19
|
+
import { DARK } from "../appearance/theme";
|
|
20
20
|
import {
|
|
21
21
|
dragText,
|
|
22
22
|
isolateUserConfig,
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
typeText as type,
|
|
27
27
|
waitForState,
|
|
28
28
|
waitForText,
|
|
29
|
-
} from "
|
|
29
|
+
} from "../testing/test-support";
|
|
30
30
|
|
|
31
31
|
const PLAN = `---
|
|
32
32
|
title: Migration Plan
|
|
@@ -8,8 +8,8 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { DEFAULT_QUICK_ACTIONS } from "
|
|
12
|
-
import { slashItemsFrom } from "
|
|
11
|
+
import { DEFAULT_QUICK_ACTIONS } from "../settings/config";
|
|
12
|
+
import { slashItemsFrom } from "../keyboard/slash-palette";
|
|
13
13
|
import {
|
|
14
14
|
clickText,
|
|
15
15
|
dragText,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
waitForState,
|
|
23
23
|
waitForText,
|
|
24
24
|
waitForTextGone,
|
|
25
|
-
} from "
|
|
25
|
+
} from "../testing/test-support";
|
|
26
26
|
|
|
27
27
|
const PLAN = `# Migration Plan
|
|
28
28
|
|
|
@@ -8,8 +8,8 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { DARK } from "
|
|
12
|
-
import { isolateUserConfig, renderReadyApp, settle, waitForText } from "
|
|
11
|
+
import { DARK } from "../appearance/theme";
|
|
12
|
+
import { isolateUserConfig, renderReadyApp, settle, waitForText } from "../testing/test-support";
|
|
13
13
|
|
|
14
14
|
const DOC = `# PromoCard
|
|
15
15
|
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
setPrototypeRendererFactory,
|
|
13
13
|
type PrototypeElement,
|
|
14
14
|
type PrototypeRenderer,
|
|
15
|
-
} from "
|
|
15
|
+
} from "../prototype/prototype-browser";
|
|
16
16
|
import {
|
|
17
17
|
isolateUserConfig,
|
|
18
18
|
press,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
waitForState,
|
|
23
23
|
waitForText,
|
|
24
24
|
waitForTextGone,
|
|
25
|
-
} from "
|
|
25
|
+
} from "../testing/test-support";
|
|
26
26
|
|
|
27
27
|
const HTML = "<main><div class='card'><h2>Pro</h2><p>$24/mo</p></div></main>";
|
|
28
28
|
|
|
@@ -8,7 +8,7 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { isolateUserConfig, waitForText, renderReadyApp } from "
|
|
11
|
+
import { isolateUserConfig, waitForText, renderReadyApp } from "../testing/test-support";
|
|
12
12
|
|
|
13
13
|
const PLAN = `# Render Plan
|
|
14
14
|
|
|
@@ -9,7 +9,7 @@ import { testRender } from "@opentui/react/test-utils";
|
|
|
9
9
|
import { DaemonServer } from "@cueloop/daemon";
|
|
10
10
|
import type { Thread } from "@cueloop/schema";
|
|
11
11
|
import { App } from "./App";
|
|
12
|
-
import type { ShareTransport } from "
|
|
12
|
+
import type { ShareTransport } from "../thread/thread-controller";
|
|
13
13
|
import {
|
|
14
14
|
isolateUserConfig,
|
|
15
15
|
press,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
settle,
|
|
18
18
|
waitForText,
|
|
19
19
|
waitForTextGone,
|
|
20
|
-
} from "
|
|
20
|
+
} from "../testing/test-support";
|
|
21
21
|
|
|
22
22
|
const shareTransport: ShareTransport = {
|
|
23
23
|
publish: mock(async () => ({ line: "ssh p_share01@cueloop.dev", copied: true })),
|
|
@@ -8,7 +8,7 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { DARK } from "
|
|
11
|
+
import { DARK } from "../appearance/theme";
|
|
12
12
|
import {
|
|
13
13
|
clickText,
|
|
14
14
|
dragText,
|
|
@@ -22,7 +22,7 @@ import {
|
|
|
22
22
|
typeText as type,
|
|
23
23
|
waitForState,
|
|
24
24
|
waitForText,
|
|
25
|
-
} from "
|
|
25
|
+
} from "../testing/test-support";
|
|
26
26
|
|
|
27
27
|
const PLAN = `# Migration Plan
|
|
28
28
|
|
|
@@ -9,7 +9,7 @@ import { testRender } from "@opentui/react/test-utils";
|
|
|
9
9
|
import { DaemonServer } from "@cueloop/daemon";
|
|
10
10
|
import type { Thread } from "@cueloop/schema";
|
|
11
11
|
import { App } from "./App";
|
|
12
|
-
import type { ShareTransport } from "
|
|
12
|
+
import type { ShareTransport } from "../thread/thread-controller";
|
|
13
13
|
import {
|
|
14
14
|
clickText,
|
|
15
15
|
isolateUserConfig,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
typeText,
|
|
20
20
|
waitForText,
|
|
21
21
|
waitForTextGone,
|
|
22
|
-
} from "
|
|
22
|
+
} from "../testing/test-support";
|
|
23
23
|
|
|
24
24
|
const publishShare = mock(async () => ({ line: "ssh p_share01@cueloop.dev", copied: true }));
|
|
25
25
|
const shareTransport: ShareTransport = {
|
|
@@ -8,7 +8,7 @@ import React, {
|
|
|
8
8
|
} from "react";
|
|
9
9
|
import { useKeyboard, useRenderer, useTerminalDimensions } from "@opentui/react";
|
|
10
10
|
import type { Clock, KeyEvent } from "@opentui/core";
|
|
11
|
-
import { buildDisplay, marksByDisplay, type Mark } from "
|
|
11
|
+
import { buildDisplay, marksByDisplay, type Mark } from "../markdown/view-plan";
|
|
12
12
|
import {
|
|
13
13
|
DEFAULT_KEYS,
|
|
14
14
|
DEFAULT_QUICK_ACTIONS,
|
|
@@ -22,48 +22,48 @@ import {
|
|
|
22
22
|
type IdentityConfig,
|
|
23
23
|
type QuickAction,
|
|
24
24
|
type ReviewWorkspaceMode,
|
|
25
|
-
} from "
|
|
26
|
-
import { resolveDisplayName } from "
|
|
27
|
-
import { resolveGithubIdentity } from "
|
|
28
|
-
import { loadSkills, PaletteNamesContext, SlashSkillsContext } from "
|
|
29
|
-
import { mergeSlashItems, slashItemsFrom, type SlashItem } from "
|
|
25
|
+
} from "../settings/config";
|
|
26
|
+
import { resolveDisplayName } from "../integrations/attribution";
|
|
27
|
+
import { resolveGithubIdentity } from "../integrations/github-identity";
|
|
28
|
+
import { loadSkills, PaletteNamesContext, SlashSkillsContext } from "../keyboard/skills";
|
|
29
|
+
import { mergeSlashItems, slashItemsFrom, type SlashItem } from "../keyboard/slash-palette";
|
|
30
30
|
import {
|
|
31
31
|
composeTheme,
|
|
32
32
|
DEFAULT_THEME_NAME,
|
|
33
33
|
themeForName,
|
|
34
34
|
type Appearance,
|
|
35
35
|
type ThemeName,
|
|
36
|
-
} from "
|
|
37
|
-
import type { Theme } from "
|
|
38
|
-
import { createReviewController, type ShareTransport } from "
|
|
36
|
+
} from "../appearance/theme-presets";
|
|
37
|
+
import type { Theme } from "../appearance/theme";
|
|
38
|
+
import { createReviewController, type ShareTransport } from "../thread/thread-controller";
|
|
39
39
|
import type { ThreadClient } from "@cueloop/daemon/client";
|
|
40
40
|
import { createIntentDispatch, type Mode, type RailTab } from "./intent-dispatch";
|
|
41
|
-
import { reduceKey, type KeyState } from "
|
|
42
|
-
import { KeyBindings, type CheatsheetSection } from "
|
|
41
|
+
import { reduceKey, type KeyState } from "../keyboard/keymap";
|
|
42
|
+
import { KeyBindings, type CheatsheetSection } from "../keyboard/key-bindings";
|
|
43
43
|
import { useReadySignal } from "./ready-signal";
|
|
44
|
-
import { ThemeProvider } from "
|
|
45
|
-
import { Button } from "
|
|
46
|
-
import { ShareDialog } from "
|
|
47
|
-
import { shareDialogStore } from "
|
|
48
|
-
import { Toolbar } from "
|
|
49
|
-
import { groupInbox, projectName, threadTitle } from "
|
|
50
|
-
import { ThreadTree } from "
|
|
51
|
-
import { ChangesFileTree } from "
|
|
52
|
-
import { MenuControlProvider, useMenuControlState } from "
|
|
53
|
-
import { ProjectTreeView } from "
|
|
44
|
+
import { ThemeProvider } from "../appearance/components/theme-context";
|
|
45
|
+
import { Button } from "../ui/components/primitives/Button";
|
|
46
|
+
import { ShareDialog } from "../integrations/components/ShareDialog";
|
|
47
|
+
import { shareDialogStore } from "../integrations/components/share-dialog-store";
|
|
48
|
+
import { Toolbar } from "../ui/components/primitives/Toolbar";
|
|
49
|
+
import { groupInbox, projectName, threadTitle } from "../thread/components/thread-tree";
|
|
50
|
+
import { ThreadTree } from "../thread/components/ThreadTree";
|
|
51
|
+
import { ChangesFileTree } from "../workbench/components/ChangesColumn";
|
|
52
|
+
import { MenuControlProvider, useMenuControlState } from "../ui/components/menu-control";
|
|
53
|
+
import { ProjectTreeView } from "../workbench/components/ProjectTreeView";
|
|
54
54
|
import { AppShell, type FocusPane, type ProjectPanelMode } from "./components/AppShell";
|
|
55
|
-
import type { ClientExtensionRegistry } from "
|
|
55
|
+
import type { ClientExtensionRegistry } from "../integrations/client-extension-registry";
|
|
56
56
|
import type { ExtensionUIContext } from "@cueloop/extension-api/client";
|
|
57
|
-
import { EditorGrid } from "
|
|
58
|
-
import { GridTabContent } from "
|
|
59
|
-
import { useChangesWorkbench } from "
|
|
60
|
-
import { useRepoChanges } from "
|
|
61
|
-
import { useThreadBodyEditing } from "
|
|
62
|
-
import { useRememberLayout } from "
|
|
57
|
+
import { EditorGrid } from "../workbench/components/EditorGrid";
|
|
58
|
+
import { GridTabContent } from "../workbench/components/GridTabContent";
|
|
59
|
+
import { useChangesWorkbench } from "../workbench/use-changes-workbench";
|
|
60
|
+
import { useRepoChanges } from "../workbench/use-repo-changes";
|
|
61
|
+
import { useThreadBodyEditing } from "../markdown/use-thread-body-editing";
|
|
62
|
+
import { useRememberLayout } from "../workbench/use-remember-layout";
|
|
63
63
|
import type { LaunchLayout } from "./launch-layout";
|
|
64
|
-
import { ThreadFooter, THREAD_FOOTER_HEIGHT } from "
|
|
65
|
-
import { ConfirmCard } from "
|
|
66
|
-
import { THREAD_VIEW_CHEATSHEET, ThreadView } from "
|
|
64
|
+
import { ThreadFooter, THREAD_FOOTER_HEIGHT } from "../thread/components/ThreadFooter";
|
|
65
|
+
import { ConfirmCard } from "../ui/components/ConfirmCard";
|
|
66
|
+
import { THREAD_VIEW_CHEATSHEET, ThreadView } from "../markdown/components/ThreadView";
|
|
67
67
|
import {
|
|
68
68
|
curationCommandEntries,
|
|
69
69
|
diffCommandEntries,
|
|
@@ -71,9 +71,9 @@ import {
|
|
|
71
71
|
resolveSessionChord,
|
|
72
72
|
sessionCommandEntries,
|
|
73
73
|
treeCommandEntries,
|
|
74
|
-
} from "
|
|
75
|
-
import { type DiffFoldControls } from "
|
|
76
|
-
import { commentCountsByFile, readsFrozenDiff } from "
|
|
74
|
+
} from "../keyboard/thread-chords";
|
|
75
|
+
import { type DiffFoldControls } from "../diff/components/DiffContentView";
|
|
76
|
+
import { commentCountsByFile, readsFrozenDiff } from "../diff/view-diff";
|
|
77
77
|
import { annotationTarget, isAddressed, isAgentNote, threadShareLinks } from "@cueloop/schema";
|
|
78
78
|
import type {
|
|
79
79
|
Annotation,
|
|
@@ -84,8 +84,8 @@ import type {
|
|
|
84
84
|
Thread,
|
|
85
85
|
MessageOutcome,
|
|
86
86
|
} from "@cueloop/schema";
|
|
87
|
-
import { PrototypePixels } from "
|
|
88
|
-
import type { PrototypeElement } from "
|
|
87
|
+
import { PrototypePixels } from "../prototype/prototype-pixels";
|
|
88
|
+
import type { PrototypeElement } from "../prototype/prototype-browser";
|
|
89
89
|
import {
|
|
90
90
|
buildRenderFlags,
|
|
91
91
|
buildSubmitConfirmState,
|
|
@@ -97,7 +97,7 @@ import {
|
|
|
97
97
|
resolveOverlay,
|
|
98
98
|
} from "./app-view-model";
|
|
99
99
|
import { buildKeyState } from "./app-key-state";
|
|
100
|
-
import { useSettingsDialog } from "
|
|
100
|
+
import { useSettingsDialog } from "../settings/use-settings-dialog";
|
|
101
101
|
import {
|
|
102
102
|
CompletionScreen,
|
|
103
103
|
ConnectingScreen,
|
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
import { afterEach, beforeEach, expect, test } from "bun:test";
|
|
5
5
|
import React from "react";
|
|
6
6
|
import { App } from "./App";
|
|
7
|
-
import { clickText, isolateUserConfig, renderReadyApp, waitForText } from "
|
|
8
|
-
import { themeForName } from "
|
|
9
|
-
import { rgbColorFromHex } from "
|
|
10
|
-
import { createTestReviewHome, type TestReviewHome } from "
|
|
7
|
+
import { clickText, isolateUserConfig, renderReadyApp, waitForText } from "../testing/test-support";
|
|
8
|
+
import { themeForName } from "../appearance/theme-presets";
|
|
9
|
+
import { rgbColorFromHex } from "../appearance/visual/contrast";
|
|
10
|
+
import { createTestReviewHome, type TestReviewHome } from "../../../../test/helpers/review-home";
|
|
11
11
|
|
|
12
12
|
let reviewHome: TestReviewHome;
|
|
13
13
|
let restoreUserConfig: () => void;
|
|
@@ -8,7 +8,7 @@ import React from "react";
|
|
|
8
8
|
import { DaemonServer } from "@cueloop/daemon";
|
|
9
9
|
import type { Thread } from "@cueloop/schema";
|
|
10
10
|
import { App } from "./App";
|
|
11
|
-
import { DARK } from "
|
|
11
|
+
import { DARK } from "../appearance/theme";
|
|
12
12
|
import {
|
|
13
13
|
isolateUserConfig,
|
|
14
14
|
press,
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
waitForState,
|
|
19
19
|
waitForText,
|
|
20
20
|
waitForTextGone,
|
|
21
|
-
} from "
|
|
21
|
+
} from "../testing/test-support";
|
|
22
22
|
|
|
23
23
|
const PATCH = `diff --git a/src/a.ts b/src/a.ts
|
|
24
24
|
index 111..222 100644
|
|
@@ -11,11 +11,11 @@ import { mkdtempSync, mkdirSync, rmSync, writeFileSync } from "node:fs";
|
|
|
11
11
|
import { tmpdir } from "node:os";
|
|
12
12
|
import { join } from "node:path";
|
|
13
13
|
import React from "react";
|
|
14
|
-
import { testRender } from "@opentui/react/test-utils";
|
|
14
|
+
import { testRender as renderTestComponent } from "@opentui/react/test-utils";
|
|
15
15
|
import { DaemonServer } from "@cueloop/daemon";
|
|
16
16
|
import type { Thread } from "@cueloop/schema";
|
|
17
17
|
import { App } from "./App";
|
|
18
|
-
import { loadConfig } from "
|
|
18
|
+
import { loadConfig } from "../settings/config";
|
|
19
19
|
import { pairLayout, planLayout, reviewLayout } from "./launch-layout";
|
|
20
20
|
import {
|
|
21
21
|
dragText,
|
|
@@ -27,9 +27,9 @@ import {
|
|
|
27
27
|
waitForState,
|
|
28
28
|
waitForText,
|
|
29
29
|
waitForTextGone,
|
|
30
|
-
renderReadyApp,
|
|
31
|
-
} from "
|
|
32
|
-
import { NERD } from "
|
|
30
|
+
renderReadyApp as renderReadyTestApp,
|
|
31
|
+
} from "../testing/test-support";
|
|
32
|
+
import { NERD } from "../ui/components/primitives/icons";
|
|
33
33
|
|
|
34
34
|
const PATCH = `diff --git a/src/store.ts b/src/store.ts
|
|
35
35
|
index 111..222 100644
|
|
@@ -47,6 +47,23 @@ let repo: string;
|
|
|
47
47
|
let restoreUserConfig: () => void;
|
|
48
48
|
let server: DaemonServer;
|
|
49
49
|
let session: Thread;
|
|
50
|
+
const renderers = new Set<Awaited<ReturnType<typeof renderTestComponent>>["renderer"]>();
|
|
51
|
+
|
|
52
|
+
async function testRender(...args: Parameters<typeof renderTestComponent>) {
|
|
53
|
+
const setup = await renderTestComponent(...args);
|
|
54
|
+
|
|
55
|
+
renderers.add(setup.renderer);
|
|
56
|
+
|
|
57
|
+
return setup;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
async function renderReadyApp(...args: Parameters<typeof renderReadyTestApp>) {
|
|
61
|
+
const setup = await renderReadyTestApp(...args);
|
|
62
|
+
|
|
63
|
+
renderers.add(setup.renderer);
|
|
64
|
+
|
|
65
|
+
return setup;
|
|
66
|
+
}
|
|
50
67
|
|
|
51
68
|
/** A throwaway git repo so the Project tree (git ls-files) and file contents resolve without a real checkout. */
|
|
52
69
|
function makeRepo(): string {
|
|
@@ -79,6 +96,10 @@ beforeEach(() => {
|
|
|
79
96
|
});
|
|
80
97
|
});
|
|
81
98
|
afterEach(() => {
|
|
99
|
+
for (const renderer of renderers) {
|
|
100
|
+
if (!renderer.isDestroyed) renderer.destroy();
|
|
101
|
+
}
|
|
102
|
+
renderers.clear();
|
|
82
103
|
restoreUserConfig();
|
|
83
104
|
server.stop();
|
|
84
105
|
rmSync(home, { recursive: true, force: true });
|