@aragon-agent/cli 0.6.47 → 0.6.48
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/CHANGELOG.md +13 -0
- package/README.md +27 -6
- package/dist/agent/coalesce.d.ts +1 -1
- package/dist/agent/controller.d.ts +21 -21
- package/dist/agent/controller.js +13 -13
- package/dist/agent/conversation-reset.d.ts +1 -1
- package/dist/agent/governance-wiring.d.ts +6 -6
- package/dist/agent/governance-wiring.js +4 -4
- package/dist/agent/headless.d.ts +5 -5
- package/dist/agent/headless.js +4 -4
- package/dist/agent/job-notices.d.ts +1 -1
- package/dist/agent/job-notices.js +1 -1
- package/dist/agent/kit-apply.d.ts +3 -3
- package/dist/agent/kit-apply.js +3 -3
- package/dist/agent/model-profile-settings.d.ts +2 -2
- package/dist/agent/model-profile-settings.js +6 -6
- package/dist/agent/prompt-options.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/{ui → app}/App.d.ts +9 -9
- package/dist/{ui → app}/App.js +79 -79
- package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
- package/dist/{ui → app}/use-startup-notices.js +2 -2
- package/dist/cli.js +29 -29
- package/dist/commands/agents-command.js +1 -1
- package/dist/commands/builtins.js +9 -9
- package/dist/commands/governance-command.js +2 -2
- package/dist/commands/governance-runs-table.js +1 -1
- package/dist/commands/kit-command.js +1 -1
- package/dist/commands/perf.d.ts +3 -3
- package/dist/commands/perf.js +1 -1
- package/dist/commands/registry.d.ts +8 -8
- package/dist/commands/skills.js +2 -2
- package/dist/commands/team-command.js +1 -1
- package/dist/compaction/archive.d.ts +1 -1
- package/dist/compaction/archive.js +1 -1
- package/dist/compaction/child.d.ts +3 -3
- package/dist/compaction/child.js +4 -4
- package/dist/compaction/command.js +5 -5
- package/dist/compaction/compactor.d.ts +6 -6
- package/dist/compaction/compactor.js +6 -6
- package/dist/compaction/context-command.js +1 -1
- package/dist/compaction/digest.js +1 -1
- package/dist/compaction/memory-input.js +1 -1
- package/dist/compaction/memory-validation.js +1 -1
- package/dist/compaction/memory.js +1 -1
- package/dist/compaction/summarize-call.js +1 -1
- package/dist/compaction/summary-prompt.js +1 -1
- package/dist/compaction/tail-budget.js +2 -2
- package/dist/compaction/wiring.d.ts +5 -5
- package/dist/compaction/wiring.js +2 -2
- package/dist/config/cli-commands.d.ts +1 -1
- package/dist/config/cli-commands.js +3 -3
- package/dist/config/env.d.ts +1 -1
- package/dist/config/env.js +4 -4
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.js +6 -6
- package/dist/config/migrate-state-out-of-config.js +1 -1
- package/dist/config/model-profile-store.d.ts +4 -54
- package/dist/config/model-profile-store.js +3 -3
- package/dist/config/prompt-history.js +1 -1
- package/dist/config/store.d.ts +2 -2
- package/dist/config/store.js +3 -3
- package/dist/diagnostics/doctor.js +4 -4
- package/dist/exec/bridge/decisions.d.ts +1 -1
- package/dist/exec/bridge/human-answers.d.ts +1 -1
- package/dist/exec/bridge/human-answers.js +1 -1
- package/dist/exec/bridge/protocol.d.ts +1 -1
- package/dist/exec/bridge/server.js +1 -1
- package/dist/exec/events.d.ts +2 -2
- package/dist/exec/index.d.ts +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/exec/permission.js +1 -1
- package/dist/exec/runner.d.ts +3 -3
- package/dist/exec/runner.js +2 -2
- package/dist/exec/threads/runtime.js +1 -1
- package/dist/fast/digest.d.ts +1 -1
- package/dist/fast/digest.js +1 -1
- package/dist/fast/frames.d.ts +1 -1
- package/dist/fast/frames.js +1 -1
- package/dist/fast/prompt.d.ts +1 -1
- package/dist/fast/prompt.js +1 -1
- package/dist/fast/review-call.js +1 -1
- package/dist/fast/reviewer.d.ts +3 -3
- package/dist/fast/reviewer.js +1 -1
- package/dist/fast/summary-call.d.ts +3 -3
- package/dist/fast/summary-call.js +2 -2
- package/dist/fast/summary-prompt.d.ts +1 -1
- package/dist/fast/summary-prompt.js +1 -1
- package/dist/fast/wiring.d.ts +4 -4
- package/dist/fast/wiring.js +1 -1
- package/dist/governance/card-normalize.d.ts +1 -1
- package/dist/governance/copy.d.ts +1 -1
- package/dist/governance/copy.js +2 -2
- package/dist/governance/engine/artifact-persist.d.ts +1 -1
- package/dist/governance/engine/budget.d.ts +1 -1
- package/dist/governance/engine/budget.js +1 -1
- package/dist/governance/engine/cards.d.ts +1 -1
- package/dist/governance/engine/digest.js +1 -1
- package/dist/governance/engine/engine-core.d.ts +5 -5
- package/dist/governance/engine/engine-core.js +1 -1
- package/dist/governance/engine/engine.d.ts +1 -1
- package/dist/governance/engine/engine.js +1 -1
- package/dist/governance/engine/estimate.d.ts +1 -1
- package/dist/governance/engine/estimate.js +1 -1
- package/dist/governance/engine/inspector.js +2 -2
- package/dist/governance/engine/integration.d.ts +1 -1
- package/dist/governance/engine/lifecycle.d.ts +1 -1
- package/dist/governance/engine/lifecycle.js +1 -1
- package/dist/governance/engine/phase-members.d.ts +1 -1
- package/dist/governance/engine/phase-planner.d.ts +1 -1
- package/dist/governance/engine/phase-planner.js +1 -1
- package/dist/governance/engine/rebuild.d.ts +1 -1
- package/dist/governance/engine/report.d.ts +1 -1
- package/dist/governance/engine/report.js +1 -1
- package/dist/governance/engine/run-digest.d.ts +1 -1
- package/dist/governance/engine/spec-builder.d.ts +2 -2
- package/dist/governance/engine/spec-builder.js +2 -2
- package/dist/governance/engine/stage-runner.js +2 -2
- package/dist/governance/engine/start-input.d.ts +1 -1
- package/dist/governance/engine/start-input.js +1 -1
- package/dist/governance/engine/state-machine.d.ts +1 -1
- package/dist/governance/engine/state-machine.js +3 -3
- package/dist/governance/engine/submission-queries.d.ts +1 -1
- package/dist/governance/engine/submission-render.d.ts +1 -1
- package/dist/governance/engine/submissions.d.ts +1 -1
- package/dist/governance/engine/submissions.js +1 -1
- package/dist/governance/engine/visibility.d.ts +1 -1
- package/dist/governance/engine/visibility.js +1 -1
- package/dist/governance/posture-transition.d.ts +2 -2
- package/dist/governance/posture-transition.js +1 -1
- package/dist/governance/profiles.d.ts +1 -1
- package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
- package/dist/governance/prompts/orchestrator-block.js +2 -2
- package/dist/governance/prompts/plan-addendum.d.ts +1 -1
- package/dist/governance/prompts/plan-addendum.js +1 -1
- package/dist/governance/prompts/role-blocks.d.ts +2 -2
- package/dist/governance/prompts/role-blocks.js +1 -1
- package/dist/governance/report-reader.js +1 -1
- package/dist/governance/roles.d.ts +1 -1
- package/dist/governance/rules/claims.d.ts +1 -1
- package/dist/governance/rules/claims.js +1 -1
- package/dist/governance/rules/elimination.d.ts +1 -1
- package/dist/governance/rules/elimination.js +1 -1
- package/dist/governance/rules/failure-analysis.d.ts +2 -2
- package/dist/governance/rules/failure-analysis.js +1 -1
- package/dist/governance/rules/ledger-replay.d.ts +1 -1
- package/dist/governance/rules/ledger-state.d.ts +1 -1
- package/dist/governance/rules/ledger-state.js +1 -1
- package/dist/governance/rules/ledger.d.ts +2 -2
- package/dist/governance/rules/ledger.js +2 -2
- package/dist/governance/rules/rca.d.ts +1 -1
- package/dist/governance/rules/rca.js +1 -1
- package/dist/governance/rules/settlement.d.ts +2 -2
- package/dist/governance/rules/settlement.js +2 -2
- package/dist/governance/rules/suspicion.d.ts +1 -1
- package/dist/governance/store/artifacts.d.ts +1 -1
- package/dist/governance/store/artifacts.js +1 -1
- package/dist/governance/store/events-log.d.ts +1 -1
- package/dist/governance/store/run-store.d.ts +1 -1
- package/dist/governance/store/run-store.js +1 -1
- package/dist/governance/store/scoreboard-export.d.ts +1 -1
- package/dist/governance/tools/child-tools.d.ts +1 -1
- package/dist/governance/tools/guard.d.ts +1 -1
- package/dist/governance/tools/guard.js +1 -1
- package/dist/governance/tools/inspector-tools.d.ts +2 -2
- package/dist/governance/tools/inspector-tools.js +2 -2
- package/dist/governance/tools/lead-tools.d.ts +1 -1
- package/dist/governance/tools/lead-tools.js +1 -1
- package/dist/governance/tools/normalize-util.js +1 -1
- package/dist/governance/tools/scan-incomplete.js +1 -1
- package/dist/governance/tools/shared-tools.d.ts +1 -1
- package/dist/governance/tools/shared-tools.js +1 -1
- package/dist/governance/tools/submit-normalizers.d.ts +1 -1
- package/dist/governance/tools/submit-normalizers.js +1 -1
- package/dist/governance/tools/submit-tools.d.ts +1 -1
- package/dist/logging/cli-commands.js +1 -1
- package/dist/logging/install.d.ts +1 -1
- package/dist/logging/install.js +3 -3
- package/dist/logging/logger.d.ts +2 -2
- package/dist/logging/logger.js +31 -2
- package/dist/proc/kill-tree.js +1 -1
- package/dist/proc/log-mirror.js +1 -1
- package/dist/proc/log-ring.js +2 -2
- package/dist/proc/notices.d.ts +1 -1
- package/dist/proc/notices.js +2 -2
- package/dist/proc/prompt.d.ts +1 -1
- package/dist/proc/prompt.js +1 -1
- package/dist/proc/readiness.js +1 -1
- package/dist/proc/supervisor.d.ts +1 -1
- package/dist/proc/supervisor.js +3 -3
- package/dist/proc/wait.d.ts +1 -1
- package/dist/proc/wait.js +1 -1
- package/dist/prompts/command.d.ts +1 -1
- package/dist/prompts/command.js +1 -1
- package/dist/prompts/normalize.d.ts +1 -1
- package/dist/prompts/normalize.js +1 -1
- package/dist/prompts/resolve.d.ts +1 -1
- package/dist/prompts/store.d.ts +2 -12
- package/dist/prompts/store.js +6 -60
- package/dist/session/checkpoint.d.ts +2 -2
- package/dist/session/clear-archive.d.ts +2 -2
- package/dist/session/persist.d.ts +2 -2
- package/dist/session/persist.js +1 -1
- package/dist/session/startup-session.d.ts +2 -2
- package/dist/session/validate-session.js +3 -3
- package/dist/skills/service.d.ts +2 -2
- package/dist/team/bus.d.ts +1 -1
- package/dist/team/bus.js +1 -1
- package/dist/team/child-reviewer.d.ts +2 -2
- package/dist/team/child-reviewer.js +1 -1
- package/dist/team/comm-tools.js +1 -1
- package/dist/team/dispatch-gate.js +1 -1
- package/dist/team/forced-dispatch.js +1 -1
- package/dist/team/forced-mode.d.ts +1 -1
- package/dist/team/forced-prompt.d.ts +1 -1
- package/dist/team/forced-prompt.js +1 -1
- package/dist/team/normalize.d.ts +1 -1
- package/dist/team/normalize.js +1 -1
- package/dist/team/overseer.d.ts +3 -3
- package/dist/team/overseer.js +3 -3
- package/dist/team/prompt.d.ts +1 -1
- package/dist/team/prompt.js +1 -1
- package/dist/team/report.d.ts +2 -2
- package/dist/team/report.js +2 -2
- package/dist/team/retry.d.ts +1 -1
- package/dist/team/retry.js +1 -1
- package/dist/team/runtime.d.ts +4 -4
- package/dist/team/runtime.js +2 -2
- package/dist/team/settled.d.ts +2 -2
- package/dist/team/subagent.d.ts +4 -4
- package/dist/team/subagent.js +5 -5
- package/dist/team/task-tool.d.ts +1 -1
- package/dist/team/task-tool.js +1 -1
- package/dist/todo/normalize.d.ts +1 -1
- package/dist/todo/normalize.js +1 -1
- package/dist/todo/prompt.d.ts +1 -1
- package/dist/todo/prompt.js +1 -1
- package/dist/todo/store.d.ts +1 -1
- package/dist/todo/store.js +2 -2
- package/dist/todo/todo-tool.d.ts +1 -1
- package/dist/todo/todo-tool.js +2 -2
- package/dist/tools/bash-tool.d.ts +1 -1
- package/dist/tools/bash-tool.js +2 -2
- package/dist/tools/diff.d.ts +1 -1
- package/dist/tools/diff.js +1 -1
- package/dist/tools/file-change-store.d.ts +1 -1
- package/dist/tools/fs-tools.d.ts +2 -2
- package/dist/tools/fs-tools.js +1 -1
- package/dist/tools/index.d.ts +3 -3
- package/dist/tools/index.js +1 -1
- package/dist/tools/job-tools.d.ts +2 -2
- package/dist/tools/job-tools.js +4 -4
- package/dist/tools/plan-tools.d.ts +1 -1
- package/dist/tools/plan-tools.js +1 -1
- package/dist/tools/proc-tools.d.ts +1 -1
- package/dist/tools/proc-tools.js +2 -2
- package/dist/update/classify-failure.d.ts +1 -1
- package/dist/update/install-lock.js +1 -1
- package/dist/update/install-source.d.ts +1 -1
- package/dist/update/installer.js +2 -2
- package/dist/update/npm-view.d.ts +1 -1
- package/dist/update/npm-view.js +1 -1
- package/dist/update/registry.d.ts +1 -1
- package/dist/update/registry.js +1 -1
- package/dist/update/service.d.ts +2 -2
- package/dist/update/service.js +2 -2
- package/package.json +7 -7
- package/dist/agent/agent-mode.d.ts +0 -108
- package/dist/agent/agent-mode.js +0 -121
- package/dist/agent/entry-limits.d.ts +0 -65
- package/dist/agent/entry-limits.js +0 -133
- package/dist/agent/governance-view.d.ts +0 -40
- package/dist/agent/governance-view.js +0 -40
- package/dist/agent/invocation-card.d.ts +0 -77
- package/dist/agent/invocation-card.js +0 -169
- package/dist/agent/model-probe-limits.d.ts +0 -39
- package/dist/agent/model-probe-limits.js +0 -25
- package/dist/agent/model-probe.d.ts +0 -104
- package/dist/agent/model-probe.js +0 -391
- package/dist/agent/queued-messages.d.ts +0 -23
- package/dist/agent/queued-messages.js +0 -49
- package/dist/agent/reducer.d.ts +0 -857
- package/dist/agent/reducer.js +0 -1646
- package/dist/agent/retry-view.d.ts +0 -68
- package/dist/agent/retry-view.js +0 -95
- package/dist/agent/usage.d.ts +0 -47
- package/dist/agent/usage.js +0 -84
- package/dist/compaction/limits.d.ts +0 -61
- package/dist/compaction/limits.js +0 -64
- package/dist/compaction/meter.d.ts +0 -276
- package/dist/compaction/meter.js +0 -512
- package/dist/compaction/pressure.d.ts +0 -163
- package/dist/compaction/pressure.js +0 -199
- package/dist/compaction/reason-text.d.ts +0 -36
- package/dist/compaction/reason-text.js +0 -78
- package/dist/compaction/types.d.ts +0 -360
- package/dist/compaction/types.js +0 -22
- package/dist/config/governance-config.d.ts +0 -125
- package/dist/config/governance-config.js +0 -164
- package/dist/config/kit-resolution.d.ts +0 -93
- package/dist/config/kit-resolution.js +0 -226
- package/dist/config/model-kits.d.ts +0 -225
- package/dist/config/model-kits.js +0 -302
- package/dist/config/model-profile-resolution.d.ts +0 -28
- package/dist/config/model-profile-resolution.js +0 -88
- package/dist/config/model-profiles.d.ts +0 -103
- package/dist/config/model-profiles.js +0 -188
- package/dist/config/schema.d.ts +0 -1645
- package/dist/config/schema.js +0 -1383
- package/dist/fast/limits.d.ts +0 -152
- package/dist/fast/limits.js +0 -152
- package/dist/fast/resolve.d.ts +0 -44
- package/dist/fast/resolve.js +0 -107
- package/dist/fast/task-summary-types.d.ts +0 -66
- package/dist/fast/task-summary-types.js +0 -17
- package/dist/fast/types.d.ts +0 -141
- package/dist/fast/types.js +0 -14
- package/dist/governance/governed-dispatch.d.ts +0 -19
- package/dist/governance/governed-dispatch.js +0 -17
- package/dist/governance/limits.d.ts +0 -107
- package/dist/governance/limits.js +0 -131
- package/dist/governance/posture.d.ts +0 -35
- package/dist/governance/posture.js +0 -59
- package/dist/governance/rules/events-table.d.ts +0 -46
- package/dist/governance/rules/events-table.js +0 -94
- package/dist/governance/types.d.ts +0 -661
- package/dist/governance/types.js +0 -27
- package/dist/input/control-sequences.d.ts +0 -71
- package/dist/input/control-sequences.js +0 -222
- package/dist/input/csiu-keys.d.ts +0 -66
- package/dist/input/csiu-keys.js +0 -181
- package/dist/input/cursor-report.d.ts +0 -61
- package/dist/input/cursor-report.js +0 -97
- package/dist/input/enter-sequences.d.ts +0 -64
- package/dist/input/enter-sequences.js +0 -153
- package/dist/input/interrupt-gesture.d.ts +0 -18
- package/dist/input/interrupt-gesture.js +0 -19
- package/dist/input/keyboard-enhancement.d.ts +0 -42
- package/dist/input/keyboard-enhancement.js +0 -65
- package/dist/input/keymap.d.ts +0 -20
- package/dist/input/keymap.js +0 -99
- package/dist/input/limits.d.ts +0 -118
- package/dist/input/limits.js +0 -109
- package/dist/input/mouse-events.d.ts +0 -87
- package/dist/input/mouse-events.js +0 -212
- package/dist/input/paste-parse.d.ts +0 -83
- package/dist/input/paste-parse.js +0 -107
- package/dist/input/pointer-router.d.ts +0 -11
- package/dist/input/pointer-router.js +0 -14
- package/dist/input/stdin-filter.d.ts +0 -112
- package/dist/input/stdin-filter.js +0 -657
- package/dist/input/win32-input-mode.d.ts +0 -61
- package/dist/input/win32-input-mode.js +0 -269
- package/dist/logging/levels.d.ts +0 -40
- package/dist/logging/levels.js +0 -59
- package/dist/logging/secret-registry.d.ts +0 -32
- package/dist/logging/secret-registry.js +0 -73
- package/dist/proc/limits.d.ts +0 -214
- package/dist/proc/limits.js +0 -221
- package/dist/proc/progress.d.ts +0 -47
- package/dist/proc/progress.js +0 -163
- package/dist/proc/types.d.ts +0 -269
- package/dist/proc/types.js +0 -15
- package/dist/proc/wait-view.d.ts +0 -65
- package/dist/proc/wait-view.js +0 -66
- package/dist/prompts/copy.d.ts +0 -89
- package/dist/prompts/copy.js +0 -131
- package/dist/prompts/fill.d.ts +0 -51
- package/dist/prompts/fill.js +0 -46
- package/dist/prompts/limits.d.ts +0 -53
- package/dist/prompts/limits.js +0 -53
- package/dist/prompts/search.d.ts +0 -58
- package/dist/prompts/search.js +0 -146
- package/dist/prompts/types.d.ts +0 -204
- package/dist/prompts/types.js +0 -13
- package/dist/team/activity.d.ts +0 -67
- package/dist/team/activity.js +0 -130
- package/dist/team/limits.d.ts +0 -308
- package/dist/team/limits.js +0 -330
- package/dist/team/model.d.ts +0 -104
- package/dist/team/model.js +0 -150
- package/dist/team/panel-rows.d.ts +0 -48
- package/dist/team/panel-rows.js +0 -75
- package/dist/team/timeline.d.ts +0 -74
- package/dist/team/timeline.js +0 -101
- package/dist/team/types.d.ts +0 -354
- package/dist/team/types.js +0 -13
- package/dist/todo/acceptance.d.ts +0 -120
- package/dist/todo/acceptance.js +0 -399
- package/dist/todo/follow-through.d.ts +0 -138
- package/dist/todo/follow-through.js +0 -248
- package/dist/todo/limits.d.ts +0 -152
- package/dist/todo/limits.js +0 -152
- package/dist/todo/panel-rows.d.ts +0 -45
- package/dist/todo/panel-rows.js +0 -70
- package/dist/todo/plan-sections.d.ts +0 -60
- package/dist/todo/plan-sections.js +0 -108
- package/dist/todo/row-window.d.ts +0 -51
- package/dist/todo/row-window.js +0 -107
- package/dist/todo/types.d.ts +0 -124
- package/dist/todo/types.js +0 -12
- package/dist/tools/human-input.d.ts +0 -212
- package/dist/tools/human-input.js +0 -265
- package/dist/tools/patch.d.ts +0 -115
- package/dist/tools/patch.js +0 -453
- package/dist/tools/terminal-output.d.ts +0 -115
- package/dist/tools/terminal-output.js +0 -201
- package/dist/tools/tool-output-store.d.ts +0 -68
- package/dist/tools/tool-output-store.js +0 -102
- package/dist/ui/ActivityLine.d.ts +0 -26
- package/dist/ui/ActivityLine.js +0 -51
- package/dist/ui/AutocompletePopup.d.ts +0 -23
- package/dist/ui/AutocompletePopup.js +0 -17
- package/dist/ui/BottomStatusRow.d.ts +0 -10
- package/dist/ui/BottomStatusRow.js +0 -9
- package/dist/ui/Composer.d.ts +0 -115
- package/dist/ui/Composer.js +0 -64
- package/dist/ui/GovernancePanel.d.ts +0 -50
- package/dist/ui/GovernancePanel.js +0 -77
- package/dist/ui/GovernanceRun.d.ts +0 -18
- package/dist/ui/GovernanceRun.js +0 -11
- package/dist/ui/Header.d.ts +0 -48
- package/dist/ui/Header.js +0 -27
- package/dist/ui/Logo.d.ts +0 -32
- package/dist/ui/Logo.js +0 -65
- package/dist/ui/Markdown.d.ts +0 -29
- package/dist/ui/Markdown.js +0 -116
- package/dist/ui/PromptCaret.d.ts +0 -11
- package/dist/ui/PromptCaret.js +0 -31
- package/dist/ui/PromptInput.d.ts +0 -192
- package/dist/ui/PromptInput.js +0 -689
- package/dist/ui/QueuePanel.d.ts +0 -8
- package/dist/ui/QueuePanel.js +0 -9
- package/dist/ui/QueueStatusRow.d.ts +0 -24
- package/dist/ui/QueueStatusRow.js +0 -51
- package/dist/ui/ScrollbackShell.d.ts +0 -132
- package/dist/ui/ScrollbackShell.js +0 -26
- package/dist/ui/SessionOpener.d.ts +0 -30
- package/dist/ui/SessionOpener.js +0 -12
- package/dist/ui/StatusBar.d.ts +0 -130
- package/dist/ui/StatusBar.js +0 -61
- package/dist/ui/TeamPanel.d.ts +0 -76
- package/dist/ui/TeamPanel.js +0 -103
- package/dist/ui/ToastStack.d.ts +0 -8
- package/dist/ui/ToastStack.js +0 -31
- package/dist/ui/TodoPanel.d.ts +0 -52
- package/dist/ui/TodoPanel.js +0 -214
- package/dist/ui/Transcript.d.ts +0 -105
- package/dist/ui/Transcript.js +0 -258
- package/dist/ui/UpdateLine.d.ts +0 -44
- package/dist/ui/UpdateLine.js +0 -129
- package/dist/ui/activity-phrases.d.ts +0 -33
- package/dist/ui/activity-phrases.js +0 -50
- package/dist/ui/capabilities.d.ts +0 -27
- package/dist/ui/capabilities.js +0 -65
- package/dist/ui/clipboard-task.d.ts +0 -29
- package/dist/ui/clipboard-task.js +0 -66
- package/dist/ui/clipboard.d.ts +0 -31
- package/dist/ui/clipboard.js +0 -157
- package/dist/ui/color-runtime.d.ts +0 -5
- package/dist/ui/color-runtime.js +0 -29
- package/dist/ui/composer-input.d.ts +0 -38
- package/dist/ui/composer-input.js +0 -79
- package/dist/ui/composer-limits.d.ts +0 -30
- package/dist/ui/composer-limits.js +0 -45
- package/dist/ui/composer-rows.d.ts +0 -73
- package/dist/ui/composer-rows.js +0 -129
- package/dist/ui/console-bridge.d.ts +0 -19
- package/dist/ui/console-bridge.js +0 -52
- package/dist/ui/density.d.ts +0 -26
- package/dist/ui/density.js +0 -34
- package/dist/ui/display-tab.d.ts +0 -51
- package/dist/ui/display-tab.js +0 -82
- package/dist/ui/editor-navigation.d.ts +0 -55
- package/dist/ui/editor-navigation.js +0 -96
- package/dist/ui/editor-reducer.d.ts +0 -108
- package/dist/ui/editor-reducer.js +0 -187
- package/dist/ui/enter-frames.d.ts +0 -47
- package/dist/ui/enter-frames.js +0 -117
- package/dist/ui/entries/AssistantEntry.d.ts +0 -37
- package/dist/ui/entries/AssistantEntry.js +0 -43
- package/dist/ui/entries/CompactionCard.d.ts +0 -88
- package/dist/ui/entries/CompactionCard.js +0 -222
- package/dist/ui/entries/DiffView.d.ts +0 -61
- package/dist/ui/entries/DiffView.js +0 -103
- package/dist/ui/entries/EntryFrame.d.ts +0 -23
- package/dist/ui/entries/EntryFrame.js +0 -6
- package/dist/ui/entries/FastCard.d.ts +0 -53
- package/dist/ui/entries/FastCard.js +0 -105
- package/dist/ui/entries/GovernanceCard.d.ts +0 -30
- package/dist/ui/entries/GovernanceCard.js +0 -32
- package/dist/ui/entries/InvocationCard.d.ts +0 -20
- package/dist/ui/entries/InvocationCard.js +0 -32
- package/dist/ui/entries/QueuedEntry.d.ts +0 -27
- package/dist/ui/entries/QueuedEntry.js +0 -33
- package/dist/ui/entries/RetryCard.d.ts +0 -56
- package/dist/ui/entries/RetryCard.js +0 -60
- package/dist/ui/entries/ServiceCard.d.ts +0 -82
- package/dist/ui/entries/ServiceCard.js +0 -151
- package/dist/ui/entries/TeamCard.d.ts +0 -55
- package/dist/ui/entries/TeamCard.js +0 -94
- package/dist/ui/entries/TodoCard.d.ts +0 -54
- package/dist/ui/entries/TodoCard.js +0 -98
- package/dist/ui/entries/ToolCard.d.ts +0 -81
- package/dist/ui/entries/ToolCard.js +0 -169
- package/dist/ui/entries/ToolPreview.d.ts +0 -59
- package/dist/ui/entries/ToolPreview.js +0 -208
- package/dist/ui/entries/UserEntry.d.ts +0 -36
- package/dist/ui/entries/UserEntry.js +0 -57
- package/dist/ui/entries/WaitCard.d.ts +0 -37
- package/dist/ui/entries/WaitCard.js +0 -92
- package/dist/ui/exit-snapshot.d.ts +0 -43
- package/dist/ui/exit-snapshot.js +0 -26
- package/dist/ui/frame-differ.d.ts +0 -166
- package/dist/ui/frame-differ.js +0 -354
- package/dist/ui/frame-observer.d.ts +0 -17
- package/dist/ui/frame-observer.js +0 -94
- package/dist/ui/frame-parser.d.ts +0 -7
- package/dist/ui/frame-parser.js +0 -18
- package/dist/ui/gauge.d.ts +0 -39
- package/dist/ui/gauge.js +0 -55
- package/dist/ui/glyphs.d.ts +0 -178
- package/dist/ui/glyphs.js +0 -165
- package/dist/ui/governance-copy.d.ts +0 -69
- package/dist/ui/governance-copy.js +0 -104
- package/dist/ui/governance-status.d.ts +0 -145
- package/dist/ui/governance-status.js +0 -326
- package/dist/ui/gradient.d.ts +0 -11
- package/dist/ui/gradient.js +0 -50
- package/dist/ui/ink-runtime.d.ts +0 -4
- package/dist/ui/ink-runtime.js +0 -51
- package/dist/ui/interaction-copy.d.ts +0 -84
- package/dist/ui/interaction-copy.js +0 -41
- package/dist/ui/interaction-hints.d.ts +0 -44
- package/dist/ui/interaction-hints.js +0 -97
- package/dist/ui/layout/AppShell.d.ts +0 -17
- package/dist/ui/layout/AppShell.js +0 -6
- package/dist/ui/layout/Gutter.d.ts +0 -67
- package/dist/ui/layout/Gutter.js +0 -42
- package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
- package/dist/ui/layout/MeasuredEntry.js +0 -30
- package/dist/ui/layout/OverlayFrame.d.ts +0 -73
- package/dist/ui/layout/OverlayFrame.js +0 -110
- package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
- package/dist/ui/layout/ScrollIndicator.js +0 -22
- package/dist/ui/layout/ScrollViewport.d.ts +0 -40
- package/dist/ui/layout/ScrollViewport.js +0 -222
- package/dist/ui/layout/agents-board.d.ts +0 -102
- package/dist/ui/layout/agents-board.js +0 -389
- package/dist/ui/layout/autocomplete.d.ts +0 -18
- package/dist/ui/layout/autocomplete.js +0 -26
- package/dist/ui/layout/budget.d.ts +0 -43
- package/dist/ui/layout/budget.js +0 -52
- package/dist/ui/layout/cells.d.ts +0 -61
- package/dist/ui/layout/cells.js +0 -156
- package/dist/ui/layout/document-layout.d.ts +0 -13
- package/dist/ui/layout/document-layout.js +0 -10
- package/dist/ui/layout/follow-state.d.ts +0 -138
- package/dist/ui/layout/follow-state.js +0 -148
- package/dist/ui/layout/frame.d.ts +0 -36
- package/dist/ui/layout/frame.js +0 -39
- package/dist/ui/layout/governance-board.d.ts +0 -121
- package/dist/ui/layout/governance-board.js +0 -382
- package/dist/ui/layout/governance-card.d.ts +0 -53
- package/dist/ui/layout/governance-card.js +0 -134
- package/dist/ui/layout/governance-chip.d.ts +0 -38
- package/dist/ui/layout/governance-chip.js +0 -64
- package/dist/ui/layout/governance-panel.d.ts +0 -85
- package/dist/ui/layout/governance-panel.js +0 -358
- package/dist/ui/layout/governance-roster.d.ts +0 -65
- package/dist/ui/layout/governance-roster.js +0 -275
- package/dist/ui/layout/header-hints.d.ts +0 -90
- package/dist/ui/layout/header-hints.js +0 -110
- package/dist/ui/layout/header-left.d.ts +0 -115
- package/dist/ui/layout/header-left.js +0 -206
- package/dist/ui/layout/invocation-card.d.ts +0 -41
- package/dist/ui/layout/invocation-card.js +0 -91
- package/dist/ui/layout/kit-chip.d.ts +0 -50
- package/dist/ui/layout/kit-chip.js +0 -81
- package/dist/ui/layout/overlay-window.d.ts +0 -43
- package/dist/ui/layout/overlay-window.js +0 -51
- package/dist/ui/layout/queue-layout.d.ts +0 -19
- package/dist/ui/layout/queue-layout.js +0 -26
- package/dist/ui/layout/rail.d.ts +0 -7
- package/dist/ui/layout/rail.js +0 -16
- package/dist/ui/layout/scroll-indicator.d.ts +0 -27
- package/dist/ui/layout/scroll-indicator.js +0 -36
- package/dist/ui/layout/scroll.d.ts +0 -37
- package/dist/ui/layout/scroll.js +0 -99
- package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
- package/dist/ui/layout/scrollbar-geometry.js +0 -13
- package/dist/ui/layout/session-chip.d.ts +0 -52
- package/dist/ui/layout/session-chip.js +0 -64
- package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
- package/dist/ui/layout/shortcut-panel-layout.js +0 -321
- package/dist/ui/layout/status-detail-layout.d.ts +0 -9
- package/dist/ui/layout/status-detail-layout.js +0 -79
- package/dist/ui/layout/status-layout.d.ts +0 -140
- package/dist/ui/layout/status-layout.js +0 -262
- package/dist/ui/layout/task-summary-cell.d.ts +0 -61
- package/dist/ui/layout/task-summary-cell.js +0 -65
- package/dist/ui/layout/team-panel.d.ts +0 -18
- package/dist/ui/layout/team-panel.js +0 -25
- package/dist/ui/layout/team-row.d.ts +0 -139
- package/dist/ui/layout/team-row.js +0 -246
- package/dist/ui/layout/todo-layout.d.ts +0 -62
- package/dist/ui/layout/todo-layout.js +0 -102
- package/dist/ui/layout/useTerminalSize.d.ts +0 -13
- package/dist/ui/layout/useTerminalSize.js +0 -50
- package/dist/ui/layout/viewport-geometry.d.ts +0 -29
- package/dist/ui/layout/viewport-geometry.js +0 -28
- package/dist/ui/layout/virtual-window.d.ts +0 -112
- package/dist/ui/layout/virtual-window.js +0 -494
- package/dist/ui/layout/wait-bar.d.ts +0 -34
- package/dist/ui/layout/wait-bar.js +0 -48
- package/dist/ui/layout/wrap-rows.d.ts +0 -26
- package/dist/ui/layout/wrap-rows.js +0 -88
- package/dist/ui/live-clamp.d.ts +0 -14
- package/dist/ui/live-clamp.js +0 -46
- package/dist/ui/markdown-blocks.d.ts +0 -107
- package/dist/ui/markdown-blocks.js +0 -240
- package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
- package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
- package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
- package/dist/ui/overlays/ConfirmDialog.js +0 -44
- package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
- package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
- package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
- package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
- package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
- package/dist/ui/overlays/HelpOverlay.js +0 -232
- package/dist/ui/overlays/KitEditor.d.ts +0 -23
- package/dist/ui/overlays/KitEditor.js +0 -101
- package/dist/ui/overlays/KitManager.d.ts +0 -23
- package/dist/ui/overlays/KitManager.js +0 -104
- package/dist/ui/overlays/KitPicker.d.ts +0 -49
- package/dist/ui/overlays/KitPicker.js +0 -58
- package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
- package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
- package/dist/ui/overlays/ModelPicker.d.ts +0 -26
- package/dist/ui/overlays/ModelPicker.js +0 -63
- package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
- package/dist/ui/overlays/ModelProfileEditor.js +0 -168
- package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
- package/dist/ui/overlays/ModelProfilePicker.js +0 -231
- package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
- package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
- package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
- package/dist/ui/overlays/PromptEditorPage.js +0 -227
- package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
- package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
- package/dist/ui/overlays/PromptPicker.d.ts +0 -36
- package/dist/ui/overlays/PromptPicker.js +0 -129
- package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
- package/dist/ui/overlays/PromptTextArea.js +0 -141
- package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
- package/dist/ui/overlays/QuestionOverlay.js +0 -258
- package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
- package/dist/ui/overlays/QueueOverlay.js +0 -79
- package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
- package/dist/ui/overlays/SettingsScreen.js +0 -1037
- package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
- package/dist/ui/overlays/ShortcutPanel.js +0 -106
- package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
- package/dist/ui/overlays/TeamFanoutPage.js +0 -90
- package/dist/ui/overlays/governance-settings.d.ts +0 -79
- package/dist/ui/overlays/governance-settings.js +0 -140
- package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
- package/dist/ui/overlays/kit-picker-state.js +0 -136
- package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
- package/dist/ui/overlays/kit-settings-state.js +0 -268
- package/dist/ui/overlays/model-probe-view.d.ts +0 -128
- package/dist/ui/overlays/model-probe-view.js +0 -225
- package/dist/ui/overlays/model-profile-state.d.ts +0 -177
- package/dist/ui/overlays/model-profile-state.js +0 -301
- package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
- package/dist/ui/overlays/prompt-library-state.js +0 -335
- package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
- package/dist/ui/overlays/prompt-picker-state.js +0 -98
- package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
- package/dist/ui/overlays/team-fanout-state.js +0 -155
- package/dist/ui/overlays/use-model-probe.d.ts +0 -30
- package/dist/ui/overlays/use-model-probe.js +0 -109
- package/dist/ui/palettes.d.ts +0 -112
- package/dist/ui/palettes.js +0 -130
- package/dist/ui/paste-frames.d.ts +0 -91
- package/dist/ui/paste-frames.js +0 -117
- package/dist/ui/paste-tokens.d.ts +0 -90
- package/dist/ui/paste-tokens.js +0 -147
- package/dist/ui/render-cache.d.ts +0 -81
- package/dist/ui/render-cache.js +0 -196
- package/dist/ui/render-governor.d.ts +0 -54
- package/dist/ui/render-governor.js +0 -78
- package/dist/ui/run-metrics.d.ts +0 -23
- package/dist/ui/run-metrics.js +0 -27
- package/dist/ui/run-status-row.d.ts +0 -63
- package/dist/ui/run-status-row.js +0 -54
- package/dist/ui/screen.d.ts +0 -107
- package/dist/ui/screen.js +0 -234
- package/dist/ui/scrollback/LiveTail.d.ts +0 -115
- package/dist/ui/scrollback/LiveTail.js +0 -48
- package/dist/ui/scrollback/band.d.ts +0 -114
- package/dist/ui/scrollback/band.js +0 -143
- package/dist/ui/scrollback/budget.d.ts +0 -90
- package/dist/ui/scrollback/budget.js +0 -100
- package/dist/ui/scrollback/canvas.d.ts +0 -100
- package/dist/ui/scrollback/canvas.js +0 -114
- package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
- package/dist/ui/scrollback/cursor-probe.js +0 -133
- package/dist/ui/scrollback/drain.d.ts +0 -32
- package/dist/ui/scrollback/drain.js +0 -64
- package/dist/ui/scrollback/exit-summary.d.ts +0 -23
- package/dist/ui/scrollback/exit-summary.js +0 -25
- package/dist/ui/scrollback/limits.d.ts +0 -98
- package/dist/ui/scrollback/limits.js +0 -98
- package/dist/ui/scrollback/live-preview.d.ts +0 -34
- package/dist/ui/scrollback/live-preview.js +0 -130
- package/dist/ui/scrollback/overflow-print.d.ts +0 -108
- package/dist/ui/scrollback/overflow-print.js +0 -120
- package/dist/ui/scrollback/renderer.d.ts +0 -48
- package/dist/ui/scrollback/renderer.js +0 -186
- package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
- package/dist/ui/scrollback/scrollback-writer.js +0 -648
- package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
- package/dist/ui/scrollback/settled-boundary.js +0 -109
- package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
- package/dist/ui/scrollback/tail-anchor.js +0 -79
- package/dist/ui/scrollback/tail-window.d.ts +0 -73
- package/dist/ui/scrollback/tail-window.js +0 -89
- package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
- package/dist/ui/scrollback/use-scrollback-view.js +0 -601
- package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
- package/dist/ui/scrollback/writer-shapes.js +0 -159
- package/dist/ui/scrollbar-controller.d.ts +0 -30
- package/dist/ui/scrollbar-controller.js +0 -124
- package/dist/ui/selection/highlight.d.ts +0 -39
- package/dist/ui/selection/highlight.js +0 -64
- package/dist/ui/selection/screen-mirror.d.ts +0 -24
- package/dist/ui/selection/screen-mirror.js +0 -35
- package/dist/ui/selection/selection-controller.d.ts +0 -104
- package/dist/ui/selection/selection-controller.js +0 -372
- package/dist/ui/selection/selection.d.ts +0 -90
- package/dist/ui/selection/selection.js +0 -223
- package/dist/ui/shortcuts.d.ts +0 -81
- package/dist/ui/shortcuts.js +0 -221
- package/dist/ui/status-feedback.d.ts +0 -35
- package/dist/ui/status-feedback.js +0 -38
- package/dist/ui/stdout-frame-writer.d.ts +0 -74
- package/dist/ui/stdout-frame-writer.js +0 -155
- package/dist/ui/team-status.d.ts +0 -166
- package/dist/ui/team-status.js +0 -252
- package/dist/ui/terminal-plan.d.ts +0 -52
- package/dist/ui/terminal-plan.js +0 -49
- package/dist/ui/theme.d.ts +0 -96
- package/dist/ui/theme.js +0 -130
- package/dist/ui/transcript-text.d.ts +0 -41
- package/dist/ui/transcript-text.js +0 -282
- package/dist/ui/use-height-store.d.ts +0 -31
- package/dist/ui/use-height-store.js +0 -76
- package/dist/ui/use-render-governor.d.ts +0 -39
- package/dist/ui/use-render-governor.js +0 -57
- package/dist/ui/use-wheel-routing.d.ts +0 -57
- package/dist/ui/use-wheel-routing.js +0 -152
- package/dist/ui/win-vt-force.d.ts +0 -136
- package/dist/ui/win-vt-force.js +0 -237
- package/dist/ui/win-vt-input.d.ts +0 -57
- package/dist/ui/win-vt-input.js +0 -62
- package/dist/update/limits.d.ts +0 -111
- package/dist/update/limits.js +0 -111
- package/dist/update/semver.d.ts +0 -89
- package/dist/update/semver.js +0 -295
- package/dist/update/types.d.ts +0 -169
- package/dist/update/types.js +0 -68
- /package/dist/{ui → app}/session-bridge.d.ts +0 -0
- /package/dist/{ui → app}/session-bridge.js +0 -0
package/dist/prompts/fill.d.ts
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* How a prompt lands in the composer (quick-prompt-library D-6 / §4.6).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* PURE, AND IT KNOWS NOTHING ABOUT THE DRAFT'S REAL SHAPE. It is handed the current
|
|
7
|
-
* buffer and caret, and it answers "what should be inserted, or what should the new
|
|
8
|
-
* buffer be". It deliberately does NOT return the resulting buffer: a draft may
|
|
9
|
-
* hold paste-collapse TOKENS (`[Pasted text #1 +8 lines]` plus a payload map), so
|
|
10
|
-
* "the buffer after applying this plan" is a fact only `editorReducer` can compute.
|
|
11
|
-
* Recomputing it here would be a second authority, and the two would drift exactly
|
|
12
|
-
* on the drafts this feature exists to append to.
|
|
13
|
-
*
|
|
14
|
-
* WHY `insert` IS THE DEFAULT (and why the decision lives here rather than in
|
|
15
|
-
* `App`): the only place that knows what the draft currently holds is the editor
|
|
16
|
-
* (the host has no copy of the text), and silently discarding what someone has
|
|
17
|
-
* already typed is the one thing a "fill" gesture must never do.
|
|
18
|
-
*/
|
|
19
|
-
export interface PromptFillInput {
|
|
20
|
-
/** The current draft buffer. */
|
|
21
|
-
draft: string;
|
|
22
|
-
/** Caret offset into `draft`, in UTF-16 units. */
|
|
23
|
-
cursor: number;
|
|
24
|
-
/** The prompt body. */
|
|
25
|
-
content: string;
|
|
26
|
-
/** `insert` unless the user configured `prompts.insertMode = 'replace'` (D-19). */
|
|
27
|
-
mode?: 'insert' | 'replace';
|
|
28
|
-
}
|
|
29
|
-
export interface PromptFillPlan {
|
|
30
|
-
mode: 'replace' | 'insert';
|
|
31
|
-
/**
|
|
32
|
-
* `replace`: the new buffer in full.
|
|
33
|
-
* `insert`: only the fragment to insert, separators included.
|
|
34
|
-
*/
|
|
35
|
-
text: string;
|
|
36
|
-
/**
|
|
37
|
-
* `replace`: where the caret goes afterwards (past the body).
|
|
38
|
-
* `insert`: ignored - the reducer owns the caret and the token snapping.
|
|
39
|
-
*/
|
|
40
|
-
cursor: number;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Decide between replacing and inserting, and build the fragment.
|
|
44
|
-
*
|
|
45
|
-
* A blank draft is replaced even in `insert` mode: "insert at the caret" into an
|
|
46
|
-
* empty buffer and "replace the empty buffer" are the same edit, and saying so
|
|
47
|
-
* keeps the caller from having to special-case it.
|
|
48
|
-
*/
|
|
49
|
-
export declare function planPromptFill(input: PromptFillInput): PromptFillPlan;
|
|
50
|
-
/** Lines a body occupies, for the "8 lines, editable" acknowledgement. */
|
|
51
|
-
export declare function promptLineCount(content: string): number;
|
package/dist/prompts/fill.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* How a prompt lands in the composer (quick-prompt-library D-6 / §4.6).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* PURE, AND IT KNOWS NOTHING ABOUT THE DRAFT'S REAL SHAPE. It is handed the current
|
|
7
|
-
* buffer and caret, and it answers "what should be inserted, or what should the new
|
|
8
|
-
* buffer be". It deliberately does NOT return the resulting buffer: a draft may
|
|
9
|
-
* hold paste-collapse TOKENS (`[Pasted text #1 +8 lines]` plus a payload map), so
|
|
10
|
-
* "the buffer after applying this plan" is a fact only `editorReducer` can compute.
|
|
11
|
-
* Recomputing it here would be a second authority, and the two would drift exactly
|
|
12
|
-
* on the drafts this feature exists to append to.
|
|
13
|
-
*
|
|
14
|
-
* WHY `insert` IS THE DEFAULT (and why the decision lives here rather than in
|
|
15
|
-
* `App`): the only place that knows what the draft currently holds is the editor
|
|
16
|
-
* (the host has no copy of the text), and silently discarding what someone has
|
|
17
|
-
* already typed is the one thing a "fill" gesture must never do.
|
|
18
|
-
*/
|
|
19
|
-
/** Two newlines, so the typed text and the prompt read as two paragraphs. */
|
|
20
|
-
const SEPARATOR = '\n\n';
|
|
21
|
-
/**
|
|
22
|
-
* Decide between replacing and inserting, and build the fragment.
|
|
23
|
-
*
|
|
24
|
-
* A blank draft is replaced even in `insert` mode: "insert at the caret" into an
|
|
25
|
-
* empty buffer and "replace the empty buffer" are the same edit, and saying so
|
|
26
|
-
* keeps the caller from having to special-case it.
|
|
27
|
-
*/
|
|
28
|
-
export function planPromptFill(input) {
|
|
29
|
-
const cursor = Math.max(0, Math.min(input.draft.length, Math.floor(input.cursor)));
|
|
30
|
-
const blank = input.draft.trim().length === 0;
|
|
31
|
-
if (input.mode === 'replace' || blank) {
|
|
32
|
-
return { mode: 'replace', text: input.content, cursor: input.content.length };
|
|
33
|
-
}
|
|
34
|
-
const before = input.draft.slice(0, cursor);
|
|
35
|
-
const after = input.draft.slice(cursor);
|
|
36
|
-
// A SEPARATOR IS ADDED ONLY WHERE ONE IS MISSING, which is what keeps the plan
|
|
37
|
-
// from producing three newlines when the caret already sits on a blank line.
|
|
38
|
-
const lead = before.length > 0 && !before.endsWith(SEPARATOR) ? SEPARATOR : '';
|
|
39
|
-
const trail = after.length > 0 && !after.startsWith(SEPARATOR) ? SEPARATOR : '';
|
|
40
|
-
const text = `${lead}${input.content}${trail}`;
|
|
41
|
-
return { mode: 'insert', text, cursor: cursor + lead.length };
|
|
42
|
-
}
|
|
43
|
-
/** Lines a body occupies, for the "8 lines, editable" acknowledgement. */
|
|
44
|
-
export function promptLineCount(content) {
|
|
45
|
-
return content.split('\n').length;
|
|
46
|
-
}
|
package/dist/prompts/limits.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structural bounds for the quick-prompt library (quick-prompt-library §5.1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* STRUCTURE, NOT POLICY (index.md:52-56). Nothing here is user-tunable: these are
|
|
7
|
-
* what an entry, the library and the picker's query can physically carry. The
|
|
8
|
-
* three keys a user may actually change (`prompts.enabled`, `insertMode`, `hint`)
|
|
9
|
-
* live in `config/schema.ts`, are clamped there, and are persisted there. Mixing
|
|
10
|
-
* the two is how a "temporary" ceiling becomes a setting nobody clamps.
|
|
11
|
-
*
|
|
12
|
-
* EVERY NUMBER IS A CODE-POINT COUNT, not a byte count and not a UTF-16 length.
|
|
13
|
-
* Titles and bodies are typed in Chinese by the users this feature exists for, so
|
|
14
|
-
* a byte-based ceiling would silently allow a third of the characters a
|
|
15
|
-
* Latin-alphabet user gets. `[...text].length` is the measurement everywhere in
|
|
16
|
-
* this tree.
|
|
17
|
-
*/
|
|
18
|
-
export declare const PROMPT_LIMITS: {
|
|
19
|
-
/** Entries one library may hold. The 201st create is REFUSED, never truncated. */
|
|
20
|
-
readonly maxPrompts: 200;
|
|
21
|
-
/** Title, without surrounding whitespace. */
|
|
22
|
-
readonly titleMaxChars: 80;
|
|
23
|
-
/** Body. Large enough for a 40-line procedure, small enough to rewrite cheaply. */
|
|
24
|
-
readonly contentMaxChars: 8000;
|
|
25
|
-
/** Optional one-line note under the title. */
|
|
26
|
-
readonly descriptionMaxChars: 200;
|
|
27
|
-
/** Tags per entry. */
|
|
28
|
-
readonly maxTags: 6;
|
|
29
|
-
/** Characters per tag. */
|
|
30
|
-
readonly tagMaxChars: 24;
|
|
31
|
-
/** Body preview lines the list page's detail block may spend (read-only). */
|
|
32
|
-
readonly detailPreviewLines: 3;
|
|
33
|
-
/** Rows the list page's detail block may occupy, preview lines included. */
|
|
34
|
-
readonly detailMaxLines: 6;
|
|
35
|
-
/** Characters of a body shown on ONE preview line. */
|
|
36
|
-
readonly previewLineChars: 72;
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* The picker's own structural bounds.
|
|
40
|
-
*
|
|
41
|
-
* A SEPARATE OBJECT because the picker is a separate surface with a separate
|
|
42
|
-
* budget: its rows carry an index and a title and nothing else, and its query is
|
|
43
|
-
* a filter rather than content. Sharing one object would tie a future change to
|
|
44
|
-
* the library's row height.
|
|
45
|
-
*/
|
|
46
|
-
export declare const PROMPT_PICKER_LIMITS: {
|
|
47
|
-
/** Longest query the filter accepts; further typing is ignored. */
|
|
48
|
-
readonly queryMaxChars: 64;
|
|
49
|
-
/** `1`-`9` pick directly, so nine. */
|
|
50
|
-
readonly quickDigits: 9;
|
|
51
|
-
/** Rows the picker's detail block may occupy. */
|
|
52
|
-
readonly detailMaxLines: 4;
|
|
53
|
-
};
|
package/dist/prompts/limits.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Structural bounds for the quick-prompt library (quick-prompt-library §5.1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* STRUCTURE, NOT POLICY (index.md:52-56). Nothing here is user-tunable: these are
|
|
7
|
-
* what an entry, the library and the picker's query can physically carry. The
|
|
8
|
-
* three keys a user may actually change (`prompts.enabled`, `insertMode`, `hint`)
|
|
9
|
-
* live in `config/schema.ts`, are clamped there, and are persisted there. Mixing
|
|
10
|
-
* the two is how a "temporary" ceiling becomes a setting nobody clamps.
|
|
11
|
-
*
|
|
12
|
-
* EVERY NUMBER IS A CODE-POINT COUNT, not a byte count and not a UTF-16 length.
|
|
13
|
-
* Titles and bodies are typed in Chinese by the users this feature exists for, so
|
|
14
|
-
* a byte-based ceiling would silently allow a third of the characters a
|
|
15
|
-
* Latin-alphabet user gets. `[...text].length` is the measurement everywhere in
|
|
16
|
-
* this tree.
|
|
17
|
-
*/
|
|
18
|
-
export const PROMPT_LIMITS = {
|
|
19
|
-
/** Entries one library may hold. The 201st create is REFUSED, never truncated. */
|
|
20
|
-
maxPrompts: 200,
|
|
21
|
-
/** Title, without surrounding whitespace. */
|
|
22
|
-
titleMaxChars: 80,
|
|
23
|
-
/** Body. Large enough for a 40-line procedure, small enough to rewrite cheaply. */
|
|
24
|
-
contentMaxChars: 8000,
|
|
25
|
-
/** Optional one-line note under the title. */
|
|
26
|
-
descriptionMaxChars: 200,
|
|
27
|
-
/** Tags per entry. */
|
|
28
|
-
maxTags: 6,
|
|
29
|
-
/** Characters per tag. */
|
|
30
|
-
tagMaxChars: 24,
|
|
31
|
-
/** Body preview lines the list page's detail block may spend (read-only). */
|
|
32
|
-
detailPreviewLines: 3,
|
|
33
|
-
/** Rows the list page's detail block may occupy, preview lines included. */
|
|
34
|
-
detailMaxLines: 6,
|
|
35
|
-
/** Characters of a body shown on ONE preview line. */
|
|
36
|
-
previewLineChars: 72,
|
|
37
|
-
};
|
|
38
|
-
/**
|
|
39
|
-
* The picker's own structural bounds.
|
|
40
|
-
*
|
|
41
|
-
* A SEPARATE OBJECT because the picker is a separate surface with a separate
|
|
42
|
-
* budget: its rows carry an index and a title and nothing else, and its query is
|
|
43
|
-
* a filter rather than content. Sharing one object would tie a future change to
|
|
44
|
-
* the library's row height.
|
|
45
|
-
*/
|
|
46
|
-
export const PROMPT_PICKER_LIMITS = {
|
|
47
|
-
/** Longest query the filter accepts; further typing is ignored. */
|
|
48
|
-
queryMaxChars: 64,
|
|
49
|
-
/** `1`-`9` pick directly, so nine. */
|
|
50
|
-
quickDigits: 9,
|
|
51
|
-
/** Rows the picker's detail block may occupy. */
|
|
52
|
-
detailMaxLines: 4,
|
|
53
|
-
};
|
package/dist/prompts/search.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Filtering and view ordering for the picker (quick-prompt-library D-9 / D-10).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* SUBSEQUENCE MATCHING, NOT SUBSTRING MATCHING. `clr` should find `clean code
|
|
7
|
-
* review`, and Chinese titles make the same demand in a different shape: the
|
|
8
|
-
* characters a user remembers are rarely contiguous. The query is matched
|
|
9
|
-
* case-insensitively against the title, then the tags, then the description, and
|
|
10
|
-
* the FIELD a match landed in is a stronger signal than how good the match was.
|
|
11
|
-
*
|
|
12
|
-
* NO CHARACTER HIGHLIGHTING (D-10). Colouring the matched characters would mean
|
|
13
|
-
* splitting a row into styled runs, and every row in this package is one
|
|
14
|
-
* `wrap="truncate"` `<Text>` precisely so its height is exactly one row. The
|
|
15
|
-
* detail block answers "why did this match" instead.
|
|
16
|
-
*/
|
|
17
|
-
import type { QuickPrompt, PromptSortView } from './types.js';
|
|
18
|
-
/**
|
|
19
|
-
* Greedy subsequence match; `null` when `query` is not a subsequence of `text`.
|
|
20
|
-
*
|
|
21
|
-
* The score is LOWER-is-better and is built from what a reader would actually
|
|
22
|
-
* call a good match: how early the first hit is, how tightly the hits cluster,
|
|
23
|
-
* and how many characters had to be skipped between them.
|
|
24
|
-
*/
|
|
25
|
-
export declare function subsequenceScore(text: string, query: string): number | null;
|
|
26
|
-
/**
|
|
27
|
-
* Filter, but NEVER REORDER BEYOND WHAT THE QUERY EARNS.
|
|
28
|
-
*
|
|
29
|
-
* Ties keep the library's own order, because a filter that reshuffles entries with
|
|
30
|
-
* equal scores makes the list move under the user's arrow keys while they type.
|
|
31
|
-
* Favourites win ties, which is the only preference the picker states.
|
|
32
|
-
*/
|
|
33
|
-
export declare function searchPrompts(prompts: readonly QuickPrompt[], query: string): {
|
|
34
|
-
prompt: QuickPrompt;
|
|
35
|
-
score: number;
|
|
36
|
-
}[];
|
|
37
|
-
/**
|
|
38
|
-
* The three presentations (D-9).
|
|
39
|
-
*
|
|
40
|
-
* `manual` is the only persisted order; the other two are VANISHING views. The one
|
|
41
|
-
* that rearranges is `favorite` - `recent` sorts by `lastUsedAt` only, so an entry
|
|
42
|
-
* that has never been used keeps its place at the tail instead of jumping around
|
|
43
|
-
* while the user watches.
|
|
44
|
-
*/
|
|
45
|
-
export declare function viewOrder(prompts: readonly QuickPrompt[], view: PromptSortView): QuickPrompt[];
|
|
46
|
-
/** The next view in the `Ctrl+S` cycle (manual -> recent -> favorite -> manual). */
|
|
47
|
-
export declare function nextView(view: PromptSortView): PromptSortView;
|
|
48
|
-
/**
|
|
49
|
-
* Title order, for the `/prompts sort name` write.
|
|
50
|
-
*
|
|
51
|
-
* A TOTAL order (title, then id): a sort the user asked for has to be reproducible, and
|
|
52
|
-
* two entries sharing a title would otherwise swap places between runs - a "sorted"
|
|
53
|
-
* library that reorders itself on every read is worse than an unsorted one. Code-unit
|
|
54
|
-
* comparison rather than `localeCompare`, because the file is written on one machine and
|
|
55
|
-
* read on the next, and a locale-dependent order would silently rewrite the user's
|
|
56
|
-
* sequence on a different machine for no reason they could see.
|
|
57
|
-
*/
|
|
58
|
-
export declare function sortedPromptTitleOrder(prompts: readonly QuickPrompt[]): QuickPrompt[];
|
package/dist/prompts/search.js
DELETED
|
@@ -1,146 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Filtering and view ordering for the picker (quick-prompt-library D-9 / D-10).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`.
|
|
5
|
-
*
|
|
6
|
-
* SUBSEQUENCE MATCHING, NOT SUBSTRING MATCHING. `clr` should find `clean code
|
|
7
|
-
* review`, and Chinese titles make the same demand in a different shape: the
|
|
8
|
-
* characters a user remembers are rarely contiguous. The query is matched
|
|
9
|
-
* case-insensitively against the title, then the tags, then the description, and
|
|
10
|
-
* the FIELD a match landed in is a stronger signal than how good the match was.
|
|
11
|
-
*
|
|
12
|
-
* NO CHARACTER HIGHLIGHTING (D-10). Colouring the matched characters would mean
|
|
13
|
-
* splitting a row into styled runs, and every row in this package is one
|
|
14
|
-
* `wrap="truncate"` `<Text>` precisely so its height is exactly one row. The
|
|
15
|
-
* detail block answers "why did this match" instead.
|
|
16
|
-
*/
|
|
17
|
-
/** How much worse a match in tags, or in the description, is than in the title. */
|
|
18
|
-
const TAG_PENALTY = 1_000;
|
|
19
|
-
const DESCRIPTION_PENALTY = 2_000;
|
|
20
|
-
/**
|
|
21
|
-
* Greedy subsequence match; `null` when `query` is not a subsequence of `text`.
|
|
22
|
-
*
|
|
23
|
-
* The score is LOWER-is-better and is built from what a reader would actually
|
|
24
|
-
* call a good match: how early the first hit is, how tightly the hits cluster,
|
|
25
|
-
* and how many characters had to be skipped between them.
|
|
26
|
-
*/
|
|
27
|
-
export function subsequenceScore(text, query) {
|
|
28
|
-
if (query.length === 0)
|
|
29
|
-
return 0;
|
|
30
|
-
const haystack = text.toLowerCase();
|
|
31
|
-
const needle = query.toLowerCase();
|
|
32
|
-
let at = 0;
|
|
33
|
-
let first = -1;
|
|
34
|
-
let last = -1;
|
|
35
|
-
let gaps = 0;
|
|
36
|
-
for (const char of needle) {
|
|
37
|
-
const hit = haystack.indexOf(char, at);
|
|
38
|
-
if (hit === -1)
|
|
39
|
-
return null;
|
|
40
|
-
if (first === -1)
|
|
41
|
-
first = hit;
|
|
42
|
-
else if (hit > last + 1)
|
|
43
|
-
gaps += hit - last - 1;
|
|
44
|
-
last = hit;
|
|
45
|
-
at = hit + 1;
|
|
46
|
-
}
|
|
47
|
-
const span = last - first + 1;
|
|
48
|
-
return first * 4 + gaps * 2 + (span - needle.length);
|
|
49
|
-
}
|
|
50
|
-
function fieldScore(prompt, query) {
|
|
51
|
-
const title = subsequenceScore(prompt.title, query);
|
|
52
|
-
if (title !== null)
|
|
53
|
-
return title;
|
|
54
|
-
let best = null;
|
|
55
|
-
for (const tag of prompt.tags ?? []) {
|
|
56
|
-
const score = subsequenceScore(tag, query);
|
|
57
|
-
if (score !== null && (best === null || score < best))
|
|
58
|
-
best = score;
|
|
59
|
-
}
|
|
60
|
-
if (best !== null)
|
|
61
|
-
return TAG_PENALTY + best;
|
|
62
|
-
const description = prompt.description;
|
|
63
|
-
if (description === undefined)
|
|
64
|
-
return null;
|
|
65
|
-
const score = subsequenceScore(description, query);
|
|
66
|
-
return score === null ? null : DESCRIPTION_PENALTY + score;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Filter, but NEVER REORDER BEYOND WHAT THE QUERY EARNS.
|
|
70
|
-
*
|
|
71
|
-
* Ties keep the library's own order, because a filter that reshuffles entries with
|
|
72
|
-
* equal scores makes the list move under the user's arrow keys while they type.
|
|
73
|
-
* Favourites win ties, which is the only preference the picker states.
|
|
74
|
-
*/
|
|
75
|
-
export function searchPrompts(prompts, query) {
|
|
76
|
-
const trimmed = query.trim();
|
|
77
|
-
if (trimmed.length === 0)
|
|
78
|
-
return prompts.map((prompt) => ({ prompt, score: 0 }));
|
|
79
|
-
const hits = [];
|
|
80
|
-
for (let at = 0; at < prompts.length; at += 1) {
|
|
81
|
-
const prompt = prompts[at];
|
|
82
|
-
const score = fieldScore(prompt, trimmed);
|
|
83
|
-
if (score !== null)
|
|
84
|
-
hits.push({ prompt, score, at });
|
|
85
|
-
}
|
|
86
|
-
hits.sort((a, b) => {
|
|
87
|
-
const favourite = (b.prompt.favorite === true ? 1 : 0) - (a.prompt.favorite === true ? 1 : 0);
|
|
88
|
-
if (favourite !== 0)
|
|
89
|
-
return favourite;
|
|
90
|
-
if (a.score !== b.score)
|
|
91
|
-
return a.score - b.score;
|
|
92
|
-
return a.at - b.at;
|
|
93
|
-
});
|
|
94
|
-
return hits.map(({ prompt, score }) => ({ prompt, score }));
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* The three presentations (D-9).
|
|
98
|
-
*
|
|
99
|
-
* `manual` is the only persisted order; the other two are VANISHING views. The one
|
|
100
|
-
* that rearranges is `favorite` - `recent` sorts by `lastUsedAt` only, so an entry
|
|
101
|
-
* that has never been used keeps its place at the tail instead of jumping around
|
|
102
|
-
* while the user watches.
|
|
103
|
-
*/
|
|
104
|
-
export function viewOrder(prompts, view) {
|
|
105
|
-
if (view === 'manual')
|
|
106
|
-
return [...prompts];
|
|
107
|
-
const indexed = prompts.map((prompt, at) => ({ prompt, at }));
|
|
108
|
-
if (view === 'favorite') {
|
|
109
|
-
indexed.sort((a, b) => {
|
|
110
|
-
const favourite = (b.prompt.favorite === true ? 1 : 0) - (a.prompt.favorite === true ? 1 : 0);
|
|
111
|
-
return favourite !== 0 ? favourite : a.at - b.at;
|
|
112
|
-
});
|
|
113
|
-
return indexed.map(({ prompt }) => prompt);
|
|
114
|
-
}
|
|
115
|
-
indexed.sort((a, b) => {
|
|
116
|
-
const recent = (b.prompt.lastUsedAt ?? 0) - (a.prompt.lastUsedAt ?? 0);
|
|
117
|
-
return recent !== 0 ? recent : a.at - b.at;
|
|
118
|
-
});
|
|
119
|
-
return indexed.map(({ prompt }) => prompt);
|
|
120
|
-
}
|
|
121
|
-
/** The next view in the `Ctrl+S` cycle (manual -> recent -> favorite -> manual). */
|
|
122
|
-
export function nextView(view) {
|
|
123
|
-
if (view === 'manual')
|
|
124
|
-
return 'recent';
|
|
125
|
-
if (view === 'recent')
|
|
126
|
-
return 'favorite';
|
|
127
|
-
return 'manual';
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Title order, for the `/prompts sort name` write.
|
|
131
|
-
*
|
|
132
|
-
* A TOTAL order (title, then id): a sort the user asked for has to be reproducible, and
|
|
133
|
-
* two entries sharing a title would otherwise swap places between runs - a "sorted"
|
|
134
|
-
* library that reorders itself on every read is worse than an unsorted one. Code-unit
|
|
135
|
-
* comparison rather than `localeCompare`, because the file is written on one machine and
|
|
136
|
-
* read on the next, and a locale-dependent order would silently rewrite the user's
|
|
137
|
-
* sequence on a different machine for no reason they could see.
|
|
138
|
-
*/
|
|
139
|
-
export function sortedPromptTitleOrder(prompts) {
|
|
140
|
-
const compare = (a, b) => {
|
|
141
|
-
if (a.title !== b.title)
|
|
142
|
-
return a.title < b.title ? -1 : 1;
|
|
143
|
-
return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
|
|
144
|
-
};
|
|
145
|
-
return [...prompts].sort(compare);
|
|
146
|
-
}
|
package/dist/prompts/types.d.ts
DELETED
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The quick-prompt library's data model (quick-prompt-library §6.1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`. Chinese copy
|
|
5
|
-
* lives in `copy.ts` as `\uXXXX` escapes, never as literal text in this tree.
|
|
6
|
-
*
|
|
7
|
-
* THE DISK SHAPE IS THE ONLY TRUTH (D-3 / I-6). `App` holds a `PromptLibrary`
|
|
8
|
-
* snapshot for rendering, every mutation goes through `store.ts`, and the store
|
|
9
|
-
* hands the new snapshot back. No component computes an optimistic library of its
|
|
10
|
-
* own, because "the UI says it was added and the disk disagrees" is a failure
|
|
11
|
-
* mode with no error message.
|
|
12
|
-
*/
|
|
13
|
-
/**
|
|
14
|
-
* One entry.
|
|
15
|
-
*
|
|
16
|
-
* `useCount` / `createdAt` / `updatedAt` are ALWAYS present: a missing number
|
|
17
|
-
* would make every consumer write `?? 0` and one of them would eventually forget.
|
|
18
|
-
* `description` / `tags` / `favorite` / `lastUsedAt` are optional because "absent"
|
|
19
|
-
* is their honest state.
|
|
20
|
-
*/
|
|
21
|
-
export interface QuickPrompt {
|
|
22
|
-
/** `randomUUID()`. Never shown in full; the list uses an 8-character prefix. */
|
|
23
|
-
id: string;
|
|
24
|
-
/** 1..80 code points, trimmed, no control characters. Never empty (I-5). */
|
|
25
|
-
title: string;
|
|
26
|
-
/** 1..8000 code points. Original newlines preserved; `\r\n` normalised to `\n`. */
|
|
27
|
-
content: string;
|
|
28
|
-
/** 0..200 code points. */
|
|
29
|
-
description?: string;
|
|
30
|
-
/** 0..6 tags, each 0..24 code points. */
|
|
31
|
-
tags?: string[];
|
|
32
|
-
favorite?: boolean;
|
|
33
|
-
/** Monotonic per entry (I-4). */
|
|
34
|
-
useCount: number;
|
|
35
|
-
/** Epoch ms. */
|
|
36
|
-
createdAt: number;
|
|
37
|
-
updatedAt: number;
|
|
38
|
-
lastUsedAt?: number;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* The whole library.
|
|
42
|
-
*
|
|
43
|
-
* `prompts` IS the manual order (I-1): index 0 is what the list shows first and
|
|
44
|
-
* what `Ctrl+Up/Down` rearranges. There is no `order` field, because a second
|
|
45
|
-
* ordering authority is a second thing that can disagree with the first.
|
|
46
|
-
*/
|
|
47
|
-
export interface PromptLibrary {
|
|
48
|
-
schema: 1;
|
|
49
|
-
prompts: QuickPrompt[];
|
|
50
|
-
/** Epoch ms of the last successful write; strictly increasing (I-3). */
|
|
51
|
-
updatedAt: number;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* The persistent re-orderings `/prompts sort <key>` can name (D-9).
|
|
55
|
-
*
|
|
56
|
-
* A WRITE key, not a view: `PromptSortView` is what the picker renders and never
|
|
57
|
-
* persists, this is what the user may ask to have rewritten on disk. They overlap by two
|
|
58
|
-
* words and are deliberately separate types, because "sort by recent" and "show me the
|
|
59
|
-
* recent order for a moment" are different promises.
|
|
60
|
-
*/
|
|
61
|
-
export type PromptSortKey = 'name' | 'recent' | 'favorite';
|
|
62
|
-
/** The picker's three presentations. A VIEW: never persisted (D-9). */
|
|
63
|
-
export type PromptSortView = 'manual' | 'recent' | 'favorite';
|
|
64
|
-
/**
|
|
65
|
-
* Why a write or a lookup failed. A stable code, never a sentence: the sentence
|
|
66
|
-
* comes from `copy.ts`, so the same failure has one wording on every surface.
|
|
67
|
-
*/
|
|
68
|
-
export type PromptWriteError = 'title_required' | 'content_required' | 'title_too_long' | 'content_too_long' | 'description_too_long' | 'tag_too_long' | 'too_many_tags' | 'too_many_prompts' | 'not_found' | 'ambiguous' | 'write_failed';
|
|
69
|
-
/**
|
|
70
|
-
* The result of one mutation.
|
|
71
|
-
*
|
|
72
|
-
* THE LIBRARY TRAVELS WITH THE FAILURE TOO, and that is deliberate: a
|
|
73
|
-
* `write_failed` still applied in memory (D-4), so the caller has to be able to
|
|
74
|
-
* render what the user just created rather than pretending nothing happened.
|
|
75
|
-
*/
|
|
76
|
-
export type PromptMutationResult = {
|
|
77
|
-
ok: true;
|
|
78
|
-
library: PromptLibrary;
|
|
79
|
-
id?: string;
|
|
80
|
-
} | {
|
|
81
|
-
ok: false;
|
|
82
|
-
code: PromptWriteError;
|
|
83
|
-
library: PromptLibrary;
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* A one-shot hand-off into the manager overlay (D-21).
|
|
87
|
-
*
|
|
88
|
-
* `App` never edits the overlay's state directly; it hands over an intent, and the
|
|
89
|
-
* overlay consumes it exactly once by nonce. That is what makes `/prompts edit 2`
|
|
90
|
-
* land in the editor with a prefilled draft instead of on row 0 of the list.
|
|
91
|
-
*/
|
|
92
|
-
export type PromptLibraryEntry = {
|
|
93
|
-
kind: 'list';
|
|
94
|
-
focusId?: string;
|
|
95
|
-
} | {
|
|
96
|
-
kind: 'create';
|
|
97
|
-
seed?: {
|
|
98
|
-
title?: string;
|
|
99
|
-
content?: string;
|
|
100
|
-
};
|
|
101
|
-
} | {
|
|
102
|
-
kind: 'edit';
|
|
103
|
-
id: string;
|
|
104
|
-
} | {
|
|
105
|
-
kind: 'delete';
|
|
106
|
-
id: string;
|
|
107
|
-
};
|
|
108
|
-
/** `nonce` is monotonic; the same value is consumed at most once (I-8). */
|
|
109
|
-
export interface PromptLibraryIntent {
|
|
110
|
-
nonce: number;
|
|
111
|
-
entry: PromptLibraryEntry;
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* `<n|title>` resolved to an entry (D-22).
|
|
115
|
-
*
|
|
116
|
-
* `ambiguous` CARRIES ITS CANDIDATES. Titles may repeat (I-2), and a lookup that
|
|
117
|
-
* failed without saying which entries matched would leave the user with nothing
|
|
118
|
-
* to type next - which is exactly how `/prompts rm <title>` deletes the wrong
|
|
119
|
-
* prompt, and there is no recycle bin (D-13).
|
|
120
|
-
*/
|
|
121
|
-
export type PromptRefResolution = {
|
|
122
|
-
ok: true;
|
|
123
|
-
prompt: QuickPrompt;
|
|
124
|
-
} | {
|
|
125
|
-
ok: false;
|
|
126
|
-
code: 'not_found';
|
|
127
|
-
} | {
|
|
128
|
-
ok: false;
|
|
129
|
-
code: 'ambiguous';
|
|
130
|
-
candidates: QuickPrompt[];
|
|
131
|
-
};
|
|
132
|
-
/**
|
|
133
|
-
* The editable form of one entry.
|
|
134
|
-
*
|
|
135
|
-
* `id: null` means "not saved yet". `tags` is the RAW field text: parsing it on
|
|
136
|
-
* every keystroke would rewrite what the user is typing as they type it.
|
|
137
|
-
*/
|
|
138
|
-
export interface PromptEditorDraft {
|
|
139
|
-
id: string | null;
|
|
140
|
-
title: string;
|
|
141
|
-
content: string;
|
|
142
|
-
description: string;
|
|
143
|
-
tags: string;
|
|
144
|
-
favorite: boolean;
|
|
145
|
-
}
|
|
146
|
-
/** The three things the manager overlay may ask the store to do (P2-1: idempotent). */
|
|
147
|
-
export type PromptLibraryMutation = {
|
|
148
|
-
kind: 'create';
|
|
149
|
-
draft: PromptEditorDraft;
|
|
150
|
-
} | {
|
|
151
|
-
kind: 'update';
|
|
152
|
-
id: string;
|
|
153
|
-
draft: PromptEditorDraft;
|
|
154
|
-
} | {
|
|
155
|
-
kind: 'delete';
|
|
156
|
-
id: string;
|
|
157
|
-
} | {
|
|
158
|
-
kind: 'move';
|
|
159
|
-
id: string;
|
|
160
|
-
delta: -1 | 1;
|
|
161
|
-
} | {
|
|
162
|
-
kind: 'favorite';
|
|
163
|
-
id: string;
|
|
164
|
-
favorite: boolean;
|
|
165
|
-
};
|
|
166
|
-
/**
|
|
167
|
-
* What a command (or the picker) may ask the host to do (§6.3 / P1-3).
|
|
168
|
-
*
|
|
169
|
-
* THREE METHODS, and each one is something the command layer genuinely cannot do
|
|
170
|
-
* itself: open a surface, hand that surface a payload, or read the library through
|
|
171
|
-
* the same resolver the user's typing is interpreted with. Everything else
|
|
172
|
-
* (notifications, toasts, overlays in general) already exists on `CommandContext`
|
|
173
|
-
* and is not repeated here.
|
|
174
|
-
*/
|
|
175
|
-
export interface PromptCommandPort {
|
|
176
|
-
/** Open the picker (`overlay: 'prompt-pick'`). */
|
|
177
|
-
openPicker(): void;
|
|
178
|
-
/** Open the manager on a specific page, with an optional prefilled draft. */
|
|
179
|
-
openManager(entry: PromptLibraryEntry): void;
|
|
180
|
-
/** `<n|title>` -> entry, through `resolvePromptRef` (D-22). */
|
|
181
|
-
resolve(ref: string): PromptRefResolution;
|
|
182
|
-
}
|
|
183
|
-
/** A validated draft, ready for the store. Produced by `finishPromptEditor`. */
|
|
184
|
-
export interface PromptDraftInput {
|
|
185
|
-
title: string;
|
|
186
|
-
content: string;
|
|
187
|
-
description?: string;
|
|
188
|
-
tags?: string[];
|
|
189
|
-
favorite?: boolean;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* The verdict of validating a draft (§4.4 / D-12).
|
|
193
|
-
*
|
|
194
|
-
* `field` is the row that should own focus after a refusal, so the editor can jump
|
|
195
|
-
* there instead of leaving the user staring at a footer with an error code in it.
|
|
196
|
-
*/
|
|
197
|
-
export type PromptDraftVerdict = {
|
|
198
|
-
ok: true;
|
|
199
|
-
input: PromptDraftInput;
|
|
200
|
-
} | {
|
|
201
|
-
ok: false;
|
|
202
|
-
code: PromptWriteError;
|
|
203
|
-
field: 'title' | 'content' | 'description' | 'tags';
|
|
204
|
-
};
|
package/dist/prompts/types.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The quick-prompt library's data model (quick-prompt-library §6.1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY - `src/prompts/**` is inside `glyphs.test.ts::inScope`. Chinese copy
|
|
5
|
-
* lives in `copy.ts` as `\uXXXX` escapes, never as literal text in this tree.
|
|
6
|
-
*
|
|
7
|
-
* THE DISK SHAPE IS THE ONLY TRUTH (D-3 / I-6). `App` holds a `PromptLibrary`
|
|
8
|
-
* snapshot for rendering, every mutation goes through `store.ts`, and the store
|
|
9
|
-
* hands the new snapshot back. No component computes an optimistic library of its
|
|
10
|
-
* own, because "the UI says it was added and the disk disagrees" is a failure
|
|
11
|
-
* mode with no error message.
|
|
12
|
-
*/
|
|
13
|
-
export {};
|