@sagmans/dsh-tui 0.12.1 → 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 +25 -18
- 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 +8 -6
- 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 +6 -3
- package/lib/input/file-search.d.ts.map +1 -1
- package/lib/input/file-search.js +29 -10
- 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 +6 -0
- package/lib/input.d.ts.map +1 -1
- package/lib/input.js +34 -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 +4 -0
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +81 -46
- 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 +19 -18
- 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 +11 -2
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +166 -22
- 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 +32 -23
- 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 +15 -18
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +70 -41
- 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 +12 -10
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +27 -14
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/editor.d.ts +5 -4
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +17 -9
- 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 +10 -11
- 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 +11 -17
- package/lib/ui/picker.d.ts.map +1 -1
- package/lib/ui/picker.js +36 -17
- package/lib/ui/picker.js.map +1 -1
- package/lib/ui/queue.d.ts.map +1 -1
- package/lib/ui/queue.js +11 -1
- package/lib/ui/queue.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 +33 -0
- package/lib/ui/view/document.d.ts.map +1 -0
- package/lib/ui/view/document.js +96 -0
- package/lib/ui/view/document.js.map +1 -0
- 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 +53 -84
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +79 -158
- 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 +12 -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/ui/mermaid.js
CHANGED
|
@@ -5,16 +5,13 @@ const MERMAID_FENCE_LANG = 'mermaid';
|
|
|
5
5
|
/** The cheap guard before lexing; case-insensitive because a fence may shout. */
|
|
6
6
|
const MERMAID_MENTION = /mermaid/iu;
|
|
7
7
|
/** Drawings kept before the oldest is laid out again; a streaming reply redraws per delta. */
|
|
8
|
-
|
|
8
|
+
const MERMAID_CACHE_LIMIT = 32;
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
* for it again on every delta, so past this the frame costs more than the
|
|
14
|
-
* drawing is worth and the source stays. Well above what the renderer's own
|
|
15
|
-
* node cap can fill, so no drawing a reader actually sees is kept out.
|
|
10
|
+
* Bound source size before synchronous layout runs inside a frame.
|
|
11
|
+
* Streaming replies revisit fences on each delta; oversized fences stay readable
|
|
12
|
+
* as source. This limits layout input, not elapsed time or all renderable diagrams.
|
|
16
13
|
*/
|
|
17
|
-
|
|
14
|
+
const MERMAID_MAX_SOURCE = 32 * 1024;
|
|
18
15
|
/** What ends a row without starting a paragraph; two trailing spaces are CommonMark's hard break. */
|
|
19
16
|
const HARD_BREAK = ' \n';
|
|
20
17
|
/** An empty code span has no height, so a blank row stands on a non-breaking space. */
|
|
@@ -72,6 +69,7 @@ function drawnWidth(art) {
|
|
|
72
69
|
}
|
|
73
70
|
return widest;
|
|
74
71
|
}
|
|
72
|
+
/** Keep the loss notice compact beside the retained source; the count signals that the first warning is not exhaustive. */
|
|
75
73
|
function warningText(art) {
|
|
76
74
|
const first = art.warnings[0] ?? '';
|
|
77
75
|
const rest = art.warnings.length - 1;
|
|
@@ -86,14 +84,18 @@ function warningText(art) {
|
|
|
86
84
|
*/
|
|
87
85
|
function artCache() {
|
|
88
86
|
const drawn = new Map();
|
|
89
|
-
return source => {
|
|
87
|
+
return (source, retained) => {
|
|
90
88
|
if (drawn.has(source))
|
|
91
89
|
return drawn.get(source) ?? null;
|
|
92
90
|
const art = render(source);
|
|
93
91
|
if (drawn.size >= MERMAID_CACHE_LIMIT) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
// Growing a live fence replaces its obsolete prefix, not completed diagrams still visible beside it.
|
|
93
|
+
for (const oldest of drawn.keys()) {
|
|
94
|
+
if (retained.has(oldest))
|
|
95
|
+
continue;
|
|
96
|
+
drawn.delete(oldest);
|
|
97
|
+
break;
|
|
98
|
+
}
|
|
97
99
|
}
|
|
98
100
|
drawn.set(source, art);
|
|
99
101
|
return art;
|
|
@@ -131,10 +133,10 @@ export function createMermaidTransform(options) {
|
|
|
131
133
|
return `${lead}${body}${after === '' ? '\n' : '\n\n'}`;
|
|
132
134
|
}
|
|
133
135
|
/** What one fence becomes: art, or its source with the reason it stayed source. */
|
|
134
|
-
function fenceBlock(token, before, after, availableWidth, live) {
|
|
136
|
+
function fenceBlock(token, before, after, availableWidth, live, retained) {
|
|
135
137
|
if (token.text.length > MERMAID_MAX_SOURCE)
|
|
136
138
|
return token.raw;
|
|
137
|
-
const art = draw(token.text);
|
|
139
|
+
const art = draw(token.text, retained);
|
|
138
140
|
// A settled drawing that lost part of its source is worth reporting whether
|
|
139
141
|
// or not it would have fit, because the reader is looking at the source.
|
|
140
142
|
if (!live && art !== null && art.warnings.length > 0) {
|
|
@@ -158,16 +160,29 @@ export function createMermaidTransform(options) {
|
|
|
158
160
|
// Lexing is the cost this guard avoids: no fence can be present without the word.
|
|
159
161
|
if (!MERMAID_MENTION.test(markdown))
|
|
160
162
|
return markdown;
|
|
163
|
+
const tokens = parser.lexer(markdown);
|
|
164
|
+
const retained = new Set();
|
|
165
|
+
let retainedFences = 0;
|
|
166
|
+
// Pin only this reply's bounded window; unrelated replies still age out in insertion order.
|
|
167
|
+
for (const token of tokens) {
|
|
168
|
+
if (!isMermaidFence(token))
|
|
169
|
+
continue;
|
|
170
|
+
if (retainedFences++ >= MERMAID_CACHE_LIMIT)
|
|
171
|
+
break;
|
|
172
|
+
retained.add(token.text);
|
|
173
|
+
}
|
|
161
174
|
let out = '';
|
|
162
175
|
let cursor = 0;
|
|
163
|
-
|
|
176
|
+
let fences = 0;
|
|
177
|
+
for (const token of tokens) {
|
|
164
178
|
const at = markdown.indexOf(token.raw, cursor);
|
|
165
179
|
// A lexer that rewrote its own input cannot be spliced back into it, and
|
|
166
180
|
// the message is worth more than the drawing: it stays as written.
|
|
167
181
|
if (at < 0)
|
|
168
182
|
return markdown;
|
|
169
|
-
|
|
170
|
-
|
|
183
|
+
// A reply must not evict its own drawing window on every streaming delta; overflow stays readable source.
|
|
184
|
+
const body = isMermaidFence(token) && fences++ < MERMAID_CACHE_LIMIT
|
|
185
|
+
? fenceBlock(token, out, markdown.slice(at + token.raw.length), availableWidth, live, retained)
|
|
171
186
|
: token.raw;
|
|
172
187
|
out += markdown.slice(cursor, at) + body;
|
|
173
188
|
cursor = at + token.raw.length;
|
package/lib/ui/mermaid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/ui/mermaid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAc,MAAM,wBAAwB,CAAA;AACzE,OAAO,EAAE,MAAM,EAA8B,MAAM,gBAAgB,CAAA;AAKnE,sDAAsD;AACtD,MAAM,kBAAkB,GAAG,SAAS,CAAA;AAEpC,iFAAiF;AACjF,MAAM,eAAe,GAAG,WAAW,CAAA;AAEnC,8FAA8F;AAC9F,MAAM,
|
|
1
|
+
{"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/ui/mermaid.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/picker-card.d.ts
CHANGED
|
@@ -12,19 +12,15 @@ import type { PickerCard } from './picker.ts';
|
|
|
12
12
|
export declare function pickerCardLines(picker: PickerCard, width: number, theme: TuiTheme): string[];
|
|
13
13
|
/** The same share as the library resolves a percentage SizeValue, so the option and the row budget cannot disagree. */
|
|
14
14
|
export declare const POPUP_MAX_HEIGHT: SizeValue;
|
|
15
|
-
/**
|
|
15
|
+
/** Request a readable width without stretching long rows; the overlay, not this minimum, enforces available columns and margins. */
|
|
16
16
|
export declare function popupWidth(columns: number): number;
|
|
17
|
-
/** The rows the box may occupy, resolved the way the library resolves a percentage. */
|
|
18
|
-
export declare function popupHeight(rows: number): number;
|
|
19
|
-
/** How many list rows fit in that height, with the frame's own rows and the scroll counts reserved. */
|
|
20
|
-
export declare function popupRowBudget(rows: number): number;
|
|
21
17
|
/**
|
|
22
18
|
* A list drawn as a box over the surface rather than at the end of it.
|
|
23
19
|
*
|
|
24
20
|
* The box is only a frame: the rows, the filter, and the counts are the card's,
|
|
25
|
-
* which the list builds to
|
|
26
|
-
*
|
|
27
|
-
* the
|
|
21
|
+
* which the list builds to the requested row budget. Shrink the list window to
|
|
22
|
+
* leave room for the frame and exit hint when possible. At the minimum budget,
|
|
23
|
+
* the card can still overflow, and the overlay's height clamp can cut off the hint.
|
|
28
24
|
*/
|
|
29
25
|
export declare class PickerPopup implements Component {
|
|
30
26
|
private readonly card;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker-card.d.ts","sourceRoot":"","sources":["../../src/ui/picker-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAkC,MAAM,wBAAwB,CAAA;AAEvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAoB7C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"picker-card.d.ts","sourceRoot":"","sources":["../../src/ui/picker-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAkC,MAAM,wBAAwB,CAAA;AAEvG,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAE3C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAoB7C;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,EAAE,CAoC5F;AAuBD,uHAAuH;AACvH,eAAO,MAAM,gBAAgB,EAAE,SAAgC,CAAA;AAE/D,oIAAoI;AACpI,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAElD;AAYD;;;;;;;GAOG;AACH,qBAAa,WAAY,YAAW,SAAS;IAEzC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAHL,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,GAAG,SAAS;IAC/D,4FAA4F;IAC3E,IAAI,EAAE,MAAM,MAAM,EAClB,KAAK,EAAE,QAAQ;IAGlC,UAAU,IAAI,IAAI;IAIlB,8EAA8E;IAC9E,OAAO,CAAC,GAAG;IAWX,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAchC"}
|
package/lib/ui/picker-card.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { visibleWidth, wrapTextWithAnsi } from '@earendil-works/pi-tui';
|
|
2
2
|
import { canFrame, frameLines, FRAME_COLUMNS } from "./frame.js";
|
|
3
|
-
/**
|
|
3
|
+
/** Inset list content beneath the heading; a deeper gutter distinguishes notes and filters from cursor-bearing choices. */
|
|
4
4
|
const ROW_INDENT = ' ';
|
|
5
5
|
const TEXT_INDENT = ' ';
|
|
6
6
|
/** The mark a cursor falls back to when the reader has not set one, so no literal lives in a template. */
|
|
7
7
|
const CURSOR_MARK = '❯';
|
|
8
8
|
/** An unselected row has no cursor, and a blank column is not a value to configure. */
|
|
9
9
|
const NO_CURSOR = ' ';
|
|
10
|
-
/**
|
|
10
|
+
/** Align continuation lines beneath the prefixed text so wrapped notes and exit instructions remain readable. */
|
|
11
11
|
function pushWrapped(lines, text, width, prefix, token, theme) {
|
|
12
12
|
const lead = visibleWidth(prefix);
|
|
13
13
|
const indent = ' '.repeat(lead);
|
|
@@ -40,6 +40,8 @@ export function pickerCardLines(picker, width, theme) {
|
|
|
40
40
|
if (picker.above > 0 && theme.visible('picker.scrollNewer')) {
|
|
41
41
|
lines.push(theme.style('picker.scrollNewer', theme.cut(`${ROW_INDENT}… ${picker.above} newer`, width, '')));
|
|
42
42
|
}
|
|
43
|
+
// Each item spends at most one visual row, matching the logical-item window in Picker.card.
|
|
44
|
+
// Honor the reader's hidden-token choice even for the current row instead of drawing a fallback selection marker.
|
|
43
45
|
for (const row of picker.rows) {
|
|
44
46
|
const token = row.current ? 'picker.rowCurrent' : 'picker.row';
|
|
45
47
|
if (!theme.visible(token))
|
|
@@ -54,8 +56,8 @@ export function pickerCardLines(picker, width, theme) {
|
|
|
54
56
|
lines.push(theme.style('picker.scrollOlder', theme.cut(`${ROW_INDENT}… ${picker.below} older`, width, '')));
|
|
55
57
|
}
|
|
56
58
|
if (theme.visible('picker.hint')) {
|
|
57
|
-
//
|
|
58
|
-
//
|
|
59
|
+
// Wrap exit guidance to avoid truncating away the keys on narrow cards;
|
|
60
|
+
// wrapping cannot preserve it when the overlay clips excess height.
|
|
59
61
|
pushWrapped(lines, picker.hint, width, ROW_INDENT, 'picker.hint', theme);
|
|
60
62
|
}
|
|
61
63
|
return lines;
|
|
@@ -68,9 +70,9 @@ export function pickerCardLines(picker, width, theme) {
|
|
|
68
70
|
* chosen, and the editor stays where the reader left it.
|
|
69
71
|
*/
|
|
70
72
|
const HEIGHT_PERCENT = 80;
|
|
71
|
-
/**
|
|
73
|
+
/** Leave edge space in the requested width; the overlay also applies its own margin clamp. */
|
|
72
74
|
const MARGIN = 1;
|
|
73
|
-
/**
|
|
75
|
+
/** Prefer room for action labels and keys; the overlay may clamp this request on narrower terminals. */
|
|
74
76
|
const MIN_WIDTH = 40;
|
|
75
77
|
/** Past this the rows are mostly empty, and a list reads better narrow than stretched. */
|
|
76
78
|
const MAX_WIDTH = 100;
|
|
@@ -82,25 +84,25 @@ const MARKER_ROWS = 2;
|
|
|
82
84
|
const MIN_ROWS = 3;
|
|
83
85
|
/** The same share as the library resolves a percentage SizeValue, so the option and the row budget cannot disagree. */
|
|
84
86
|
export const POPUP_MAX_HEIGHT = `${HEIGHT_PERCENT}%`;
|
|
85
|
-
/**
|
|
87
|
+
/** Request a readable width without stretching long rows; the overlay, not this minimum, enforces available columns and margins. */
|
|
86
88
|
export function popupWidth(columns) {
|
|
87
89
|
return Math.min(MAX_WIDTH, Math.max(MIN_WIDTH, columns - MARGIN * 2));
|
|
88
90
|
}
|
|
89
91
|
/** The rows the box may occupy, resolved the way the library resolves a percentage. */
|
|
90
|
-
|
|
92
|
+
function popupHeight(rows) {
|
|
91
93
|
return Math.floor((rows * HEIGHT_PERCENT) / 100);
|
|
92
94
|
}
|
|
93
95
|
/** How many list rows fit in that height, with the frame's own rows and the scroll counts reserved. */
|
|
94
|
-
|
|
96
|
+
function popupRowBudget(rows) {
|
|
95
97
|
return Math.max(MIN_ROWS, popupHeight(rows) - CHROME_ROWS - MARKER_ROWS);
|
|
96
98
|
}
|
|
97
99
|
/**
|
|
98
100
|
* A list drawn as a box over the surface rather than at the end of it.
|
|
99
101
|
*
|
|
100
102
|
* The box is only a frame: the rows, the filter, and the counts are the card's,
|
|
101
|
-
* which the list builds to
|
|
102
|
-
*
|
|
103
|
-
* the
|
|
103
|
+
* which the list builds to the requested row budget. Shrink the list window to
|
|
104
|
+
* leave room for the frame and exit hint when possible. At the minimum budget,
|
|
105
|
+
* the card can still overflow, and the overlay's height clamp can cut off the hint.
|
|
104
106
|
*/
|
|
105
107
|
export class PickerPopup {
|
|
106
108
|
card;
|
|
@@ -136,9 +138,9 @@ export class PickerPopup {
|
|
|
136
138
|
let budget = popupRowBudget(rows);
|
|
137
139
|
for (;;) {
|
|
138
140
|
const lines = this.box(this.card(budget), width);
|
|
139
|
-
//
|
|
140
|
-
//
|
|
141
|
-
//
|
|
141
|
+
// Notes and wrapped hints can exceed the reserved chrome, so reduce list rows
|
|
142
|
+
// before the overlay clips the card. MIN_ROWS bounds this reduction, not the
|
|
143
|
+
// rendered height; overflow at that floor remains subject to the overlay clamp.
|
|
142
144
|
if (lines.length <= room || budget <= MIN_ROWS)
|
|
143
145
|
return lines;
|
|
144
146
|
budget = Math.max(MIN_ROWS, budget - (lines.length - room));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker-card.js","sourceRoot":"","sources":["../../src/ui/picker-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAGvG,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAGhE,
|
|
1
|
+
{"version":3,"file":"picker-card.js","sourceRoot":"","sources":["../../src/ui/picker-card.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/picker.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Keymap } from '../input/actions.ts';
|
|
|
2
2
|
import type { StoredSession } from '../agent/history.ts';
|
|
3
3
|
import { type ModelChoice, type ModelRoute } from '../agent/model.ts';
|
|
4
4
|
import { type PresetSummary } from '../agent/presets.ts';
|
|
5
|
-
/**
|
|
5
|
+
/** Presentation stays independent of domain ids; current marks the cursor, not the active domain choice. */
|
|
6
6
|
export interface PickerRow {
|
|
7
7
|
readonly label: string;
|
|
8
8
|
readonly description: string | undefined;
|
|
@@ -21,21 +21,13 @@ export interface PickerCard {
|
|
|
21
21
|
/** Rows below the window. */
|
|
22
22
|
readonly below: number;
|
|
23
23
|
}
|
|
24
|
-
/**
|
|
24
|
+
/** Return intent so the modal owner can validate picks and settle cancellation before domain changes. */
|
|
25
25
|
export type PickerAction = {
|
|
26
26
|
readonly kind: 'pick';
|
|
27
27
|
readonly id: string;
|
|
28
28
|
} | {
|
|
29
29
|
readonly kind: 'cancel';
|
|
30
30
|
};
|
|
31
|
-
/**
|
|
32
|
-
* Rows the picker shows at once.
|
|
33
|
-
*
|
|
34
|
-
* The card is drawn at the end of a viewport that follows the transcript, so a
|
|
35
|
-
* list taller than the screen would push its own cursor out of sight. The
|
|
36
|
-
* window stays around the cursor instead, and the counts say what is hidden.
|
|
37
|
-
*/
|
|
38
|
-
export declare const PICKER_WINDOW = 12;
|
|
39
31
|
/**
|
|
40
32
|
* The hint lines a list uses when it is empty and when it holds rows.
|
|
41
33
|
*
|
|
@@ -60,8 +52,8 @@ export declare function describeAge(createdAt: number, now: number): string;
|
|
|
60
52
|
* A filtered list the reader moves through by key.
|
|
61
53
|
*
|
|
62
54
|
* The list is the caller's and is re-read on every key and paint, so rows whose
|
|
63
|
-
* text arrives late — a session title read from its log
|
|
64
|
-
*
|
|
55
|
+
* text arrives late — such as a session title read from its log — can appear
|
|
56
|
+
* without rebuilding the picker when the caller refreshes it. Windowing,
|
|
65
57
|
* filtering, and the keys are the same whatever the rows mean, which is why
|
|
66
58
|
* they live here once instead of in every list a terminal has to choose from.
|
|
67
59
|
*/
|
|
@@ -88,6 +80,7 @@ export declare class ListPicker<Row> {
|
|
|
88
80
|
private cursor;
|
|
89
81
|
private filter;
|
|
90
82
|
private note;
|
|
83
|
+
private ranking;
|
|
91
84
|
constructor(source: () => readonly Row[], heading: () => string,
|
|
92
85
|
/** The value a pick settles on. */
|
|
93
86
|
idOf: (row: Row) => string, describe: (row: Row) => PickerRow,
|
|
@@ -148,13 +141,13 @@ export declare class ListPicker<Row> {
|
|
|
148
141
|
* first paint would make opening the picker as slow as the slowest session.
|
|
149
142
|
*/
|
|
150
143
|
export declare class SessionPicker extends ListPicker<StoredSession> {
|
|
151
|
-
constructor(sessions: readonly StoredSession[], titles: () => ReadonlyMap<string, string>,
|
|
144
|
+
constructor(sessions: readonly StoredSession[], titles: () => ReadonlyMap<string, string>, keys: () => Keymap);
|
|
152
145
|
}
|
|
153
146
|
/**
|
|
154
147
|
* One agent preset chosen by key press.
|
|
155
148
|
*
|
|
156
|
-
*
|
|
157
|
-
*
|
|
149
|
+
* Caller-owned rows allow refreshed presets to appear without rebuilding the
|
|
150
|
+
* picker; the surface currently supplies a snapshot taken when it opens.
|
|
158
151
|
*/
|
|
159
152
|
export declare class PresetPicker extends ListPicker<PresetSummary> {
|
|
160
153
|
constructor(presets: () => readonly PresetSummary[], currentId: () => string | undefined, keys: () => Keymap);
|
|
@@ -174,10 +167,11 @@ export declare class ModelPicker extends ListPicker<ModelRoute> {
|
|
|
174
167
|
* The pick id that clears an explicit effort.
|
|
175
168
|
*
|
|
176
169
|
* An absent effort is a real choice — it restores the model's own default — so
|
|
177
|
-
* it needs an id
|
|
170
|
+
* it needs an id. Advertised effort ids must be nonempty to avoid colliding
|
|
171
|
+
* with this clearing choice; the catalog conversion does not enforce that.
|
|
178
172
|
*/
|
|
179
173
|
export declare const PROVIDER_DEFAULT_EFFORT_ID = "";
|
|
180
|
-
/**
|
|
174
|
+
/** Keep the active effort in row text because the card's current marker belongs to the navigation cursor. */
|
|
181
175
|
export interface EffortChoice {
|
|
182
176
|
readonly id: string;
|
|
183
177
|
readonly name: string;
|
package/lib/ui/picker.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../src/ui/picker.ts"],"names":[],"mappings":"AACA,OAAO,EAAqC,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAGpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAqC,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACxG,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExE,
|
|
1
|
+
{"version":3,"file":"picker.d.ts","sourceRoot":"","sources":["../../src/ui/picker.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/picker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { matchesKey } from '@earendil-works/pi-tui';
|
|
2
2
|
import { hintKeys, matchesAction, moveHint } from "../input/actions.js";
|
|
3
|
-
import {
|
|
3
|
+
import { deleteLastGrapheme, releasedKey, typedText } from "../input.js";
|
|
4
4
|
import { matchScore } from "../input/match.js";
|
|
5
5
|
import { describeModelRoute, modelRouteKey } from "../agent/model.js";
|
|
6
6
|
import { describePreset } from "../agent/presets.js";
|
|
@@ -11,7 +11,7 @@ import { describePreset } from "../agent/presets.js";
|
|
|
11
11
|
* list taller than the screen would push its own cursor out of sight. The
|
|
12
12
|
* window stays around the cursor instead, and the counts say what is hidden.
|
|
13
13
|
*/
|
|
14
|
-
|
|
14
|
+
const PICKER_WINDOW = 12;
|
|
15
15
|
/** Runs of whitespace, including the newlines a seeded draft or a paste can carry. */
|
|
16
16
|
const WHITESPACE = /\s+/gu;
|
|
17
17
|
/**
|
|
@@ -29,6 +29,7 @@ const HOUR_MS = 60 * MINUTE_MS;
|
|
|
29
29
|
const DAY_MS = 24 * HOUR_MS;
|
|
30
30
|
/** Human age of a session, so a list of ids becomes a list of moments. */
|
|
31
31
|
export function describeAge(createdAt, now) {
|
|
32
|
+
// Keep age labels nonnegative when a stored timestamp is later than the caller's clock.
|
|
32
33
|
const elapsed = Math.max(0, now - createdAt);
|
|
33
34
|
if (elapsed < MINUTE_MS)
|
|
34
35
|
return 'just now';
|
|
@@ -42,8 +43,8 @@ export function describeAge(createdAt, now) {
|
|
|
42
43
|
* A filtered list the reader moves through by key.
|
|
43
44
|
*
|
|
44
45
|
* The list is the caller's and is re-read on every key and paint, so rows whose
|
|
45
|
-
* text arrives late — a session title read from its log
|
|
46
|
-
*
|
|
46
|
+
* text arrives late — such as a session title read from its log — can appear
|
|
47
|
+
* without rebuilding the picker when the caller refreshes it. Windowing,
|
|
47
48
|
* filtering, and the keys are the same whatever the rows mean, which is why
|
|
48
49
|
* they live here once instead of in every list a terminal has to choose from.
|
|
49
50
|
*/
|
|
@@ -59,6 +60,7 @@ export class ListPicker {
|
|
|
59
60
|
cursor = 0;
|
|
60
61
|
filter = '';
|
|
61
62
|
note;
|
|
63
|
+
ranking;
|
|
62
64
|
constructor(source, heading,
|
|
63
65
|
/** The value a pick settles on. */
|
|
64
66
|
idOf, describe,
|
|
@@ -90,15 +92,25 @@ export class ListPicker {
|
|
|
90
92
|
/** Rows matching the typed filter, best match first. */
|
|
91
93
|
visible() {
|
|
92
94
|
const needle = this.filter.trim();
|
|
95
|
+
const rows = this.source();
|
|
93
96
|
if (needle === '')
|
|
94
|
-
return
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
return rows;
|
|
98
|
+
const haystacks = rows.map(row => this.haystackOf(row));
|
|
99
|
+
const retained = this.ranking;
|
|
100
|
+
// Late titles can change inside the same source array; only matching text invalidates ranks.
|
|
101
|
+
if (retained !== undefined && retained.needle === needle
|
|
102
|
+
&& retained.haystacks.length === haystacks.length
|
|
103
|
+
&& retained.haystacks.every((text, index) => text === haystacks[index])) {
|
|
104
|
+
return retained.indices.map(index => rows[index]);
|
|
105
|
+
}
|
|
106
|
+
// Ties preserve source order, and indices read fresh rows even when objects are replaced.
|
|
107
|
+
const indices = haystacks
|
|
108
|
+
.map((text, index) => ({ index, score: matchScore(needle, text) }))
|
|
99
109
|
.filter((entry) => entry.score !== undefined)
|
|
100
110
|
.sort((left, right) => right.score - left.score)
|
|
101
|
-
.map(entry => entry.
|
|
111
|
+
.map(entry => entry.index);
|
|
112
|
+
this.ranking = { needle, haystacks, indices };
|
|
113
|
+
return indices.map(index => rows[index]);
|
|
102
114
|
}
|
|
103
115
|
/**
|
|
104
116
|
* Say why the row under the cursor cannot be taken.
|
|
@@ -112,6 +124,9 @@ export class ListPicker {
|
|
|
112
124
|
}
|
|
113
125
|
/** Apply one key press; returns an action only when the picker settles. */
|
|
114
126
|
handleKey(data) {
|
|
127
|
+
// Releasing a key must not repeat navigation, confirmation, filter edits, or cursor previews.
|
|
128
|
+
if (releasedKey(data))
|
|
129
|
+
return undefined;
|
|
115
130
|
const action = this.step(data);
|
|
116
131
|
// A press that settles the list needs no announcement: the row it settled on
|
|
117
132
|
// is the row already on screen.
|
|
@@ -146,6 +161,7 @@ export class ListPicker {
|
|
|
146
161
|
const chosen = rows[Math.min(this.cursor, Math.max(0, rows.length - 1))];
|
|
147
162
|
return chosen === undefined ? undefined : { kind: 'pick', id: this.idOf(chosen) };
|
|
148
163
|
}
|
|
164
|
+
// Keeping endpoint selections stable avoids jumping across the list on repeated movement keys.
|
|
149
165
|
if (matchesAction(keys, 'picker.up', data)) {
|
|
150
166
|
this.cursor = Math.max(0, this.cursor - 1);
|
|
151
167
|
return undefined;
|
|
@@ -154,8 +170,9 @@ export class ListPicker {
|
|
|
154
170
|
this.cursor = Math.min(Math.max(0, rows.length - 1), this.cursor + 1);
|
|
155
171
|
return undefined;
|
|
156
172
|
}
|
|
173
|
+
// Whole-grapheme deletion avoids leaving fragments of emoji or combining sequences in the filter.
|
|
157
174
|
if (matchesKey(data, 'backspace')) {
|
|
158
|
-
this.filter = this.filter
|
|
175
|
+
this.filter = deleteLastGrapheme(this.filter);
|
|
159
176
|
this.cursor = 0;
|
|
160
177
|
return undefined;
|
|
161
178
|
}
|
|
@@ -164,7 +181,8 @@ export class ListPicker {
|
|
|
164
181
|
this.cursor = 0;
|
|
165
182
|
return undefined;
|
|
166
183
|
}
|
|
167
|
-
|
|
184
|
+
// Shared terminal decoding keeps paste and printable-key input consistent without admitting control bytes.
|
|
185
|
+
const text = typedText(data);
|
|
168
186
|
if (text !== undefined) {
|
|
169
187
|
this.filter += text;
|
|
170
188
|
this.cursor = 0;
|
|
@@ -208,13 +226,13 @@ export class ListPicker {
|
|
|
208
226
|
* first paint would make opening the picker as slow as the slowest session.
|
|
209
227
|
*/
|
|
210
228
|
export class SessionPicker extends ListPicker {
|
|
211
|
-
constructor(sessions, titles,
|
|
229
|
+
constructor(sessions, titles, keys) {
|
|
212
230
|
const labelOf = (session) => titles().get(session.id) ?? session.id;
|
|
213
231
|
super(() => sessions, () => `resume a session · ${sessions.length} stored`, session => session.id, session => ({
|
|
214
232
|
label: labelOf(session),
|
|
215
233
|
description: [
|
|
216
234
|
session.cwd ?? 'unknown directory',
|
|
217
|
-
describeAge(session.createdAt, now()),
|
|
235
|
+
describeAge(session.createdAt, Date.now()),
|
|
218
236
|
...session.eventCount === undefined ? [] : [`${session.eventCount} events`],
|
|
219
237
|
].join(' · '),
|
|
220
238
|
// The card marks the row under the cursor, which the list decides.
|
|
@@ -228,8 +246,8 @@ export class SessionPicker extends ListPicker {
|
|
|
228
246
|
/**
|
|
229
247
|
* One agent preset chosen by key press.
|
|
230
248
|
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
249
|
+
* Caller-owned rows allow refreshed presets to appear without rebuilding the
|
|
250
|
+
* picker; the surface currently supplies a snapshot taken when it opens.
|
|
233
251
|
*/
|
|
234
252
|
export class PresetPicker extends ListPicker {
|
|
235
253
|
constructor(presets, currentId, keys) {
|
|
@@ -265,7 +283,8 @@ export class ModelPicker extends ListPicker {
|
|
|
265
283
|
* The pick id that clears an explicit effort.
|
|
266
284
|
*
|
|
267
285
|
* An absent effort is a real choice — it restores the model's own default — so
|
|
268
|
-
* it needs an id
|
|
286
|
+
* it needs an id. Advertised effort ids must be nonempty to avoid colliding
|
|
287
|
+
* with this clearing choice; the catalog conversion does not enforce that.
|
|
269
288
|
*/
|
|
270
289
|
export const PROVIDER_DEFAULT_EFFORT_ID = '';
|
|
271
290
|
/**
|
package/lib/ui/picker.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/ui/picker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"picker.js","sourceRoot":"","sources":["../../src/ui/picker.ts"],"names":[],"mappings":"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"}
|
package/lib/ui/queue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/ui/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/ui/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAS3C;;;;;;;GAOG;AACH,qBAAa,QAAS,YAAW,SAAS;IAEtC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,OAAO,EAAE,MAAM,SAAS,MAAM,EAAE,EAChC,KAAK,EAAE,QAAQ;IAGlC,UAAU,IAAI,IAAI;IAIlB,yEAAyE;IACzE,OAAO,CAAC,GAAG;IAWX,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CA4BhC"}
|