@sagmans/dsh-tui 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.agents/skills/dsh-tui-dogfood/SKILL.md +18 -2
- package/.agents/skills/dsh-tui-dogfood/references/home-state.md +4 -4
- package/.agents/skills/dsh-tui-dogfood/scripts/clone-links.mjs +19 -11
- package/.agents/skills/dsh-tui-dogfood/scripts/run-plugin-from-worktree.sh +31 -9
- package/.agents/skills/dsh-tui-update-models/SKILL.md +1 -1
- package/.agents/skills/dsh-tui-update-models/references/model-wiring.md +6 -6
- package/.agents/skills/dsh-tui-update-models/scripts/dump-model-catalog.mjs +21 -13
- package/README.md +61 -23
- package/cordis.patch.yml +2 -0
- package/lib/agent/fork.d.ts +3 -1
- package/lib/agent/fork.d.ts.map +1 -1
- package/lib/agent/fork.js +2 -0
- package/lib/agent/fork.js.map +1 -1
- package/lib/agent/history.d.ts +14 -22
- package/lib/agent/history.d.ts.map +1 -1
- package/lib/agent/history.js +20 -14
- package/lib/agent/history.js.map +1 -1
- package/lib/agent/host.d.ts.map +1 -1
- package/lib/agent/host.js +6 -0
- package/lib/agent/host.js.map +1 -1
- package/lib/agent/model.d.ts +10 -8
- package/lib/agent/model.d.ts.map +1 -1
- package/lib/agent/model.js +9 -7
- package/lib/agent/model.js.map +1 -1
- package/lib/agent/present.d.ts +1 -1
- package/lib/agent/present.d.ts.map +1 -1
- package/lib/agent/present.js +1 -1
- package/lib/agent/present.js.map +1 -1
- package/lib/agent/presets.d.ts +4 -1
- package/lib/agent/presets.d.ts.map +1 -1
- package/lib/agent/presets.js +9 -2
- package/lib/agent/presets.js.map +1 -1
- package/lib/agent/projections.d.ts +8 -2
- package/lib/agent/projections.d.ts.map +1 -1
- package/lib/agent/projections.js +8 -2
- package/lib/agent/projections.js.map +1 -1
- package/lib/agent/prompt-history.d.ts +8 -48
- package/lib/agent/prompt-history.d.ts.map +1 -1
- package/lib/agent/prompt-history.js +34 -15
- package/lib/agent/prompt-history.js.map +1 -1
- package/lib/agent/status.d.ts +9 -24
- package/lib/agent/status.d.ts.map +1 -1
- package/lib/agent/status.js +7 -2
- package/lib/agent/status.js.map +1 -1
- package/lib/agent/undo.d.ts +2 -4
- package/lib/agent/undo.d.ts.map +1 -1
- package/lib/agent/undo.js +10 -5
- package/lib/agent/undo.js.map +1 -1
- package/lib/cards/composition.d.ts +7 -7
- package/lib/cards/composition.d.ts.map +1 -1
- package/lib/cards/composition.js +13 -12
- package/lib/cards/composition.js.map +1 -1
- package/lib/cards/presenter.d.ts +11 -14
- package/lib/cards/presenter.d.ts.map +1 -1
- package/lib/cards/presenter.js +40 -19
- package/lib/cards/presenter.js.map +1 -1
- package/lib/cards/preview.d.ts.map +1 -1
- package/lib/cards/preview.js +5 -1
- package/lib/cards/preview.js.map +1 -1
- package/lib/cards.d.ts +17 -23
- package/lib/cards.d.ts.map +1 -1
- package/lib/cards.js +27 -12
- package/lib/cards.js.map +1 -1
- package/lib/compat/probe.d.ts +2 -5
- package/lib/compat/probe.d.ts.map +1 -1
- package/lib/compat/probe.js +2 -2
- package/lib/compat/probe.js.map +1 -1
- package/lib/compat/section.d.ts +5 -4
- package/lib/compat/section.d.ts.map +1 -1
- package/lib/compat/section.js +4 -0
- package/lib/compat/section.js.map +1 -1
- package/lib/config.d.ts +0 -3
- package/lib/config.d.ts.map +1 -1
- package/lib/config.js +7 -1
- package/lib/config.js.map +1 -1
- package/lib/export.d.ts +5 -7
- package/lib/export.d.ts.map +1 -1
- package/lib/export.js +48 -10
- package/lib/export.js.map +1 -1
- package/lib/fold-cursor.d.ts +3 -3
- package/lib/fold-cursor.d.ts.map +1 -1
- package/lib/fold-cursor.js +5 -3
- package/lib/fold-cursor.js.map +1 -1
- package/lib/gates/question-card.d.ts +3 -38
- package/lib/gates/question-card.d.ts.map +1 -1
- package/lib/gates/question-card.js +13 -10
- package/lib/gates/question-card.js.map +1 -1
- package/lib/gates/questions.d.ts +14 -8
- package/lib/gates/questions.d.ts.map +1 -1
- package/lib/gates/questions.js +16 -12
- package/lib/gates/questions.js.map +1 -1
- package/lib/gates.d.ts +17 -25
- package/lib/gates.d.ts.map +1 -1
- package/lib/gates.js +2 -4
- package/lib/gates.js.map +1 -1
- package/lib/herdr/client.d.ts +10 -12
- package/lib/herdr/client.d.ts.map +1 -1
- package/lib/herdr/client.js +9 -8
- package/lib/herdr/client.js.map +1 -1
- package/lib/herdr/constants.d.ts +3 -2
- package/lib/herdr/constants.d.ts.map +1 -1
- package/lib/herdr/constants.js +3 -2
- package/lib/herdr/constants.js.map +1 -1
- package/lib/herdr/reporter.d.ts +4 -39
- package/lib/herdr/reporter.d.ts.map +1 -1
- package/lib/herdr/reporter.js +13 -19
- package/lib/herdr/reporter.js.map +1 -1
- package/lib/herdr/state.d.ts +4 -3
- package/lib/herdr/state.d.ts.map +1 -1
- package/lib/herdr/state.js +6 -5
- package/lib/herdr/state.js.map +1 -1
- package/lib/host/preset-files.d.ts +0 -17
- package/lib/host/preset-files.d.ts.map +1 -1
- package/lib/host/preset-files.js +7 -2
- package/lib/host/preset-files.js.map +1 -1
- package/lib/host/roster.d.ts +1 -1
- package/lib/host/roster.d.ts.map +1 -1
- package/lib/host/roster.js +3 -3
- package/lib/host/roster.js.map +1 -1
- package/lib/host/runner.d.ts +2 -5
- package/lib/host/runner.d.ts.map +1 -1
- package/lib/host/runner.js +2 -5
- package/lib/host/runner.js.map +1 -1
- package/lib/identity.d.ts +6 -3
- package/lib/identity.d.ts.map +1 -1
- package/lib/identity.js +18 -3
- package/lib/identity.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +42 -14
- package/lib/index.js.map +1 -1
- package/lib/injection.d.ts.map +1 -1
- package/lib/injection.js +1 -0
- package/lib/injection.js.map +1 -1
- package/lib/input/action-catalog.d.ts.map +1 -1
- package/lib/input/action-catalog.js +4 -0
- package/lib/input/action-catalog.js.map +1 -1
- package/lib/input/actions.d.ts +4 -3
- package/lib/input/actions.d.ts.map +1 -1
- package/lib/input/actions.js +8 -3
- package/lib/input/actions.js.map +1 -1
- package/lib/input/completion.d.ts +3 -11
- package/lib/input/completion.d.ts.map +1 -1
- package/lib/input/completion.js +4 -4
- package/lib/input/completion.js.map +1 -1
- package/lib/input/file-index.d.ts +1 -12
- package/lib/input/file-index.d.ts.map +1 -1
- package/lib/input/file-index.js +21 -17
- package/lib/input/file-index.js.map +1 -1
- package/lib/input/file-search.d.ts +4 -3
- package/lib/input/file-search.d.ts.map +1 -1
- package/lib/input/file-search.js +8 -5
- package/lib/input/file-search.js.map +1 -1
- package/lib/input/fuzzy.d.ts +6 -12
- package/lib/input/fuzzy.d.ts.map +1 -1
- package/lib/input/fuzzy.js +18 -27
- package/lib/input/fuzzy.js.map +1 -1
- package/lib/input/ghost.d.ts +5 -5
- package/lib/input/ghost.d.ts.map +1 -1
- package/lib/input/ghost.js +4 -3
- package/lib/input/ghost.js.map +1 -1
- package/lib/input/key-press.d.ts +8 -7
- package/lib/input/key-press.d.ts.map +1 -1
- package/lib/input/key-press.js +8 -6
- package/lib/input/key-press.js.map +1 -1
- package/lib/input/keymap-conflicts.d.ts +6 -6
- package/lib/input/keymap-conflicts.d.ts.map +1 -1
- package/lib/input/keymap-conflicts.js +6 -6
- package/lib/input/keymap-conflicts.js.map +1 -1
- package/lib/input/keymap.d.ts +6 -18
- package/lib/input/keymap.d.ts.map +1 -1
- package/lib/input/keymap.js +7 -10
- package/lib/input/keymap.js.map +1 -1
- package/lib/input/match.js +4 -4
- package/lib/input/match.js.map +1 -1
- package/lib/input/submission.d.ts +7 -3
- package/lib/input/submission.d.ts.map +1 -1
- package/lib/input/submission.js +2 -2
- package/lib/input/submission.js.map +1 -1
- package/lib/input/workspace-files.d.ts +1 -2
- package/lib/input/workspace-files.d.ts.map +1 -1
- package/lib/input/workspace-files.js +20 -11
- package/lib/input/workspace-files.js.map +1 -1
- package/lib/input.d.ts.map +1 -1
- package/lib/input.js +3 -1
- package/lib/input.js.map +1 -1
- package/lib/install-skills.d.ts +5 -22
- package/lib/install-skills.d.ts.map +1 -1
- package/lib/install-skills.js +18 -18
- package/lib/install-skills.js.map +1 -1
- package/lib/jobs.d.ts +10 -5
- package/lib/jobs.d.ts.map +1 -1
- package/lib/jobs.js +39 -13
- package/lib/jobs.js.map +1 -1
- package/lib/keymaps.d.ts.map +1 -1
- package/lib/keymaps.js +2 -0
- package/lib/keymaps.js.map +1 -1
- package/lib/keys-command.d.ts +1 -1
- package/lib/keys-command.d.ts.map +1 -1
- package/lib/model-list.d.ts +0 -27
- package/lib/model-list.d.ts.map +1 -1
- package/lib/model-list.js +1 -1
- package/lib/model-list.js.map +1 -1
- package/lib/moshi.d.ts +13 -0
- package/lib/moshi.d.ts.map +1 -0
- package/lib/moshi.js +130 -0
- package/lib/moshi.js.map +1 -0
- package/lib/spacing.d.ts +0 -7
- package/lib/spacing.d.ts.map +1 -1
- package/lib/spacing.js +1 -1
- package/lib/spacing.js.map +1 -1
- package/lib/startup.d.ts +1 -1
- package/lib/startup.d.ts.map +1 -1
- package/lib/startup.js +9 -1
- package/lib/startup.js.map +1 -1
- package/lib/stash/lock.d.ts +1 -37
- package/lib/stash/lock.d.ts.map +1 -1
- package/lib/stash/lock.js +41 -35
- package/lib/stash/lock.js.map +1 -1
- package/lib/stash/paths.d.ts +8 -7
- package/lib/stash/paths.d.ts.map +1 -1
- package/lib/stash/paths.js +21 -17
- package/lib/stash/paths.js.map +1 -1
- package/lib/stash/private-fs.d.ts +14 -5
- package/lib/stash/private-fs.d.ts.map +1 -1
- package/lib/stash/private-fs.js +30 -8
- package/lib/stash/private-fs.js.map +1 -1
- package/lib/stash/schema.d.ts +3 -6
- package/lib/stash/schema.d.ts.map +1 -1
- package/lib/stash/schema.js +11 -9
- package/lib/stash/schema.js.map +1 -1
- package/lib/stash/store.d.ts +9 -40
- package/lib/stash/store.d.ts.map +1 -1
- package/lib/stash/store.js +26 -24
- package/lib/stash/store.js.map +1 -1
- package/lib/stash.d.ts +7 -11
- package/lib/stash.d.ts.map +1 -1
- package/lib/stash.js +18 -11
- package/lib/stash.js.map +1 -1
- package/lib/subagents.d.ts +9 -9
- package/lib/subagents.d.ts.map +1 -1
- package/lib/subagents.js +19 -18
- package/lib/subagents.js.map +1 -1
- package/lib/surface/appearance-preferences.d.ts.map +1 -1
- package/lib/surface/appearance-preferences.js +7 -0
- package/lib/surface/appearance-preferences.js.map +1 -1
- package/lib/surface/appearance.d.ts.map +1 -1
- package/lib/surface/appearance.js +7 -2
- package/lib/surface/appearance.js.map +1 -1
- package/lib/surface/background-work.d.ts +2 -0
- package/lib/surface/background-work.d.ts.map +1 -1
- package/lib/surface/background-work.js +45 -36
- package/lib/surface/background-work.js.map +1 -1
- package/lib/surface/commands.d.ts.map +1 -1
- package/lib/surface/commands.js +17 -9
- package/lib/surface/commands.js.map +1 -1
- package/lib/surface/modal-input.d.ts +3 -0
- package/lib/surface/modal-input.d.ts.map +1 -1
- package/lib/surface/modal-input.js +4 -1
- package/lib/surface/modal-input.js.map +1 -1
- package/lib/surface/model-choice.d.ts.map +1 -1
- package/lib/surface/model-choice.js +10 -8
- package/lib/surface/model-choice.js.map +1 -1
- package/lib/surface/plugin-actions.d.ts.map +1 -1
- package/lib/surface/plugin-actions.js +4 -0
- package/lib/surface/plugin-actions.js.map +1 -1
- package/lib/surface/preset-choice.d.ts.map +1 -1
- package/lib/surface/preset-choice.js +15 -17
- package/lib/surface/preset-choice.js.map +1 -1
- package/lib/surface/prompt-input.js +1 -1
- package/lib/surface/prompt-input.js.map +1 -1
- package/lib/surface/prompt-memory.d.ts +7 -6
- package/lib/surface/prompt-memory.d.ts.map +1 -1
- package/lib/surface/prompt-memory.js +3 -3
- package/lib/surface/session-lifecycle.d.ts +7 -1
- package/lib/surface/session-lifecycle.d.ts.map +1 -1
- package/lib/surface/session-lifecycle.js +17 -12
- package/lib/surface/session-lifecycle.js.map +1 -1
- package/lib/surface/session-picker.js +1 -1
- package/lib/surface/session-picker.js.map +1 -1
- package/lib/surface/session-view.d.ts +1 -1
- package/lib/surface/session-view.d.ts.map +1 -1
- package/lib/surface/session-view.js +4 -5
- package/lib/surface/session-view.js.map +1 -1
- package/lib/surface/staged-turns.d.ts.map +1 -1
- package/lib/surface/staged-turns.js +8 -4
- package/lib/surface/staged-turns.js.map +1 -1
- package/lib/surface/terminal-lifecycle.d.ts +1 -1
- package/lib/surface/terminal-lifecycle.d.ts.map +1 -1
- package/lib/surface/terminal-lifecycle.js +8 -5
- package/lib/surface/terminal-lifecycle.js.map +1 -1
- package/lib/terminal/bell.d.ts +0 -2
- package/lib/terminal/bell.d.ts.map +1 -1
- package/lib/terminal/bell.js +2 -1
- package/lib/terminal/bell.js.map +1 -1
- package/lib/terminal/clipboard.d.ts +4 -4
- package/lib/terminal/clipboard.js +4 -4
- package/lib/terminal/external-editor.d.ts +4 -60
- package/lib/terminal/external-editor.d.ts.map +1 -1
- package/lib/terminal/external-editor.js +28 -40
- package/lib/terminal/external-editor.js.map +1 -1
- package/lib/terminal/host-writes.d.ts +7 -18
- package/lib/terminal/host-writes.d.ts.map +1 -1
- package/lib/terminal/host-writes.js +9 -14
- package/lib/terminal/host-writes.js.map +1 -1
- package/lib/terminal/input.d.ts +6 -0
- package/lib/terminal/input.d.ts.map +1 -0
- package/lib/terminal/input.js +15 -0
- package/lib/terminal/input.js.map +1 -0
- package/lib/terminal/restore.d.ts +2 -1
- package/lib/terminal/restore.d.ts.map +1 -1
- package/lib/terminal/signals.d.ts +2 -1
- package/lib/terminal/signals.d.ts.map +1 -1
- package/lib/terminal/signals.js +1 -1
- package/lib/terminal/signals.js.map +1 -1
- package/lib/terminal/title.d.ts +1 -11
- package/lib/terminal/title.d.ts.map +1 -1
- package/lib/terminal/title.js +5 -4
- package/lib/terminal/title.js.map +1 -1
- package/lib/terminal/warning-screen.d.ts +2 -0
- package/lib/terminal/warning-screen.d.ts.map +1 -1
- package/lib/terminal/warning-screen.js +21 -3
- package/lib/terminal/warning-screen.js.map +1 -1
- package/lib/terminal-text/scan.d.ts +4 -5
- package/lib/terminal-text/scan.d.ts.map +1 -1
- package/lib/terminal-text/scan.js +16 -9
- package/lib/terminal-text/scan.js.map +1 -1
- package/lib/terminal-text/sgr.d.ts +4 -3
- package/lib/terminal-text/sgr.d.ts.map +1 -1
- package/lib/terminal-text/sgr.js +9 -14
- package/lib/terminal-text/sgr.js.map +1 -1
- package/lib/terminal-text.d.ts +7 -12
- package/lib/terminal-text.d.ts.map +1 -1
- package/lib/terminal-text.js +31 -28
- package/lib/terminal-text.js.map +1 -1
- package/lib/text.d.ts +8 -14
- package/lib/text.d.ts.map +1 -1
- package/lib/text.js +14 -15
- package/lib/text.js.map +1 -1
- package/lib/theme-capability.d.ts +3 -15
- package/lib/theme-capability.d.ts.map +1 -1
- package/lib/theme-capability.js +18 -15
- package/lib/theme-capability.js.map +1 -1
- package/lib/theme-defaults.d.ts +3 -57
- package/lib/theme-defaults.d.ts.map +1 -1
- package/lib/theme-defaults.js +25 -14
- package/lib/theme-defaults.js.map +1 -1
- package/lib/theme-files.d.ts +16 -32
- package/lib/theme-files.d.ts.map +1 -1
- package/lib/theme-files.js +43 -27
- package/lib/theme-files.js.map +1 -1
- package/lib/theme-resolver.d.ts +3 -3
- package/lib/theme-resolver.d.ts.map +1 -1
- package/lib/theme-resolver.js +9 -6
- package/lib/theme-resolver.js.map +1 -1
- package/lib/theme-schema.d.ts +7 -42
- package/lib/theme-schema.d.ts.map +1 -1
- package/lib/theme-schema.js +9 -11
- package/lib/theme-schema.js.map +1 -1
- package/lib/theme-settings.d.ts +19 -10
- package/lib/theme-settings.d.ts.map +1 -1
- package/lib/theme-settings.js +23 -17
- package/lib/theme-settings.js.map +1 -1
- package/lib/theme-tokens.d.ts +6 -12
- package/lib/theme-tokens.d.ts.map +1 -1
- package/lib/theme-tokens.js +2 -2
- package/lib/theme-tokens.js.map +1 -1
- package/lib/theme.d.ts +5 -10
- package/lib/theme.d.ts.map +1 -1
- package/lib/theme.js +11 -18
- package/lib/theme.js.map +1 -1
- package/lib/todo-guard.d.ts +8 -4
- package/lib/todo-guard.d.ts.map +1 -1
- package/lib/todo-guard.js +17 -6
- package/lib/todo-guard.js.map +1 -1
- package/lib/tokens.d.ts +0 -2
- package/lib/tokens.d.ts.map +1 -1
- package/lib/tokens.js +1 -1
- package/lib/tokens.js.map +1 -1
- package/lib/tool-display.d.ts +1 -13
- package/lib/tool-display.d.ts.map +1 -1
- package/lib/tool-display.js +4 -4
- package/lib/tool-display.js.map +1 -1
- package/lib/transcript/message-content.d.ts.map +1 -1
- package/lib/transcript/message-content.js +31 -9
- package/lib/transcript/message-content.js.map +1 -1
- package/lib/transcript/tool-calls.d.ts +9 -7
- package/lib/transcript/tool-calls.d.ts.map +1 -1
- package/lib/transcript/tool-calls.js +27 -20
- package/lib/transcript/tool-calls.js.map +1 -1
- package/lib/transcript.d.ts +10 -18
- package/lib/transcript.d.ts.map +1 -1
- package/lib/transcript.js +40 -28
- package/lib/transcript.js.map +1 -1
- package/lib/ui/copy.d.ts +5 -4
- package/lib/ui/copy.d.ts.map +1 -1
- package/lib/ui/copy.js +9 -6
- package/lib/ui/copy.js.map +1 -1
- package/lib/ui/diff.d.ts +0 -30
- package/lib/ui/diff.d.ts.map +1 -1
- package/lib/ui/diff.js +16 -9
- package/lib/ui/diff.js.map +1 -1
- package/lib/ui/dock.d.ts +4 -10
- package/lib/ui/dock.d.ts.map +1 -1
- package/lib/ui/dock.js +10 -14
- package/lib/ui/dock.js.map +1 -1
- package/lib/ui/editor.d.ts +4 -3
- package/lib/ui/editor.d.ts.map +1 -1
- package/lib/ui/editor.js +2 -2
- package/lib/ui/editor.js.map +1 -1
- package/lib/ui/frame.d.ts +4 -12
- package/lib/ui/frame.d.ts.map +1 -1
- package/lib/ui/frame.js +6 -6
- package/lib/ui/frame.js.map +1 -1
- package/lib/ui/gap.d.ts +0 -4
- package/lib/ui/gap.d.ts.map +1 -1
- package/lib/ui/gap.js +4 -3
- package/lib/ui/gap.js.map +1 -1
- package/lib/ui/gate-input.d.ts +3 -3
- package/lib/ui/gate-input.d.ts.map +1 -1
- package/lib/ui/gate-input.js +9 -9
- package/lib/ui/gate-input.js.map +1 -1
- package/lib/ui/layout.d.ts +1 -8
- package/lib/ui/layout.d.ts.map +1 -1
- package/lib/ui/layout.js +5 -3
- package/lib/ui/layout.js.map +1 -1
- package/lib/ui/markdown.d.ts +3 -5
- package/lib/ui/markdown.d.ts.map +1 -1
- package/lib/ui/markdown.js +18 -7
- package/lib/ui/markdown.js.map +1 -1
- package/lib/ui/mermaid.d.ts +0 -11
- package/lib/ui/mermaid.d.ts.map +1 -1
- package/lib/ui/mermaid.js +32 -17
- package/lib/ui/mermaid.js.map +1 -1
- package/lib/ui/picker-card.d.ts +4 -8
- package/lib/ui/picker-card.d.ts.map +1 -1
- package/lib/ui/picker-card.js +17 -15
- package/lib/ui/picker-card.js.map +1 -1
- package/lib/ui/picker.d.ts +10 -17
- package/lib/ui/picker.d.ts.map +1 -1
- package/lib/ui/picker.js +14 -8
- package/lib/ui/picker.js.map +1 -1
- package/lib/ui/stash-picker.d.ts +1 -10
- package/lib/ui/stash-picker.d.ts.map +1 -1
- package/lib/ui/stash-picker.js +4 -4
- package/lib/ui/stash-picker.js.map +1 -1
- package/lib/ui/status.d.ts +2 -19
- package/lib/ui/status.d.ts.map +1 -1
- package/lib/ui/status.js +15 -17
- package/lib/ui/status.js.map +1 -1
- package/lib/ui/view/document.d.ts +4 -1
- package/lib/ui/view/document.d.ts.map +1 -1
- package/lib/ui/view/document.js +15 -6
- package/lib/ui/view/document.js.map +1 -1
- package/lib/ui/view/gate-card.d.ts +2 -0
- package/lib/ui/view/gate-card.d.ts.map +1 -1
- package/lib/ui/view/gate-card.js +12 -10
- package/lib/ui/view/gate-card.js.map +1 -1
- package/lib/ui/view/tool-card.d.ts +7 -4
- package/lib/ui/view/tool-card.d.ts.map +1 -1
- package/lib/ui/view/tool-card.js +12 -17
- package/lib/ui/view/tool-card.js.map +1 -1
- package/lib/ui/view/transcript-message.d.ts +7 -7
- package/lib/ui/view/transcript-message.d.ts.map +1 -1
- package/lib/ui/view/transcript-message.js +19 -10
- package/lib/ui/view/transcript-message.js.map +1 -1
- package/lib/ui/view.d.ts +8 -8
- package/lib/ui/view.d.ts.map +1 -1
- package/lib/ui/view.js +11 -13
- package/lib/ui/view.js.map +1 -1
- package/lib/work.d.ts +13 -10
- package/lib/work.d.ts.map +1 -1
- package/lib/work.js +30 -8
- package/lib/work.js.map +1 -1
- package/package.json +11 -7
- package/presets/cordis.patch.yml +1 -0
- package/presets/minimal.patch.yml +1 -0
- package/presets/ptc.patch.yml +1 -0
- package/presets/standard.patch.yml +1 -0
- package/themes/deepseek-blue.yaml +38 -51
- package/themes/marine-static.yaml +27 -35
- package/themes/pine-slope.yaml +13 -11
- package/themes/polar-drift.yaml +6 -0
- package/themes/violet-orbit.yaml +14 -18
- package/themes/wine-thicket.yaml +13 -13
package/lib/input.js
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
import { decodeKittyPrintable, isKeyRelease } from '@earendil-works/pi-tui';
|
|
10
10
|
const KEY_SEQUENCE_START = '\x1b[';
|
|
11
11
|
const PRINTABLE_TEXT = /^[^\u0000-\u001f\u007f-\u009f]+$/u;
|
|
12
|
+
/** Paste filters share the typed-text policy, so terminal controls cannot become invisible search characters. */
|
|
13
|
+
const PASTE_CONTROL_BYTES = /[\u0000-\u001f\u007f-\u009f]/gu;
|
|
12
14
|
// Kitty reserves this area for functional keys, not printable filter characters.
|
|
13
15
|
const KITTY_FUNCTIONAL_TEXT = /^[\ue000-\uf8ff]$/u;
|
|
14
16
|
const GRAPHEMES = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
@@ -28,7 +30,7 @@ export function pastedText(data) {
|
|
|
28
30
|
return undefined;
|
|
29
31
|
const rest = data.slice(start + PASTE_START.length);
|
|
30
32
|
const end = rest.indexOf(PASTE_END);
|
|
31
|
-
const text = (end === -1 ? rest : rest.slice(0, end)).replace(
|
|
33
|
+
const text = (end === -1 ? rest : rest.slice(0, end)).replace(PASTE_CONTROL_BYTES, '');
|
|
32
34
|
return text.isWellFormed() ? text : undefined;
|
|
33
35
|
}
|
|
34
36
|
/** A release must not confirm a gate, move a cursor, or insert a second copy of a key. */
|
package/lib/input.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE3E,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAClC,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAC1D,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAClD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;AAE5E,8EAA8E;AAC9E,MAAM,WAAW,GAAG,WAAW,CAAA;AAC/B,MAAM,SAAS,GAAG,WAAW,CAAA;AAE7B;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../src/input.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE3E,MAAM,kBAAkB,GAAG,OAAO,CAAA;AAClC,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAC1D,iHAAiH;AACjH,MAAM,mBAAmB,GAAG,gCAAgC,CAAA;AAC5D,iFAAiF;AACjF,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAClD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAA;AAE5E,8EAA8E;AAC9E,MAAM,WAAW,GAAG,WAAW,CAAA;AAC/B,MAAM,SAAS,GAAG,WAAW,CAAA;AAE7B;;;;;;GAMG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;IACvC,IAAI,KAAK,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAA;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAA;IACtF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC/C,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAA;AAClE,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IAC9B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,WAAW,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAA;IACvC,MAAM,OAAO,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAA;IAC1C,IAAI,OAAO,KAAK,SAAS,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IAClF,MAAM,IAAI,GAAG,OAAO,IAAI,IAAI,CAAA;IAC5B,OAAO,IAAI,CAAC,YAAY,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5E,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC7C,IAAI,IAAI,GAAG,CAAC,CAAA;IACZ,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAA;IACrE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAC5B,CAAC"}
|
package/lib/install-skills.d.ts
CHANGED
|
@@ -1,24 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
export declare const SKILL_UPDATE_COMMAND = "dsh --profile tui install-skills --update";
|
|
1
|
+
/** Distinguish collisions so startup can ask for replacement consent instead of reporting a failed copy. */
|
|
3
2
|
export declare class SkillAlreadyExistsError extends Error {
|
|
4
3
|
readonly destination: string;
|
|
5
4
|
constructor(destination: string);
|
|
6
5
|
}
|
|
7
|
-
/**
|
|
8
|
-
* The skills this package ships, read from the bundled directory rather than
|
|
9
|
-
* listed: a skill a reader can see here is one `install-skills` installs, and
|
|
10
|
-
* adding another never means editing the installer.
|
|
11
|
-
*/
|
|
12
|
-
export declare function bundledSkillNames(bundled?: string): string[];
|
|
13
|
-
/**
|
|
14
|
-
* The installed copies that no longer match what this package ships.
|
|
15
|
-
*
|
|
16
|
-
* Content only, over the bundled file set. The installer chmods its own
|
|
17
|
-
* helpers, so a mode difference is its doing rather than drift, and a file a
|
|
18
|
-
* reader added beside a skill is theirs: one startup line can explain neither,
|
|
19
|
-
* and a line that cries wolf gets read past when it matters.
|
|
20
|
-
*/
|
|
21
|
-
export declare function driftedSkillNames(home?: string, bundled?: string): string[];
|
|
22
6
|
/**
|
|
23
7
|
* The one line a startup can spare for an installed skill this build has moved
|
|
24
8
|
* past, or `undefined` when every installed copy still matches.
|
|
@@ -26,14 +10,13 @@ export declare function driftedSkillNames(home?: string, bundled?: string): stri
|
|
|
26
10
|
* Silence on any failure: a notice is a courtesy, and an unreadable home must
|
|
27
11
|
* not cost a reader the session they launched.
|
|
28
12
|
*/
|
|
29
|
-
export declare function describeSkillDrift(
|
|
30
|
-
/** Install one bundled skill, or replace the installed copy when `update`. */
|
|
31
|
-
export declare function installBundledSkill(name: string, home?: string, update?: boolean): string;
|
|
13
|
+
export declare function describeSkillDrift(): string | undefined;
|
|
32
14
|
/**
|
|
33
15
|
* Install every bundled skill, or exactly the named ones.
|
|
34
16
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
17
|
+
* Check all collisions before copying so a known collision cannot leave earlier
|
|
18
|
+
* skills installed. Root directories may already be created; later filesystem
|
|
19
|
+
* failures do not roll back the batch.
|
|
37
20
|
*/
|
|
38
21
|
export declare function installBundledSkills(home?: string, update?: boolean, names?: readonly string[]): string[];
|
|
39
22
|
//# sourceMappingURL=install-skills.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-skills.d.ts","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-skills.d.ts","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"AAsBA,4GAA4G;AAC5G,qBAAa,uBAAwB,SAAQ,KAAK;IACpC,QAAQ,CAAC,WAAW,EAAE,MAAM;gBAAnB,WAAW,EAAE,MAAM;CAGzC;AAiED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,GAAG,SAAS,CASvD;AA+GD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,GAAE,MAAkB,EAAE,MAAM,UAAQ,EAAE,KAAK,GAAE,SAAS,MAAM,EAAwB,GAAG,MAAM,EAAE,CAyBvI"}
|
package/lib/install-skills.js
CHANGED
|
@@ -11,12 +11,13 @@ const SKILLS_DIRECTORY = 'skills';
|
|
|
11
11
|
const HELPER_EXTENSIONS = ['.sh', '.mjs'];
|
|
12
12
|
const EXECUTABLE_MODE = 0o755;
|
|
13
13
|
/** The command a drift notice names, so the line it prints is the line that runs. */
|
|
14
|
-
|
|
14
|
+
const SKILL_UPDATE_COMMAND = 'dsh --profile tui install-skills --update';
|
|
15
15
|
/** Separator the surface's own notices use, so a drift line reads like the rest. */
|
|
16
16
|
const NOTICE_SEPARATOR = ' · ';
|
|
17
17
|
function installedSkillsRoot(home) {
|
|
18
18
|
return join(home, AGENTS_DIRECTORY, SKILLS_DIRECTORY);
|
|
19
19
|
}
|
|
20
|
+
/** Distinguish collisions so startup can ask for replacement consent instead of reporting a failed copy. */
|
|
20
21
|
export class SkillAlreadyExistsError extends Error {
|
|
21
22
|
destination;
|
|
22
23
|
constructor(destination) {
|
|
@@ -29,7 +30,8 @@ export class SkillAlreadyExistsError extends Error {
|
|
|
29
30
|
* listed: a skill a reader can see here is one `install-skills` installs, and
|
|
30
31
|
* adding another never means editing the installer.
|
|
31
32
|
*/
|
|
32
|
-
|
|
33
|
+
function bundledSkillNames() {
|
|
34
|
+
const bundled = SKILLS_ROOT;
|
|
33
35
|
const root = lstatSync(bundled);
|
|
34
36
|
if (!root.isDirectory() || root.isSymbolicLink())
|
|
35
37
|
throw new Error(`invalid bundled skills: ${bundled}`);
|
|
@@ -70,9 +72,9 @@ function skillFiles(root) {
|
|
|
70
72
|
* reader added beside a skill is theirs: one startup line can explain neither,
|
|
71
73
|
* and a line that cries wolf gets read past when it matters.
|
|
72
74
|
*/
|
|
73
|
-
|
|
74
|
-
const skills = installedSkillsRoot(
|
|
75
|
-
return bundledSkillNames(
|
|
75
|
+
function driftedSkillNames() {
|
|
76
|
+
const skills = installedSkillsRoot(homedir());
|
|
77
|
+
return bundledSkillNames().filter(name => {
|
|
76
78
|
const destination = join(skills, name);
|
|
77
79
|
const entry = lstatSync(destination, { throwIfNoEntry: false });
|
|
78
80
|
// Never installed is not drift - a first install is that command's own
|
|
@@ -80,7 +82,7 @@ export function driftedSkillNames(home = homedir(), bundled = SKILLS_ROOT) {
|
|
|
80
82
|
if (entry === undefined || entry.isSymbolicLink() || !entry.isDirectory())
|
|
81
83
|
return false;
|
|
82
84
|
const installed = skillFiles(destination);
|
|
83
|
-
for (const [path, content] of skillFiles(join(
|
|
85
|
+
for (const [path, content] of skillFiles(join(SKILLS_ROOT, name))) {
|
|
84
86
|
const current = installed.get(path);
|
|
85
87
|
if (current === undefined || !current.equals(content))
|
|
86
88
|
return true;
|
|
@@ -95,9 +97,9 @@ export function driftedSkillNames(home = homedir(), bundled = SKILLS_ROOT) {
|
|
|
95
97
|
* Silence on any failure: a notice is a courtesy, and an unreadable home must
|
|
96
98
|
* not cost a reader the session they launched.
|
|
97
99
|
*/
|
|
98
|
-
export function describeSkillDrift(
|
|
100
|
+
export function describeSkillDrift() {
|
|
99
101
|
try {
|
|
100
|
-
const drifted = driftedSkillNames(
|
|
102
|
+
const drifted = driftedSkillNames();
|
|
101
103
|
if (drifted.length === 0)
|
|
102
104
|
return undefined;
|
|
103
105
|
return `bundled skills changed since they were installed: ${drifted.join(NOTICE_SEPARATOR)}`
|
|
@@ -163,7 +165,7 @@ function copyBundledSkill(name, destination) {
|
|
|
163
165
|
throw error;
|
|
164
166
|
}
|
|
165
167
|
}
|
|
166
|
-
/**
|
|
168
|
+
/** Only plain directories may be replaced; a symlink or unrelated file is not an installed skill to update. */
|
|
167
169
|
function requireReplaceable(destination) {
|
|
168
170
|
const entry = lstatSync(destination, { throwIfNoEntry: false });
|
|
169
171
|
if (entry === undefined)
|
|
@@ -173,8 +175,9 @@ function requireReplaceable(destination) {
|
|
|
173
175
|
if (!entry.isDirectory())
|
|
174
176
|
throw new Error(`not a directory: ${destination}`);
|
|
175
177
|
}
|
|
176
|
-
/** Stage
|
|
178
|
+
/** Stage before moving the user copy so copy failures leave it intact; restoration after a move is best-effort. */
|
|
177
179
|
function replaceBundledSkill(name, destination, skills) {
|
|
180
|
+
// Keep staging and backup under the destination root so replacement renames stay on the same filesystem.
|
|
178
181
|
const workspace = mkdtempSync(join(skills, `.${name}-update-`));
|
|
179
182
|
const staged = join(workspace, 'new');
|
|
180
183
|
const backup = join(workspace, 'previous');
|
|
@@ -217,28 +220,25 @@ function replaceBundledSkill(name, destination, skills) {
|
|
|
217
220
|
renameSync(backup, destination);
|
|
218
221
|
}
|
|
219
222
|
catch {
|
|
220
|
-
//
|
|
223
|
+
// Preserve the update failure; cleanup below may remove the backup if restoration also fails.
|
|
221
224
|
}
|
|
222
225
|
}
|
|
223
226
|
try {
|
|
224
227
|
rmSync(workspace, { recursive: true, force: true });
|
|
225
228
|
}
|
|
226
229
|
catch {
|
|
227
|
-
//
|
|
230
|
+
// Keep the installation failure primary; workspace removal is only best-effort.
|
|
228
231
|
}
|
|
229
232
|
throw error;
|
|
230
233
|
}
|
|
231
234
|
return destination;
|
|
232
235
|
}
|
|
233
|
-
/** Install one bundled skill, or replace the installed copy when `update`. */
|
|
234
|
-
export function installBundledSkill(name, home = homedir(), update = false) {
|
|
235
|
-
return installBundledSkills(home, update, [name])[0];
|
|
236
|
-
}
|
|
237
236
|
/**
|
|
238
237
|
* Install every bundled skill, or exactly the named ones.
|
|
239
238
|
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
239
|
+
* Check all collisions before copying so a known collision cannot leave earlier
|
|
240
|
+
* skills installed. Root directories may already be created; later filesystem
|
|
241
|
+
* failures do not roll back the batch.
|
|
242
242
|
*/
|
|
243
243
|
export function installBundledSkills(home = homedir(), update = false, names = bundledSkillNames()) {
|
|
244
244
|
ensureDirectory(home);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAC7H,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AACrE,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAA;AAC3D,+FAA+F;AAC/F,MAAM,gBAAgB,GAAG,SAAS,CAAA;AAClC,MAAM,gBAAgB,GAAG,QAAQ,CAAA;AACjC,mFAAmF;AACnF,MAAM,iBAAiB,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AACzC,MAAM,eAAe,GAAG,KAAK,CAAA;AAC7B,qFAAqF;AACrF,MAAM,
|
|
1
|
+
{"version":3,"file":"install-skills.js","sourceRoot":"","sources":["../src/install-skills.ts"],"names":[],"mappings":"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"}
|
package/lib/jobs.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
+
import type { SessionId } from '@deepseek-ai/dsh-session';
|
|
2
3
|
/** Lifecycle states a background job can be in. */
|
|
3
4
|
export type JobStatus = 'running' | 'stopping' | 'completed' | 'killed' | 'failed';
|
|
4
5
|
/** One background job as the surface shows it. */
|
|
@@ -7,7 +8,7 @@ export interface JobSummary {
|
|
|
7
8
|
readonly kind: string;
|
|
8
9
|
readonly label: string;
|
|
9
10
|
readonly status: JobStatus;
|
|
10
|
-
readonly startedAt: number;
|
|
11
|
+
readonly startedAt: number | undefined;
|
|
11
12
|
readonly finishedAt: number | undefined;
|
|
12
13
|
}
|
|
13
14
|
/** What a `/jobs` argument asks the surface to do. */
|
|
@@ -44,14 +45,14 @@ export declare function parseJobsArgument(argument: string): JobsCommand | {
|
|
|
44
45
|
};
|
|
45
46
|
/** The background-job registry, when the composition mounts one. */
|
|
46
47
|
export interface JobDirectory {
|
|
47
|
-
list(caller:
|
|
48
|
-
read(caller:
|
|
48
|
+
list(caller: SessionId): readonly JobSummary[];
|
|
49
|
+
read(caller: SessionId, id: string): {
|
|
49
50
|
readonly text: string;
|
|
50
51
|
readonly snapshot: JobSummary | undefined;
|
|
51
52
|
} | undefined;
|
|
52
|
-
kill(caller:
|
|
53
|
+
kill(caller: SessionId, id: string): 'requested' | 'already-finished' | undefined;
|
|
53
54
|
/** Watch for changes; the callback receives the owner the change belongs to. */
|
|
54
|
-
watch(listener: (owner:
|
|
55
|
+
watch(listener: (owner: SessionId | undefined) => void): () => void;
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* Wrap the job registry.
|
|
@@ -59,6 +60,10 @@ export interface JobDirectory {
|
|
|
59
60
|
* Jobs are live process state rather than durable events, so this is the one
|
|
60
61
|
* part of the surface a resume cannot reconstruct: the dock shows what this
|
|
61
62
|
* run started, and says so by simply being empty afterwards.
|
|
63
|
+
*
|
|
64
|
+
* Forward the driven session ID because the registry authorizes callers by
|
|
65
|
+
* session, not Agent identity. Preserve change owners so the watcher ignores other
|
|
66
|
+
* sessions without losing ownerless refreshes.
|
|
62
67
|
*/
|
|
63
68
|
export declare function createJobDirectory(ctx: Context): JobDirectory | undefined;
|
|
64
69
|
//# sourceMappingURL=jobs.d.ts.map
|
package/lib/jobs.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAGzD,mDAAmD;AACnD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAElF,kDAAkD;AAClD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAA;IAC1B,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAA;CACxC;AAED,sDAAsD;AACtD,MAAM,MAAM,WAAW,GACnB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACzB;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAElD,uDAAuD;AACvD,eAAO,MAAM,cAAc,IAAI,CAAA;AAE/B,gFAAgF;AAChF,eAAO,MAAM,cAAc,KAAK,CAAA;AAgBhC,sEAAsE;AACtE,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED,2CAA2C;AAC3C,wBAAgB,MAAM,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAEjD;AAYD,wEAAwE;AACxE,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAS7E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAWvH;AA6BD,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,UAAU,EAAE,CAAA;IAC9C,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,CAAA;KAAE,GAAG,SAAS,CAAA;IACrH,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,WAAW,GAAG,kBAAkB,GAAG,SAAS,CAAA;IACjF,gFAAgF;IAChF,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CACpE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,SAAS,CA+BzE"}
|
package/lib/jobs.js
CHANGED
|
@@ -3,6 +3,10 @@ import { describeAge } from "./ui/picker.js";
|
|
|
3
3
|
export const DOCK_JOB_LIMIT = 2;
|
|
4
4
|
/** Output lines a `/jobs read` shows, so a chatty job cannot flood the view. */
|
|
5
5
|
export const JOB_READ_LINES = 20;
|
|
6
|
+
const JOB_ACTION_ARGUMENT_COUNT = 2;
|
|
7
|
+
/** UI reads start at retained history rather than advancing the model's cursor. */
|
|
8
|
+
const JOB_OUTPUT_START_OFFSET = 0;
|
|
9
|
+
const JOB_EXTRA_ARGUMENT_REASON = 'accepts only a job id; use /jobs read <id> or /jobs kill <id>';
|
|
6
10
|
const SECOND_MS = 1000;
|
|
7
11
|
const MINUTE_MS = 60 * SECOND_MS;
|
|
8
12
|
const HOUR_MS = 60 * MINUTE_MS;
|
|
@@ -12,11 +16,14 @@ function asRecord(value) {
|
|
|
12
16
|
}
|
|
13
17
|
/** How long a job ran, or has been running, in the reader's units. */
|
|
14
18
|
export function describeDuration(ms) {
|
|
15
|
-
|
|
19
|
+
// Whole elapsed seconds never claim time that has not passed or produce a 60-second remainder.
|
|
20
|
+
if (!Number.isFinite(ms))
|
|
21
|
+
return 'unknown';
|
|
22
|
+
const elapsed = Math.floor(Math.max(0, ms) / SECOND_MS) * SECOND_MS;
|
|
16
23
|
if (elapsed < MINUTE_MS)
|
|
17
|
-
return `${
|
|
24
|
+
return `${elapsed / SECOND_MS}s`;
|
|
18
25
|
if (elapsed < HOUR_MS)
|
|
19
|
-
return `${Math.floor(elapsed / MINUTE_MS)}m${String(
|
|
26
|
+
return `${Math.floor(elapsed / MINUTE_MS)}m${String((elapsed % MINUTE_MS) / SECOND_MS).padStart(2, '0')}s`;
|
|
20
27
|
return `${Math.floor(elapsed / HOUR_MS)}h${String(Math.floor((elapsed % HOUR_MS) / MINUTE_MS)).padStart(2, '0')}m`;
|
|
21
28
|
}
|
|
22
29
|
/** Whether a job still holds resources. */
|
|
@@ -25,7 +32,10 @@ export function isLive(status) {
|
|
|
25
32
|
}
|
|
26
33
|
/** When a settled job ended, in the reader's units. */
|
|
27
34
|
function describeFinished(job, now) {
|
|
28
|
-
|
|
35
|
+
// A missing completion timestamp cannot establish when the job actually settled.
|
|
36
|
+
const finishedAt = job.finishedAt;
|
|
37
|
+
if (finishedAt === undefined)
|
|
38
|
+
return 'time unknown';
|
|
29
39
|
const elapsed = Math.max(0, now - finishedAt);
|
|
30
40
|
if (elapsed < SECOND_MS)
|
|
31
41
|
return 'just now';
|
|
@@ -34,7 +44,7 @@ function describeFinished(job, now) {
|
|
|
34
44
|
/** One job as a single row, with its duration and where it ended up. */
|
|
35
45
|
export function describeJob(job, now) {
|
|
36
46
|
const time = isLive(job.status)
|
|
37
|
-
? `${job.status} ${describeDuration(now - job.startedAt)}`
|
|
47
|
+
? `${job.status} ${job.startedAt === undefined ? 'duration unknown' : describeDuration(now - job.startedAt)}`
|
|
38
48
|
: `${job.status} ${describeFinished(job, now)}`;
|
|
39
49
|
const label = job.label.trim() === '' ? job.kind : job.label;
|
|
40
50
|
return `${job.id} · ${time} — ${label}`;
|
|
@@ -46,7 +56,7 @@ export function describeJobs(jobs, now) {
|
|
|
46
56
|
const live = jobs.filter(job => isLive(job.status)).length;
|
|
47
57
|
const header = `jobs · ${jobs.length}${live === 0 ? '' : ` (${live} running)`}`;
|
|
48
58
|
const rows = [...jobs]
|
|
49
|
-
.sort((left, right) => right.startedAt - left.startedAt)
|
|
59
|
+
.sort((left, right) => (right.startedAt ?? 0) - (left.startedAt ?? 0))
|
|
50
60
|
.slice(0, JOB_READ_LINES)
|
|
51
61
|
.map(job => ` ${describeJob(job, now)}`);
|
|
52
62
|
return [header, ...rows].join('\n');
|
|
@@ -67,8 +77,12 @@ export function parseJobsArgument(argument) {
|
|
|
67
77
|
}
|
|
68
78
|
if (id === '')
|
|
69
79
|
return { kind: 'invalid', reason: `${verb} needs a job id; /jobs lists them` };
|
|
80
|
+
// Reject ambiguous intent before registry reads consume output or kills stop work.
|
|
81
|
+
if (parts.length > JOB_ACTION_ARGUMENT_COUNT)
|
|
82
|
+
return { kind: 'invalid', reason: `${verb} ${JOB_EXTRA_ARGUMENT_REASON}` };
|
|
70
83
|
return verb === 'read' ? { kind: 'read', id } : { kind: 'kill', id };
|
|
71
84
|
}
|
|
85
|
+
// Keep identifiable jobs visible without display metadata; fallback timestamps do not establish actual job times.
|
|
72
86
|
function toSummary(value) {
|
|
73
87
|
const record = asRecord(value);
|
|
74
88
|
const id = record?.id;
|
|
@@ -80,8 +94,9 @@ function toSummary(value) {
|
|
|
80
94
|
kind: typeof record?.kind === 'string' ? record.kind : 'job',
|
|
81
95
|
label: typeof record?.label === 'string' ? record.label : '',
|
|
82
96
|
status: status,
|
|
83
|
-
|
|
84
|
-
|
|
97
|
+
// Missing or invalid timestamps cannot establish a duration or completion age.
|
|
98
|
+
startedAt: typeof record?.startedAt === 'number' && Number.isFinite(record.startedAt) ? record.startedAt : undefined,
|
|
99
|
+
finishedAt: typeof record?.finishedAt === 'number' && Number.isFinite(record.finishedAt) ? record.finishedAt : undefined,
|
|
85
100
|
};
|
|
86
101
|
}
|
|
87
102
|
/**
|
|
@@ -90,6 +105,10 @@ function toSummary(value) {
|
|
|
90
105
|
* Jobs are live process state rather than durable events, so this is the one
|
|
91
106
|
* part of the surface a resume cannot reconstruct: the dock shows what this
|
|
92
107
|
* run started, and says so by simply being empty afterwards.
|
|
108
|
+
*
|
|
109
|
+
* Forward the driven session ID because the registry authorizes callers by
|
|
110
|
+
* session, not Agent identity. Preserve change owners so the watcher ignores other
|
|
111
|
+
* sessions without losing ownerless refreshes.
|
|
93
112
|
*/
|
|
94
113
|
export function createJobDirectory(ctx) {
|
|
95
114
|
const registry = ctx.get('jobs');
|
|
@@ -101,12 +120,14 @@ export function createJobDirectory(ctx) {
|
|
|
101
120
|
return summary === undefined ? [] : [summary];
|
|
102
121
|
}),
|
|
103
122
|
read: (caller, id) => {
|
|
104
|
-
|
|
123
|
+
// UI reads must not advance the model's output cursor or consume its completion result.
|
|
124
|
+
const result = asRecord(registry.readAt?.(id, JOB_OUTPUT_START_OFFSET, caller));
|
|
105
125
|
if (result === undefined)
|
|
106
126
|
return undefined;
|
|
127
|
+
const chunks = Array.isArray(result.chunks) ? result.chunks : [];
|
|
107
128
|
return {
|
|
108
|
-
text:
|
|
109
|
-
snapshot: toSummary(
|
|
129
|
+
text: chunks.map(chunk => asRecord(chunk)?.text).filter((text) => typeof text === 'string').join(''),
|
|
130
|
+
snapshot: toSummary(registry.get?.(id, caller)),
|
|
110
131
|
};
|
|
111
132
|
},
|
|
112
133
|
kill: (caller, id) => {
|
|
@@ -114,9 +135,14 @@ export function createJobDirectory(ctx) {
|
|
|
114
135
|
return outcome === 'requested' || outcome === 'already-finished' ? outcome : undefined;
|
|
115
136
|
},
|
|
116
137
|
watch: listener => {
|
|
117
|
-
if (typeof registry.
|
|
138
|
+
if (typeof registry.events?.subscribe !== 'function')
|
|
118
139
|
return () => { };
|
|
119
|
-
return registry.
|
|
140
|
+
return registry.events.subscribe({ owners: 'all' }, event => {
|
|
141
|
+
const record = asRecord(event);
|
|
142
|
+
const owner = record?.owner ?? asRecord(record?.job)?.owner;
|
|
143
|
+
if (owner === undefined || typeof owner === 'string')
|
|
144
|
+
listener(owner);
|
|
145
|
+
});
|
|
120
146
|
},
|
|
121
147
|
};
|
|
122
148
|
}
|
package/lib/jobs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"jobs.js","sourceRoot":"","sources":["../src/jobs.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAqB5C,uDAAuD;AACvD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAA;AAE/B,gFAAgF;AAChF,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAEhC,MAAM,yBAAyB,GAAG,CAAC,CAAA;AACnC,mFAAmF;AACnF,MAAM,uBAAuB,GAAG,CAAC,CAAA;AACjC,MAAM,yBAAyB,GAAG,+DAA+D,CAAA;AAEjG,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,EAAE,GAAG,SAAS,CAAA;AAChC,MAAM,OAAO,GAAG,EAAE,GAAG,SAAS,CAAA;AAC9B,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAY,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE7F,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAE,KAAiC,CAAC,CAAC,CAAC,SAAS,CAAA;AACrG,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,gBAAgB,CAAC,EAAU;IACzC,+FAA+F;IAC/F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,SAAS,CAAC,GAAG,SAAS,CAAA;IACnE,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,GAAG,OAAO,GAAG,SAAS,GAAG,CAAA;IACzD,IAAI,OAAO,GAAG,OAAO;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,MAAM,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;IACjI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAA;AACpH,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,MAAM,CAAC,MAAiB;IACtC,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,UAAU,CAAA;AACtD,CAAC;AAED,uDAAuD;AACvD,SAAS,gBAAgB,CAAC,GAAe,EAAE,GAAW;IACpD,iFAAiF;IACjF,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjC,IAAI,UAAU,KAAK,SAAS;QAAE,OAAO,cAAc,CAAA;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,UAAU,CAAC,CAAA;IAC7C,IAAI,OAAO,GAAG,SAAS;QAAE,OAAO,UAAU,CAAA;IAC1C,OAAO,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAA;AAChG,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,WAAW,CAAC,GAAe,EAAE,GAAW;IACtD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7B,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,EAAE;QAC7G,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;IACjD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAA;IAC5D,OAAO,GAAG,GAAG,CAAC,EAAE,MAAM,IAAI,MAAM,KAAK,EAAE,CAAA;AACzC,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,IAA2B,EAAE,GAAW;IACnE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,oBAAoB,CAAA;IAClD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAC1D,MAAM,MAAM,GAAG,UAAU,IAAI,CAAC,MAAM,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,IAAI,WAAW,EAAE,CAAA;IAC/E,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC;SACnB,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;SACrE,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC;SACxB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAA;IAC3C,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;IACvE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAA;IAC/C,MAAM,CAAC,IAAI,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,GAAG,KAAK,CAAA;IAClC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;QACvC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,mBAAmB,IAAI,oDAAoD,EAAE,CAAA;IACjH,CAAC;IACD,IAAI,EAAE,KAAK,EAAE;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,mCAAmC,EAAE,CAAA;IAC7F,mFAAmF;IACnF,IAAI,KAAK,CAAC,MAAM,GAAG,yBAAyB;QAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI,yBAAyB,EAAE,EAAE,CAAA;IACxH,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAA;AACtE,CAAC;AAYD,kHAAkH;AAClH,SAAS,SAAS,CAAC,KAAc;IAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC9B,MAAM,EAAE,GAAG,MAAM,EAAE,EAAE,CAAA;IACrB,MAAM,MAAM,GAAG,MAAM,EAAE,MAAM,CAAA;IAC7B,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAmB,CAAC;QAAE,OAAO,SAAS,CAAA;IAChH,OAAO;QACL,EAAE;QACF,IAAI,EAAE,OAAO,MAAM,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;QAC5D,KAAK,EAAE,OAAO,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC5D,MAAM,EAAE,MAAmB;QAC3B,+EAA+E;QAC/E,SAAS,EAAE,OAAO,MAAM,EAAE,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;QACpH,UAAU,EAAE,OAAO,MAAM,EAAE,UAAU,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;KACzH,CAAA;AACH,CAAC;AAWD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAY;IAC7C,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAgC,CAAA;IAC/D,IAAI,OAAO,QAAQ,EAAE,IAAI,KAAK,UAAU;QAAE,OAAO,SAAS,CAAA;IAC1D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YAC9D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;YAChC,OAAO,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAC/C,CAAC,CAAC;QACF,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACnB,wFAAwF;YACxF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC,CAAA;YAC/E,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAA;YAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAA;YAChE,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpH,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;aAChD,CAAA;QACH,CAAC;QACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,0BAA0B,CAAC,CAAA;YACvE,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;QACxF,CAAC;QACD,KAAK,EAAE,QAAQ,CAAC,EAAE;YAChB,IAAI,OAAO,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,UAAU;gBAAE,OAAO,GAAG,EAAE,GAAE,CAAC,CAAA;YACrE,OAAO,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,CAAC,EAAE;gBAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;gBAC9B,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,CAAA;gBAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,QAAQ;oBAAE,QAAQ,CAAC,KAA8B,CAAC,CAAA;YAChG,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
package/lib/keymaps.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keymaps.d.ts","sourceRoot":"","sources":["../src/keymaps.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAoC,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAIzF,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAK9C,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;AACpI,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACjF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C;AACD,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,KAAK,EAAE,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;CACtF;AACD,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,CAAA;IAC1D,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAA;IACvF,OAAO,IAAI,SAAS,MAAM,EAAE,CAAA;IAC5B,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,CAAA;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CACzF;AACD,OAAO,QAAQ,qBAAqB,CAAC;IAAE,UAAU,OAAO;QAAG,UAAU,EAAE,cAAc,CAAA;KAAE;CAAE;AAEzF,iGAAiG;AACjG,wBAAgB,oBAAoB,IAAI,cAAc,
|
|
1
|
+
{"version":3,"file":"keymaps.d.ts","sourceRoot":"","sources":["../src/keymaps.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAC1F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAoC,KAAK,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAIzF,eAAO,MAAM,IAAI,gBAAgB,CAAA;AACjC,6FAA6F;AAC7F,eAAO,MAAM,kBAAkB,eAAe,CAAA;AAK9C,6FAA6F;AAC7F,MAAM,WAAW,SAAS;IAAG,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE;AACpI,gFAAgF;AAChF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAA;IACjF,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,SAAS,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAA;IACrH,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;CAC3C;AACD,+FAA+F;AAC/F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IACnC,QAAQ,CAAC,WAAW,EAAE,SAAS,KAAK,EAAE,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,MAAM,GAAG,SAAS,CAAA;CACtF;AACD,0FAA0F;AAC1F,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,IAAI,CAAA;IAC1D,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,IAAI,CAAA;IACvF,OAAO,IAAI,SAAS,MAAM,EAAE,CAAA;IAC5B,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,SAAS,MAAM,EAAE,CAAA;IACvE,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,eAAe,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAClD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CACzF;AACD,OAAO,QAAQ,qBAAqB,CAAC;IAAE,UAAU,OAAO;QAAG,UAAU,EAAE,cAAc,CAAA;KAAE;CAAE;AAEzF,iGAAiG;AACjG,wBAAgB,oBAAoB,IAAI,cAAc,CA8ErD;AAED,gGAAgG;AAChG,wBAAgB,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAA4D"}
|
package/lib/keymaps.js
CHANGED
|
@@ -88,6 +88,8 @@ export function createKeymapRegistry() {
|
|
|
88
88
|
throw new Error(UNAVAILABLE);
|
|
89
89
|
await action.handler(ports);
|
|
90
90
|
},
|
|
91
|
+
// Addons can offer route-specific UI after effort selection without entering the built-in action table.
|
|
92
|
+
// Await each followup before another picker opens; earlier callbacks may dispose later registrations.
|
|
91
93
|
effortConfirmed: async (ports) => {
|
|
92
94
|
for (const registration of [...followups])
|
|
93
95
|
if (followups.has(registration))
|
package/lib/keymaps.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keymaps.js","sourceRoot":"","sources":["../src/keymaps.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keymaps.js","sourceRoot":"","sources":["../src/keymaps.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAe,MAAM,2BAA2B,CAAA;AACzF,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAElD,MAAM,CAAC,MAAM,IAAI,GAAG,aAAa,CAAA;AACjC,6FAA6F;AAC7F,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAAA;AAC9C,MAAM,WAAW,GAAG,kCAAkC,CAAA;AACtD,MAAM,cAAc,GAAG,0FAA0F,CAAA;AACjH,MAAM,SAAS,GAAG,6BAA6B,CAAA;AAgC/C,iGAAiG;AACjG,MAAM,UAAU,oBAAoB;IAClC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAwB,CAAA;IACrD,MAAM,SAAS,GAAG,IAAI,GAAG,EAA+D,CAAA;IACxF,MAAM,SAAS,GAAG,IAAI,GAAG,EAA2E,CAAA;IACpG,MAAM,OAAO,GAAG,CAAC,OAA0C,aAAa,EAAqB,EAAE,CAAC;QAC9F,GAAG,cAAc;QACjB,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK;YAC9G,UAAU,EAAE,GAAG,CAAC,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;KACzD,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,IAAuC,EAAQ,EAAE;QAChE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;QAC7B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;YAAE,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;QACpD,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC5D,aAAa,CAAC,KAAK,EAAE,CAAA;QACrB,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,IAAI;YAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QACxD,KAAK,MAAM,QAAQ,IAAI,SAAS;YAAE,QAAQ,CAAC,OAAO,EAAE,CAAA;IACtD,CAAC,CAAA;IACD,OAAO;QACL,OAAO;QACP,UAAU,EAAE,KAAK,CAAC,EAAE;YAClB,MAAM,KAAK,GAAa,EAAE,CAAA;YAC1B,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC;gBACjD,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM;oBAAE,SAAQ;gBACrD,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,CAAA;oBACtC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,IAAI;wBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;gBAC/G,CAAC;gBAAC,MAAM,CAAC;oBACP,8EAA8E;gBAChF,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC1B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,sBAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,KAAK;mBAC5G,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,UAAU;mBACpF,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,UAAU,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,cAAc,CAAC,CAAA;YAChH,IAAI,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;YAC5D,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,MAAM,CAAC,WAAW,CAAC,CAAA;YACpI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAA;YACnF,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;YACpD,wEAAwE;YACxE,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7B,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;gBAAE,aAAa,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;YACpD,KAAK,MAAM,QAAQ,IAAI,SAAS;gBAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;gBACvB,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAA;gBACzD,OAAO,CAAC,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAA;gBAChD,OAAO,GAAG,EAAE;oBACV,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG;wBAAE,OAAM;oBAC7C,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAA;oBACxC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;oBACxB,OAAO,CAAC,SAAS,CAAC,CAAA;gBACpB,CAAC,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE;YACjD,mFAAmF;YACnF,MAAM,YAAY,GAAG,EAAE,OAAO,EAAE,CAAA;YAChC,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YAC3B,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA,CAAC,CAAC,CAAA;QACjD,CAAC,CAAC;QACF,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE;YAC5B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACpC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,WAAW,CAAC,CAAA;YACtD,MAAM,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;QACD,wGAAwG;QACxG,sGAAsG;QACtG,eAAe,EAAE,KAAK,EAAC,KAAK,EAAC,EAAE;YAC7B,KAAK,MAAM,YAAY,IAAI,CAAC,GAAG,SAAS,CAAC;gBAAE,IAAI,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC;oBAAE,MAAM,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;QAC/G,CAAC;QACD,OAAO,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAA;YACnB,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAA;YACtC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACvB,OAAO,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,CAAA;QAC7C,CAAC;KACF,CAAA;AACH,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,KAAK,CAAC,GAAY,IAAU,GAAG,CAAC,OAAO,CAAC,kBAAkB,EAAE,oBAAoB,EAAE,CAAC,CAAA,CAAC,CAAC"}
|
package/lib/keys-command.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export declare const KEYMAP_LAYERS: readonly ActionLayer[];
|
|
|
6
6
|
export declare function keymapLayer(name: string): ActionLayer | undefined;
|
|
7
7
|
/** What one layer is for, so a list narrowed to it can say what the reader is looking at. */
|
|
8
8
|
export declare function layerNote(layer: ActionLayer): string;
|
|
9
|
-
/**
|
|
9
|
+
/** Keep library shadows visible but distinct from actions, so the picker heading counts only effective actions. */
|
|
10
10
|
export interface KeymapRow {
|
|
11
11
|
/** The action id, or the shadow's own name; what a pick would settle on. */
|
|
12
12
|
readonly id: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys-command.d.ts","sourceRoot":"","sources":["../src/keys-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA4E,CAAA;AAmB5H,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEpD;AAED,
|
|
1
|
+
{"version":3,"file":"keys-command.d.ts","sourceRoot":"","sources":["../src/keys-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACzF,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,2BAA2B,CAAA;AAE5D,0EAA0E;AAC1E,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA4E,CAAA;AAmB5H,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS,CAEjE;AAED,6FAA6F;AAC7F,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAEpD;AAED,mHAAmH;AACnH,MAAM,WAAW,SAAS;IACxB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,gFAAgF;IAChF,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,2FAA2F;IAC3F,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,uFAAuF;IACvF,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,SAAS,EAAE,CAyBhF"}
|
package/lib/model-list.d.ts
CHANGED
|
@@ -1,31 +1,4 @@
|
|
|
1
1
|
import type { Context } from '@deepseek-ai/cordis';
|
|
2
|
-
/**
|
|
3
|
-
* The directory slice a listing reads.
|
|
4
|
-
*
|
|
5
|
-
* Structural rather than the catalog's own type so formatting stays free of the
|
|
6
|
-
* llm service; the order and the entries are exactly what the picker reads. A
|
|
7
|
-
* name is optional here because an adapter may advertise a route without one,
|
|
8
|
-
* while the id is always the value a request would name.
|
|
9
|
-
*/
|
|
10
|
-
export interface ModelListCatalog {
|
|
11
|
-
providers(): readonly {
|
|
12
|
-
readonly id: string;
|
|
13
|
-
readonly name: string;
|
|
14
|
-
}[];
|
|
15
|
-
models(provider: string): Promise<readonly {
|
|
16
|
-
readonly id: string;
|
|
17
|
-
readonly name?: string;
|
|
18
|
-
}[]>;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Format one line per reachable route, in the picker's own order.
|
|
22
|
-
*
|
|
23
|
-
* The order — registered providers in turn, then each provider's models in the
|
|
24
|
-
* order its adapter answered — is read from the catalog and never re-sorted, so
|
|
25
|
-
* any disagreement with the picker is a catalog disagreement, never a
|
|
26
|
-
* formatting one.
|
|
27
|
-
*/
|
|
28
|
-
export declare function modelListLines(catalog: ModelListCatalog): Promise<string[]>;
|
|
29
2
|
/**
|
|
30
3
|
* Print the model directory to stdout and exit, without touching the terminal.
|
|
31
4
|
*
|
package/lib/model-list.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-list.d.ts","sourceRoot":"","sources":["../src/model-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"model-list.d.ts","sourceRoot":"","sources":["../src/model-list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AA0DlD;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB5F"}
|
package/lib/model-list.js
CHANGED
|
@@ -28,7 +28,7 @@ const CATALOG_GAP_MESSAGES = {
|
|
|
28
28
|
* any disagreement with the picker is a catalog disagreement, never a
|
|
29
29
|
* formatting one.
|
|
30
30
|
*/
|
|
31
|
-
|
|
31
|
+
async function modelListLines(catalog) {
|
|
32
32
|
const lines = [];
|
|
33
33
|
for (const provider of catalog.providers()) {
|
|
34
34
|
for (const model of await catalog.models(provider.id)) {
|
package/lib/model-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-list.js","sourceRoot":"","sources":["../src/model-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAwB,MAAM,kBAAkB,CAAA;AAElG;;;;;GAKG;AACH,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B,kFAAkF;AAClF,MAAM,cAAc,GAAG,iCAAiC,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAoC;IAC5D,cAAc,EAAE,GAAG,uBAAuB,CAAC,cAAc,8BAA8B;IACvF,4BAA4B,EAAE,GAAG,uBAAuB,CAAC,4BAA4B,gCAAgC;UACjH,oDAAoD;CACzD,CAAA;AAeD;;;;;;;GAOG;AACH,
|
|
1
|
+
{"version":3,"file":"model-list.js","sourceRoot":"","sources":["../src/model-list.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAwB,MAAM,kBAAkB,CAAA;AAElG;;;;;GAKG;AACH,MAAM,eAAe,GAAG,IAAI,CAAA;AAE5B,kFAAkF;AAClF,MAAM,cAAc,GAAG,iCAAiC,CAAA;AAExD;;;;;;GAMG;AACH,MAAM,oBAAoB,GAAoC;IAC5D,cAAc,EAAE,GAAG,uBAAuB,CAAC,cAAc,8BAA8B;IACvF,4BAA4B,EAAE,GAAG,uBAAuB,CAAC,4BAA4B,gCAAgC;UACjH,oDAAoD;CACzD,CAAA;AAeD;;;;;;;GAOG;AACH,KAAK,UAAU,cAAc,CAAC,OAAyB;IACrD,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QAC3C,KAAK,MAAM,KAAK,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACtD,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,GAAG,eAAe,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC,CAAA;QACrF,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,GAAY,EAAE,IAA4B;IAC3E,MAAM,IAAI,GAAG,CAAC,OAAe,EAAQ,EAAE;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,GAAG,OAAO,IAAI,CAAC,CAAA;QACrD,IAAI,CAAC,CAAC,CAAC,CAAA;IACT,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;QACvC,OAAM;IACR,CAAC;IACD,IAAI,KAAe,CAAA;IACnB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAC/C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QACxF,OAAM;IACR,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACjD,OAAM;IACR,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC7C,IAAI,CAAC,CAAC,CAAC,CAAA;AACT,CAAC"}
|
package/lib/moshi.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DriverStatus } from './herdr/state.ts';
|
|
2
|
+
/** Surface facts exclude transcript, tool arguments, and approval authority. */
|
|
3
|
+
export interface MoshiReporter {
|
|
4
|
+
session(id: string, status: DriverStatus): void;
|
|
5
|
+
driver(status: DriverStatus): void;
|
|
6
|
+
background(running: boolean): void;
|
|
7
|
+
block(key: string): void;
|
|
8
|
+
unblock(key: string): void;
|
|
9
|
+
dispose(): void;
|
|
10
|
+
}
|
|
11
|
+
/** Best-effort notifications must never hold the terminal or become an agent dependency. */
|
|
12
|
+
export declare function createMoshiReporter(): MoshiReporter | undefined;
|
|
13
|
+
//# sourceMappingURL=moshi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moshi.d.ts","sourceRoot":"","sources":["../src/moshi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAcpD,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAC/C,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAClC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,OAAO,IAAI,IAAI,CAAA;CAChB;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,IAAI,aAAa,GAAG,SAAS,CA8G/D"}
|