@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/ui/Composer.js
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/** Input border and draft shell. Global action hints and activity live below the viewport. */
|
|
3
|
-
import { useCallback, useState } from 'react';
|
|
4
|
-
import { Box } from 'ink';
|
|
5
|
-
import { HINT_FADE_AFTER } from '../config/schema.js';
|
|
6
|
-
import { PromptInput } from './PromptInput.js';
|
|
7
|
-
import { MODE_LABEL, nextMode } from '../agent/agent-mode.js';
|
|
8
|
-
import { isGovernedModeValue } from './governance-status.js';
|
|
9
|
-
/** Legacy helper retained for consumers and contract tests; not rendered by Composer. */
|
|
10
|
-
export function runningHintClauses(opts) {
|
|
11
|
-
const { glyphs, services } = opts;
|
|
12
|
-
const clauses = [`${glyphs.enterKey} queue`, `esc${glyphs.times}2 interrupt`];
|
|
13
|
-
if (services > 0)
|
|
14
|
-
clauses.push(`ctrl+c stop ${services}`);
|
|
15
|
-
clauses.push(`ctrl+c${glyphs.times}2 exit`);
|
|
16
|
-
return clauses;
|
|
17
|
-
}
|
|
18
|
-
/** Compatibility formatter. Product hints use interaction-hints.ts. */
|
|
19
|
-
function hintText(opts) {
|
|
20
|
-
const { running, submitCount, glyphs, mode, toggleKey, services } = opts;
|
|
21
|
-
const dot = ` ${glyphs.midDot} `;
|
|
22
|
-
if (running)
|
|
23
|
-
return runningHintClauses({ glyphs, services }).join(dot);
|
|
24
|
-
const toggle = `${toggleKey} ${MODE_LABEL[nextMode(mode)].toLowerCase()}`;
|
|
25
|
-
const stop = services > 0 ? [`ctrl+c stop ${services}`] : [];
|
|
26
|
-
if (submitCount >= HINT_FADE_AFTER)
|
|
27
|
-
return [...stop, toggle, '? help'].join(dot);
|
|
28
|
-
return [
|
|
29
|
-
...stop,
|
|
30
|
-
`${glyphs.enterKey} send`,
|
|
31
|
-
`${glyphs.shiftEnter} newline`,
|
|
32
|
-
'/ commands',
|
|
33
|
-
'@ files',
|
|
34
|
-
toggle,
|
|
35
|
-
'? help',
|
|
36
|
-
].join(dot);
|
|
37
|
-
}
|
|
38
|
-
/** Compatibility export for existing hint contract tests. */
|
|
39
|
-
export const hintTextForTest = hintText;
|
|
40
|
-
export function Composer({ deleteDisambiguated, onCompletionContextChange, cols, terminalRows, statusExpanded, cursorVisible, onInteraction, measureRef, isActive, reducedMotion, onEscape, onEscapeDismiss, running, history, commands, cwd, agentMode, posture, popupMaxRows, popupMaxHeight, onPopupRowsChange, onDraftRows, onDraftPresence, draftClearNonce, draftFill, insertMode, onNotice, theme, caps, onSubmit, onHelp, }) {
|
|
41
|
-
const [hasDraft, setHasDraft] = useState(false);
|
|
42
|
-
const onDraftChange = useCallback((next) => {
|
|
43
|
-
setHasDraft(next.hasDraft);
|
|
44
|
-
// Presence FIRST: the App ref must be current before the row-count
|
|
45
|
-
// report below can trigger the App render that reads it.
|
|
46
|
-
onDraftPresence?.(next.hasDraft);
|
|
47
|
-
onDraftRows?.(next.rows);
|
|
48
|
-
}, [onDraftPresence, onDraftRows]);
|
|
49
|
-
// Plan mode inserts ONE branch, above `draft` and below `running`. The
|
|
50
|
-
// ordering is load-bearing: an in-flight run's border must stay `toolRunning`,
|
|
51
|
-
// because "is it running" is more urgent than "which mode".
|
|
52
|
-
const borderColor = !isActive
|
|
53
|
-
? theme.toolPending
|
|
54
|
-
: running
|
|
55
|
-
? theme.toolRunning
|
|
56
|
-
: isGovernedModeValue(posture)
|
|
57
|
-
? theme.governAccent
|
|
58
|
-
: agentMode === 'plan'
|
|
59
|
-
? theme.accent
|
|
60
|
-
: hasDraft
|
|
61
|
-
? theme.focusBorder ?? theme.primary
|
|
62
|
-
: theme.idleBorder ?? theme.border;
|
|
63
|
-
return (_jsx(Box, { ref: measureRef, width: cols, flexDirection: "column", flexShrink: 0, children: _jsx(PromptInput, { deleteDisambiguated: deleteDisambiguated, onCompletionContextChange: onCompletionContextChange, cols: cols, terminalRows: terminalRows, statusExpanded: statusExpanded, cursorVisible: cursorVisible, onInteraction: onInteraction, isActive: isActive, reducedMotion: reducedMotion, onEscape: onEscape, onEscapeDismiss: onEscapeDismiss, running: running, history: history, commands: commands, cwd: cwd, theme: theme, caps: caps, popupMaxRows: popupMaxRows, popupMaxHeight: popupMaxHeight, onPopupRowsChange: onPopupRowsChange, onSubmit: onSubmit, onHelp: onHelp, agentMode: agentMode, borderColor: borderColor, onDraftChange: onDraftChange, draftClearNonce: draftClearNonce, draftFill: draftFill, insertMode: insertMode, onNotice: onNotice }) }));
|
|
64
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GovernancePanel - the legion panel (governance-mode section 10.3).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
|
|
5
|
-
*
|
|
6
|
-
* THIS COMPONENT ONLY COLOURS AND PLACES. Every decision - which tier, which columns, how
|
|
7
|
-
* wide, what each cell says, which row is hidden - was made by
|
|
8
|
-
* `layout/governance-panel.ts`, and the `layout` prop is REQUIRED: `App` builds it once to
|
|
9
|
-
* learn the panel's height (the native band and the TODO rail both budget against it) and
|
|
10
|
-
* hands the very same object here, so the number that decides whether the panel mounts is
|
|
11
|
-
* the number it is drawn from. A panel that re-planned itself could draw a taller tier than
|
|
12
|
-
* the one the band reserved, and the band clips the overflow in silence.
|
|
13
|
-
*
|
|
14
|
-
* IT REPLACES `TeamPanel` WHILE A GOVERNED STAGE RUNS (D-17), it does not stack with it:
|
|
15
|
-
* the repo has been bitten by a "double roster" once (tui-subagent-double-roster), and a
|
|
16
|
-
* governed dispatch is the one case where two live rosters would be the same children
|
|
17
|
-
* listed twice.
|
|
18
|
-
*
|
|
19
|
-
* NO `ink-spinner` HERE, on purpose. While a governed stage runs the lead's turn is
|
|
20
|
-
* running, the activity row owns the one spinner (single-spinner-while-running), and every
|
|
21
|
-
* panel is handed the widened reduced-motion signal anyway - an animation here would never
|
|
22
|
-
* play. The working marker is `statusGlyph(...)`, and `reducedMotion` is the USER's
|
|
23
|
-
* preference: it only decides whether a score change flashes for four seconds or stays put.
|
|
24
|
-
*
|
|
25
|
-
* COLUMNS ARE FIXED-WIDTH BOXES with exactly one elastic cell (`governance-roster.ts`), the
|
|
26
|
-
* lesson `TeamPanel` records at length: a flex-grown column under a fixed-height parent
|
|
27
|
-
* stretches to its widest child and the cells to its right lose their offsets.
|
|
28
|
-
*/
|
|
29
|
-
import React from 'react';
|
|
30
|
-
import type { GovernanceSnapshot } from '../governance/types.js';
|
|
31
|
-
import type { Theme } from './theme.js';
|
|
32
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
33
|
-
import { type EliminatedSince } from './governance-status.js';
|
|
34
|
-
import type { GovernancePanelLayout } from './layout/governance-panel.js';
|
|
35
|
-
/**
|
|
36
|
-
* The first-seen-eliminated map, kept across snapshots so a replaced member shows its
|
|
37
|
-
* `replaced by ...` note for exactly one phase. Reset when the run changes or ends.
|
|
38
|
-
*
|
|
39
|
-
* A ref written during render is acceptable here because the write is idempotent
|
|
40
|
-
* (`trackEliminated` returns the same object when nothing is new) and no other component
|
|
41
|
-
* reads the ref - `App` reads only the returned value.
|
|
42
|
-
*/
|
|
43
|
-
export declare function useEliminatedSince(snapshot: GovernanceSnapshot | null): EliminatedSince;
|
|
44
|
-
export interface GovernancePanelProps {
|
|
45
|
-
/** Built by `buildGovernancePanelLayout`; the SAME object `App` read the height from. */
|
|
46
|
-
layout: GovernancePanelLayout;
|
|
47
|
-
theme: Theme;
|
|
48
|
-
caps: TermCapabilities;
|
|
49
|
-
}
|
|
50
|
-
export declare function GovernancePanel({ layout, theme, caps }: GovernancePanelProps): React.ReactElement | null;
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* GovernancePanel - the legion panel (governance-mode section 10.3).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: every glyph comes from `pickGlyphs`, through the layout.
|
|
6
|
-
*
|
|
7
|
-
* THIS COMPONENT ONLY COLOURS AND PLACES. Every decision - which tier, which columns, how
|
|
8
|
-
* wide, what each cell says, which row is hidden - was made by
|
|
9
|
-
* `layout/governance-panel.ts`, and the `layout` prop is REQUIRED: `App` builds it once to
|
|
10
|
-
* learn the panel's height (the native band and the TODO rail both budget against it) and
|
|
11
|
-
* hands the very same object here, so the number that decides whether the panel mounts is
|
|
12
|
-
* the number it is drawn from. A panel that re-planned itself could draw a taller tier than
|
|
13
|
-
* the one the band reserved, and the band clips the overflow in silence.
|
|
14
|
-
*
|
|
15
|
-
* IT REPLACES `TeamPanel` WHILE A GOVERNED STAGE RUNS (D-17), it does not stack with it:
|
|
16
|
-
* the repo has been bitten by a "double roster" once (tui-subagent-double-roster), and a
|
|
17
|
-
* governed dispatch is the one case where two live rosters would be the same children
|
|
18
|
-
* listed twice.
|
|
19
|
-
*
|
|
20
|
-
* NO `ink-spinner` HERE, on purpose. While a governed stage runs the lead's turn is
|
|
21
|
-
* running, the activity row owns the one spinner (single-spinner-while-running), and every
|
|
22
|
-
* panel is handed the widened reduced-motion signal anyway - an animation here would never
|
|
23
|
-
* play. The working marker is `statusGlyph(...)`, and `reducedMotion` is the USER's
|
|
24
|
-
* preference: it only decides whether a score change flashes for four seconds or stays put.
|
|
25
|
-
*
|
|
26
|
-
* COLUMNS ARE FIXED-WIDTH BOXES with exactly one elastic cell (`governance-roster.ts`), the
|
|
27
|
-
* lesson `TeamPanel` records at length: a flex-grown column under a fixed-height parent
|
|
28
|
-
* stretches to its widest child and the cells to its right lose their offsets.
|
|
29
|
-
*/
|
|
30
|
-
import { useRef } from 'react';
|
|
31
|
-
import { Box, Text } from 'ink';
|
|
32
|
-
import { pickGlyphs } from './glyphs.js';
|
|
33
|
-
import { trackEliminated } from './governance-status.js';
|
|
34
|
-
import { GovernanceLine } from './GovernanceRun.js';
|
|
35
|
-
import { PANEL_MARGIN_CELLS, } from './layout/governance-roster.js';
|
|
36
|
-
/**
|
|
37
|
-
* The first-seen-eliminated map, kept across snapshots so a replaced member shows its
|
|
38
|
-
* `replaced by ...` note for exactly one phase. Reset when the run changes or ends.
|
|
39
|
-
*
|
|
40
|
-
* A ref written during render is acceptable here because the write is idempotent
|
|
41
|
-
* (`trackEliminated` returns the same object when nothing is new) and no other component
|
|
42
|
-
* reads the ref - `App` reads only the returned value.
|
|
43
|
-
*/
|
|
44
|
-
export function useEliminatedSince(snapshot) {
|
|
45
|
-
const ref = useRef({ runId: null, since: {} });
|
|
46
|
-
if (snapshot === null) {
|
|
47
|
-
if (ref.current.runId !== null)
|
|
48
|
-
ref.current = { runId: null, since: {} };
|
|
49
|
-
return ref.current.since;
|
|
50
|
-
}
|
|
51
|
-
const base = ref.current.runId === snapshot.runId ? ref.current.since : {};
|
|
52
|
-
ref.current = { runId: snapshot.runId, since: trackEliminated(base, snapshot) };
|
|
53
|
-
return ref.current.since;
|
|
54
|
-
}
|
|
55
|
-
function Margin() {
|
|
56
|
-
return (_jsx(Box, { width: PANEL_MARGIN_CELLS, flexShrink: 0, children: _jsx(Text, { children: " " }) }));
|
|
57
|
-
}
|
|
58
|
-
function LineView({ line, theme }) {
|
|
59
|
-
return (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: _jsx(GovernanceLine, { segments: line.left, theme: theme }) }), line.rightCells > 0 && (_jsx(Box, { width: line.rightCells, flexShrink: 0, justifyContent: "flex-end", children: _jsx(GovernanceLine, { segments: line.right, theme: theme }) }))] }));
|
|
60
|
-
}
|
|
61
|
-
function CellView({ cell, theme }) {
|
|
62
|
-
const content = _jsx(GovernanceLine, { segments: cell.segments, theme: theme });
|
|
63
|
-
if (cell.elastic) {
|
|
64
|
-
return _jsx(Box, { flexGrow: 1, flexShrink: 1, overflow: "hidden", children: content });
|
|
65
|
-
}
|
|
66
|
-
return (_jsx(Box, { width: cell.width, flexShrink: 0, overflow: "hidden", justifyContent: cell.align === 'right' ? 'flex-end' : 'flex-start', children: content }));
|
|
67
|
-
}
|
|
68
|
-
function RosterView({ line, theme }) {
|
|
69
|
-
return (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), line.cells.map((cell) => (_jsx(CellView, { cell: cell, theme: theme }, cell.key)))] }));
|
|
70
|
-
}
|
|
71
|
-
export function GovernancePanel({ layout, theme, caps }) {
|
|
72
|
-
if (layout.height === 0 || layout.header === null)
|
|
73
|
-
return null;
|
|
74
|
-
const glyphs = pickGlyphs(caps);
|
|
75
|
-
const rule = layout.ruleCells > 0 ? (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Text, { wrap: "truncate", color: theme.border, children: glyphs.hrule.repeat(layout.ruleCells) })] })) : null;
|
|
76
|
-
return (_jsxs(Box, { flexDirection: "column", width: "100%", flexShrink: 0, children: [_jsx(LineView, { line: layout.header, theme: theme }), layout.pipeline !== null && _jsx(LineView, { line: layout.pipeline, theme: theme }), rule, layout.rosterRows.map((line) => (_jsx(RosterView, { line: line, theme: theme }, line.key))), layout.overflow !== null && (_jsxs(Box, { flexDirection: "row", width: "100%", height: 1, flexShrink: 0, overflow: "hidden", children: [_jsx(Margin, {}), _jsx(Text, { wrap: "truncate", color: theme.muted, children: layout.overflow })] })), rule, layout.ticker.map((line, index) => (_jsx(LineView, { line: line, theme: theme }, `ticker-${index}`)))] }));
|
|
77
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* GovernanceRun - paints one `Segment[]` run: the single place a governance layout's
|
|
3
|
-
* semantic tones become Ink colours.
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY. The panel, the card and the board all draw the same `Segment` vocabulary,
|
|
6
|
-
* and three private copies of this loop is how their bold / tone handling drifts apart.
|
|
7
|
-
*/
|
|
8
|
-
import React from 'react';
|
|
9
|
-
import type { Theme } from './theme.js';
|
|
10
|
-
import { type Segment } from './governance-status.js';
|
|
11
|
-
export interface GovernanceRunProps {
|
|
12
|
-
segments: readonly Segment[];
|
|
13
|
-
theme: Theme;
|
|
14
|
-
}
|
|
15
|
-
/** The segments as nested `Text`; the CALLER owns wrapping and truncation. */
|
|
16
|
-
export declare function GovernanceRun({ segments, theme }: GovernanceRunProps): React.ReactElement;
|
|
17
|
-
/** One display row: the run inside a `wrap="truncate"` `Text`, so it can never wrap. */
|
|
18
|
-
export declare function GovernanceLine({ segments, theme }: GovernanceRunProps): React.ReactElement;
|
package/dist/ui/GovernanceRun.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
3
|
-
import { toneColor } from './governance-status.js';
|
|
4
|
-
/** The segments as nested `Text`; the CALLER owns wrapping and truncation. */
|
|
5
|
-
export function GovernanceRun({ segments, theme }) {
|
|
6
|
-
return (_jsx(_Fragment, { children: segments.map((part, index) => (_jsx(Text, { color: toneColor(part.tone, theme), ...(part.bold ? { bold: true } : {}), children: part.text }, index))) }));
|
|
7
|
-
}
|
|
8
|
-
/** One display row: the run inside a `wrap="truncate"` `Text`, so it can never wrap. */
|
|
9
|
-
export function GovernanceLine({ segments, theme }) {
|
|
10
|
-
return (_jsx(Text, { wrap: "truncate", children: _jsx(GovernanceRun, { segments: segments, theme: theme }) }));
|
|
11
|
-
}
|
package/dist/ui/Header.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* One-row brand bar: word mark, identity, working directory, task summary and a
|
|
3
|
-
* fixed-width hint column (tui-shortcut-drawer-and-task-summary §4.2 / §4.3).
|
|
4
|
-
*
|
|
5
|
-
* THIS COMPONENT COMPUTES NO WIDTHS ANY MORE. Both halves come from pure
|
|
6
|
-
* planners - `planHeaderHints` for the right column and `planHeaderLeft` for the
|
|
7
|
-
* clause ladder - so the only arithmetic left here is "join what I was given".
|
|
8
|
-
* The old shape carried a `statusExpanded` flag, a kit switch and a prompts
|
|
9
|
-
* switch, all of which existed to choose between header clauses; the clauses are
|
|
10
|
-
* gone (the drawer lists the keys instead), so the props are gone with them.
|
|
11
|
-
*/
|
|
12
|
-
import React from 'react';
|
|
13
|
-
import type { Theme } from './theme.js';
|
|
14
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
15
|
-
import { type HeaderVariant } from './Logo.js';
|
|
16
|
-
import { type HeaderPanelState } from './layout/header-hints.js';
|
|
17
|
-
interface HeaderProps {
|
|
18
|
-
cwd: string;
|
|
19
|
-
provider: string;
|
|
20
|
-
model: string;
|
|
21
|
-
hasKey: boolean;
|
|
22
|
-
variant: HeaderVariant;
|
|
23
|
-
theme: Theme;
|
|
24
|
-
caps: TermCapabilities;
|
|
25
|
-
columns?: number;
|
|
26
|
-
/**
|
|
27
|
-
* What the right column says. Derived in ONE place - the line that renders
|
|
28
|
-
* `<Header>` - so the two overlay slots cannot disagree about it.
|
|
29
|
-
*/
|
|
30
|
-
panel?: HeaderPanelState;
|
|
31
|
-
scrolledLines?: number;
|
|
32
|
-
/**
|
|
33
|
-
* The session's task label, or `null` while there is none.
|
|
34
|
-
*
|
|
35
|
-
* `null` WHILE PENDING TOO: a placeholder here would spend eight columns of the
|
|
36
|
-
* row to draw an ellipsis and then move everything back when the label lands,
|
|
37
|
-
* so the first submit visibly jogged the header. The label now appears once,
|
|
38
|
-
* complete (P2-10).
|
|
39
|
-
*/
|
|
40
|
-
taskSummary?: {
|
|
41
|
-
text: string;
|
|
42
|
-
tone: 'model' | 'fallback';
|
|
43
|
-
} | null;
|
|
44
|
-
/** `config.taskSummary.enabled`; `false` removes the cell without removing the words. */
|
|
45
|
-
summaryEnabled?: boolean;
|
|
46
|
-
}
|
|
47
|
-
export declare function Header({ cwd, provider, model, hasKey, variant, theme, caps, columns, panel, scrolledLines, taskSummary, summaryEnabled, }: HeaderProps): React.ReactElement;
|
|
48
|
-
export {};
|
package/dist/ui/Header.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { basename } from 'node:path';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
import { Logo } from './Logo.js';
|
|
5
|
-
import { pickGlyphs } from './glyphs.js';
|
|
6
|
-
import { planHeaderHints, HEADER_HINT_LIMITS, } from './layout/header-hints.js';
|
|
7
|
-
import { planHeaderLeft } from './layout/header-left.js';
|
|
8
|
-
export function Header({ cwd, provider, model, hasKey, variant, theme, caps, columns = 80, panel = 'none', scrolledLines = 0, taskSummary = null, summaryEnabled = true, }) {
|
|
9
|
-
const glyphs = pickGlyphs(caps);
|
|
10
|
-
// THE RIGHT COLUMN FIRST: it is the only clause that may never be dropped, so
|
|
11
|
-
// the left half is planned against what is left after it (defect 12).
|
|
12
|
-
const plan = planHeaderHints({ columns, panel, scrolledLines });
|
|
13
|
-
const leftCells = Math.max(0, columns - plan.cells - HEADER_HINT_LIMITS.separatorCells);
|
|
14
|
-
const left = planHeaderLeft({
|
|
15
|
-
leftCells,
|
|
16
|
-
provider,
|
|
17
|
-
model,
|
|
18
|
-
cwd: basename(cwd) || cwd,
|
|
19
|
-
hasKey,
|
|
20
|
-
summary: taskSummary,
|
|
21
|
-
summaryEnabled,
|
|
22
|
-
ellipsis: glyphs.ellipsis,
|
|
23
|
-
});
|
|
24
|
-
return _jsxs(Box, { flexDirection: "row", height: 1, width: columns, flexShrink: 0, overflow: "hidden", children: [_jsx(Box, { width: leftCells, flexShrink: 0, overflow: "hidden", children: _jsxs(Text, { wrap: "truncate", children: [_jsx(Logo, { variant: variant === 'mini' ? 'mini' : 'bar', theme: theme, caps: caps }), variant !== 'mini' && _jsxs(_Fragment, { children: [left.text.model && _jsxs(Text, { color: theme.accent, children: [' ', left.text.model] }), left.text.cwd && _jsxs(Text, { color: theme.muted, children: [' ', left.text.cwd] }), left.text.summary && _jsxs(Text, { color: theme.muted, children: [' ', glyphs.midDot, ' '] }), left.text.summary && (taskSummary?.tone === 'fallback'
|
|
25
|
-
? _jsx(Text, { color: theme.muted, dimColor: true, children: left.text.summary })
|
|
26
|
-
: _jsx(Text, { color: theme.primary, children: left.text.summary })), _jsxs(Text, { color: hasKey ? theme.toolDone : theme.toolRunning, children: [' ', hasKey ? theme.symbols.keyOn : theme.symbols.keyOff] })] })] }) }), _jsx(Box, { width: HEADER_HINT_LIMITS.separatorCells, flexShrink: 0 }), _jsx(Box, { width: plan.cells, flexShrink: 0, justifyContent: "flex-end", children: _jsx(Text, { color: theme.muted, wrap: "truncate", children: plan.text }) })] });
|
|
27
|
-
}
|
package/dist/ui/Logo.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Brand wordmark (spec §5.1 / R1). The first row of the frame always starts
|
|
3
|
-
* with a brand glyph, at every terminal size and every capability tier.
|
|
4
|
-
*/
|
|
5
|
-
import React from 'react';
|
|
6
|
-
import type { Theme } from './theme.js';
|
|
7
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
8
|
-
/** 6 rows × 52 columns, every row equal width (pinned by logo.test.ts). */
|
|
9
|
-
export declare const LOGO_ART: readonly string[];
|
|
10
|
-
export declare const LOGO_ART_WIDTH = 52;
|
|
11
|
-
export type HeaderVariant = 'bar' | 'mini';
|
|
12
|
-
/** How the one-off opening wordmark renders inside the viewport (§4.2). */
|
|
13
|
-
export type OpenerVariant = 'art' | 'banner' | 'none';
|
|
14
|
-
export declare function pickHeaderVariant(cols: number): HeaderVariant;
|
|
15
|
-
/**
|
|
16
|
-
* Pick the opening wordmark tier.
|
|
17
|
-
*
|
|
18
|
-
* Judged against VIEWPORT rows rather than terminal rows because the wordmark
|
|
19
|
-
* now spends the viewport's budget, not the frame's: the test has to be against
|
|
20
|
-
* the account being charged.
|
|
21
|
-
*
|
|
22
|
-
* Color preferences must not change geometry: a monochrome TUI gets the same
|
|
23
|
-
* wordmark as a colored one when there is room for it.
|
|
24
|
-
*/
|
|
25
|
-
export declare function pickOpenerVariant(viewportRows: number, cols: number): OpenerVariant;
|
|
26
|
-
export interface LogoProps {
|
|
27
|
-
/** `art` / `banner` come from `SessionOpener`; `bar` / `mini` from `Header`. */
|
|
28
|
-
variant: HeaderVariant | OpenerVariant;
|
|
29
|
-
theme: Theme;
|
|
30
|
-
caps: TermCapabilities;
|
|
31
|
-
}
|
|
32
|
-
export declare function Logo({ variant, theme, caps }: LogoProps): React.ReactElement | null;
|
package/dist/ui/Logo.js
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
3
|
-
import { gradientLine } from './gradient.js';
|
|
4
|
-
/** 6 rows × 52 columns, every row equal width (pinned by logo.test.ts). */
|
|
5
|
-
export const LOGO_ART = [
|
|
6
|
-
' █████╗ ██████╗ █████╗ ██████╗ ██████╗ ███╗ ██╗',
|
|
7
|
-
'██╔══██╗██╔══██╗██╔══██╗██╔════╝ ██╔═══██╗████╗ ██║',
|
|
8
|
-
'███████║██████╔╝███████║██║ ███╗██║ ██║██╔██╗ ██║',
|
|
9
|
-
'██╔══██║██╔══██╗██╔══██║██║ ██║██║ ██║██║╚██╗██║',
|
|
10
|
-
'██║ ██║██║ ██║██║ ██║╚██████╔╝╚██████╔╝██║ ╚████║',
|
|
11
|
-
'╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝',
|
|
12
|
-
];
|
|
13
|
-
export const LOGO_ART_WIDTH = 52;
|
|
14
|
-
/** Minimum viewport rows / cols each tier needs before it earns its budget. */
|
|
15
|
-
const ART_MIN_VIEWPORT_ROWS = 14;
|
|
16
|
-
/**
|
|
17
|
-
* 4 columns of headroom on purpose: the art renders with `wrap="truncate"`, so
|
|
18
|
-
* at zero headroom anything upstream claiming a single column silently shears
|
|
19
|
-
* the right edge off the `N`. Between `LOGO_ART_WIDTH` and this threshold the
|
|
20
|
-
* opener degrades to `banner`, which is the intended fallback (rename C2).
|
|
21
|
-
*/
|
|
22
|
-
const ART_MIN_COLS = LOGO_ART_WIDTH + 4;
|
|
23
|
-
const BANNER_MIN_COLS = 48;
|
|
24
|
-
const BAR_MIN_COLS = 40;
|
|
25
|
-
export function pickHeaderVariant(cols) {
|
|
26
|
-
return cols >= BAR_MIN_COLS ? 'bar' : 'mini';
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Pick the opening wordmark tier.
|
|
30
|
-
*
|
|
31
|
-
* Judged against VIEWPORT rows rather than terminal rows because the wordmark
|
|
32
|
-
* now spends the viewport's budget, not the frame's: the test has to be against
|
|
33
|
-
* the account being charged.
|
|
34
|
-
*
|
|
35
|
-
* Color preferences must not change geometry: a monochrome TUI gets the same
|
|
36
|
-
* wordmark as a colored one when there is room for it.
|
|
37
|
-
*/
|
|
38
|
-
export function pickOpenerVariant(viewportRows, cols) {
|
|
39
|
-
if (viewportRows >= ART_MIN_VIEWPORT_ROWS &&
|
|
40
|
-
cols >= ART_MIN_COLS) {
|
|
41
|
-
return 'art';
|
|
42
|
-
}
|
|
43
|
-
if (cols >= BANNER_MIN_COLS)
|
|
44
|
-
return 'banner';
|
|
45
|
-
return 'none';
|
|
46
|
-
}
|
|
47
|
-
/** Rotate the gradient stops by one per row so the block reads as a diagonal sheen. */
|
|
48
|
-
function shiftStops(stops, row) {
|
|
49
|
-
if (stops.length === 0)
|
|
50
|
-
return stops;
|
|
51
|
-
const at = row % stops.length;
|
|
52
|
-
return [...stops.slice(at), ...stops.slice(0, at)];
|
|
53
|
-
}
|
|
54
|
-
export function Logo({ variant, theme, caps }) {
|
|
55
|
-
const wordmark = `${theme.symbols.wordmark} AragonAgent`;
|
|
56
|
-
if (variant === 'none')
|
|
57
|
-
return null;
|
|
58
|
-
if (variant === 'art') {
|
|
59
|
-
return (_jsx(_Fragment, { children: LOGO_ART.map((line, i) => (_jsx(Text, { wrap: "truncate", color: theme.gradient.length > 0 ? undefined : theme.logoShadow, children: gradientLine(line, shiftStops(theme.gradient, i), caps.colorLevel) }, i))) }));
|
|
60
|
-
}
|
|
61
|
-
if (variant === 'banner') {
|
|
62
|
-
return (_jsx(Text, { wrap: "truncate", bold: true, color: theme.gradient.length > 0 ? undefined : theme.primary, children: gradientLine(wordmark, theme.gradient, caps.colorLevel) }));
|
|
63
|
-
}
|
|
64
|
-
return (_jsx(Text, { bold: true, color: theme.primary, children: wordmark }));
|
|
65
|
-
}
|
package/dist/ui/Markdown.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lightweight markdown renderer for Ink (spec §4 / §4.7).
|
|
3
|
-
*
|
|
4
|
-
* Supports: fenced code blocks (syntax-highlighted via cli-highlight, on a left
|
|
5
|
-
* rail with a language tag), six DISTINCT heading weights, horizontal rules,
|
|
6
|
-
* unordered/ordered lists, blockquotes, pipe tables, and inline **bold** /
|
|
7
|
-
* *italic* / `code` / ~~strike~~. Anything else renders as plain text. Still
|
|
8
|
-
* intentionally small — not a CommonMark implementation.
|
|
9
|
-
*
|
|
10
|
-
* The grammar lives in `markdown-blocks.ts`; this file only renders. That was
|
|
11
|
-
* true of the file header long before it was true of the file
|
|
12
|
-
* (tui-render-performance R2): the block grammar used to run here, in the render
|
|
13
|
-
* body, on every frame. Both expensive halves are now memoised on the input
|
|
14
|
-
* string — `parseMarkdownCached` for the AST, `highlightCached` for the ANSI —
|
|
15
|
-
* while theme and glyphs stay render-time, so `/theme` still takes effect
|
|
16
|
-
* immediately (K-5).
|
|
17
|
-
*/
|
|
18
|
-
import React from 'react';
|
|
19
|
-
import type { Theme } from './theme.js';
|
|
20
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
21
|
-
interface MarkdownProps {
|
|
22
|
-
text: string;
|
|
23
|
-
theme: Theme;
|
|
24
|
-
caps: TermCapabilities;
|
|
25
|
-
}
|
|
26
|
-
export declare function Markdown({ text, theme, caps }: MarkdownProps): React.ReactElement;
|
|
27
|
-
/** Turn parsed inline spans into Ink `<Text>` nodes. */
|
|
28
|
-
export declare function renderInline(text: string, theme: Theme): React.ReactNode;
|
|
29
|
-
export {};
|
package/dist/ui/Markdown.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
import { pickGlyphs } from './glyphs.js';
|
|
4
|
-
import { railBorderProps } from './layout/Gutter.js';
|
|
5
|
-
import { highlightCached, parseMarkdownCached } from './render-cache.js';
|
|
6
|
-
import { formatTable, isRule, parseHeading, parseInline, } from './markdown-blocks.js';
|
|
7
|
-
/** Width of the `---` rule. Fixed so it cannot force a wrap on narrow frames. */
|
|
8
|
-
const RULE_WIDTH = 24;
|
|
9
|
-
export function Markdown({ text, theme, caps }) {
|
|
10
|
-
const glyphs = pickGlyphs(caps);
|
|
11
|
-
const blocks = parseMarkdownCached(text);
|
|
12
|
-
return (_jsx(Box, { flexDirection: "column", children: blocks.map((block, i) => renderBlock(block, i, theme, glyphs)) }));
|
|
13
|
-
}
|
|
14
|
-
function renderBlock(block, key, theme, glyphs) {
|
|
15
|
-
switch (block.kind) {
|
|
16
|
-
case 'code':
|
|
17
|
-
return (_jsx(CodeBlock, { code: block.code, lang: block.lang, theme: theme, glyphs: glyphs }, `b${key}`));
|
|
18
|
-
case 'table': {
|
|
19
|
-
// Glyphs are injected rather than hardcoded: this module is inside the
|
|
20
|
-
// ASCII-only scan, and the pure parser defaults to ASCII `|` / `-`.
|
|
21
|
-
const formatted = formatTable(block.rows, block.align, {
|
|
22
|
-
separator: glyphs.railVertical,
|
|
23
|
-
rule: glyphs.hrule,
|
|
24
|
-
});
|
|
25
|
-
return (_jsx(Box, { flexDirection: "column", children: formatted.map((row, r) => (_jsx(Text, { wrap: "truncate", bold: r === 0, color: tableRowColor(r, theme), children: row }, r))) }, `b${key}`));
|
|
26
|
-
}
|
|
27
|
-
default:
|
|
28
|
-
return _jsx(InlineLine, { line: block.text, theme: theme, glyphs: glyphs }, `b${key}`);
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Table row 0 is the header (bold + accent); row 1 is the divider drawn under it.
|
|
33
|
-
*
|
|
34
|
-
* The divider must stay distinguishable at colour level 0, where bold is dropped
|
|
35
|
-
* to nothing, so it is MUTED and never bold: in `--no-color` the `----` run is
|
|
36
|
-
* itself the signal, and in a coloured tier the weight difference separates the
|
|
37
|
-
* header from the rule beneath it.
|
|
38
|
-
*/
|
|
39
|
-
function tableRowColor(index, theme) {
|
|
40
|
-
if (index === 0)
|
|
41
|
-
return theme.accent;
|
|
42
|
-
if (index === 1)
|
|
43
|
-
return theme.muted;
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Fenced code. The round border is gone (§4.3): nested inside a tool card it
|
|
48
|
-
* produced a box inside a box and squeezed an 80-column terminal down to 74
|
|
49
|
-
* usable columns. A left rail plus the language tag conveys the same "this is
|
|
50
|
-
* code" boundary for 1 column and 0 rows.
|
|
51
|
-
*
|
|
52
|
-
* The language tag is a muted TITLE, not a body row: it used to carry a chip
|
|
53
|
-
* background and one padding space either side of the text, so it rendered as
|
|
54
|
-
* ` | ts` above code rows that start at `| export ...` — a body line that
|
|
55
|
-
* happened to be the language. It keeps its own row on purpose: the height
|
|
56
|
-
* estimator (`virtual-window.estimateEntryRows`) counts RAW markdown lines and
|
|
57
|
-
* has no code-block branch, so the fence line must still occupy exactly 1 row.
|
|
58
|
-
*/
|
|
59
|
-
function CodeBlock({ code, lang, theme, glyphs, }) {
|
|
60
|
-
const rendered = highlightCached(code, lang);
|
|
61
|
-
return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: [lang.length > 0 && (_jsx(Text, { bold: true, color: theme.muted, children: lang })), _jsx(Text, { children: rendered })] }));
|
|
62
|
-
}
|
|
63
|
-
/** Six heading levels used to render identically; now they carry three weights. */
|
|
64
|
-
function headingStyle(level, theme) {
|
|
65
|
-
if (level <= 2)
|
|
66
|
-
return { color: theme.primary };
|
|
67
|
-
if (level === 3)
|
|
68
|
-
return { color: theme.accent };
|
|
69
|
-
return { color: theme.assistant };
|
|
70
|
-
}
|
|
71
|
-
function InlineLine({ line, theme, glyphs, }) {
|
|
72
|
-
const heading = parseHeading(line);
|
|
73
|
-
if (heading) {
|
|
74
|
-
const style = headingStyle(heading.level, theme);
|
|
75
|
-
if (heading.level === 1) {
|
|
76
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: style.color, children: heading.text }), _jsx(Text, { color: theme.border, children: glyphs.hrule.repeat(RULE_WIDTH) })] }));
|
|
77
|
-
}
|
|
78
|
-
return (_jsx(Text, { bold: true, color: style.color, children: heading.text }));
|
|
79
|
-
}
|
|
80
|
-
if (isRule(line)) {
|
|
81
|
-
return _jsx(Text, { color: theme.border, children: glyphs.hrule.repeat(RULE_WIDTH) });
|
|
82
|
-
}
|
|
83
|
-
const quote = /^>\s?(.*)$/.exec(line);
|
|
84
|
-
if (quote) {
|
|
85
|
-
return (_jsxs(Text, { color: theme.muted, italic: true, children: [glyphs.railVertical, " ", renderInline(quote[1] ?? '', theme)] }));
|
|
86
|
-
}
|
|
87
|
-
const bullet = /^(\s*)([-*+])\s+(.*)$/.exec(line);
|
|
88
|
-
if (bullet) {
|
|
89
|
-
return (_jsxs(Text, { children: [bullet[1], _jsxs(Text, { color: theme.accent, children: [glyphs.bullet, " "] }), renderInline(bullet[3] ?? '', theme)] }));
|
|
90
|
-
}
|
|
91
|
-
const ordered = /^(\s*)(\d+)\.\s+(.*)$/.exec(line);
|
|
92
|
-
if (ordered) {
|
|
93
|
-
return (_jsxs(Text, { children: [ordered[1], _jsxs(Text, { color: theme.accent, children: [ordered[2], ". "] }), renderInline(ordered[3] ?? '', theme)] }));
|
|
94
|
-
}
|
|
95
|
-
return _jsx(Text, { children: renderInline(line, theme) });
|
|
96
|
-
}
|
|
97
|
-
/** Turn parsed inline spans into Ink `<Text>` nodes. */
|
|
98
|
-
export function renderInline(text, theme) {
|
|
99
|
-
const spans = parseInline(text);
|
|
100
|
-
if (spans.length === 0)
|
|
101
|
-
return text;
|
|
102
|
-
return spans.map((span, i) => {
|
|
103
|
-
switch (span.kind) {
|
|
104
|
-
case 'code':
|
|
105
|
-
return (_jsx(Text, { color: theme.code, children: span.text }, `i${i}`));
|
|
106
|
-
case 'bold':
|
|
107
|
-
return (_jsx(Text, { bold: true, children: span.text }, `i${i}`));
|
|
108
|
-
case 'italic':
|
|
109
|
-
return (_jsx(Text, { italic: true, children: span.text }, `i${i}`));
|
|
110
|
-
case 'strike':
|
|
111
|
-
return (_jsx(Text, { strikethrough: true, children: span.text }, `i${i}`));
|
|
112
|
-
default:
|
|
113
|
-
return span.text;
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
}
|
package/dist/ui/PromptCaret.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
export interface PromptCaretProps {
|
|
3
|
-
text: string;
|
|
4
|
-
active: boolean;
|
|
5
|
-
reducedMotion: boolean;
|
|
6
|
-
colorLevel: 0 | 1 | 2 | 3;
|
|
7
|
-
color?: string;
|
|
8
|
-
resetKey: object;
|
|
9
|
-
}
|
|
10
|
-
/** The only blinking state belongs to this leaf, never to the editor. */
|
|
11
|
-
export declare function PromptCaret({ text, active, reducedMotion, colorLevel, color, resetKey, }: PromptCaretProps): React.ReactElement;
|
package/dist/ui/PromptCaret.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useLayoutEffect, useState } from 'react';
|
|
3
|
-
import { Text } from 'ink';
|
|
4
|
-
import { displayWidth } from './composer-rows.js';
|
|
5
|
-
function monochromeMarker(text) {
|
|
6
|
-
// Ink's output grid advances for combining marks, even though they have no
|
|
7
|
-
// terminal width. Retain them in both phases so its cell count stays stable.
|
|
8
|
-
const replace = (marker) => Array.from(text, (point) => {
|
|
9
|
-
const width = displayWidth(point);
|
|
10
|
-
return width > 0 ? marker.repeat(width) : point;
|
|
11
|
-
}).join('');
|
|
12
|
-
const underline = replace('_');
|
|
13
|
-
return underline === text ? replace('^') : underline;
|
|
14
|
-
}
|
|
15
|
-
/** The only blinking state belongs to this leaf, never to the editor. */
|
|
16
|
-
export function PromptCaret({ text, active, reducedMotion, colorLevel, color, resetKey, }) {
|
|
17
|
-
const [visible, setVisible] = useState(true);
|
|
18
|
-
useLayoutEffect(() => {
|
|
19
|
-
setVisible(true);
|
|
20
|
-
if (!active || reducedMotion)
|
|
21
|
-
return;
|
|
22
|
-
const timer = setInterval(() => setVisible((previous) => !previous), 500);
|
|
23
|
-
return () => clearInterval(timer);
|
|
24
|
-
}, [resetKey, active, reducedMotion]);
|
|
25
|
-
const bright = active && (reducedMotion || visible);
|
|
26
|
-
let content = text;
|
|
27
|
-
if (bright && colorLevel === 0) {
|
|
28
|
-
content = monochromeMarker(text);
|
|
29
|
-
}
|
|
30
|
-
return _jsx(Text, { color: color, inverse: bright && colorLevel > 0, children: content });
|
|
31
|
-
}
|