@aragon-agent/cli 0.6.46 → 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 +28 -0
- package/README.md +80 -12
- package/dist/agent/coalesce.d.ts +5 -1
- package/dist/agent/coalesce.js +13 -0
- package/dist/agent/controller.d.ts +41 -20
- package/dist/agent/controller.js +68 -15
- 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/agent/user-attention.d.ts +17 -0
- package/dist/agent/user-attention.js +32 -0
- package/dist/{ui → app}/App.d.ts +9 -9
- package/dist/{ui → app}/App.js +113 -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 +31 -32
- 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 +10 -31
- 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 +8 -5
- package/dist/proc/readiness.js +1 -1
- package/dist/proc/supervisor.d.ts +1 -1
- package/dist/proc/supervisor.js +10 -4
- package/dist/proc/wait-plan.d.ts +39 -0
- package/dist/proc/wait-plan.js +77 -0
- package/dist/proc/wait.d.ts +37 -4
- package/dist/proc/wait.js +68 -5
- 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/checkpoint.js +2 -0
- package/dist/session/clear-archive.d.ts +2 -2
- package/dist/session/persist.d.ts +2 -2
- package/dist/session/persist.js +20 -3
- package/dist/session/startup-session.d.ts +2 -2
- package/dist/session/validate-session.js +6 -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 +14 -3
- package/dist/tools/job-tools.js +158 -35
- 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 -837
- package/dist/agent/reducer.js +0 -1617
- 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 -1377
- 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 -200
- package/dist/proc/limits.js +0 -207
- package/dist/proc/progress.d.ts +0 -40
- package/dist/proc/progress.js +0 -135
- package/dist/proc/types.d.ts +0 -263
- package/dist/proc/types.js +0 -15
- 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 -48
- 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 -129
- 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 -251
- 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 -160
- 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/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 -82
- package/dist/ui/interaction-copy.js +0 -38
- 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 -139
- package/dist/ui/layout/status-layout.js +0 -253
- 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 -488
- 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 -61
- 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 -118
- 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/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 {};
|
package/dist/team/activity.d.ts
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Activity strings for the live roster (team-live-activity F-1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope. That rule binds
|
|
5
|
-
* the LITERALS IN THIS FILE, not the runtime data flowing through it - a child
|
|
6
|
-
* may well be reading a CJK path, and `run.description` already carries model
|
|
7
|
-
* text into the same row.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* The only part of a tool call this module will ever render (P1-4).
|
|
11
|
-
*
|
|
12
|
-
* A PICKED SUBSET, NOT THE ARGS OBJECT. Storing `event.args` whole would put
|
|
13
|
-
* `write_file`'s `content` - a whole file - on the run, and `TeamRuntime.publish`
|
|
14
|
-
* shallow-copies the run into the live snapshot AND into every `agent_update`
|
|
15
|
-
* event, and `dispatch()` copies it again into `DispatchOutcome.runs`, which
|
|
16
|
-
* `TeamCard` holds in the transcript for the rest of the session. Two facts make
|
|
17
|
-
* that unacceptable rather than merely wasteful: the retention is unbounded in
|
|
18
|
-
* the file's size, and one `JSON.stringify` anywhere downstream would put a file
|
|
19
|
-
* body into a log - the exact liability the logging section spends a paragraph
|
|
20
|
-
* avoiding.
|
|
21
|
-
*
|
|
22
|
-
* This costs nothing in maintenance: the switch below is ALREADY a per-tool
|
|
23
|
-
* table, so a new tool is one entry either way.
|
|
24
|
-
*/
|
|
25
|
-
export interface ActivityArgs {
|
|
26
|
-
path?: string;
|
|
27
|
-
pattern?: string;
|
|
28
|
-
command?: string;
|
|
29
|
-
to?: string;
|
|
30
|
-
from?: string;
|
|
31
|
-
}
|
|
32
|
-
/** Pick at capture time. Called once per `tool_execution_start`. */
|
|
33
|
-
export declare function pickActivityArgs(args: unknown): ActivityArgs;
|
|
34
|
-
/**
|
|
35
|
-
* Strip anything that could corrupt the frame, collapse whitespace, and clamp.
|
|
36
|
-
*
|
|
37
|
-
* THE CONTROL-CHARACTER STRIP IS A CORRECTNESS BOUNDARY, NOT TIDINESS. This
|
|
38
|
-
* string is model-chosen and reaches an Ink <Text> unescaped. A child running
|
|
39
|
-
* `bash` with an ANSI escape in the command line would otherwise write that
|
|
40
|
-
* escape into the roster: at best a mangled row, at worst a cleared screen or a
|
|
41
|
-
* moved cursor in the middle of someone's transcript. `bash`'s own output never
|
|
42
|
-
* reaches the panel; its ARGUMENTS now do.
|
|
43
|
-
*
|
|
44
|
-
* SURROGATES ARE GUARDED AT BOTH ENDS (P2-3). The trailing guard is the obvious
|
|
45
|
-
* one. The LEADING one is needed because the caller feeds this a rolling tail
|
|
46
|
-
* built with `String.slice(-n)`, which cuts on a UTF-16 code-unit boundary and
|
|
47
|
-
* can therefore hand us a lone LOW surrogate at index 0. Either half of a split
|
|
48
|
-
* pair renders as a replacement character - the same failure `truncateBytes`
|
|
49
|
-
* guards one layer down (report.ts).
|
|
50
|
-
*/
|
|
51
|
-
export declare function sanitizeActivity(raw: string, maxChars: number): string;
|
|
52
|
-
/**
|
|
53
|
-
* One short phrase describing a tool call.
|
|
54
|
-
*
|
|
55
|
-
* `wide` false is the narrow-terminal form (D-4). For a path-valued argument
|
|
56
|
-
* that is the basename; for `bash` it is the PROGRAM NAME (P1-6). Running the
|
|
57
|
-
* command line through `basename` is wrong twice over: `basename` splits on `/`,
|
|
58
|
-
* so `npm test -w cli` comes back whole and `./scripts/build.sh --prod` comes
|
|
59
|
-
* back as `build.sh --prod`. Neither is shorter and the second is a lie about
|
|
60
|
-
* what ran.
|
|
61
|
-
*
|
|
62
|
-
* Anything not in the table renders as its own name. That is the correct
|
|
63
|
-
* degradation for `skill_find` and for any tool a later round registers on a
|
|
64
|
-
* child: a name is always true, and inventing an argument mapping for a tool
|
|
65
|
-
* this module has not been taught is how a formatter starts lying.
|
|
66
|
-
*/
|
|
67
|
-
export declare function describeToolActivity(toolName: string, args: ActivityArgs | undefined, wide: boolean): string;
|
package/dist/team/activity.js
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Activity strings for the live roster (team-live-activity F-1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope. That rule binds
|
|
5
|
-
* the LITERALS IN THIS FILE, not the runtime data flowing through it - a child
|
|
6
|
-
* may well be reading a CJK path, and `run.description` already carries model
|
|
7
|
-
* text into the same row.
|
|
8
|
-
*/
|
|
9
|
-
import { TEAM_LIMITS } from './limits.js';
|
|
10
|
-
/** Pick at capture time. Called once per `tool_execution_start`. */
|
|
11
|
-
export function pickActivityArgs(args) {
|
|
12
|
-
const a = (args ?? {});
|
|
13
|
-
const str = (v) => typeof v === 'string' && v.length > 0 ? v.slice(0, TEAM_LIMITS.activityArgChars) : undefined;
|
|
14
|
-
const picked = {};
|
|
15
|
-
const path = str(a.path);
|
|
16
|
-
const pattern = str(a.pattern);
|
|
17
|
-
const command = str(a.command);
|
|
18
|
-
const to = str(a.to);
|
|
19
|
-
const from = str(a.from);
|
|
20
|
-
if (path !== undefined)
|
|
21
|
-
picked.path = path;
|
|
22
|
-
if (pattern !== undefined)
|
|
23
|
-
picked.pattern = pattern;
|
|
24
|
-
if (command !== undefined)
|
|
25
|
-
picked.command = command;
|
|
26
|
-
if (to !== undefined)
|
|
27
|
-
picked.to = to;
|
|
28
|
-
if (from !== undefined)
|
|
29
|
-
picked.from = from;
|
|
30
|
-
return picked;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Strip anything that could corrupt the frame, collapse whitespace, and clamp.
|
|
34
|
-
*
|
|
35
|
-
* THE CONTROL-CHARACTER STRIP IS A CORRECTNESS BOUNDARY, NOT TIDINESS. This
|
|
36
|
-
* string is model-chosen and reaches an Ink <Text> unescaped. A child running
|
|
37
|
-
* `bash` with an ANSI escape in the command line would otherwise write that
|
|
38
|
-
* escape into the roster: at best a mangled row, at worst a cleared screen or a
|
|
39
|
-
* moved cursor in the middle of someone's transcript. `bash`'s own output never
|
|
40
|
-
* reaches the panel; its ARGUMENTS now do.
|
|
41
|
-
*
|
|
42
|
-
* SURROGATES ARE GUARDED AT BOTH ENDS (P2-3). The trailing guard is the obvious
|
|
43
|
-
* one. The LEADING one is needed because the caller feeds this a rolling tail
|
|
44
|
-
* built with `String.slice(-n)`, which cuts on a UTF-16 code-unit boundary and
|
|
45
|
-
* can therefore hand us a lone LOW surrogate at index 0. Either half of a split
|
|
46
|
-
* pair renders as a replacement character - the same failure `truncateBytes`
|
|
47
|
-
* guards one layer down (report.ts).
|
|
48
|
-
*/
|
|
49
|
-
export function sanitizeActivity(raw, maxChars) {
|
|
50
|
-
let src = raw;
|
|
51
|
-
const head = src.charCodeAt(0);
|
|
52
|
-
if (head >= 0xdc00 && head <= 0xdfff)
|
|
53
|
-
src = src.slice(1);
|
|
54
|
-
const flat = src
|
|
55
|
-
// eslint-disable-next-line no-control-regex
|
|
56
|
-
.replace(/[\x00-\x1f\x7f]/g, ' ')
|
|
57
|
-
.replace(/\s+/g, ' ')
|
|
58
|
-
.trim();
|
|
59
|
-
if (maxChars <= 0)
|
|
60
|
-
return '';
|
|
61
|
-
if (flat.length <= maxChars)
|
|
62
|
-
return flat;
|
|
63
|
-
if (maxChars <= 3)
|
|
64
|
-
return flat.slice(0, maxChars);
|
|
65
|
-
let cut = maxChars - 3;
|
|
66
|
-
const code = flat.charCodeAt(cut - 1);
|
|
67
|
-
if (code >= 0xd800 && code <= 0xdbff)
|
|
68
|
-
cut -= 1;
|
|
69
|
-
return `${flat.slice(0, cut)}...`;
|
|
70
|
-
}
|
|
71
|
-
/** The basename of a path, for the narrow form. Pure string work: no `path`. */
|
|
72
|
-
function basename(p) {
|
|
73
|
-
const parts = p.split(/[\\/]/);
|
|
74
|
-
return parts[parts.length - 1] || p;
|
|
75
|
-
}
|
|
76
|
-
/** The program name of a command line, for the narrow form. */
|
|
77
|
-
function program(commandLine) {
|
|
78
|
-
const first = commandLine.trim().split(/\s+/)[0] ?? '';
|
|
79
|
-
return basename(first) || commandLine;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* One short phrase describing a tool call.
|
|
83
|
-
*
|
|
84
|
-
* `wide` false is the narrow-terminal form (D-4). For a path-valued argument
|
|
85
|
-
* that is the basename; for `bash` it is the PROGRAM NAME (P1-6). Running the
|
|
86
|
-
* command line through `basename` is wrong twice over: `basename` splits on `/`,
|
|
87
|
-
* so `npm test -w cli` comes back whole and `./scripts/build.sh --prod` comes
|
|
88
|
-
* back as `build.sh --prod`. Neither is shorter and the second is a lie about
|
|
89
|
-
* what ran.
|
|
90
|
-
*
|
|
91
|
-
* Anything not in the table renders as its own name. That is the correct
|
|
92
|
-
* degradation for `skill_find` and for any tool a later round registers on a
|
|
93
|
-
* child: a name is always true, and inventing an argument mapping for a tool
|
|
94
|
-
* this module has not been taught is how a formatter starts lying.
|
|
95
|
-
*/
|
|
96
|
-
export function describeToolActivity(toolName, args, wide) {
|
|
97
|
-
const a = args ?? {};
|
|
98
|
-
switch (toolName) {
|
|
99
|
-
case 'read_file':
|
|
100
|
-
return detail('read', a.path, wide, basename);
|
|
101
|
-
case 'write_file':
|
|
102
|
-
return detail('write', a.path, wide, basename);
|
|
103
|
-
case 'edit_file':
|
|
104
|
-
return detail('edit', a.path, wide, basename);
|
|
105
|
-
case 'list_dir':
|
|
106
|
-
return detail('list', a.path ?? '.', wide, basename);
|
|
107
|
-
case 'glob':
|
|
108
|
-
return detail('glob', a.pattern, wide, basename);
|
|
109
|
-
case 'grep':
|
|
110
|
-
return detail('grep', a.pattern, wide, basename);
|
|
111
|
-
case 'bash':
|
|
112
|
-
return detail('bash', a.command, wide, program);
|
|
113
|
-
case 'team_send': {
|
|
114
|
-
const to = (a.to ?? '').trim();
|
|
115
|
-
return to ? `messaging ${to}` : 'messaging';
|
|
116
|
-
}
|
|
117
|
-
case 'team_wait': {
|
|
118
|
-
const from = (a.from ?? '').trim();
|
|
119
|
-
return from ? `waiting for ${from}` : 'waiting for mail';
|
|
120
|
-
}
|
|
121
|
-
default:
|
|
122
|
-
return toolName;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
function detail(verb, value, wide, narrow) {
|
|
126
|
-
const v = (value ?? '').trim();
|
|
127
|
-
if (v.length === 0)
|
|
128
|
-
return verb;
|
|
129
|
-
return `${verb}: ${wide ? v : narrow(v)}`;
|
|
130
|
-
}
|