@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"warning-screen.js","sourceRoot":"","sources":["../../src/terminal/warning-screen.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"warning-screen.js","sourceRoot":"","sources":["../../src/terminal/warning-screen.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
* follow the terminal's grammar rather than a row's layout.
|
|
8
8
|
*/
|
|
9
9
|
export declare const ESC = "\u001B";
|
|
10
|
-
/**
|
|
10
|
+
/** Keep this trigger aligned with scan: the renderer returns unmatched text unchanged. LF alone needs no rewriting. */
|
|
11
11
|
export declare const NEEDS_READING: RegExp;
|
|
12
12
|
export declare const RESET = 0;
|
|
13
|
-
|
|
13
|
+
type Token = {
|
|
14
14
|
readonly kind: 'text';
|
|
15
15
|
} | {
|
|
16
16
|
readonly kind: 'lineFeed';
|
|
@@ -30,15 +30,14 @@ export type Token = {
|
|
|
30
30
|
} | {
|
|
31
31
|
readonly kind: 'incomplete';
|
|
32
32
|
};
|
|
33
|
-
/**
|
|
33
|
+
/** Raw text lets the editor expose controls that rendering consumes; token kinds keep both policies on the same boundaries. */
|
|
34
34
|
export interface Piece {
|
|
35
35
|
readonly token: Token;
|
|
36
36
|
readonly raw: string;
|
|
37
37
|
}
|
|
38
38
|
/** Every character of a sequence that is a control, spelled; the rest of it is printable. */
|
|
39
39
|
export declare function spellControls(raw: string): string;
|
|
40
|
-
/** The parameters of an SGR sequence, or nothing when it uses a form this module does not model. */
|
|
41
|
-
export declare function parseSgrParams(body: string): readonly number[] | undefined;
|
|
42
40
|
/** Split a text fragment into the pieces a policy draws or spells. */
|
|
43
41
|
export declare function scan(raw: string): Piece[];
|
|
42
|
+
export {};
|
|
44
43
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/terminal-text/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,GAAG,WAAW,CAAA;AAgC3B,
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../src/terminal-text/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,GAAG,WAAW,CAAA;AAgC3B,uHAAuH;AACvH,eAAO,MAAM,aAAa,QAAoH,CAAA;AAwC9I,eAAO,MAAM,KAAK,IAAI,CAAA;AAEtB,KAAK,KAAK,GACN;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAA;CAAE,GACxB;IAAE,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAA;CAAE,GACnC;IAAE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GAC9B;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC5D;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAA;CAAE,GAC7B;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,GAC5B;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAA;AAEnC,+HAA+H;AAC/H,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAkBD,6FAA6F;AAC7F,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAOjD;AAuED,sEAAsE;AACtE,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,EAAE,CA+CzC"}
|
|
@@ -22,7 +22,7 @@ const FIRST_C1 = 0x80;
|
|
|
22
22
|
const LAST_C1 = 0x9f;
|
|
23
23
|
const FIRST_SURROGATE = 0xd800;
|
|
24
24
|
const LAST_SURROGATE = 0xdfff;
|
|
25
|
-
/**
|
|
25
|
+
/** Keep this trigger aligned with scan: the renderer returns unmatched text unchanged. LF alone needs no rewriting. */
|
|
26
26
|
export const NEEDS_READING = /[\u0000-\u0009\u000B-\u001F\u007F-\u009F\u061C\u200E\u200F\u2028\u2029\u202A-\u202E\u2066-\u2069\uD800-\uDFFF]/u;
|
|
27
27
|
/** Directional overrides and isolates, which reorder a row without drawing anything. */
|
|
28
28
|
const BIDI_CONTROLS = new Set([0x202a, 0x202b, 0x202c, 0x202d, 0x202e, 0x2066, 0x2067, 0x2068, 0x2069]);
|
|
@@ -42,6 +42,8 @@ const ESCAPE_FINAL_FIRST = 0x30;
|
|
|
42
42
|
const OSC_INTRODUCER = ']';
|
|
43
43
|
const STRING_INTRODUCERS = new Set(['P', 'X', '^', '_']);
|
|
44
44
|
const STRING_END = '\u0007';
|
|
45
|
+
const STRING_CANCEL = '\u0018';
|
|
46
|
+
const STRING_SUBSTITUTE = '\u001a';
|
|
45
47
|
export const RESET = 0;
|
|
46
48
|
function escapeCode(prefix, code, digits) {
|
|
47
49
|
return prefix + code.toString(16).toUpperCase().padStart(digits, '0');
|
|
@@ -74,11 +76,10 @@ function isCsiFinal(code) {
|
|
|
74
76
|
/**
|
|
75
77
|
* Read one escape sequence at `at`.
|
|
76
78
|
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* it stopped.
|
|
79
|
+
* CAN/SUB cancellation must release following output from the string grammar
|
|
80
|
+
* so an aborted OSC, DCS, or sibling cannot swallow visible evidence. An absent
|
|
81
|
+
* terminator or cancellation remains incomplete because the renderer and editor
|
|
82
|
+
* distinguish truncated sequences from completed ones.
|
|
82
83
|
*/
|
|
83
84
|
function readEscape(raw, at) {
|
|
84
85
|
const introducer = raw[at + 1];
|
|
@@ -109,8 +110,9 @@ function readEscape(raw, at) {
|
|
|
109
110
|
if (introducer === OSC_INTRODUCER || STRING_INTRODUCERS.has(introducer)) {
|
|
110
111
|
let end = at + 2;
|
|
111
112
|
while (end < raw.length) {
|
|
112
|
-
if (raw[end] === STRING_END)
|
|
113
|
+
if (raw[end] === STRING_END || raw[end] === STRING_CANCEL || raw[end] === STRING_SUBSTITUTE) {
|
|
113
114
|
return { token: { kind: 'consumed' }, raw: raw.slice(at, end + 1) };
|
|
115
|
+
}
|
|
114
116
|
if (raw[end] === ESC && raw[end + 1] === '\\')
|
|
115
117
|
return { token: { kind: 'consumed' }, raw: raw.slice(at, end + 2) };
|
|
116
118
|
end += 1;
|
|
@@ -123,8 +125,12 @@ function readEscape(raw, at) {
|
|
|
123
125
|
}
|
|
124
126
|
return undefined;
|
|
125
127
|
}
|
|
126
|
-
/**
|
|
127
|
-
|
|
128
|
+
/**
|
|
129
|
+
* Only numeric semicolon parameters reach the style policy; unsupported forms
|
|
130
|
+
* remain consumed sequences rather than drawable terminal instructions. Empty
|
|
131
|
+
* fields retain SGR reset semantics, including an omitted parameter list.
|
|
132
|
+
*/
|
|
133
|
+
function parseSgrParams(body) {
|
|
128
134
|
if (body === '')
|
|
129
135
|
return [RESET];
|
|
130
136
|
const params = [];
|
|
@@ -178,6 +184,7 @@ export function scan(raw) {
|
|
|
178
184
|
}
|
|
179
185
|
}
|
|
180
186
|
else if (code >= FIRST_SURROGATE && code <= LAST_SURROGATE) {
|
|
187
|
+
// Keep malformed UTF-16 out of the glyph stream that consumers measure and emit.
|
|
181
188
|
text += REPLACEMENT;
|
|
182
189
|
}
|
|
183
190
|
else if (isSpelledControl(code)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/terminal-text/scan.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,GAAG,GAAG,QAAQ,CAAA;AAE3B,MAAM,WAAW,GAAG,QAAQ,CAAA;AAE5B,MAAM,SAAS,GAAG,KAAK,CAAA;AAEvB,MAAM,cAAc,GAAG,KAAK,CAAA;AAE5B,MAAM,IAAI,GAAG,CAAC,CAAA;AAEd,MAAM,IAAI,GAAG,CAAC,CAAA;AAEd,MAAM,OAAO,GAAG,IAAI,CAAA;AAEpB,MAAM,GAAG,GAAG,IAAI,CAAA;AAEhB,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB,MAAM,MAAM,GAAG,IAAI,CAAA;AAEnB,MAAM,QAAQ,GAAG,IAAI,CAAA;AAErB,MAAM,OAAO,GAAG,IAAI,CAAA;AAEpB,MAAM,eAAe,GAAG,MAAM,CAAA;AAE9B,MAAM,cAAc,GAAG,MAAM,CAAA;AAE7B,
|
|
1
|
+
{"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/terminal-text/scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* this surface owns, not a property of either.
|
|
8
8
|
*/
|
|
9
9
|
import { type ColourMode } from '../theme-capability.ts';
|
|
10
|
-
|
|
10
|
+
/** Capability-normalized colour prefixes let retained cells reuse their style without interpreting foreign parameters during emission. */
|
|
11
11
|
export interface TextStyle {
|
|
12
12
|
readonly fg?: string | undefined;
|
|
13
13
|
readonly bg?: string | undefined;
|
|
@@ -16,7 +16,7 @@ export interface TextStyle {
|
|
|
16
16
|
}
|
|
17
17
|
export declare const GROUND: TextStyle;
|
|
18
18
|
export interface Encoder {
|
|
19
|
-
/**
|
|
19
|
+
/** Retained cells may emit in screen order rather than input order, so transitions compare their stored styles. */
|
|
20
20
|
between(previous: TextStyle, next: TextStyle): string;
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
@@ -24,7 +24,8 @@ export interface Encoder {
|
|
|
24
24
|
*
|
|
25
25
|
* The element's own colour is the ground state rather than a reset, because a
|
|
26
26
|
* tool that ends a coloured run must not clear the colour the card drew it in;
|
|
27
|
-
* a full reset is never emitted
|
|
27
|
+
* a full reset is never emitted. Inherited attributes are not modeled here,
|
|
28
|
+
* so targeted attribute resets can still clear attributes from the base.
|
|
28
29
|
*/
|
|
29
30
|
export declare function encoder(color: ColourMode, base: string): Encoder;
|
|
30
31
|
/** Apply an SGR sequence to the state a cell is written with. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgr.d.ts","sourceRoot":"","sources":["../../src/terminal-text/sgr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"sgr.d.ts","sourceRoot":"","sources":["../../src/terminal-text/sgr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAkC,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAkFxF,0IAA0I;AAC1I,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,4EAA4E;IAC5E,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAC5B;AAED,eAAO,MAAM,MAAM,EAAE,SAA6B,CAAA;AAalD,MAAM,WAAW,OAAO;IACtB,mHAAmH;IACnH,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CACtD;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAmBhE;AAuBD,iEAAiE;AACjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CAgDlG"}
|
package/lib/terminal-text/sgr.js
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* this surface owns, not a property of either.
|
|
8
8
|
*/
|
|
9
9
|
import { sgrBackgroundPrefix, sgrPrefix } from "../theme-capability.js";
|
|
10
|
-
import { ESC, RESET
|
|
11
|
-
|
|
10
|
+
import { ESC, RESET } from "./scan.js";
|
|
11
|
+
const CSI = `${ESC}[`;
|
|
12
12
|
/** The attributes a run may carry, in the order they are emitted. */
|
|
13
13
|
const ATTRIBUTES = ['bold', 'dim', 'italic', 'underline', 'inverse', 'strike'];
|
|
14
14
|
const ATTRIBUTE_ON = {
|
|
@@ -28,6 +28,7 @@ const ATTRIBUTE_OFF = {
|
|
|
28
28
|
strike: `${CSI}29m`,
|
|
29
29
|
};
|
|
30
30
|
const SGR_ATTRIBUTE_ON = { 1: 'bold', 2: 'dim', 3: 'italic', 4: 'underline', 7: 'inverse', 9: 'strike' };
|
|
31
|
+
// Normalize accepted intensity resets to modeled attributes instead of forwarding SGR 21 to the terminal.
|
|
31
32
|
const SGR_ATTRIBUTE_OFF = {
|
|
32
33
|
21: ['bold', 'dim'],
|
|
33
34
|
22: ['bold', 'dim'],
|
|
@@ -75,27 +76,19 @@ function hasAttribute(style, attribute) {
|
|
|
75
76
|
*
|
|
76
77
|
* The element's own colour is the ground state rather than a reset, because a
|
|
77
78
|
* tool that ends a coloured run must not clear the colour the card drew it in;
|
|
78
|
-
* a full reset is never emitted
|
|
79
|
+
* a full reset is never emitted. Inherited attributes are not modeled here,
|
|
80
|
+
* so targeted attribute resets can still clear attributes from the base.
|
|
79
81
|
*/
|
|
80
82
|
export function encoder(color, base) {
|
|
81
83
|
if (color === 'none')
|
|
82
84
|
return { between: () => '' };
|
|
83
|
-
const groundCodes = (style) => {
|
|
84
|
-
let out = '';
|
|
85
|
-
for (const attribute of ATTRIBUTES)
|
|
86
|
-
if (hasAttribute(style, attribute))
|
|
87
|
-
out += ATTRIBUTE_OFF[attribute];
|
|
88
|
-
if (style.fg !== undefined)
|
|
89
|
-
out += GROUND_FG + base;
|
|
90
|
-
if (style.bg !== undefined)
|
|
91
|
-
out += GROUND_BG + base;
|
|
92
|
-
return out;
|
|
93
|
-
};
|
|
94
85
|
return {
|
|
95
86
|
between(previous, next) {
|
|
96
87
|
if (previous === next)
|
|
97
88
|
return '';
|
|
98
89
|
let out = '';
|
|
90
|
+
// Reset before enabling new attributes so a shared reset cannot erase a newly enabled intensity bit.
|
|
91
|
+
// Unchanged intensity bits are not reapplied, so reset 22 can still clear one of them.
|
|
99
92
|
for (const attribute of ATTRIBUTES) {
|
|
100
93
|
if (hasAttribute(previous, attribute) && !hasAttribute(next, attribute))
|
|
101
94
|
out += ATTRIBUTE_OFF[attribute];
|
|
@@ -112,6 +105,7 @@ export function encoder(color, base) {
|
|
|
112
105
|
},
|
|
113
106
|
};
|
|
114
107
|
}
|
|
108
|
+
// Keep known colour operands out of attribute parsing; unknown kinds have no owned operand span.
|
|
115
109
|
function colourFor(params, at, color) {
|
|
116
110
|
const kind = params[at + 1];
|
|
117
111
|
if (kind === EXTENDED_INDEXED) {
|
|
@@ -160,6 +154,7 @@ export function applySgr(style, params, color) {
|
|
|
160
154
|
const extended = colourFor(params, at, color);
|
|
161
155
|
if (extended.next <= at)
|
|
162
156
|
break;
|
|
157
|
+
// An unusable colour request returns to the element colour rather than retaining an earlier tool colour.
|
|
163
158
|
next = extended.code === undefined
|
|
164
159
|
? { ...next, ...(param === EXTENDED_FG ? { fg: undefined } : { bg: undefined }) }
|
|
165
160
|
: { ...next, ...(param === EXTENDED_FG ? { fg: extended.code } : { bg: extended.code }) };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../src/terminal-text/sgr.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAmB,MAAM,wBAAwB,CAAA;AACxF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"sgr.js","sourceRoot":"","sources":["../../src/terminal-text/sgr.ts"],"names":[],"mappings":"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"}
|
package/lib/terminal-text.d.ts
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* every sequence a terminal would *act* on is consumed, so it acts on
|
|
13
13
|
* nothing. Bytes that are not a sequence are still spelled out rather than
|
|
14
14
|
* dropped, because silently swallowing text would hide what a tool said.
|
|
15
|
-
* - {@link escapeTerminalText}
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* - {@link escapeTerminalText} keeps controls visible in literal labels,
|
|
16
|
+
* questions, and stored text rather than allowing them to repaint content.
|
|
17
|
+
* Line feeds preserve rows; callers can expand tabs or keep them for a buffer.
|
|
18
18
|
*
|
|
19
19
|
* Sharing one scanner matters for more than agreement: pi-tui's own escape
|
|
20
20
|
* scanner recognises less than a terminal does (a `\x1b[?25l` left in a drawn
|
|
@@ -22,10 +22,8 @@
|
|
|
22
22
|
* sequence that is not SGR must be gone before any width is measured.
|
|
23
23
|
*/
|
|
24
24
|
import type { ColourMode } from './theme-capability.ts';
|
|
25
|
-
/** Columns between tab stops: the POSIX default, and what every terminal still uses. */
|
|
26
|
-
export declare const TAB_STOP = 8;
|
|
27
25
|
/** Whether a tab is drawn on its stop, or kept for a buffer that will hold it. */
|
|
28
|
-
|
|
26
|
+
type TabPolicy = 'expand' | 'keep';
|
|
29
27
|
export interface EscapeTextOptions {
|
|
30
28
|
/** The column the text starts at, so its first tab lands on the terminal's next stop. */
|
|
31
29
|
readonly column?: number | undefined;
|
|
@@ -39,12 +37,8 @@ export interface RenderTextOptions {
|
|
|
39
37
|
readonly column?: number | undefined;
|
|
40
38
|
}
|
|
41
39
|
/**
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
* The column is what makes a tab land where it landed for the tool that wrote
|
|
46
|
-
* it: a row indented by four columns reaches its stop four columns later than
|
|
47
|
-
* the same row at the left edge.
|
|
40
|
+
* Account for the insertion column so tab expansion stays aligned after layout
|
|
41
|
+
* indentation. Retained tabs let buffer consumers apply their own stops.
|
|
48
42
|
*/
|
|
49
43
|
export declare function escapeTerminalText(raw: string, options?: EscapeTextOptions): string;
|
|
50
44
|
/**
|
|
@@ -69,4 +63,5 @@ export declare function renderTerminalText(raw: string, options: RenderTextOptio
|
|
|
69
63
|
* is the same glitch as half a colour code.
|
|
70
64
|
*/
|
|
71
65
|
export declare function clipVisibleGraphemes(raw: string, limit: number): string;
|
|
66
|
+
export {};
|
|
72
67
|
//# sourceMappingURL=terminal-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-text.d.ts","sourceRoot":"","sources":["../src/terminal-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"terminal-text.d.ts","sourceRoot":"","sources":["../src/terminal-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAOvD,kFAAkF;AAClF,KAAK,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAA;AAElC,MAAM,WAAW,iBAAiB;IAChC,yFAAyF;IACzF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACpC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;CACrC;AAED,MAAM,WAAW,iBAAiB;IAChC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAkCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAkCvF;AASD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAkFlF;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAwBvE"}
|
package/lib/terminal-text.js
CHANGED
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
* every sequence a terminal would *act* on is consumed, so it acts on
|
|
13
13
|
* nothing. Bytes that are not a sequence are still spelled out rather than
|
|
14
14
|
* dropped, because silently swallowing text would hide what a tool said.
|
|
15
|
-
* - {@link escapeTerminalText}
|
|
16
|
-
*
|
|
17
|
-
*
|
|
15
|
+
* - {@link escapeTerminalText} keeps controls visible in literal labels,
|
|
16
|
+
* questions, and stored text rather than allowing them to repaint content.
|
|
17
|
+
* Line feeds preserve rows; callers can expand tabs or keep them for a buffer.
|
|
18
18
|
*
|
|
19
19
|
* Sharing one scanner matters for more than agreement: pi-tui's own escape
|
|
20
20
|
* scanner recognises less than a terminal does (a `\x1b[?25l` left in a drawn
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
import { visibleWidth } from '@earendil-works/pi-tui';
|
|
25
25
|
import { NEEDS_READING, scan, spellControls } from "./terminal-text/scan.js";
|
|
26
26
|
import { GROUND, applySgr, encoder } from "./terminal-text/sgr.js";
|
|
27
|
-
/**
|
|
28
|
-
|
|
27
|
+
/** Keep tab widths predictable for wrapping; this surface uses eight-column stops. */
|
|
28
|
+
const TAB_STOP = 8;
|
|
29
29
|
const GRAPHEMES = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
30
30
|
/** How many characters a reader sees in this piece, which is what a row budget pays for. */
|
|
31
31
|
function visibleLength(piece) {
|
|
@@ -36,6 +36,10 @@ function visibleLength(piece) {
|
|
|
36
36
|
count += 1;
|
|
37
37
|
return count;
|
|
38
38
|
}
|
|
39
|
+
// A visible escape is four or six characters, not the one control that produced it.
|
|
40
|
+
case 'control': return spellControls(piece.raw).length;
|
|
41
|
+
// The eventual insertion column is unknown here, so a tab may need a full stop of visible spaces.
|
|
42
|
+
case 'tab': return TAB_STOP;
|
|
39
43
|
case 'sgr':
|
|
40
44
|
case 'consumed':
|
|
41
45
|
case 'incomplete': return 0;
|
|
@@ -53,12 +57,8 @@ function nextStop(column) {
|
|
|
53
57
|
return (Math.floor(column / TAB_STOP) + 1) * TAB_STOP;
|
|
54
58
|
}
|
|
55
59
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* The column is what makes a tab land where it landed for the tool that wrote
|
|
60
|
-
* it: a row indented by four columns reaches its stop four columns later than
|
|
61
|
-
* the same row at the left edge.
|
|
60
|
+
* Account for the insertion column so tab expansion stays aligned after layout
|
|
61
|
+
* indentation. Retained tabs let buffer consumers apply their own stops.
|
|
62
62
|
*/
|
|
63
63
|
export function escapeTerminalText(raw, options = {}) {
|
|
64
64
|
const tab = options.tab ?? 'expand';
|
|
@@ -114,33 +114,36 @@ export function renderTerminalText(raw, options) {
|
|
|
114
114
|
const codes = encoder(color, base);
|
|
115
115
|
let style = GROUND;
|
|
116
116
|
let previous = GROUND;
|
|
117
|
-
|
|
117
|
+
const cells = new Map();
|
|
118
118
|
let cursor = column;
|
|
119
119
|
let out = '';
|
|
120
120
|
const write = (text, width) => {
|
|
121
|
-
const last = cells[cells.length - 1];
|
|
122
121
|
if (width === 0) {
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
// Cursor adjacency, not repaint insertion order, decides which retained glyph owns a combining mark.
|
|
123
|
+
const preceding = cells.get(cursor - 1);
|
|
124
|
+
if (preceding !== undefined && preceding.col + preceding.width === cursor)
|
|
125
|
+
preceding.text += text;
|
|
125
126
|
return;
|
|
126
127
|
}
|
|
127
|
-
//
|
|
128
|
-
|
|
129
|
-
cells.
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
if (at < 0)
|
|
135
|
-
at = cells.length;
|
|
136
|
-
cells.splice(at, 0, { col: cursor, width, text, style });
|
|
128
|
+
// Column ownership bounds overwrite work to the graphemes it actually replaces.
|
|
129
|
+
for (let col = cursor; col < cursor + width; col++) {
|
|
130
|
+
const replaced = cells.get(col);
|
|
131
|
+
if (replaced === undefined)
|
|
132
|
+
continue;
|
|
133
|
+
for (let occupied = replaced.col; occupied < replaced.col + replaced.width; occupied++)
|
|
134
|
+
cells.delete(occupied);
|
|
137
135
|
}
|
|
136
|
+
const cell = { col: cursor, width, text, style };
|
|
137
|
+
for (let col = cursor; col < cursor + width; col++)
|
|
138
|
+
cells.set(col, cell);
|
|
138
139
|
cursor += width;
|
|
139
140
|
};
|
|
140
141
|
const flush = () => {
|
|
141
|
-
if (cells.
|
|
142
|
+
if (cells.size > 0) {
|
|
142
143
|
let drawn = column;
|
|
143
|
-
|
|
144
|
+
// Repaint insertion order differs from screen order; sort once per completed row.
|
|
145
|
+
const ordered = [...cells].filter(([col, cell]) => col === cell.col).map(([, cell]) => cell).sort((left, right) => left.col - right.col);
|
|
146
|
+
for (const cell of ordered) {
|
|
144
147
|
if (cell.col > drawn) {
|
|
145
148
|
out += codes.between(previous, GROUND);
|
|
146
149
|
previous = GROUND;
|
|
@@ -152,7 +155,7 @@ export function renderTerminalText(raw, options) {
|
|
|
152
155
|
drawn = cell.col + cell.width;
|
|
153
156
|
}
|
|
154
157
|
}
|
|
155
|
-
cells
|
|
158
|
+
cells.clear();
|
|
156
159
|
cursor = column;
|
|
157
160
|
};
|
|
158
161
|
for (const piece of scan(raw)) {
|
package/lib/terminal-text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-text.js","sourceRoot":"","sources":["../src/terminal-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAErD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAc,MAAM,yBAAyB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"terminal-text.js","sourceRoot":"","sources":["../src/terminal-text.ts"],"names":[],"mappings":"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"}
|
package/lib/text.d.ts
CHANGED
|
@@ -14,15 +14,10 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { type EscapeTextOptions } from './terminal-text.ts';
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* terminal acting on it. A tab is the exception that is not spelled: it is
|
|
22
|
-
* expanded to the stop the tool that wrote it used, because a stop the layout
|
|
23
|
-
* cannot predict would desynchronize wrapping. Text that is *drawn* is not read
|
|
24
|
-
* this way at all — it goes through `renderTerminalText`, which interprets the
|
|
25
|
-
* sequences a terminal would have interpreted.
|
|
17
|
+
* Keep controls visible in literal labels and questions rather than allowing
|
|
18
|
+
* them to repaint content. Line feeds preserve rows; tabs normally expand to
|
|
19
|
+
* this surface's stops so wrapping can predict their width. Terminal-like output
|
|
20
|
+
* instead uses `renderTerminalText` to interpret safe styling and repaint behavior.
|
|
26
21
|
*/
|
|
27
22
|
export declare function displayText(raw: string, options?: EscapeTextOptions): string;
|
|
28
23
|
/** One row of text: every run of line breaks becomes the space between its rows. */
|
|
@@ -47,12 +42,11 @@ export declare function tailGraphemes(text: string, limit: number): string;
|
|
|
47
42
|
/**
|
|
48
43
|
* Text as the clusters a reader would count.
|
|
49
44
|
*
|
|
50
|
-
*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
* clusters is what keeps a drawn run from ending inside a character.
|
|
45
|
+
* Comparing clusters keeps a drawn run from ending inside a character. A caller
|
|
46
|
+
* with a work budget can stop after the first excess cluster without retaining
|
|
47
|
+
* the rest of an oversized row; callers without a budget still keep every one.
|
|
54
48
|
*/
|
|
55
|
-
export declare function splitGraphemes(text: string): string[];
|
|
49
|
+
export declare function splitGraphemes(text: string, limit: number): string[];
|
|
56
50
|
/** The form of text that is safe to put back into a live editor. */
|
|
57
51
|
export declare function stripControlCharacters(text: string): string;
|
|
58
52
|
//# sourceMappingURL=text.d.ts.map
|
package/lib/text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAG/E;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,MAAM,CAE5E;AAaD,oFAAoF;AACpF,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3C;AAKD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAUlE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAQpE;AAqBD,oEAAoE;AACpE,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE3D"}
|