@sagmans/dsh-tui 0.13.0 → 0.14.0
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/.agents/skills/dsh-tui-dogfood/SKILL.md +18 -2
- package/.agents/skills/dsh-tui-dogfood/references/home-state.md +4 -4
- package/.agents/skills/dsh-tui-dogfood/scripts/clone-links.mjs +19 -11
- package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +31 -9
- package/.agents/skills/dsh-tui-update-models/SKILL.md +1 -1
- package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +6 -6
- package/.agents/skills/dsh-tui-update-models/scripts/dump-model-catalog.mjs +21 -13
- package/README.md +61 -23
- package/cordis.patch.yml +2 -0
- package/lib/agent/fork.d.ts +3 -1
- package/lib/agent/fork.d.ts.map +1 -1
- package/lib/agent/fork.js +2 -0
- package/lib/agent/fork.js.map +1 -1
- package/lib/agent/history.d.ts +14 -22
- package/lib/agent/history.d.ts.map +1 -1
- package/lib/agent/history.js +20 -14
- package/lib/agent/history.js.map +1 -1
- package/lib/agent/host.d.ts.map +1 -1
- package/lib/agent/host.js +6 -0
- package/lib/agent/host.js.map +1 -1
- package/lib/agent/model.d.ts +10 -8
- package/lib/agent/model.d.ts.map +1 -1
- package/lib/agent/model.js +9 -7
- package/lib/agent/model.js.map +1 -1
- package/lib/agent/present.d.ts +1 -1
- package/lib/agent/present.d.ts.map +1 -1
- package/lib/agent/present.js +1 -1
- package/lib/agent/present.js.map +1 -1
- package/lib/agent/presets.d.ts +4 -1
- package/lib/agent/presets.d.ts.map +1 -1
- package/lib/agent/presets.js +9 -2
- package/lib/agent/presets.js.map +1 -1
- package/lib/agent/projections.d.ts +8 -2
- package/lib/agent/projections.d.ts.map +1 -1
- package/lib/agent/projections.js +8 -2
- package/lib/agent/projections.js.map +1 -1
- package/lib/agent/prompt-history.d.ts +8 -48
- package/lib/agent/prompt-history.d.ts.map +1 -1
- package/lib/agent/prompt-history.js +34 -15
- package/lib/agent/prompt-history.js.map +1 -1
- package/lib/agent/status.d.ts +9 -24
- package/lib/agent/status.d.ts.map +1 -1
- package/lib/agent/status.js +7 -2
- package/lib/agent/status.js.map +1 -1
- package/lib/agent/undo.d.ts +2 -4
- package/lib/agent/undo.d.ts.map +1 -1
- package/lib/agent/undo.js +10 -5
- package/lib/agent/undo.js.map +1 -1
- package/lib/cards/composition.d.ts +7 -7
- package/lib/cards/composition.d.ts.map +1 -1
- package/lib/cards/composition.js +13 -12
- package/lib/cards/composition.js.map +1 -1
- package/lib/cards/presenter.d.ts +11 -14
- package/lib/cards/presenter.d.ts.map +1 -1
- package/lib/cards/presenter.js +40 -19
- package/lib/cards/presenter.js.map +1 -1
- package/lib/cards/preview.d.ts.map +1 -1
- package/lib/cards/preview.js +5 -1
- package/lib/cards/preview.js.map +1 -1
- package/lib/cards.d.ts +17 -23
- package/lib/cards.d.ts.map +1 -1
- package/lib/cards.js +27 -12
- package/lib/cards.js.map +1 -1
- package/lib/compat/probe.d.ts +2 -5
- package/lib/compat/probe.d.ts.map +1 -1
- package/lib/compat/probe.js +2 -2
- package/lib/compat/probe.js.map +1 -1
- package/lib/compat/section.d.ts +5 -4
- package/lib/compat/section.d.ts.map +1 -1
- package/lib/compat/section.js +4 -0
- package/lib/compat/section.js.map +1 -1
- package/lib/config.d.ts +0 -3
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +7 -1
- package/lib/config.js.map +1 -1
- package/lib/export.d.ts +5 -7
- package/lib/export.d.ts.map +1 -1
- package/lib/export.js +48 -10
- package/lib/export.js.map +1 -1
- package/lib/fold-cursor.d.ts +3 -3
- package/lib/fold-cursor.d.ts.map +1 -1
- package/lib/fold-cursor.js +5 -3
- package/lib/fold-cursor.js.map +1 -1
- package/lib/gates/question-card.d.ts +3 -38
- package/lib/gates/question-card.d.ts.map +1 -1
- package/lib/gates/question-card.js +13 -10
- package/lib/gates/question-card.js.map +1 -1
- package/lib/gates/questions.d.ts +14 -8
- package/lib/gates/questions.d.ts.map +1 -1
- package/lib/gates/questions.js +16 -12
- package/lib/gates/questions.js.map +1 -1
- package/lib/gates.d.ts +17 -25
- package/lib/gates.d.ts.map +1 -1
- package/lib/gates.js +2 -4
- package/lib/gates.js.map +1 -1
- package/lib/herdr/client.d.ts +10 -12
- package/lib/herdr/client.d.ts.map +1 -1
- package/lib/herdr/client.js +9 -8
- package/lib/herdr/client.js.map +1 -1
- package/lib/herdr/constants.d.ts +3 -2
- package/lib/herdr/constants.d.ts.map +1 -1
- package/lib/herdr/constants.js +3 -2
- package/lib/herdr/constants.js.map +1 -1
- package/lib/herdr/reporter.d.ts +4 -39
- package/lib/herdr/reporter.d.ts.map +1 -1
- package/lib/herdr/reporter.js +13 -19
- package/lib/herdr/reporter.js.map +1 -1
- package/lib/herdr/state.d.ts +4 -3
- package/lib/herdr/state.d.ts.map +1 -1
- package/lib/herdr/state.js +6 -5
- package/lib/herdr/state.js.map +1 -1
- package/lib/host/preset-files.d.ts +0 -17
- package/lib/host/preset-files.d.ts.map +1 -1
- package/lib/host/preset-files.js +7 -2
- package/lib/host/preset-files.js.map +1 -1
- package/lib/host/roster.d.ts +1 -1
- package/lib/host/roster.d.ts.map +1 -1
- package/lib/host/roster.js +3 -3
- package/lib/host/roster.js.map +1 -1
- package/lib/host/runner.d.ts +2 -5
- package/lib/host/runner.d.ts.map +1 -1
- package/lib/host/runner.js +2 -5
- package/lib/host/runner.js.map +1 -1
- package/lib/identity.d.ts +6 -3
- package/lib/identity.d.ts.map +1 -1
- package/lib/identity.js +18 -3
- package/lib/identity.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +42 -14
- package/lib/index.js.map +1 -1
- package/lib/injection.d.ts.map +1 -1
- package/lib/injection.js +1 -0
- package/lib/injection.js.map +1 -1
- package/lib/input/action-catalog.d.ts.map +1 -1
- package/lib/input/action-catalog.js +4 -0
- package/lib/input/action-catalog.js.map +1 -1
- package/lib/input/actions.d.ts +4 -3
- package/lib/input/actions.d.ts.map +1 -1
- package/lib/input/actions.js +8 -3
- package/lib/input/actions.js.map +1 -1
- package/lib/input/completion.d.ts +3 -11
- package/lib/input/completion.d.ts.map +1 -1
- package/lib/input/completion.js +4 -4
- package/lib/input/completion.js.map +1 -1
- package/lib/input/file-index.d.ts +1 -12
- package/lib/input/file-index.d.ts.map +1 -1
- package/lib/input/file-index.js +21 -17
- package/lib/input/file-index.js.map +1 -1
- package/lib/input/file-search.d.ts +4 -3
- package/lib/input/file-search.d.ts.map +1 -1
- package/lib/input/file-search.js +8 -5
- package/lib/input/file-search.js.map +1 -1
- package/lib/input/fuzzy.d.ts +6 -12
- package/lib/input/fuzzy.d.ts.map +1 -1
- package/lib/input/fuzzy.js +18 -27
- package/lib/input/fuzzy.js.map +1 -1
- package/lib/input/ghost.d.ts +5 -5
- package/lib/input/ghost.d.ts.map +1 -1
- package/lib/input/ghost.js +4 -3
- package/lib/input/ghost.js.map +1 -1
- package/lib/input/key-press.d.ts +8 -7
- package/lib/input/key-press.d.ts.map +1 -1
- package/lib/input/key-press.js +8 -6
- package/lib/input/key-press.js.map +1 -1
- package/lib/input/keymap-conflicts.d.ts +6 -6
- package/lib/input/keymap-conflicts.d.ts.map +1 -1
- package/lib/input/keymap-conflicts.js +6 -6
- package/lib/input/keymap-conflicts.js.map +1 -1
- package/lib/input/keymap.d.ts +6 -18
- package/lib/input/keymap.d.ts.map +1 -1
- package/lib/input/keymap.js +7 -10
- package/lib/input/keymap.js.map +1 -1
- package/lib/input/match.js +4 -4
- package/lib/input/match.js.map +1 -1
- package/lib/input/submission.d.ts +7 -3
- package/lib/input/submission.d.ts.map +1 -1
- package/lib/input/submission.js +2 -2
- package/lib/input/submission.js.map +1 -1
- package/lib/input/workspace-files.d.ts +1 -2
- package/lib/input/workspace-files.d.ts.map +1 -1
- package/lib/input/workspace-files.js +20 -11
- package/lib/input/workspace-files.js.map +1 -1
- package/lib/input.d.ts.map +1 -1
- package/lib/input.js +3 -1
- package/lib/input.js.map +1 -1
- package/lib/install-skills.d.ts +5 -22
- package/lib/install-skills.d.ts.map +1 -1
- package/lib/install-skills.js +18 -18
- package/lib/install-skills.js.map +1 -1
- package/lib/jobs.d.ts +10 -5
- package/lib/jobs.d.ts.map +1 -1
- package/lib/jobs.js +39 -13
- package/lib/jobs.js.map +1 -1
- package/lib/keymaps.d.ts.map +1 -1
- package/lib/keymaps.js +2 -0
- package/lib/keymaps.js.map +1 -1
- package/lib/keys-command.d.ts +1 -1
- package/lib/keys-command.d.ts.map +1 -1
- package/lib/model-list.d.ts +0 -27
- package/lib/model-list.d.ts.map +1 -1
- package/lib/model-list.js +1 -1
- package/lib/model-list.js.map +1 -1
- package/lib/moshi.d.ts +13 -0
- package/lib/moshi.d.ts.map +1 -0
- package/lib/moshi.js +130 -0
- package/lib/moshi.js.map +1 -0
- package/lib/spacing.d.ts +0 -7
- package/lib/spacing.d.ts.map +1 -1
- package/lib/spacing.js +1 -1
- package/lib/spacing.js.map +1 -1
- package/lib/startup.d.ts +1 -1
- package/lib/startup.d.ts.map +1 -1
- package/lib/startup.js +9 -1
- package/lib/startup.js.map +1 -1
- package/lib/stash/lock.d.ts +1 -37
- package/lib/stash/lock.d.ts.map +1 -1
- package/lib/stash/lock.js +41 -35
- package/lib/stash/lock.js.map +1 -1
- package/lib/stash/paths.d.ts +8 -7
- package/lib/stash/paths.d.ts.map +1 -1
- package/lib/stash/paths.js +21 -17
- package/lib/stash/paths.js.map +1 -1
- package/lib/stash/private-fs.d.ts +14 -5
- package/lib/stash/private-fs.d.ts.map +1 -1
- package/lib/stash/private-fs.js +30 -8
- package/lib/stash/private-fs.js.map +1 -1
- package/lib/stash/schema.d.ts +3 -6
- package/lib/stash/schema.d.ts.map +1 -1
- package/lib/stash/schema.js +11 -9
- package/lib/stash/schema.js.map +1 -1
- package/lib/stash/store.d.ts +9 -40
- package/lib/stash/store.d.ts.map +1 -1
- package/lib/stash/store.js +26 -24
- package/lib/stash/store.js.map +1 -1
- package/lib/stash.d.ts +7 -11
- package/lib/stash.d.ts.map +1 -1
- package/lib/stash.js +18 -11
- package/lib/stash.js.map +1 -1
- package/lib/subagents.d.ts +9 -9
- package/lib/subagents.d.ts.map +1 -1
- package/lib/subagents.js +19 -18
- package/lib/subagents.js.map +1 -1
- package/lib/surface/appearance-preferences.d.ts.map +1 -1
- package/lib/surface/appearance-preferences.js +7 -0
- package/lib/surface/appearance-preferences.js.map +1 -1
- package/lib/surface/appearance.d.ts.map +1 -1
- package/lib/surface/appearance.js +7 -2
- package/lib/surface/appearance.js.map +1 -1
- package/lib/surface/background-work.d.ts +2 -0
- package/lib/surface/background-work.d.ts.map +1 -1
- package/lib/surface/background-work.js +45 -36
- package/lib/surface/background-work.js.map +1 -1
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +17 -9
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/modal-input.d.ts +3 -0
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +4 -1
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/surface/model-choice.d.ts.map +1 -1
- package/lib/surface/model-choice.js +10 -8
- package/lib/surface/model-choice.js.map +1 -1
- package/lib/surface/plugin-actions.d.ts.map +1 -1
- package/lib/surface/plugin-actions.js +4 -0
- package/lib/surface/plugin-actions.js.map +1 -1
- package/lib/surface/preset-choice.d.ts.map +1 -1
- package/lib/surface/preset-choice.js +15 -17
- package/lib/surface/preset-choice.js.map +1 -1
- package/lib/surface/prompt-input.js +1 -1
- package/lib/surface/prompt-input.js.map +1 -1
- package/lib/surface/prompt-memory.d.ts +7 -6
- package/lib/surface/prompt-memory.d.ts.map +1 -1
- package/lib/surface/prompt-memory.js +3 -3
- package/lib/surface/session-lifecycle.d.ts +7 -1
- package/lib/surface/session-lifecycle.d.ts.map +1 -1
- package/lib/surface/session-lifecycle.js +17 -12
- package/lib/surface/session-lifecycle.js.map +1 -1
- package/lib/surface/session-picker.js +1 -1
- package/lib/surface/session-picker.js.map +1 -1
- package/lib/surface/session-view.d.ts +1 -1
- package/lib/surface/session-view.d.ts.map +1 -1
- package/lib/surface/session-view.js +4 -5
- package/lib/surface/session-view.js.map +1 -1
- package/lib/surface/staged-turns.d.ts.map +1 -1
- package/lib/surface/staged-turns.js +8 -4
- package/lib/surface/staged-turns.js.map +1 -1
- package/lib/surface/terminal-lifecycle.d.ts +1 -1
- package/lib/surface/terminal-lifecycle.d.ts.map +1 -1
- package/lib/surface/terminal-lifecycle.js +8 -5
- package/lib/surface/terminal-lifecycle.js.map +1 -1
- package/lib/terminal/bell.d.ts +0 -2
- package/lib/terminal/bell.d.ts.map +1 -1
- package/lib/terminal/bell.js +2 -1
- package/lib/terminal/bell.js.map +1 -1
- package/lib/terminal/clipboard.d.ts +4 -4
- package/lib/terminal/clipboard.js +4 -4
- package/lib/terminal/external-editor.d.ts +4 -60
- package/lib/terminal/external-editor.d.ts.map +1 -1
- package/lib/terminal/external-editor.js +28 -40
- package/lib/terminal/external-editor.js.map +1 -1
- package/lib/terminal/host-writes.d.ts +7 -18
- package/lib/terminal/host-writes.d.ts.map +1 -1
- package/lib/terminal/host-writes.js +9 -14
- package/lib/terminal/host-writes.js.map +1 -1
- package/lib/terminal/input.d.ts +6 -0
- package/lib/terminal/input.d.ts.map +1 -0
- package/lib/terminal/input.js +15 -0
- package/lib/terminal/input.js.map +1 -0
- package/lib/terminal/restore.d.ts +2 -1
- package/lib/terminal/restore.d.ts.map +1 -1
- package/lib/terminal/signals.d.ts +2 -1
- package/lib/terminal/signals.d.ts.map +1 -1
- package/lib/terminal/signals.js +1 -1
- package/lib/terminal/signals.js.map +1 -1
- package/lib/terminal/title.d.ts +1 -11
- package/lib/terminal/title.d.ts.map +1 -1
- package/lib/terminal/title.js +5 -4
- package/lib/terminal/title.js.map +1 -1
- package/lib/terminal/warning-screen.d.ts +2 -0
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +21 -3
- package/lib/terminal/warning-screen.js.map +1 -1
- package/lib/terminal-text/scan.d.ts +4 -5
- package/lib/terminal-text/scan.d.ts.map +1 -1
- package/lib/terminal-text/scan.js +16 -9
- package/lib/terminal-text/scan.js.map +1 -1
- package/lib/terminal-text/sgr.d.ts +4 -3
- package/lib/terminal-text/sgr.d.ts.map +1 -1
- package/lib/terminal-text/sgr.js +9 -14
- package/lib/terminal-text/sgr.js.map +1 -1
- package/lib/terminal-text.d.ts +7 -12
- package/lib/terminal-text.d.ts.map +1 -1
- package/lib/terminal-text.js +31 -28
- package/lib/terminal-text.js.map +1 -1
- package/lib/text.d.ts +8 -14
- package/lib/text.d.ts.map +1 -1
- package/lib/text.js +14 -15
- package/lib/text.js.map +1 -1
- package/lib/theme-capability.d.ts +3 -15
- package/lib/theme-capability.d.ts.map +1 -1
- package/lib/theme-capability.js +18 -15
- package/lib/theme-capability.js.map +1 -1
- package/lib/theme-defaults.d.ts +3 -57
- package/lib/theme-defaults.d.ts.map +1 -1
- package/lib/theme-defaults.js +25 -14
- package/lib/theme-defaults.js.map +1 -1
- package/lib/theme-files.d.ts +16 -32
- package/lib/theme-files.d.ts.map +1 -1
- package/lib/theme-files.js +43 -27
- package/lib/theme-files.js.map +1 -1
- package/lib/theme-resolver.d.ts +3 -3
- package/lib/theme-resolver.d.ts.map +1 -1
- package/lib/theme-resolver.js +9 -6
- package/lib/theme-resolver.js.map +1 -1
- package/lib/theme-schema.d.ts +7 -42
- package/lib/theme-schema.d.ts.map +1 -1
- package/lib/theme-schema.js +9 -11
- package/lib/theme-schema.js.map +1 -1
- package/lib/theme-settings.d.ts +19 -10
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/theme-settings.js +23 -17
- package/lib/theme-settings.js.map +1 -1
- package/lib/theme-tokens.d.ts +6 -12
- package/lib/theme-tokens.d.ts.map +1 -1
- package/lib/theme-tokens.js +2 -2
- package/lib/theme-tokens.js.map +1 -1
- package/lib/theme.d.ts +5 -10
- package/lib/theme.d.ts.map +1 -1
- package/lib/theme.js +11 -18
- package/lib/theme.js.map +1 -1
- package/lib/todo-guard.d.ts +8 -4
- package/lib/todo-guard.d.ts.map +1 -1
- package/lib/todo-guard.js +17 -6
- package/lib/todo-guard.js.map +1 -1
- package/lib/tokens.d.ts +0 -2
- package/lib/tokens.d.ts.map +1 -1
- package/lib/tokens.js +1 -1
- package/lib/tokens.js.map +1 -1
- package/lib/tool-display.d.ts +1 -13
- package/lib/tool-display.d.ts.map +1 -1
- package/lib/tool-display.js +4 -4
- package/lib/tool-display.js.map +1 -1
- package/lib/transcript/message-content.d.ts.map +1 -1
- package/lib/transcript/message-content.js +31 -9
- package/lib/transcript/message-content.js.map +1 -1
- package/lib/transcript/tool-calls.d.ts +9 -7
- package/lib/transcript/tool-calls.d.ts.map +1 -1
- package/lib/transcript/tool-calls.js +27 -20
- package/lib/transcript/tool-calls.js.map +1 -1
- package/lib/transcript.d.ts +10 -18
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +40 -28
- package/lib/transcript.js.map +1 -1
- package/lib/ui/copy.d.ts +5 -4
- package/lib/ui/copy.d.ts.map +1 -1
- package/lib/ui/copy.js +9 -6
- package/lib/ui/copy.js.map +1 -1
- package/lib/ui/diff.d.ts +0 -30
- package/lib/ui/diff.d.ts.map +1 -1
- package/lib/ui/diff.js +16 -9
- package/lib/ui/diff.js.map +1 -1
- package/lib/ui/dock.d.ts +4 -10
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +10 -14
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/editor.d.ts +4 -3
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +2 -2
- package/lib/ui/editor.js.map +1 -1
- package/lib/ui/frame.d.ts +4 -12
- package/lib/ui/frame.d.ts.map +1 -1
- package/lib/ui/frame.js +6 -6
- package/lib/ui/frame.js.map +1 -1
- package/lib/ui/gap.d.ts +0 -4
- package/lib/ui/gap.d.ts.map +1 -1
- package/lib/ui/gap.js +4 -3
- package/lib/ui/gap.js.map +1 -1
- package/lib/ui/gate-input.d.ts +3 -3
- package/lib/ui/gate-input.d.ts.map +1 -1
- package/lib/ui/gate-input.js +9 -9
- package/lib/ui/gate-input.js.map +1 -1
- package/lib/ui/layout.d.ts +1 -8
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +5 -3
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/markdown.d.ts +3 -5
- package/lib/ui/markdown.d.ts.map +1 -1
- package/lib/ui/markdown.js +18 -7
- package/lib/ui/markdown.js.map +1 -1
- package/lib/ui/mermaid.d.ts +0 -11
- package/lib/ui/mermaid.d.ts.map +1 -1
- package/lib/ui/mermaid.js +32 -17
- package/lib/ui/mermaid.js.map +1 -1
- package/lib/ui/picker-card.d.ts +4 -8
- package/lib/ui/picker-card.d.ts.map +1 -1
- package/lib/ui/picker-card.js +17 -15
- package/lib/ui/picker-card.js.map +1 -1
- package/lib/ui/picker.d.ts +10 -17
- package/lib/ui/picker.d.ts.map +1 -1
- package/lib/ui/picker.js +14 -8
- package/lib/ui/picker.js.map +1 -1
- package/lib/ui/stash-picker.d.ts +1 -10
- package/lib/ui/stash-picker.d.ts.map +1 -1
- package/lib/ui/stash-picker.js +4 -4
- package/lib/ui/stash-picker.js.map +1 -1
- package/lib/ui/status.d.ts +2 -19
- package/lib/ui/status.d.ts.map +1 -1
- package/lib/ui/status.js +15 -17
- package/lib/ui/status.js.map +1 -1
- package/lib/ui/view/document.d.ts +4 -1
- package/lib/ui/view/document.d.ts.map +1 -1
- package/lib/ui/view/document.js +15 -6
- package/lib/ui/view/document.js.map +1 -1
- package/lib/ui/view/gate-card.d.ts +2 -0
- package/lib/ui/view/gate-card.d.ts.map +1 -1
- package/lib/ui/view/gate-card.js +12 -10
- package/lib/ui/view/gate-card.js.map +1 -1
- package/lib/ui/view/tool-card.d.ts +7 -4
- package/lib/ui/view/tool-card.d.ts.map +1 -1
- package/lib/ui/view/tool-card.js +12 -17
- package/lib/ui/view/tool-card.js.map +1 -1
- package/lib/ui/view/transcript-message.d.ts +7 -7
- package/lib/ui/view/transcript-message.d.ts.map +1 -1
- package/lib/ui/view/transcript-message.js +19 -10
- package/lib/ui/view/transcript-message.js.map +1 -1
- package/lib/ui/view.d.ts +8 -8
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +11 -13
- package/lib/ui/view.js.map +1 -1
- package/lib/work.d.ts +13 -10
- package/lib/work.d.ts.map +1 -1
- package/lib/work.js +30 -8
- package/lib/work.js.map +1 -1
- package/package.json +11 -7
- package/presets/cordis.patch.yml +1 -0
- package/presets/minimal.patch.yml +1 -0
- package/presets/ptc.patch.yml +1 -0
- package/presets/standard.patch.yml +1 -0
- package/themes/deepseek-blue.yaml +38 -51
- package/themes/marine-static.yaml +27 -35
- package/themes/pine-slope.yaml +13 -11
- package/themes/polar-drift.yaml +6 -0
- package/themes/violet-orbit.yaml +14 -18
- package/themes/wine-thicket.yaml +13 -13
package/lib/work.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"work.js","sourceRoot":"","sources":["../src/work.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"work.js","sourceRoot":"","sources":["../src/work.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sagmans/dsh-tui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Terminal (CLI TUI) surface for DeepSeek Harness: interactive dsh in a terminal, no browser required",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"deepseek-harness",
|
|
@@ -82,13 +82,18 @@
|
|
|
82
82
|
"scripts": {
|
|
83
83
|
"build": "tsc -p tsconfig.json",
|
|
84
84
|
"typecheck": "tsc -p tsconfig.json --noEmit && tsc -p tsconfig.test.json",
|
|
85
|
-
"test": "
|
|
86
|
-
"
|
|
85
|
+
"test": "pnpm test:golden && pnpm dogfood",
|
|
86
|
+
"test:golden": "vitest run",
|
|
87
|
+
"dogfood": "pnpm run build && node tools/dogfood.mjs",
|
|
88
|
+
"dogfood:paid": "pnpm run build && node tools/dogfood.mjs --paid",
|
|
89
|
+
"verify": "pnpm typecheck && pnpm test && node tools/pack-smoke.mjs && node tools/harness-matrix.mjs",
|
|
90
|
+
"check:unused": "tsc -p tsconfig.json --noEmit --noUnusedLocals --noUnusedParameters",
|
|
91
|
+
"check:deadcode": "knip --production --no-progress",
|
|
92
|
+
"check:local": "pnpm run check:unused && pnpm run check:deadcode",
|
|
87
93
|
"test:terminal": "pnpm run build && node tools/terminal-behavior.mjs",
|
|
88
|
-
"test:release": "python3 -m unittest discover -s tests/release -p 'test_*.py'",
|
|
89
94
|
"prepare": "npm run build",
|
|
90
95
|
"prepack": "npm run build",
|
|
91
|
-
"prepublishOnly": "npm run typecheck && npm test",
|
|
96
|
+
"prepublishOnly": "npm run typecheck && npm run test:golden",
|
|
92
97
|
"drive": "node tools/pty-drive.mjs"
|
|
93
98
|
},
|
|
94
99
|
"dependencies": {
|
|
@@ -153,7 +158,6 @@
|
|
|
153
158
|
"@deepseek-ai/dsh-agent-loop": "0.2.0-rc.2",
|
|
154
159
|
"@deepseek-ai/dsh-cmdline": "0.2.0-rc.2",
|
|
155
160
|
"@deepseek-ai/dsh-commands": "0.2.0-rc.2",
|
|
156
|
-
"@deepseek-ai/dsh-home-paths": "0.2.0-rc.2",
|
|
157
161
|
"@deepseek-ai/dsh-llm": "0.2.0-rc.2",
|
|
158
162
|
"@deepseek-ai/dsh-sandbox": "0.2.0-rc.2",
|
|
159
163
|
"@deepseek-ai/dsh-scope": "0.2.0-rc.2",
|
|
@@ -164,7 +168,7 @@
|
|
|
164
168
|
"@deepseek-ai/dsh-user-approval": "0.2.0-rc.2",
|
|
165
169
|
"@deepseek-ai/dsh-user-questions": "0.2.0-rc.2",
|
|
166
170
|
"@types/node": "^24.0.0",
|
|
167
|
-
"
|
|
171
|
+
"knip": "6.37.0",
|
|
168
172
|
"node-pty": "1.1.0",
|
|
169
173
|
"typescript": "^5.9.0",
|
|
170
174
|
"vitest": "^4.1.0"
|
package/presets/cordis.patch.yml
CHANGED
package/presets/ptc.patch.yml
CHANGED
|
@@ -1,49 +1,30 @@
|
|
|
1
|
-
# deepseek-blue — the
|
|
1
|
+
# deepseek-blue — the shipped blue-accent theme.
|
|
2
2
|
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
# The steps are the product's dark-theme ones, because a terminal is dark:
|
|
3
|
+
# Palette roles centralize foreground choices so one edit reaches related UI elements.
|
|
4
|
+
# This light-text palette supplies no terminal background; contrast depends on the
|
|
5
|
+
# reader's background and color capabilities, not on a guaranteed dark terminal.
|
|
7
6
|
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
# faint label-tertiary neutral-bluish-400 #adb2b8
|
|
11
|
-
# accent brand-text deepseek-400 #679efe
|
|
12
|
-
# arg — deepseek-300 #b7c8fe
|
|
13
|
-
# warn state-warn amber-500 #f59e0b
|
|
14
|
-
# added state-success green-500 #22c55e
|
|
15
|
-
# removed state-error red-400 #f25a5a
|
|
16
|
-
# user bubble neutral-bluish-850 #2c2c2e (a panel border, not a fill)
|
|
7
|
+
# Palette entries carry shared roles; literal container and diff-emphasis shades
|
|
8
|
+
# keep those treatments separate from foreground accents.
|
|
17
9
|
#
|
|
18
|
-
#
|
|
19
|
-
#
|
|
20
|
-
# is text — links, code, headings — and the product keeps its own step for the
|
|
21
|
-
# brand as text. That single line is where a reader moves the brand.
|
|
22
|
-
#
|
|
23
|
-
# Ten palette entries carry the whole theme: every element below names one rather
|
|
24
|
-
# than a shade of its own. Three elements name a different entry than the shipped
|
|
25
|
-
# table names, and say why where they do.
|
|
26
|
-
#
|
|
27
|
-
# The semantic shades stay the product's green, red, and amber. Something added
|
|
28
|
-
# is green and something removed is red on every surface a reader already uses,
|
|
29
|
-
# and a hue that moved with the theme would have to be learned again with each
|
|
30
|
-
# one.
|
|
10
|
+
# Green, red and amber separate additions, removals and pending state from the
|
|
11
|
+
# blue accent used for labels and navigation.
|
|
31
12
|
|
|
32
13
|
palette:
|
|
33
|
-
default: '#f9fafb'
|
|
34
|
-
muted: '#cfd3d6'
|
|
35
|
-
faint: '#adb2b8'
|
|
36
|
-
accent: '#679efe'
|
|
37
|
-
arg: '#b7c8fe'
|
|
38
|
-
warn: '#f59e0b'
|
|
39
|
-
added: '#22c55e'
|
|
40
|
-
removed: '#f25a5a'
|
|
41
|
-
user: '#2c2c2e'
|
|
42
|
-
assistant: '#f9fafb'
|
|
14
|
+
default: '#f9fafb'
|
|
15
|
+
muted: '#cfd3d6'
|
|
16
|
+
faint: '#adb2b8'
|
|
17
|
+
accent: '#679efe'
|
|
18
|
+
arg: '#b7c8fe'
|
|
19
|
+
warn: '#f59e0b'
|
|
20
|
+
added: '#22c55e'
|
|
21
|
+
removed: '#f25a5a'
|
|
22
|
+
user: '#2c2c2e'
|
|
23
|
+
assistant: '#f9fafb'
|
|
43
24
|
|
|
44
25
|
tokens:
|
|
45
|
-
# A row of the conversation
|
|
46
|
-
#
|
|
26
|
+
# A row of the conversation already has a frame; a band inside it
|
|
27
|
+
# treats one fact twice: it reads
|
|
47
28
|
# as a selected row rather than as what the reader typed.
|
|
48
29
|
transcript.user: { fg: default }
|
|
49
30
|
# The sent prompt keeps the brand shade without inheriting editor overrides.
|
|
@@ -54,11 +35,12 @@ tokens:
|
|
|
54
35
|
transcript.assistant.border: { fg: '#d6c29a' }
|
|
55
36
|
transcript.notice: { fg: muted }
|
|
56
37
|
transcript.marker: { fg: muted }
|
|
38
|
+
# Reasoning recedes beneath the reply; tool details below likewise defer to their call labels.
|
|
57
39
|
transcript.reasoning.summary: { fg: faint, italic: true }
|
|
58
40
|
transcript.reasoning.body: { fg: faint }
|
|
59
41
|
transcript.reasoning.hint: { fg: faint, italic: true }
|
|
60
42
|
# A tool card, drawn in layers: every card, then one kind of card.
|
|
61
|
-
# A call is not a warning:
|
|
43
|
+
# A call is not a warning: amber is reserved for state here, and this label is
|
|
62
44
|
# the loudest thing on the row, so it carries the brand instead.
|
|
63
45
|
tool.title: { fg: accent }
|
|
64
46
|
tool.glyph: { fg: accent } # follows the label it sits beside
|
|
@@ -73,8 +55,8 @@ tokens:
|
|
|
73
55
|
tool.hint: { fg: muted }
|
|
74
56
|
tool.failed.title: { fg: removed }
|
|
75
57
|
tool.failed.glyph: { fg: removed }
|
|
76
|
-
#
|
|
77
|
-
#
|
|
58
|
+
# Amber reserves attention for calls still pending rather than completed tool labels.
|
|
59
|
+
# Red distinguishes failure from pending calls; color alone cannot guarantee recognition.
|
|
78
60
|
tool.running.title: { fg: warn }
|
|
79
61
|
tool.running.elapsed: { fg: warn }
|
|
80
62
|
tool.elapsed.done: { fg: muted, italic: true }
|
|
@@ -99,7 +81,8 @@ tokens:
|
|
|
99
81
|
tool.web.source: { fg: muted }
|
|
100
82
|
tool.web.truncated: { fg: muted }
|
|
101
83
|
tool.generic.detail: { fg: muted }
|
|
102
|
-
#
|
|
84
|
+
# Accent marks navigable links, syntax and diagram structure without tinting whole bodies;
|
|
85
|
+
# empty body styles retain resolver defaults, while scaffolding stays secondary.
|
|
103
86
|
markdown.heading: { fg: accent, bold: true }
|
|
104
87
|
markdown.link: { fg: accent, underline: true }
|
|
105
88
|
markdown.linkUrl: { fg: muted }
|
|
@@ -116,8 +99,8 @@ tokens:
|
|
|
116
99
|
markdown.underline: { underline: true }
|
|
117
100
|
# A fenced diff: the scaffolding recedes, the rows carry the semantic shades,
|
|
118
101
|
# and the characters that changed sit on a band of the row's own colour. The
|
|
119
|
-
# band
|
|
120
|
-
#
|
|
102
|
+
# band stays separate from foreground roles to keep character emphasis independently adjustable;
|
|
103
|
+
# inherited foreground follows palette changes without changing the literal background.
|
|
121
104
|
markdown.diff.header: { fg: muted }
|
|
122
105
|
markdown.diff.hunk: { fg: muted }
|
|
123
106
|
markdown.diff.context: {}
|
|
@@ -131,7 +114,8 @@ tokens:
|
|
|
131
114
|
markdown.diagram.edgeLabel: { fg: muted }
|
|
132
115
|
markdown.diagram.title: { fg: accent, bold: true }
|
|
133
116
|
markdown.diagram.warning: { fg: warn }
|
|
134
|
-
#
|
|
117
|
+
# Weight keeps current choices distinct from ordinary rows without assigning a selection hue;
|
|
118
|
+
# the picker renderer supplies a cursor as a separate non-color cue.
|
|
135
119
|
picker.title: { bold: true }
|
|
136
120
|
picker.glyph: { bold: true }
|
|
137
121
|
picker.note: { bold: true }
|
|
@@ -143,7 +127,8 @@ tokens:
|
|
|
143
127
|
picker.hint: { fg: muted }
|
|
144
128
|
picker.cursor: {}
|
|
145
129
|
picker.border: { fg: muted }
|
|
146
|
-
#
|
|
130
|
+
# Weight emphasizes the pending decision and current option without requiring a color change.
|
|
131
|
+
# The renderer also supplies a cursor and numbered choices; muted detail is still decision context.
|
|
147
132
|
gate.title: { bold: true }
|
|
148
133
|
gate.glyphApproval: { bold: true }
|
|
149
134
|
gate.glyphQuestion: { bold: true }
|
|
@@ -152,7 +137,8 @@ tokens:
|
|
|
152
137
|
gate.optionCurrent: { bold: true }
|
|
153
138
|
gate.cursor: {}
|
|
154
139
|
gate.hint: { fg: muted }
|
|
155
|
-
#
|
|
140
|
+
# Distinct section hues identify each work list at its edge without coloring every row.
|
|
141
|
+
# Muted rows keep entries secondary to headings.
|
|
156
142
|
dock.goal: { bold: true }
|
|
157
143
|
dock.planMode: { bold: true }
|
|
158
144
|
dock.todos.border: { fg: accent }
|
|
@@ -168,7 +154,7 @@ tokens:
|
|
|
168
154
|
dock.jobs.heading: { bold: true }
|
|
169
155
|
dock.jobs.running: { fg: muted }
|
|
170
156
|
dock.jobs.overflow: { fg: muted }
|
|
171
|
-
#
|
|
157
|
+
# Activity text and glyphs distinguish working from ready while both remain secondary footer facts.
|
|
172
158
|
status.prefix: { fg: accent }
|
|
173
159
|
status.back: { fg: accent }
|
|
174
160
|
status.activity.working: { fg: muted }
|
|
@@ -184,9 +170,10 @@ tokens:
|
|
|
184
170
|
status.cwd: { fg: muted }
|
|
185
171
|
status.separator: { fg: muted }
|
|
186
172
|
# The prompt bar.
|
|
187
|
-
#
|
|
188
|
-
# is writing, which is where the product puts the brand on its send button.
|
|
173
|
+
# Accent frames the active input so it remains distinct from secondary footer facts.
|
|
189
174
|
editor.border: { fg: accent }
|
|
175
|
+
# Dim queued prompts and ghost suggestions distinguish pending work from text being edited.
|
|
176
|
+
# Completion weight supplements the accent prefix so its current label need not rely on hue.
|
|
190
177
|
editor.queued: { dim: true, italic: true }
|
|
191
178
|
editor.queued.more: { fg: muted }
|
|
192
179
|
editor.ghost: { dim: true }
|
|
@@ -1,41 +1,28 @@
|
|
|
1
1
|
# marine-static — the shipped table, anchored on the deep teal #041F21.
|
|
2
2
|
#
|
|
3
|
-
# The anchor
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
# reads as one family rather than as grey rows with a teal link on them.
|
|
3
|
+
# The deep teal anchor separates container treatment from the brighter text accent.
|
|
4
|
+
# Shared palette roles preserve the UI hierarchy when a reader adjusts the shades.
|
|
5
|
+
# No background is set here, so contrast depends on the terminal's own background;
|
|
6
|
+
# these foreground values do not guarantee contrast ratios or equal luminance across themes.
|
|
8
7
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
# warn 0.61, added 0.56, removed 0.25) — so this theme is dimmer in absolute terms
|
|
12
|
-
# and identical in structure to any other, and a reader who knows one knows this
|
|
13
|
-
# one. Only the level and the chroma are its own.
|
|
14
|
-
#
|
|
15
|
-
# This family stands in the same water as polar-drift's cyan, so the accent is held
|
|
16
|
-
# well back from the neon: the same hue with far less chroma at a lower level is
|
|
17
|
-
# what keeps the two from reading as one theme drawn twice. Green and amber sit far
|
|
18
|
-
# from the family and stay where every surface keeps them.
|
|
19
|
-
#
|
|
20
|
-
# Every element below names a palette entry rather than a shade of its own, so
|
|
21
|
-
# the anchor and the accent it lifts to are one line each to move. The three that
|
|
22
|
-
# name a literal say why there.
|
|
8
|
+
# Shared roles keep the anchor and text accent independently adjustable;
|
|
9
|
+
# literal container and diff-emphasis shades retain their separate treatments.
|
|
23
10
|
#
|
|
24
11
|
# This file is a reference and a layer, not a workspace: it ships inside the
|
|
25
12
|
# package and a new version replaces it. /theme export marine-static writes a full copy
|
|
26
13
|
# into your own themes directory to edit.
|
|
27
14
|
|
|
28
15
|
palette:
|
|
29
|
-
default: '#adbbbc'
|
|
30
|
-
muted: '#809a9b'
|
|
31
|
-
faint: '#638184'
|
|
32
|
-
accent: '#2e9ca4'
|
|
33
|
-
arg: '#3f686a'
|
|
34
|
-
warn: '#bf8a1f'
|
|
35
|
-
added: '#3b9f65'
|
|
36
|
-
removed: '#b03236'
|
|
37
|
-
user: '#041f21'
|
|
38
|
-
assistant: '#adbbbc'
|
|
16
|
+
default: '#adbbbc'
|
|
17
|
+
muted: '#809a9b'
|
|
18
|
+
faint: '#638184'
|
|
19
|
+
accent: '#2e9ca4'
|
|
20
|
+
arg: '#3f686a'
|
|
21
|
+
warn: '#bf8a1f'
|
|
22
|
+
added: '#3b9f65'
|
|
23
|
+
removed: '#b03236'
|
|
24
|
+
user: '#041f21'
|
|
25
|
+
assistant: '#adbbbc'
|
|
39
26
|
|
|
40
27
|
tokens:
|
|
41
28
|
# A row of the conversation. The reader's own turn keeps its frame and carries
|
|
@@ -51,6 +38,7 @@ tokens:
|
|
|
51
38
|
transcript.assistant.border: { fg: '#416265' }
|
|
52
39
|
transcript.notice: { fg: muted }
|
|
53
40
|
transcript.marker: { fg: muted }
|
|
41
|
+
# Reasoning recedes beneath the reply; tool details below likewise defer to their call labels.
|
|
54
42
|
transcript.reasoning.summary: { fg: faint, italic: true }
|
|
55
43
|
transcript.reasoning.body: { fg: faint }
|
|
56
44
|
transcript.reasoning.hint: { fg: faint, italic: true }
|
|
@@ -71,8 +59,8 @@ tokens:
|
|
|
71
59
|
tool.hint: { fg: muted }
|
|
72
60
|
tool.failed.title: { fg: removed }
|
|
73
61
|
tool.failed.glyph: { fg: removed }
|
|
74
|
-
#
|
|
75
|
-
#
|
|
62
|
+
# Amber reserves attention for calls still pending rather than completed tool labels.
|
|
63
|
+
# Red distinguishes failure from pending calls; color alone cannot guarantee recognition.
|
|
76
64
|
tool.running.title: { fg: warn }
|
|
77
65
|
tool.running.elapsed: { fg: warn }
|
|
78
66
|
tool.elapsed.done: { fg: muted, italic: true }
|
|
@@ -97,7 +85,8 @@ tokens:
|
|
|
97
85
|
tool.web.source: { fg: muted }
|
|
98
86
|
tool.web.truncated: { fg: muted }
|
|
99
87
|
tool.generic.detail: { fg: muted }
|
|
100
|
-
#
|
|
88
|
+
# Accent marks navigable links, syntax and diagram structure without tinting whole bodies;
|
|
89
|
+
# empty body styles retain resolver defaults, while scaffolding stays secondary.
|
|
101
90
|
markdown.heading: { fg: accent, bold: true }
|
|
102
91
|
markdown.link: { fg: accent, underline: true }
|
|
103
92
|
markdown.linkUrl: { fg: muted }
|
|
@@ -114,8 +103,8 @@ tokens:
|
|
|
114
103
|
markdown.underline: { underline: true }
|
|
115
104
|
# A fenced diff: the scaffolding recedes, the rows carry the semantic shades,
|
|
116
105
|
# and the characters that changed sit on a band of the row's own colour. The
|
|
117
|
-
# band
|
|
118
|
-
#
|
|
106
|
+
# band stays separate from foreground roles to keep character emphasis independently adjustable;
|
|
107
|
+
# inherited foreground follows palette changes without changing the literal background.
|
|
119
108
|
markdown.diff.header: { fg: muted }
|
|
120
109
|
markdown.diff.hunk: { fg: muted }
|
|
121
110
|
markdown.diff.context: {}
|
|
@@ -144,7 +133,8 @@ tokens:
|
|
|
144
133
|
picker.hint: { fg: muted }
|
|
145
134
|
picker.cursor: {}
|
|
146
135
|
picker.border: { fg: muted }
|
|
147
|
-
#
|
|
136
|
+
# Weight emphasizes the pending decision and current option without requiring a color change.
|
|
137
|
+
# The renderer also supplies a cursor and numbered choices; muted detail is still decision context.
|
|
148
138
|
gate.title: { bold: true }
|
|
149
139
|
gate.glyphApproval: { bold: true }
|
|
150
140
|
gate.glyphQuestion: { bold: true }
|
|
@@ -191,6 +181,8 @@ tokens:
|
|
|
191
181
|
# The one border in the surface that is not a divider: it holds what the reader
|
|
192
182
|
# is writing, which is where the brand belongs on a send affordance.
|
|
193
183
|
editor.border: { fg: accent }
|
|
184
|
+
# Dim queued prompts and ghost suggestions distinguish pending work from text being edited.
|
|
185
|
+
# Completion weight supplements the accent prefix so its current label need not rely on hue.
|
|
194
186
|
editor.queued: { dim: true, italic: true }
|
|
195
187
|
editor.queued.more: { fg: muted }
|
|
196
188
|
editor.ghost: { dim: true }
|
package/themes/pine-slope.yaml
CHANGED
|
@@ -1,17 +1,13 @@
|
|
|
1
1
|
# pine-slope — the shipped table, anchored on the pine #173802.
|
|
2
2
|
#
|
|
3
|
-
# The anchor
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
# family rather than as grey rows with a green link on them.
|
|
3
|
+
# The anchor gives selected rows a low-brightness fill rather than text colour.
|
|
4
|
+
# The accent lifts that hue for text; actual contrast depends on the terminal
|
|
5
|
+
# background. Every neutral uses the anchor's hue at low saturation so the
|
|
6
|
+
# surface reads as one family rather than grey rows with a green link on them.
|
|
8
7
|
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
# and identical in structure to any other, and a reader who knows one knows this
|
|
13
|
-
# one. Only the level and the chroma are its own, which is what keeps it soft
|
|
14
|
-
# beside a bright terminal instead of competing with it.
|
|
8
|
+
# This palette keeps arguments below reasoning and labels below body text so
|
|
9
|
+
# supporting detail recedes. These relative levels belong to this palette;
|
|
10
|
+
# other shipped themes use different luminance relationships.
|
|
15
11
|
#
|
|
16
12
|
# Green is the family here, and green is also what an added line means. The
|
|
17
13
|
# accent therefore stays a lime while the semantic green is pushed toward grass:
|
|
@@ -152,6 +148,8 @@ tokens:
|
|
|
152
148
|
gate.glyphQuestion: { bold: true }
|
|
153
149
|
gate.detail: { fg: muted }
|
|
154
150
|
gate.option: {}
|
|
151
|
+
# Bold and the cursor distinguish keyboard focus without a picker-style band;
|
|
152
|
+
# the checkbox remains the separate cue for an answer already selected.
|
|
155
153
|
gate.optionCurrent: { bold: true }
|
|
156
154
|
gate.cursor: {}
|
|
157
155
|
gate.hint: { fg: muted }
|
|
@@ -186,6 +184,7 @@ tokens:
|
|
|
186
184
|
status.permission: { fg: muted }
|
|
187
185
|
status.context: { fg: muted }
|
|
188
186
|
status.cache: { fg: muted }
|
|
187
|
+
# Parked drafts need a return-to-work cue, unlike passive footer metadata.
|
|
189
188
|
status.stash: { fg: accent }
|
|
190
189
|
status.cwd: { fg: muted }
|
|
191
190
|
status.separator: { fg: muted }
|
|
@@ -193,9 +192,12 @@ tokens:
|
|
|
193
192
|
# The one border in the surface that is not a divider: it holds what the reader
|
|
194
193
|
# is writing, which is where the brand belongs on a send affordance.
|
|
195
194
|
editor.border: { fg: accent }
|
|
195
|
+
# Submitted input recedes to distinguish waiting prompts from the editable draft.
|
|
196
196
|
editor.queued: { dim: true, italic: true }
|
|
197
197
|
editor.queued.more: { fg: muted }
|
|
198
|
+
# History suggestions recede because they are not draft text until accepted.
|
|
198
199
|
editor.ghost: { dim: true }
|
|
200
|
+
# Emphasize the completion to accept; descriptions and list state stay secondary.
|
|
199
201
|
editor.selectList.selectedPrefix: { fg: accent }
|
|
200
202
|
editor.selectList.selectedText: { bold: true }
|
|
201
203
|
editor.selectList.description: { fg: muted }
|
package/themes/polar-drift.yaml
CHANGED
|
@@ -143,6 +143,8 @@ tokens:
|
|
|
143
143
|
gate.glyphQuestion: { bold: true }
|
|
144
144
|
gate.detail: { fg: muted }
|
|
145
145
|
gate.option: {}
|
|
146
|
+
# Bold and the cursor distinguish keyboard focus without a picker-style band;
|
|
147
|
+
# the checkbox remains the separate cue for an answer already selected.
|
|
146
148
|
gate.optionCurrent: { bold: true }
|
|
147
149
|
gate.cursor: {}
|
|
148
150
|
gate.hint: { fg: muted }
|
|
@@ -177,6 +179,7 @@ tokens:
|
|
|
177
179
|
status.permission: { fg: muted }
|
|
178
180
|
status.context: { fg: muted }
|
|
179
181
|
status.cache: { fg: muted }
|
|
182
|
+
# Parked drafts need a return-to-work cue, unlike passive footer metadata.
|
|
180
183
|
status.stash: { fg: accent }
|
|
181
184
|
status.cwd: { fg: muted }
|
|
182
185
|
status.separator: { fg: muted }
|
|
@@ -184,9 +187,12 @@ tokens:
|
|
|
184
187
|
# The one border in the surface that is not a divider: it holds what the reader
|
|
185
188
|
# is writing, which is where the brand belongs on a send affordance.
|
|
186
189
|
editor.border: { fg: accent }
|
|
190
|
+
# Submitted input recedes to distinguish waiting prompts from the editable draft.
|
|
187
191
|
editor.queued: { dim: true, italic: true }
|
|
188
192
|
editor.queued.more: { fg: muted }
|
|
193
|
+
# History suggestions recede because they are not draft text until accepted.
|
|
189
194
|
editor.ghost: { dim: true }
|
|
195
|
+
# Emphasize the completion to accept; descriptions and list state stay secondary.
|
|
190
196
|
editor.selectList.selectedPrefix: { fg: accent }
|
|
191
197
|
editor.selectList.selectedText: { bold: true }
|
|
192
198
|
editor.selectList.description: { fg: muted }
|
package/themes/violet-orbit.yaml
CHANGED
|
@@ -1,19 +1,16 @@
|
|
|
1
|
-
# violet-orbit —
|
|
1
|
+
# violet-orbit — palette roles mapped to this surface.
|
|
2
2
|
#
|
|
3
|
-
#
|
|
4
|
-
#
|
|
5
|
-
#
|
|
6
|
-
# and every line below that came from pi names the pi key it came from — the
|
|
7
|
-
# only thing that makes a later change to either theme reviewable. One shade
|
|
8
|
-
# has no pi key to name, and says why it is here instead.
|
|
3
|
+
# Role annotations keep palette changes reviewable against the named pi roles;
|
|
4
|
+
# they do not verify upstream shade provenance. Local adaptations explain why
|
|
5
|
+
# arguments, assistant frames, and skill labels need different emphasis.
|
|
9
6
|
#
|
|
10
7
|
# This file is a reference and a layer, not a workspace: it ships inside the
|
|
11
8
|
# package and a new version replaces it. /theme export violet-orbit writes a
|
|
12
9
|
# full copy into your own themes directory to edit.
|
|
13
10
|
|
|
14
11
|
palette:
|
|
15
|
-
#
|
|
16
|
-
#
|
|
12
|
+
# Shared palette entries let related roles change together instead of drifting
|
|
13
|
+
# through independent literal colours. Inline labels name the corresponding roles.
|
|
17
14
|
default: '#e8e9ff' # text
|
|
18
15
|
muted: '#9aa0c8' # muted
|
|
19
16
|
faint: '#676d95' # dim
|
|
@@ -23,15 +20,9 @@ palette:
|
|
|
23
20
|
removed: '#ef4444' # error
|
|
24
21
|
user: '#f0f1ff' # userMessageText
|
|
25
22
|
assistant: '#e8e9ff' # text
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
# costs a hue, and the obvious one is already spent: a sage that differs from
|
|
30
|
-
# the label also differs from nothing on a diff card, where an argument and an
|
|
31
|
-
# added line read as two shades of one green. Separating by value costs no hue
|
|
32
|
-
# at all — the argument sits dark enough to recede under the label it belongs
|
|
33
|
-
# to, and the shades that mean something arrived go on being the only ones.
|
|
34
|
-
arg: '#4B5680' # no pi key: see the note below
|
|
23
|
+
# Darker arguments recede beneath tool labels without borrowing the green
|
|
24
|
+
# reserved for additions, keeping call detail distinct from change summaries.
|
|
25
|
+
arg: '#4B5680'
|
|
35
26
|
|
|
36
27
|
tokens:
|
|
37
28
|
# A reader's own turn. Pi fills the row, but this surface already frames it,
|
|
@@ -151,6 +142,8 @@ tokens:
|
|
|
151
142
|
dock.todos.border: { fg: accent } # accent
|
|
152
143
|
dock.todos.heading: { fg: '#b5b5ff', bold: true } # mdHeading
|
|
153
144
|
dock.todos.pending: { fg: muted } # unchanged from the shipped table
|
|
145
|
+
# Accent distinguishes active plan work from pending items; live delegations
|
|
146
|
+
# and jobs remain watch-list context rather than sharing that emphasis.
|
|
154
147
|
dock.todos.inProgress: { fg: accent }
|
|
155
148
|
dock.todos.overflow: { fg: muted } # unchanged from the shipped table
|
|
156
149
|
dock.subagents.border: { fg: faint } # dim
|
|
@@ -182,9 +175,12 @@ tokens:
|
|
|
182
175
|
status.separator: { fg: '#343652' } # border
|
|
183
176
|
# The input bar owns its border even when the sent prompt starts at the same shade.
|
|
184
177
|
editor.border: { fg: '#6f76c9' }
|
|
178
|
+
# Submitted input recedes to distinguish waiting prompts from the editable draft.
|
|
185
179
|
editor.queued: { fg: faint, italic: true }
|
|
186
180
|
editor.queued.more: { fg: faint }
|
|
181
|
+
# History suggestions recede because they are not draft text until accepted.
|
|
187
182
|
editor.ghost: { dim: true } # unchanged from the shipped table
|
|
183
|
+
# Emphasize the completion to accept; descriptions and list state stay secondary.
|
|
188
184
|
editor.selectList.selectedPrefix: { fg: accent } # unchanged from the shipped table
|
|
189
185
|
editor.selectList.selectedText: { fg: '#a7a7ff', bg: '#2e315c', bold: true } # selectedBg
|
|
190
186
|
editor.selectList.description: { fg: faint }
|
package/themes/wine-thicket.yaml
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
1
|
# wine-thicket — the shipped table, anchored on the plum #240413.
|
|
2
2
|
#
|
|
3
|
-
# The anchor
|
|
4
|
-
#
|
|
5
|
-
# the
|
|
6
|
-
#
|
|
7
|
-
# chroma is all this family offers, and the quiet has to come from the neutrals.
|
|
8
|
-
# The whole table is drawn on that one hue, the accent included. Every
|
|
9
|
-
# neutral is the anchor's hue at a low saturation, so the surface reads as one
|
|
10
|
-
# family rather than as grey rows with a pink link on them.
|
|
3
|
+
# The anchor gives picker selection a low-brightness fill rather than text colour.
|
|
4
|
+
# Its contrast depends on the terminal background; the brighter accent carries
|
|
5
|
+
# text in the same hue. Every neutral uses that hue at low saturation so the
|
|
6
|
+
# surface reads as one family rather than grey rows with a pink link on them.
|
|
11
7
|
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
# and identical in structure to any other, and a reader who knows one knows this
|
|
16
|
-
# one. Only the level and the chroma are its own.
|
|
8
|
+
# This palette keeps arguments below reasoning and labels below body text so
|
|
9
|
+
# supporting detail recedes. These relative levels belong to this palette;
|
|
10
|
+
# other shipped themes use different luminance relationships.
|
|
17
11
|
#
|
|
18
12
|
# A rose accent sits 25 degrees from the red the surface already means by removed.
|
|
19
13
|
# The two are told apart by weight instead of by hue: the accent is nearly twice
|
|
@@ -154,6 +148,8 @@ tokens:
|
|
|
154
148
|
gate.glyphQuestion: { bold: true }
|
|
155
149
|
gate.detail: { fg: muted }
|
|
156
150
|
gate.option: {}
|
|
151
|
+
# Bold and the cursor distinguish keyboard focus without a picker-style band;
|
|
152
|
+
# the checkbox remains the separate cue for an answer already selected.
|
|
157
153
|
gate.optionCurrent: { bold: true }
|
|
158
154
|
gate.cursor: {}
|
|
159
155
|
gate.hint: { fg: muted }
|
|
@@ -188,6 +184,7 @@ tokens:
|
|
|
188
184
|
status.permission: { fg: muted }
|
|
189
185
|
status.context: { fg: muted }
|
|
190
186
|
status.cache: { fg: muted }
|
|
187
|
+
# Parked drafts need a return-to-work cue, unlike passive footer metadata.
|
|
191
188
|
status.stash: { fg: accent }
|
|
192
189
|
status.cwd: { fg: muted }
|
|
193
190
|
status.separator: { fg: muted }
|
|
@@ -195,9 +192,12 @@ tokens:
|
|
|
195
192
|
# The one border in the surface that is not a divider: it holds what the reader
|
|
196
193
|
# is writing, which is where the brand belongs on a send affordance.
|
|
197
194
|
editor.border: { fg: accent }
|
|
195
|
+
# Submitted input recedes to distinguish waiting prompts from the editable draft.
|
|
198
196
|
editor.queued: { dim: true, italic: true }
|
|
199
197
|
editor.queued.more: { fg: muted }
|
|
198
|
+
# History suggestions recede because they are not draft text until accepted.
|
|
200
199
|
editor.ghost: { dim: true }
|
|
200
|
+
# Emphasize the completion to accept; descriptions and list state stay secondary.
|
|
201
201
|
editor.selectList.selectedPrefix: { fg: accent }
|
|
202
202
|
editor.selectList.selectedText: { bold: true }
|
|
203
203
|
editor.selectList.description: { fg: muted }
|