@aragon-agent/cli 0.6.47 → 0.6.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +27 -6
- package/dist/agent/coalesce.d.ts +1 -1
- package/dist/agent/controller.d.ts +21 -21
- package/dist/agent/controller.js +13 -13
- package/dist/agent/conversation-reset.d.ts +1 -1
- package/dist/agent/governance-wiring.d.ts +6 -6
- package/dist/agent/governance-wiring.js +4 -4
- package/dist/agent/headless.d.ts +5 -5
- package/dist/agent/headless.js +4 -4
- package/dist/agent/job-notices.d.ts +1 -1
- package/dist/agent/job-notices.js +1 -1
- package/dist/agent/kit-apply.d.ts +3 -3
- package/dist/agent/kit-apply.js +3 -3
- package/dist/agent/model-profile-settings.d.ts +2 -2
- package/dist/agent/model-profile-settings.js +6 -6
- package/dist/agent/prompt-options.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/{ui → app}/App.d.ts +9 -9
- package/dist/{ui → app}/App.js +79 -79
- package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
- package/dist/{ui → app}/use-startup-notices.js +2 -2
- package/dist/cli.js +29 -29
- package/dist/commands/agents-command.js +1 -1
- package/dist/commands/builtins.js +9 -9
- package/dist/commands/governance-command.js +2 -2
- package/dist/commands/governance-runs-table.js +1 -1
- package/dist/commands/kit-command.js +1 -1
- package/dist/commands/perf.d.ts +3 -3
- package/dist/commands/perf.js +1 -1
- package/dist/commands/registry.d.ts +8 -8
- package/dist/commands/skills.js +2 -2
- package/dist/commands/team-command.js +1 -1
- package/dist/compaction/archive.d.ts +1 -1
- package/dist/compaction/archive.js +1 -1
- package/dist/compaction/child.d.ts +3 -3
- package/dist/compaction/child.js +4 -4
- package/dist/compaction/command.js +5 -5
- package/dist/compaction/compactor.d.ts +6 -6
- package/dist/compaction/compactor.js +6 -6
- package/dist/compaction/context-command.js +1 -1
- package/dist/compaction/digest.js +1 -1
- package/dist/compaction/memory-input.js +1 -1
- package/dist/compaction/memory-validation.js +1 -1
- package/dist/compaction/memory.js +1 -1
- package/dist/compaction/summarize-call.js +1 -1
- package/dist/compaction/summary-prompt.js +1 -1
- package/dist/compaction/tail-budget.js +2 -2
- package/dist/compaction/wiring.d.ts +5 -5
- package/dist/compaction/wiring.js +2 -2
- package/dist/config/cli-commands.d.ts +1 -1
- package/dist/config/cli-commands.js +3 -3
- package/dist/config/env.d.ts +1 -1
- package/dist/config/env.js +4 -4
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.js +6 -6
- package/dist/config/migrate-state-out-of-config.js +1 -1
- package/dist/config/model-profile-store.d.ts +4 -54
- package/dist/config/model-profile-store.js +3 -3
- package/dist/config/prompt-history.js +1 -1
- package/dist/config/store.d.ts +2 -2
- package/dist/config/store.js +3 -3
- package/dist/diagnostics/doctor.js +4 -4
- package/dist/exec/bridge/decisions.d.ts +1 -1
- package/dist/exec/bridge/human-answers.d.ts +1 -1
- package/dist/exec/bridge/human-answers.js +1 -1
- package/dist/exec/bridge/protocol.d.ts +1 -1
- package/dist/exec/bridge/server.js +1 -1
- package/dist/exec/events.d.ts +2 -2
- package/dist/exec/index.d.ts +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/exec/permission.js +1 -1
- package/dist/exec/runner.d.ts +3 -3
- package/dist/exec/runner.js +2 -2
- package/dist/exec/threads/runtime.js +1 -1
- package/dist/fast/digest.d.ts +1 -1
- package/dist/fast/digest.js +1 -1
- package/dist/fast/frames.d.ts +1 -1
- package/dist/fast/frames.js +1 -1
- package/dist/fast/prompt.d.ts +1 -1
- package/dist/fast/prompt.js +1 -1
- package/dist/fast/review-call.js +1 -1
- package/dist/fast/reviewer.d.ts +3 -3
- package/dist/fast/reviewer.js +1 -1
- package/dist/fast/summary-call.d.ts +3 -3
- package/dist/fast/summary-call.js +2 -2
- package/dist/fast/summary-prompt.d.ts +1 -1
- package/dist/fast/summary-prompt.js +1 -1
- package/dist/fast/wiring.d.ts +4 -4
- package/dist/fast/wiring.js +1 -1
- package/dist/governance/card-normalize.d.ts +1 -1
- package/dist/governance/copy.d.ts +1 -1
- package/dist/governance/copy.js +2 -2
- package/dist/governance/engine/artifact-persist.d.ts +1 -1
- package/dist/governance/engine/budget.d.ts +1 -1
- package/dist/governance/engine/budget.js +1 -1
- package/dist/governance/engine/cards.d.ts +1 -1
- package/dist/governance/engine/digest.js +1 -1
- package/dist/governance/engine/engine-core.d.ts +5 -5
- package/dist/governance/engine/engine-core.js +1 -1
- package/dist/governance/engine/engine.d.ts +1 -1
- package/dist/governance/engine/engine.js +1 -1
- package/dist/governance/engine/estimate.d.ts +1 -1
- package/dist/governance/engine/estimate.js +1 -1
- package/dist/governance/engine/inspector.js +2 -2
- package/dist/governance/engine/integration.d.ts +1 -1
- package/dist/governance/engine/lifecycle.d.ts +1 -1
- package/dist/governance/engine/lifecycle.js +1 -1
- package/dist/governance/engine/phase-members.d.ts +1 -1
- package/dist/governance/engine/phase-planner.d.ts +1 -1
- package/dist/governance/engine/phase-planner.js +1 -1
- package/dist/governance/engine/rebuild.d.ts +1 -1
- package/dist/governance/engine/report.d.ts +1 -1
- package/dist/governance/engine/report.js +1 -1
- package/dist/governance/engine/run-digest.d.ts +1 -1
- package/dist/governance/engine/spec-builder.d.ts +2 -2
- package/dist/governance/engine/spec-builder.js +2 -2
- package/dist/governance/engine/stage-runner.js +2 -2
- package/dist/governance/engine/start-input.d.ts +1 -1
- package/dist/governance/engine/start-input.js +1 -1
- package/dist/governance/engine/state-machine.d.ts +1 -1
- package/dist/governance/engine/state-machine.js +3 -3
- package/dist/governance/engine/submission-queries.d.ts +1 -1
- package/dist/governance/engine/submission-render.d.ts +1 -1
- package/dist/governance/engine/submissions.d.ts +1 -1
- package/dist/governance/engine/submissions.js +1 -1
- package/dist/governance/engine/visibility.d.ts +1 -1
- package/dist/governance/engine/visibility.js +1 -1
- package/dist/governance/posture-transition.d.ts +2 -2
- package/dist/governance/posture-transition.js +1 -1
- package/dist/governance/profiles.d.ts +1 -1
- package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
- package/dist/governance/prompts/orchestrator-block.js +2 -2
- package/dist/governance/prompts/plan-addendum.d.ts +1 -1
- package/dist/governance/prompts/plan-addendum.js +1 -1
- package/dist/governance/prompts/role-blocks.d.ts +2 -2
- package/dist/governance/prompts/role-blocks.js +1 -1
- package/dist/governance/report-reader.js +1 -1
- package/dist/governance/roles.d.ts +1 -1
- package/dist/governance/rules/claims.d.ts +1 -1
- package/dist/governance/rules/claims.js +1 -1
- package/dist/governance/rules/elimination.d.ts +1 -1
- package/dist/governance/rules/elimination.js +1 -1
- package/dist/governance/rules/failure-analysis.d.ts +2 -2
- package/dist/governance/rules/failure-analysis.js +1 -1
- package/dist/governance/rules/ledger-replay.d.ts +1 -1
- package/dist/governance/rules/ledger-state.d.ts +1 -1
- package/dist/governance/rules/ledger-state.js +1 -1
- package/dist/governance/rules/ledger.d.ts +2 -2
- package/dist/governance/rules/ledger.js +2 -2
- package/dist/governance/rules/rca.d.ts +1 -1
- package/dist/governance/rules/rca.js +1 -1
- package/dist/governance/rules/settlement.d.ts +2 -2
- package/dist/governance/rules/settlement.js +2 -2
- package/dist/governance/rules/suspicion.d.ts +1 -1
- package/dist/governance/store/artifacts.d.ts +1 -1
- package/dist/governance/store/artifacts.js +1 -1
- package/dist/governance/store/events-log.d.ts +1 -1
- package/dist/governance/store/run-store.d.ts +1 -1
- package/dist/governance/store/run-store.js +1 -1
- package/dist/governance/store/scoreboard-export.d.ts +1 -1
- package/dist/governance/tools/child-tools.d.ts +1 -1
- package/dist/governance/tools/guard.d.ts +1 -1
- package/dist/governance/tools/guard.js +1 -1
- package/dist/governance/tools/inspector-tools.d.ts +2 -2
- package/dist/governance/tools/inspector-tools.js +2 -2
- package/dist/governance/tools/lead-tools.d.ts +1 -1
- package/dist/governance/tools/lead-tools.js +1 -1
- package/dist/governance/tools/normalize-util.js +1 -1
- package/dist/governance/tools/scan-incomplete.js +1 -1
- package/dist/governance/tools/shared-tools.d.ts +1 -1
- package/dist/governance/tools/shared-tools.js +1 -1
- package/dist/governance/tools/submit-normalizers.d.ts +1 -1
- package/dist/governance/tools/submit-normalizers.js +1 -1
- package/dist/governance/tools/submit-tools.d.ts +1 -1
- package/dist/logging/cli-commands.js +1 -1
- package/dist/logging/install.d.ts +1 -1
- package/dist/logging/install.js +3 -3
- package/dist/logging/logger.d.ts +2 -2
- package/dist/logging/logger.js +31 -2
- package/dist/proc/kill-tree.js +1 -1
- package/dist/proc/log-mirror.js +1 -1
- package/dist/proc/log-ring.js +2 -2
- package/dist/proc/notices.d.ts +1 -1
- package/dist/proc/notices.js +2 -2
- package/dist/proc/prompt.d.ts +1 -1
- package/dist/proc/prompt.js +1 -1
- package/dist/proc/readiness.js +1 -1
- package/dist/proc/supervisor.d.ts +1 -1
- package/dist/proc/supervisor.js +3 -3
- package/dist/proc/wait.d.ts +1 -1
- package/dist/proc/wait.js +1 -1
- package/dist/prompts/command.d.ts +1 -1
- package/dist/prompts/command.js +1 -1
- package/dist/prompts/normalize.d.ts +1 -1
- package/dist/prompts/normalize.js +1 -1
- package/dist/prompts/resolve.d.ts +1 -1
- package/dist/prompts/store.d.ts +2 -12
- package/dist/prompts/store.js +6 -60
- package/dist/session/checkpoint.d.ts +2 -2
- package/dist/session/clear-archive.d.ts +2 -2
- package/dist/session/persist.d.ts +2 -2
- package/dist/session/persist.js +1 -1
- package/dist/session/startup-session.d.ts +2 -2
- package/dist/session/validate-session.js +3 -3
- package/dist/skills/service.d.ts +2 -2
- package/dist/team/bus.d.ts +1 -1
- package/dist/team/bus.js +1 -1
- package/dist/team/child-reviewer.d.ts +2 -2
- package/dist/team/child-reviewer.js +1 -1
- package/dist/team/comm-tools.js +1 -1
- package/dist/team/dispatch-gate.js +1 -1
- package/dist/team/forced-dispatch.js +1 -1
- package/dist/team/forced-mode.d.ts +1 -1
- package/dist/team/forced-prompt.d.ts +1 -1
- package/dist/team/forced-prompt.js +1 -1
- package/dist/team/normalize.d.ts +1 -1
- package/dist/team/normalize.js +1 -1
- package/dist/team/overseer.d.ts +3 -3
- package/dist/team/overseer.js +3 -3
- package/dist/team/prompt.d.ts +1 -1
- package/dist/team/prompt.js +1 -1
- package/dist/team/report.d.ts +2 -2
- package/dist/team/report.js +2 -2
- package/dist/team/retry.d.ts +1 -1
- package/dist/team/retry.js +1 -1
- package/dist/team/runtime.d.ts +4 -4
- package/dist/team/runtime.js +2 -2
- package/dist/team/settled.d.ts +2 -2
- package/dist/team/subagent.d.ts +4 -4
- package/dist/team/subagent.js +5 -5
- package/dist/team/task-tool.d.ts +1 -1
- package/dist/team/task-tool.js +1 -1
- package/dist/todo/normalize.d.ts +1 -1
- package/dist/todo/normalize.js +1 -1
- package/dist/todo/prompt.d.ts +1 -1
- package/dist/todo/prompt.js +1 -1
- package/dist/todo/store.d.ts +1 -1
- package/dist/todo/store.js +2 -2
- package/dist/todo/todo-tool.d.ts +1 -1
- package/dist/todo/todo-tool.js +2 -2
- package/dist/tools/bash-tool.d.ts +1 -1
- package/dist/tools/bash-tool.js +2 -2
- package/dist/tools/diff.d.ts +1 -1
- package/dist/tools/diff.js +1 -1
- package/dist/tools/file-change-store.d.ts +1 -1
- package/dist/tools/fs-tools.d.ts +2 -2
- package/dist/tools/fs-tools.js +1 -1
- package/dist/tools/index.d.ts +3 -3
- package/dist/tools/index.js +1 -1
- package/dist/tools/job-tools.d.ts +2 -2
- package/dist/tools/job-tools.js +4 -4
- package/dist/tools/plan-tools.d.ts +1 -1
- package/dist/tools/plan-tools.js +1 -1
- package/dist/tools/proc-tools.d.ts +1 -1
- package/dist/tools/proc-tools.js +2 -2
- package/dist/update/classify-failure.d.ts +1 -1
- package/dist/update/install-lock.js +1 -1
- package/dist/update/install-source.d.ts +1 -1
- package/dist/update/installer.js +2 -2
- package/dist/update/npm-view.d.ts +1 -1
- package/dist/update/npm-view.js +1 -1
- package/dist/update/registry.d.ts +1 -1
- package/dist/update/registry.js +1 -1
- package/dist/update/service.d.ts +2 -2
- package/dist/update/service.js +2 -2
- package/package.json +7 -7
- package/dist/agent/agent-mode.d.ts +0 -108
- package/dist/agent/agent-mode.js +0 -121
- package/dist/agent/entry-limits.d.ts +0 -65
- package/dist/agent/entry-limits.js +0 -133
- package/dist/agent/governance-view.d.ts +0 -40
- package/dist/agent/governance-view.js +0 -40
- package/dist/agent/invocation-card.d.ts +0 -77
- package/dist/agent/invocation-card.js +0 -169
- package/dist/agent/model-probe-limits.d.ts +0 -39
- package/dist/agent/model-probe-limits.js +0 -25
- package/dist/agent/model-probe.d.ts +0 -104
- package/dist/agent/model-probe.js +0 -391
- package/dist/agent/queued-messages.d.ts +0 -23
- package/dist/agent/queued-messages.js +0 -49
- package/dist/agent/reducer.d.ts +0 -857
- package/dist/agent/reducer.js +0 -1646
- package/dist/agent/retry-view.d.ts +0 -68
- package/dist/agent/retry-view.js +0 -95
- package/dist/agent/usage.d.ts +0 -47
- package/dist/agent/usage.js +0 -84
- package/dist/compaction/limits.d.ts +0 -61
- package/dist/compaction/limits.js +0 -64
- package/dist/compaction/meter.d.ts +0 -276
- package/dist/compaction/meter.js +0 -512
- package/dist/compaction/pressure.d.ts +0 -163
- package/dist/compaction/pressure.js +0 -199
- package/dist/compaction/reason-text.d.ts +0 -36
- package/dist/compaction/reason-text.js +0 -78
- package/dist/compaction/types.d.ts +0 -360
- package/dist/compaction/types.js +0 -22
- package/dist/config/governance-config.d.ts +0 -125
- package/dist/config/governance-config.js +0 -164
- package/dist/config/kit-resolution.d.ts +0 -93
- package/dist/config/kit-resolution.js +0 -226
- package/dist/config/model-kits.d.ts +0 -225
- package/dist/config/model-kits.js +0 -302
- package/dist/config/model-profile-resolution.d.ts +0 -28
- package/dist/config/model-profile-resolution.js +0 -88
- package/dist/config/model-profiles.d.ts +0 -103
- package/dist/config/model-profiles.js +0 -188
- package/dist/config/schema.d.ts +0 -1645
- package/dist/config/schema.js +0 -1383
- package/dist/fast/limits.d.ts +0 -152
- package/dist/fast/limits.js +0 -152
- package/dist/fast/resolve.d.ts +0 -44
- package/dist/fast/resolve.js +0 -107
- package/dist/fast/task-summary-types.d.ts +0 -66
- package/dist/fast/task-summary-types.js +0 -17
- package/dist/fast/types.d.ts +0 -141
- package/dist/fast/types.js +0 -14
- package/dist/governance/governed-dispatch.d.ts +0 -19
- package/dist/governance/governed-dispatch.js +0 -17
- package/dist/governance/limits.d.ts +0 -107
- package/dist/governance/limits.js +0 -131
- package/dist/governance/posture.d.ts +0 -35
- package/dist/governance/posture.js +0 -59
- package/dist/governance/rules/events-table.d.ts +0 -46
- package/dist/governance/rules/events-table.js +0 -94
- package/dist/governance/types.d.ts +0 -661
- package/dist/governance/types.js +0 -27
- package/dist/input/control-sequences.d.ts +0 -71
- package/dist/input/control-sequences.js +0 -222
- package/dist/input/csiu-keys.d.ts +0 -66
- package/dist/input/csiu-keys.js +0 -181
- package/dist/input/cursor-report.d.ts +0 -61
- package/dist/input/cursor-report.js +0 -97
- package/dist/input/enter-sequences.d.ts +0 -64
- package/dist/input/enter-sequences.js +0 -153
- package/dist/input/interrupt-gesture.d.ts +0 -18
- package/dist/input/interrupt-gesture.js +0 -19
- package/dist/input/keyboard-enhancement.d.ts +0 -42
- package/dist/input/keyboard-enhancement.js +0 -65
- package/dist/input/keymap.d.ts +0 -20
- package/dist/input/keymap.js +0 -99
- package/dist/input/limits.d.ts +0 -118
- package/dist/input/limits.js +0 -109
- package/dist/input/mouse-events.d.ts +0 -87
- package/dist/input/mouse-events.js +0 -212
- package/dist/input/paste-parse.d.ts +0 -83
- package/dist/input/paste-parse.js +0 -107
- package/dist/input/pointer-router.d.ts +0 -11
- package/dist/input/pointer-router.js +0 -14
- package/dist/input/stdin-filter.d.ts +0 -112
- package/dist/input/stdin-filter.js +0 -657
- package/dist/input/win32-input-mode.d.ts +0 -61
- package/dist/input/win32-input-mode.js +0 -269
- package/dist/logging/levels.d.ts +0 -40
- package/dist/logging/levels.js +0 -59
- package/dist/logging/secret-registry.d.ts +0 -32
- package/dist/logging/secret-registry.js +0 -73
- package/dist/proc/limits.d.ts +0 -214
- package/dist/proc/limits.js +0 -221
- package/dist/proc/progress.d.ts +0 -47
- package/dist/proc/progress.js +0 -163
- package/dist/proc/types.d.ts +0 -269
- package/dist/proc/types.js +0 -15
- package/dist/proc/wait-view.d.ts +0 -65
- package/dist/proc/wait-view.js +0 -66
- package/dist/prompts/copy.d.ts +0 -89
- package/dist/prompts/copy.js +0 -131
- package/dist/prompts/fill.d.ts +0 -51
- package/dist/prompts/fill.js +0 -46
- package/dist/prompts/limits.d.ts +0 -53
- package/dist/prompts/limits.js +0 -53
- package/dist/prompts/search.d.ts +0 -58
- package/dist/prompts/search.js +0 -146
- package/dist/prompts/types.d.ts +0 -204
- package/dist/prompts/types.js +0 -13
- package/dist/team/activity.d.ts +0 -67
- package/dist/team/activity.js +0 -130
- package/dist/team/limits.d.ts +0 -308
- package/dist/team/limits.js +0 -330
- package/dist/team/model.d.ts +0 -104
- package/dist/team/model.js +0 -150
- package/dist/team/panel-rows.d.ts +0 -48
- package/dist/team/panel-rows.js +0 -75
- package/dist/team/timeline.d.ts +0 -74
- package/dist/team/timeline.js +0 -101
- package/dist/team/types.d.ts +0 -354
- package/dist/team/types.js +0 -13
- package/dist/todo/acceptance.d.ts +0 -120
- package/dist/todo/acceptance.js +0 -399
- package/dist/todo/follow-through.d.ts +0 -138
- package/dist/todo/follow-through.js +0 -248
- package/dist/todo/limits.d.ts +0 -152
- package/dist/todo/limits.js +0 -152
- package/dist/todo/panel-rows.d.ts +0 -45
- package/dist/todo/panel-rows.js +0 -70
- package/dist/todo/plan-sections.d.ts +0 -60
- package/dist/todo/plan-sections.js +0 -108
- package/dist/todo/row-window.d.ts +0 -51
- package/dist/todo/row-window.js +0 -107
- package/dist/todo/types.d.ts +0 -124
- package/dist/todo/types.js +0 -12
- package/dist/tools/human-input.d.ts +0 -212
- package/dist/tools/human-input.js +0 -265
- package/dist/tools/patch.d.ts +0 -115
- package/dist/tools/patch.js +0 -453
- package/dist/tools/terminal-output.d.ts +0 -115
- package/dist/tools/terminal-output.js +0 -201
- package/dist/tools/tool-output-store.d.ts +0 -68
- package/dist/tools/tool-output-store.js +0 -102
- package/dist/ui/ActivityLine.d.ts +0 -26
- package/dist/ui/ActivityLine.js +0 -51
- package/dist/ui/AutocompletePopup.d.ts +0 -23
- package/dist/ui/AutocompletePopup.js +0 -17
- package/dist/ui/BottomStatusRow.d.ts +0 -10
- package/dist/ui/BottomStatusRow.js +0 -9
- package/dist/ui/Composer.d.ts +0 -115
- package/dist/ui/Composer.js +0 -64
- package/dist/ui/GovernancePanel.d.ts +0 -50
- package/dist/ui/GovernancePanel.js +0 -77
- package/dist/ui/GovernanceRun.d.ts +0 -18
- package/dist/ui/GovernanceRun.js +0 -11
- package/dist/ui/Header.d.ts +0 -48
- package/dist/ui/Header.js +0 -27
- package/dist/ui/Logo.d.ts +0 -32
- package/dist/ui/Logo.js +0 -65
- package/dist/ui/Markdown.d.ts +0 -29
- package/dist/ui/Markdown.js +0 -116
- package/dist/ui/PromptCaret.d.ts +0 -11
- package/dist/ui/PromptCaret.js +0 -31
- package/dist/ui/PromptInput.d.ts +0 -192
- package/dist/ui/PromptInput.js +0 -689
- package/dist/ui/QueuePanel.d.ts +0 -8
- package/dist/ui/QueuePanel.js +0 -9
- package/dist/ui/QueueStatusRow.d.ts +0 -24
- package/dist/ui/QueueStatusRow.js +0 -51
- package/dist/ui/ScrollbackShell.d.ts +0 -132
- package/dist/ui/ScrollbackShell.js +0 -26
- package/dist/ui/SessionOpener.d.ts +0 -30
- package/dist/ui/SessionOpener.js +0 -12
- package/dist/ui/StatusBar.d.ts +0 -130
- package/dist/ui/StatusBar.js +0 -61
- package/dist/ui/TeamPanel.d.ts +0 -76
- package/dist/ui/TeamPanel.js +0 -103
- package/dist/ui/ToastStack.d.ts +0 -8
- package/dist/ui/ToastStack.js +0 -31
- package/dist/ui/TodoPanel.d.ts +0 -52
- package/dist/ui/TodoPanel.js +0 -214
- package/dist/ui/Transcript.d.ts +0 -105
- package/dist/ui/Transcript.js +0 -258
- package/dist/ui/UpdateLine.d.ts +0 -44
- package/dist/ui/UpdateLine.js +0 -129
- package/dist/ui/activity-phrases.d.ts +0 -33
- package/dist/ui/activity-phrases.js +0 -50
- package/dist/ui/capabilities.d.ts +0 -27
- package/dist/ui/capabilities.js +0 -65
- package/dist/ui/clipboard-task.d.ts +0 -29
- package/dist/ui/clipboard-task.js +0 -66
- package/dist/ui/clipboard.d.ts +0 -31
- package/dist/ui/clipboard.js +0 -157
- package/dist/ui/color-runtime.d.ts +0 -5
- package/dist/ui/color-runtime.js +0 -29
- package/dist/ui/composer-input.d.ts +0 -38
- package/dist/ui/composer-input.js +0 -79
- package/dist/ui/composer-limits.d.ts +0 -30
- package/dist/ui/composer-limits.js +0 -45
- package/dist/ui/composer-rows.d.ts +0 -73
- package/dist/ui/composer-rows.js +0 -129
- package/dist/ui/console-bridge.d.ts +0 -19
- package/dist/ui/console-bridge.js +0 -52
- package/dist/ui/density.d.ts +0 -26
- package/dist/ui/density.js +0 -34
- package/dist/ui/display-tab.d.ts +0 -51
- package/dist/ui/display-tab.js +0 -82
- package/dist/ui/editor-navigation.d.ts +0 -55
- package/dist/ui/editor-navigation.js +0 -96
- package/dist/ui/editor-reducer.d.ts +0 -108
- package/dist/ui/editor-reducer.js +0 -187
- package/dist/ui/enter-frames.d.ts +0 -47
- package/dist/ui/enter-frames.js +0 -117
- package/dist/ui/entries/AssistantEntry.d.ts +0 -37
- package/dist/ui/entries/AssistantEntry.js +0 -43
- package/dist/ui/entries/CompactionCard.d.ts +0 -88
- package/dist/ui/entries/CompactionCard.js +0 -222
- package/dist/ui/entries/DiffView.d.ts +0 -61
- package/dist/ui/entries/DiffView.js +0 -103
- package/dist/ui/entries/EntryFrame.d.ts +0 -23
- package/dist/ui/entries/EntryFrame.js +0 -6
- package/dist/ui/entries/FastCard.d.ts +0 -53
- package/dist/ui/entries/FastCard.js +0 -105
- package/dist/ui/entries/GovernanceCard.d.ts +0 -30
- package/dist/ui/entries/GovernanceCard.js +0 -32
- package/dist/ui/entries/InvocationCard.d.ts +0 -20
- package/dist/ui/entries/InvocationCard.js +0 -32
- package/dist/ui/entries/QueuedEntry.d.ts +0 -27
- package/dist/ui/entries/QueuedEntry.js +0 -33
- package/dist/ui/entries/RetryCard.d.ts +0 -56
- package/dist/ui/entries/RetryCard.js +0 -60
- package/dist/ui/entries/ServiceCard.d.ts +0 -82
- package/dist/ui/entries/ServiceCard.js +0 -151
- package/dist/ui/entries/TeamCard.d.ts +0 -55
- package/dist/ui/entries/TeamCard.js +0 -94
- package/dist/ui/entries/TodoCard.d.ts +0 -54
- package/dist/ui/entries/TodoCard.js +0 -98
- package/dist/ui/entries/ToolCard.d.ts +0 -81
- package/dist/ui/entries/ToolCard.js +0 -169
- package/dist/ui/entries/ToolPreview.d.ts +0 -59
- package/dist/ui/entries/ToolPreview.js +0 -208
- package/dist/ui/entries/UserEntry.d.ts +0 -36
- package/dist/ui/entries/UserEntry.js +0 -57
- package/dist/ui/entries/WaitCard.d.ts +0 -37
- package/dist/ui/entries/WaitCard.js +0 -92
- package/dist/ui/exit-snapshot.d.ts +0 -43
- package/dist/ui/exit-snapshot.js +0 -26
- package/dist/ui/frame-differ.d.ts +0 -166
- package/dist/ui/frame-differ.js +0 -354
- package/dist/ui/frame-observer.d.ts +0 -17
- package/dist/ui/frame-observer.js +0 -94
- package/dist/ui/frame-parser.d.ts +0 -7
- package/dist/ui/frame-parser.js +0 -18
- package/dist/ui/gauge.d.ts +0 -39
- package/dist/ui/gauge.js +0 -55
- package/dist/ui/glyphs.d.ts +0 -178
- package/dist/ui/glyphs.js +0 -165
- package/dist/ui/governance-copy.d.ts +0 -69
- package/dist/ui/governance-copy.js +0 -104
- package/dist/ui/governance-status.d.ts +0 -145
- package/dist/ui/governance-status.js +0 -326
- package/dist/ui/gradient.d.ts +0 -11
- package/dist/ui/gradient.js +0 -50
- package/dist/ui/ink-runtime.d.ts +0 -4
- package/dist/ui/ink-runtime.js +0 -51
- package/dist/ui/interaction-copy.d.ts +0 -84
- package/dist/ui/interaction-copy.js +0 -41
- package/dist/ui/interaction-hints.d.ts +0 -44
- package/dist/ui/interaction-hints.js +0 -97
- package/dist/ui/layout/AppShell.d.ts +0 -17
- package/dist/ui/layout/AppShell.js +0 -6
- package/dist/ui/layout/Gutter.d.ts +0 -67
- package/dist/ui/layout/Gutter.js +0 -42
- package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
- package/dist/ui/layout/MeasuredEntry.js +0 -30
- package/dist/ui/layout/OverlayFrame.d.ts +0 -73
- package/dist/ui/layout/OverlayFrame.js +0 -110
- package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
- package/dist/ui/layout/ScrollIndicator.js +0 -22
- package/dist/ui/layout/ScrollViewport.d.ts +0 -40
- package/dist/ui/layout/ScrollViewport.js +0 -222
- package/dist/ui/layout/agents-board.d.ts +0 -102
- package/dist/ui/layout/agents-board.js +0 -389
- package/dist/ui/layout/autocomplete.d.ts +0 -18
- package/dist/ui/layout/autocomplete.js +0 -26
- package/dist/ui/layout/budget.d.ts +0 -43
- package/dist/ui/layout/budget.js +0 -52
- package/dist/ui/layout/cells.d.ts +0 -61
- package/dist/ui/layout/cells.js +0 -156
- package/dist/ui/layout/document-layout.d.ts +0 -13
- package/dist/ui/layout/document-layout.js +0 -10
- package/dist/ui/layout/follow-state.d.ts +0 -138
- package/dist/ui/layout/follow-state.js +0 -148
- package/dist/ui/layout/frame.d.ts +0 -36
- package/dist/ui/layout/frame.js +0 -39
- package/dist/ui/layout/governance-board.d.ts +0 -121
- package/dist/ui/layout/governance-board.js +0 -382
- package/dist/ui/layout/governance-card.d.ts +0 -53
- package/dist/ui/layout/governance-card.js +0 -134
- package/dist/ui/layout/governance-chip.d.ts +0 -38
- package/dist/ui/layout/governance-chip.js +0 -64
- package/dist/ui/layout/governance-panel.d.ts +0 -85
- package/dist/ui/layout/governance-panel.js +0 -358
- package/dist/ui/layout/governance-roster.d.ts +0 -65
- package/dist/ui/layout/governance-roster.js +0 -275
- package/dist/ui/layout/header-hints.d.ts +0 -90
- package/dist/ui/layout/header-hints.js +0 -110
- package/dist/ui/layout/header-left.d.ts +0 -115
- package/dist/ui/layout/header-left.js +0 -206
- package/dist/ui/layout/invocation-card.d.ts +0 -41
- package/dist/ui/layout/invocation-card.js +0 -91
- package/dist/ui/layout/kit-chip.d.ts +0 -50
- package/dist/ui/layout/kit-chip.js +0 -81
- package/dist/ui/layout/overlay-window.d.ts +0 -43
- package/dist/ui/layout/overlay-window.js +0 -51
- package/dist/ui/layout/queue-layout.d.ts +0 -19
- package/dist/ui/layout/queue-layout.js +0 -26
- package/dist/ui/layout/rail.d.ts +0 -7
- package/dist/ui/layout/rail.js +0 -16
- package/dist/ui/layout/scroll-indicator.d.ts +0 -27
- package/dist/ui/layout/scroll-indicator.js +0 -36
- package/dist/ui/layout/scroll.d.ts +0 -37
- package/dist/ui/layout/scroll.js +0 -99
- package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
- package/dist/ui/layout/scrollbar-geometry.js +0 -13
- package/dist/ui/layout/session-chip.d.ts +0 -52
- package/dist/ui/layout/session-chip.js +0 -64
- package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
- package/dist/ui/layout/shortcut-panel-layout.js +0 -321
- package/dist/ui/layout/status-detail-layout.d.ts +0 -9
- package/dist/ui/layout/status-detail-layout.js +0 -79
- package/dist/ui/layout/status-layout.d.ts +0 -140
- package/dist/ui/layout/status-layout.js +0 -262
- package/dist/ui/layout/task-summary-cell.d.ts +0 -61
- package/dist/ui/layout/task-summary-cell.js +0 -65
- package/dist/ui/layout/team-panel.d.ts +0 -18
- package/dist/ui/layout/team-panel.js +0 -25
- package/dist/ui/layout/team-row.d.ts +0 -139
- package/dist/ui/layout/team-row.js +0 -246
- package/dist/ui/layout/todo-layout.d.ts +0 -62
- package/dist/ui/layout/todo-layout.js +0 -102
- package/dist/ui/layout/useTerminalSize.d.ts +0 -13
- package/dist/ui/layout/useTerminalSize.js +0 -50
- package/dist/ui/layout/viewport-geometry.d.ts +0 -29
- package/dist/ui/layout/viewport-geometry.js +0 -28
- package/dist/ui/layout/virtual-window.d.ts +0 -112
- package/dist/ui/layout/virtual-window.js +0 -494
- package/dist/ui/layout/wait-bar.d.ts +0 -34
- package/dist/ui/layout/wait-bar.js +0 -48
- package/dist/ui/layout/wrap-rows.d.ts +0 -26
- package/dist/ui/layout/wrap-rows.js +0 -88
- package/dist/ui/live-clamp.d.ts +0 -14
- package/dist/ui/live-clamp.js +0 -46
- package/dist/ui/markdown-blocks.d.ts +0 -107
- package/dist/ui/markdown-blocks.js +0 -240
- package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
- package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
- package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
- package/dist/ui/overlays/ConfirmDialog.js +0 -44
- package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
- package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
- package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
- package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
- package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
- package/dist/ui/overlays/HelpOverlay.js +0 -232
- package/dist/ui/overlays/KitEditor.d.ts +0 -23
- package/dist/ui/overlays/KitEditor.js +0 -101
- package/dist/ui/overlays/KitManager.d.ts +0 -23
- package/dist/ui/overlays/KitManager.js +0 -104
- package/dist/ui/overlays/KitPicker.d.ts +0 -49
- package/dist/ui/overlays/KitPicker.js +0 -58
- package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
- package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
- package/dist/ui/overlays/ModelPicker.d.ts +0 -26
- package/dist/ui/overlays/ModelPicker.js +0 -63
- package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
- package/dist/ui/overlays/ModelProfileEditor.js +0 -168
- package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
- package/dist/ui/overlays/ModelProfilePicker.js +0 -231
- package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
- package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
- package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
- package/dist/ui/overlays/PromptEditorPage.js +0 -227
- package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
- package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
- package/dist/ui/overlays/PromptPicker.d.ts +0 -36
- package/dist/ui/overlays/PromptPicker.js +0 -129
- package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
- package/dist/ui/overlays/PromptTextArea.js +0 -141
- package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
- package/dist/ui/overlays/QuestionOverlay.js +0 -258
- package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
- package/dist/ui/overlays/QueueOverlay.js +0 -79
- package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
- package/dist/ui/overlays/SettingsScreen.js +0 -1037
- package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
- package/dist/ui/overlays/ShortcutPanel.js +0 -106
- package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
- package/dist/ui/overlays/TeamFanoutPage.js +0 -90
- package/dist/ui/overlays/governance-settings.d.ts +0 -79
- package/dist/ui/overlays/governance-settings.js +0 -140
- package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
- package/dist/ui/overlays/kit-picker-state.js +0 -136
- package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
- package/dist/ui/overlays/kit-settings-state.js +0 -268
- package/dist/ui/overlays/model-probe-view.d.ts +0 -128
- package/dist/ui/overlays/model-probe-view.js +0 -225
- package/dist/ui/overlays/model-profile-state.d.ts +0 -177
- package/dist/ui/overlays/model-profile-state.js +0 -301
- package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
- package/dist/ui/overlays/prompt-library-state.js +0 -335
- package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
- package/dist/ui/overlays/prompt-picker-state.js +0 -98
- package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
- package/dist/ui/overlays/team-fanout-state.js +0 -155
- package/dist/ui/overlays/use-model-probe.d.ts +0 -30
- package/dist/ui/overlays/use-model-probe.js +0 -109
- package/dist/ui/palettes.d.ts +0 -112
- package/dist/ui/palettes.js +0 -130
- package/dist/ui/paste-frames.d.ts +0 -91
- package/dist/ui/paste-frames.js +0 -117
- package/dist/ui/paste-tokens.d.ts +0 -90
- package/dist/ui/paste-tokens.js +0 -147
- package/dist/ui/render-cache.d.ts +0 -81
- package/dist/ui/render-cache.js +0 -196
- package/dist/ui/render-governor.d.ts +0 -54
- package/dist/ui/render-governor.js +0 -78
- package/dist/ui/run-metrics.d.ts +0 -23
- package/dist/ui/run-metrics.js +0 -27
- package/dist/ui/run-status-row.d.ts +0 -63
- package/dist/ui/run-status-row.js +0 -54
- package/dist/ui/screen.d.ts +0 -107
- package/dist/ui/screen.js +0 -234
- package/dist/ui/scrollback/LiveTail.d.ts +0 -115
- package/dist/ui/scrollback/LiveTail.js +0 -48
- package/dist/ui/scrollback/band.d.ts +0 -114
- package/dist/ui/scrollback/band.js +0 -143
- package/dist/ui/scrollback/budget.d.ts +0 -90
- package/dist/ui/scrollback/budget.js +0 -100
- package/dist/ui/scrollback/canvas.d.ts +0 -100
- package/dist/ui/scrollback/canvas.js +0 -114
- package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
- package/dist/ui/scrollback/cursor-probe.js +0 -133
- package/dist/ui/scrollback/drain.d.ts +0 -32
- package/dist/ui/scrollback/drain.js +0 -64
- package/dist/ui/scrollback/exit-summary.d.ts +0 -23
- package/dist/ui/scrollback/exit-summary.js +0 -25
- package/dist/ui/scrollback/limits.d.ts +0 -98
- package/dist/ui/scrollback/limits.js +0 -98
- package/dist/ui/scrollback/live-preview.d.ts +0 -34
- package/dist/ui/scrollback/live-preview.js +0 -130
- package/dist/ui/scrollback/overflow-print.d.ts +0 -108
- package/dist/ui/scrollback/overflow-print.js +0 -120
- package/dist/ui/scrollback/renderer.d.ts +0 -48
- package/dist/ui/scrollback/renderer.js +0 -186
- package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
- package/dist/ui/scrollback/scrollback-writer.js +0 -648
- package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
- package/dist/ui/scrollback/settled-boundary.js +0 -109
- package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
- package/dist/ui/scrollback/tail-anchor.js +0 -79
- package/dist/ui/scrollback/tail-window.d.ts +0 -73
- package/dist/ui/scrollback/tail-window.js +0 -89
- package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
- package/dist/ui/scrollback/use-scrollback-view.js +0 -601
- package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
- package/dist/ui/scrollback/writer-shapes.js +0 -159
- package/dist/ui/scrollbar-controller.d.ts +0 -30
- package/dist/ui/scrollbar-controller.js +0 -124
- package/dist/ui/selection/highlight.d.ts +0 -39
- package/dist/ui/selection/highlight.js +0 -64
- package/dist/ui/selection/screen-mirror.d.ts +0 -24
- package/dist/ui/selection/screen-mirror.js +0 -35
- package/dist/ui/selection/selection-controller.d.ts +0 -104
- package/dist/ui/selection/selection-controller.js +0 -372
- package/dist/ui/selection/selection.d.ts +0 -90
- package/dist/ui/selection/selection.js +0 -223
- package/dist/ui/shortcuts.d.ts +0 -81
- package/dist/ui/shortcuts.js +0 -221
- package/dist/ui/status-feedback.d.ts +0 -35
- package/dist/ui/status-feedback.js +0 -38
- package/dist/ui/stdout-frame-writer.d.ts +0 -74
- package/dist/ui/stdout-frame-writer.js +0 -155
- package/dist/ui/team-status.d.ts +0 -166
- package/dist/ui/team-status.js +0 -252
- package/dist/ui/terminal-plan.d.ts +0 -52
- package/dist/ui/terminal-plan.js +0 -49
- package/dist/ui/theme.d.ts +0 -96
- package/dist/ui/theme.js +0 -130
- package/dist/ui/transcript-text.d.ts +0 -41
- package/dist/ui/transcript-text.js +0 -282
- package/dist/ui/use-height-store.d.ts +0 -31
- package/dist/ui/use-height-store.js +0 -76
- package/dist/ui/use-render-governor.d.ts +0 -39
- package/dist/ui/use-render-governor.js +0 -57
- package/dist/ui/use-wheel-routing.d.ts +0 -57
- package/dist/ui/use-wheel-routing.js +0 -152
- package/dist/ui/win-vt-force.d.ts +0 -136
- package/dist/ui/win-vt-force.js +0 -237
- package/dist/ui/win-vt-input.d.ts +0 -57
- package/dist/ui/win-vt-input.js +0 -62
- package/dist/update/limits.d.ts +0 -111
- package/dist/update/limits.js +0 -111
- package/dist/update/semver.d.ts +0 -89
- package/dist/update/semver.js +0 -295
- package/dist/update/types.d.ts +0 -169
- package/dist/update/types.js +0 -68
- /package/dist/{ui → app}/session-bridge.d.ts +0 -0
- /package/dist/{ui → app}/session-bridge.js +0 -0
package/dist/ui/QueuePanel.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { QueueLayout } from './layout/queue-layout.js';
|
|
3
|
-
import type { Theme } from './theme.js';
|
|
4
|
-
/** Persistent receipt-backed footer, with no timer or separate queue state. */
|
|
5
|
-
export declare const QueuePanel: React.NamedExoticComponent<{
|
|
6
|
-
layout: QueueLayout;
|
|
7
|
-
theme: Theme;
|
|
8
|
-
}>;
|
package/dist/ui/QueuePanel.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import { Box, Text } from 'ink';
|
|
4
|
-
/** Persistent receipt-backed footer, with no timer or separate queue state. */
|
|
5
|
-
export const QueuePanel = React.memo(function QueuePanel({ layout, theme }) {
|
|
6
|
-
if (!layout.rows)
|
|
7
|
-
return null;
|
|
8
|
-
return _jsxs(Box, { flexDirection: "column", flexShrink: 0, height: layout.rows, children: [_jsx(Text, { color: theme.accent, wrap: "truncate", children: layout.title }), layout.rows > 1 && layout.items.map((item) => _jsx(Text, { color: theme.muted, wrap: "truncate", children: item.label }, item.queueId))] });
|
|
9
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import type { PendingSteering } from '../agent/queued-messages.js';
|
|
3
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
4
|
-
import type { Theme } from './theme.js';
|
|
5
|
-
export interface QueueStatusRowProps {
|
|
6
|
-
pending: readonly PendingSteering[];
|
|
7
|
-
paused: boolean;
|
|
8
|
-
columns: number;
|
|
9
|
-
compact: boolean;
|
|
10
|
-
theme: Theme;
|
|
11
|
-
caps: TermCapabilities;
|
|
12
|
-
}
|
|
13
|
-
/** Return the first nonempty logical line without terminal control characters. */
|
|
14
|
-
export declare function queueSummary(text: string): string;
|
|
15
|
-
/** Truncate at a whole grapheme, reserving the ellipsis in the same cell budget. */
|
|
16
|
-
export declare function truncateSummary(text: string, columns: number, ellipsis: string): string;
|
|
17
|
-
/** Format a queue using only the columns assigned by the status bar. */
|
|
18
|
-
export declare function formatQueueStatus(props: Omit<QueueStatusRowProps, 'theme'>): {
|
|
19
|
-
prefix: string;
|
|
20
|
-
body: string;
|
|
21
|
-
suffix: string;
|
|
22
|
-
};
|
|
23
|
-
/** Fixed single-line pending receipt feedback; no timeout or spinner. */
|
|
24
|
-
export declare function QueueStatusRow(props: QueueStatusRowProps): React.ReactElement;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Text } from 'ink';
|
|
3
|
-
import stringWidth from 'string-width';
|
|
4
|
-
import stripAnsi from 'strip-ansi';
|
|
5
|
-
import { pickGlyphs } from './glyphs.js';
|
|
6
|
-
const segmenter = new Intl.Segmenter(undefined, { granularity: 'grapheme' });
|
|
7
|
-
/** Return the first nonempty logical line without terminal control characters. */
|
|
8
|
-
export function queueSummary(text) {
|
|
9
|
-
return stripAnsi(text).split(/\r\n|[\r\n]/)
|
|
10
|
-
.map((line) => line.replace(/\t/g, ' ').replace(/[\x00-\x1f\x7f-\x9f]/g, '').trim())
|
|
11
|
-
.find(Boolean) ?? '(empty)';
|
|
12
|
-
}
|
|
13
|
-
/** Truncate at a whole grapheme, reserving the ellipsis in the same cell budget. */
|
|
14
|
-
export function truncateSummary(text, columns, ellipsis) {
|
|
15
|
-
if (stringWidth(text) <= columns)
|
|
16
|
-
return text;
|
|
17
|
-
if (columns < stringWidth(ellipsis))
|
|
18
|
-
return '';
|
|
19
|
-
let out = '';
|
|
20
|
-
let used = stringWidth(ellipsis);
|
|
21
|
-
for (const { segment } of segmenter.segment(text)) {
|
|
22
|
-
const width = stringWidth(segment);
|
|
23
|
-
if (used + width > columns)
|
|
24
|
-
break;
|
|
25
|
-
used += width;
|
|
26
|
-
out += segment;
|
|
27
|
-
}
|
|
28
|
-
return out + ellipsis;
|
|
29
|
-
}
|
|
30
|
-
/** Format a queue using only the columns assigned by the status bar. */
|
|
31
|
-
export function formatQueueStatus(props) {
|
|
32
|
-
if (!props.pending.length)
|
|
33
|
-
return { prefix: '', body: '', suffix: '' };
|
|
34
|
-
const prefix = props.paused
|
|
35
|
-
? (props.compact ? 'Queue(p): ' : 'Queue (paused): ') : 'Queue: ';
|
|
36
|
-
const remaining = props.pending.length - 1;
|
|
37
|
-
const suffix = remaining === 0 ? '' : props.compact
|
|
38
|
-
? `(+${remaining > 99 ? '99+' : remaining})` : `(+${remaining} more)`;
|
|
39
|
-
const tail = suffix ? ` ${suffix}` : '';
|
|
40
|
-
const budget = Math.max(0, props.columns - stringWidth(prefix + tail));
|
|
41
|
-
return {
|
|
42
|
-
prefix,
|
|
43
|
-
body: truncateSummary(queueSummary(props.pending[0].text), budget, pickGlyphs(props.caps).ellipsis),
|
|
44
|
-
suffix: tail,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
/** Fixed single-line pending receipt feedback; no timeout or spinner. */
|
|
48
|
-
export function QueueStatusRow(props) {
|
|
49
|
-
const parts = formatQueueStatus(props);
|
|
50
|
-
return _jsxs(Text, { children: [_jsx(Text, { color: props.theme.accent, children: parts.prefix }), _jsxs(Text, { color: props.theme.muted, children: [parts.body, parts.suffix] })] });
|
|
51
|
-
}
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ScrollbackShell — the LIVE REGION of native-scroll mode
|
|
3
|
-
* (tui-native-terminal-scroll §4.6, tui-full-height-live-region D3/D4).
|
|
4
|
-
*
|
|
5
|
-
* THE REGION IS THE SCREEN. The root box is `budget.liveRows` tall, and that number is
|
|
6
|
-
* `rows - 1` - the whole area above the writer's parked row. It used to be only as tall
|
|
7
|
-
* as the panel band asked for, and every row it did not ask for became the canvas
|
|
8
|
-
* `gap`: blank rows ABOVE the content, which is what a user reports as "the app starts
|
|
9
|
-
* halfway down the terminal" and as "a big blank between the result and the running
|
|
10
|
-
* card". `H = rows - 1` is also the ONLY height that both fills the screen and keeps Ink
|
|
11
|
-
* off its `clearTerminal` branch (that branch fires at `outputHeight >= rows` and
|
|
12
|
-
* contains `ESC[3J`, which erases the user's scrollback).
|
|
13
|
-
*
|
|
14
|
-
* Top to bottom: [overlay | panel band][composer][identity][status][details].
|
|
15
|
-
*
|
|
16
|
-
* THE PANEL BAND IS THE PART NATIVE MODE WAS MISSING
|
|
17
|
-
* (release-gate-and-native-panels §6.1). A fixed frame can put a rail beside the
|
|
18
|
-
* transcript; without one the rail and the roster simply had nowhere to go, so the
|
|
19
|
-
* default mode showed neither. The band is a row pool inside the live region:
|
|
20
|
-
*
|
|
21
|
-
* +----------------------------------------------+----------------+
|
|
22
|
-
* | tail window (height = band.previewRows) | TODO rail |
|
|
23
|
-
* +----------------------------------------------+ (height = |
|
|
24
|
-
* | team roster (width = contentCols, height = band.teamRows) |
|
|
25
|
-
* +----------------------------------------------------------------+
|
|
26
|
-
*
|
|
27
|
-
* THE ROSTER IS A FULL-WIDTH SLOT BELOW THE ROW REGION
|
|
28
|
-
* (tui-subagent-panel §4.1.2 / D-2). It used to be the band's LEFT COLUMN bottom
|
|
29
|
-
* slot, which capped its width at `previewCols`: with the TODO rail visible that is
|
|
30
|
-
* 84 columns on a 100-column terminal, so the row's right-aligned clock could never
|
|
31
|
-
* reach the screen's edge however carefully the row itself was laid out. It is now a
|
|
32
|
-
* SIBLING of the row region and spans `contentCols`, so the clock lands on the last
|
|
33
|
-
* column the terminal can draw. The READING is unchanged, and it is what
|
|
34
|
-
* `tui-subagent-double-roster` A-3 established: the roster is transient status about
|
|
35
|
-
* the run in progress, so it belongs against the composer, where the user's eyes
|
|
36
|
-
* already are and where full-screen mode's viewport `footer` puts it.
|
|
37
|
-
*
|
|
38
|
-
* Every box in it has an explicit `height` and `width` plus `overflow="hidden"`, and
|
|
39
|
-
* that is a correctness requirement rather than tidiness: a box that grows with its
|
|
40
|
-
* content would make the region taller than `budget.liveRows`, and a frame as tall as
|
|
41
|
-
* the terminal makes Ink erase the user's scrollback.
|
|
42
|
-
*
|
|
43
|
-
* THE IDENTITY ROW IS A BOTTOM SLOT, NOT THE FIRST ONE
|
|
44
|
-
* (tui-header-leaks-into-scrollback, plan A-prime). It is still `budget.headerRows` tall
|
|
45
|
-
* and still spent out of the region's pool - only its ORDER changed:
|
|
46
|
-
* - position is not cosmetic here, it is the whole defect. The writer lays the canvas out
|
|
47
|
-
* as `[gap][content][region]` and only CONTENT rows ever scroll out (`canvas.ts`), so
|
|
48
|
-
* region row 0 is by construction the successor of the newest row in the terminal's
|
|
49
|
-
* scrollback. A tall reply gives way at the top (`overflow-print.ts`: head printed,
|
|
50
|
-
* tail on screen), so chrome parked on row 0 is read BETWEEN two rows of the SAME
|
|
51
|
-
* answer: the user's report is the word mark, `provider:model`, `cwd`, the key and
|
|
52
|
-
* `^G more` appearing in the middle of a finished reply.
|
|
53
|
-
* - the bottom slots have no such property: nothing below the band is ever printed or
|
|
54
|
-
* scrolled, so `[composer][identity][status][details]` stays outside the conversation
|
|
55
|
-
* for a reply of any length. That band is also the one the writer protects on purpose
|
|
56
|
-
* (I-B17: give way at the TOP, because the composer and the status line are the two
|
|
57
|
-
* rows the human is interacting with).
|
|
58
|
-
* - the two surrounding slots are NOT interchangeable. Above the composer would also
|
|
59
|
-
* dodge the seam, but it would break the promise that the newest line hugs the input
|
|
60
|
-
* box (`canvas.ts`, `tail-anchor.ts`); below the status group would split the
|
|
61
|
-
* `[status][details]` pair, and "the status is the screen's last row" is its own
|
|
62
|
-
* invariant (`tui-duplicate-status-row`); inside the band's row pool would change
|
|
63
|
-
* `previewRows`, and no budget number may move for this fix.
|
|
64
|
-
* - `app` mode (`layout/AppShell.tsx`) deliberately keeps its header on TOP, so the two
|
|
65
|
-
* modes do NOT agree and must not be "unified": there the header sits above a viewport
|
|
66
|
-
* that scrolls itself, so there is no print channel and no seam to leak into.
|
|
67
|
-
* - `headerRows` is still produced by `buildScrollbackBudget` alone (still 1, still
|
|
68
|
-
* subtracted from `remaining`), so `liveRows`, `bandRows`, `previewRows` and `railCols`
|
|
69
|
-
* are unchanged: a row ORDER change, not a row BUDGET change.
|
|
70
|
-
* - the row is still NOT printed into the scrollback: at `H = rows - 1` any printed row
|
|
71
|
-
* is pushed off the screen by the next frame, so "print the header" would mean "the
|
|
72
|
-
* header is never visible".
|
|
73
|
-
*
|
|
74
|
-
* THE BAND'S PREVIEW BOX IS TOP-ALIGNED; THE OTHER SLOTS ARE FIXED
|
|
75
|
-
* (D3 / D4 / I-F7; tui-first-reply-bottom-aligned, plan A-prime):
|
|
76
|
-
* - the band's preview box is TOP-aligned unconditionally, which is why the alignment is
|
|
77
|
-
* no longer a function of `opener`. `opener` is a 12-row card in a 24-row column, so
|
|
78
|
-
* bottom-aligning it left 12 blank rows in the upper half of the screen - the original
|
|
79
|
-
* defect, still inside the region, where the `gap` assertion could not see it
|
|
80
|
-
* (RV-P0-1). `tail` had the same shape for a short conversation: four rows pressed
|
|
81
|
-
* against the composer with every unused row ABOVE them, which is the defect plan
|
|
82
|
-
* A-prime fixes. `tail` therefore decides its own alignment one level down
|
|
83
|
-
* (`scrollback/tail-anchor.ts`): top while its content fits, and the old `flex-end`
|
|
84
|
-
* only on the frames where the content overflows and the newest row must stay visible.
|
|
85
|
-
* `opener` and `tail` share this box because two boxes would be one more height to
|
|
86
|
-
* get wrong, and they are mutually exclusive by construction (`App` keys them off
|
|
87
|
-
* `entries.length === 0`).
|
|
88
|
-
*
|
|
89
|
-
* `liveTailLines` STAYS. It is the plain-text fallback for the frames where the real
|
|
90
|
-
* tail is not mounted (and the floor of the measurement path); `tail` wins when both
|
|
91
|
-
* are given, so the two can never be drawn on top of each other. It is sliced to
|
|
92
|
-
* `budget.liveTailRows` below, which is the same number as `band.previewRows`: that slice
|
|
93
|
-
* is what makes the unconditional `flex-start` safe here, because a fallback taller than
|
|
94
|
-
* the box would clip its NEWEST line - the one direction this box must never clip.
|
|
95
|
-
*/
|
|
96
|
-
import React from 'react';
|
|
97
|
-
import type { Theme } from './theme.js';
|
|
98
|
-
import type { ScrollbackBudget } from './scrollback/budget.js';
|
|
99
|
-
export interface ScrollbackShellProps {
|
|
100
|
-
budget: ScrollbackBudget;
|
|
101
|
-
/**
|
|
102
|
-
* REQUIRED: the identity row, `budget.headerRows` tall, drawn BETWEEN the composer and
|
|
103
|
-
* the status group. Required rather than optional for the reason `budget` and `band` are
|
|
104
|
-
* - a frame that forgot it would render a header-less screen with nothing to catch it.
|
|
105
|
-
*/
|
|
106
|
-
header: React.ReactNode;
|
|
107
|
-
/** Shown instead of the band when an overlay is open. */
|
|
108
|
-
overlay: React.ReactNode | null;
|
|
109
|
-
/** Plain preview rows: the fallback when `tail` is absent (and what `/perf` counts). */
|
|
110
|
-
liveTailLines: readonly string[];
|
|
111
|
-
/**
|
|
112
|
-
* The empty-session card. Mutually exclusive with `tail`, TOP-aligned like the rest of
|
|
113
|
-
* the band's preview box (RV-P0-1).
|
|
114
|
-
*/
|
|
115
|
-
opener?: React.ReactNode;
|
|
116
|
-
/** Real components for the tail window (`LiveTail`). */
|
|
117
|
-
tail?: React.ReactNode;
|
|
118
|
-
/**
|
|
119
|
-
* The subagent roster: the band's FULL-WIDTH bottom slot, i.e. the rows closest to
|
|
120
|
-
* the composer. It is the only live subagent surface during a dispatch - the
|
|
121
|
-
* transcript's `team` card is suppressed while it is active.
|
|
122
|
-
*/
|
|
123
|
-
team?: React.ReactNode;
|
|
124
|
-
/** The TODO rail, drawn as the row region's right-hand column. */
|
|
125
|
-
rail?: React.ReactNode;
|
|
126
|
-
composer: React.ReactNode;
|
|
127
|
-
status: React.ReactNode;
|
|
128
|
-
details?: React.ReactNode;
|
|
129
|
-
placeholder: React.ReactNode;
|
|
130
|
-
theme: Theme;
|
|
131
|
-
}
|
|
132
|
-
export declare function ScrollbackShell({ budget, header, overlay, liveTailLines, opener, tail, team, rail, composer, status, details, placeholder, theme, }: ScrollbackShellProps): React.ReactElement;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Box, Text } from 'ink';
|
|
3
|
-
export function ScrollbackShell({ budget, header, overlay, liveTailLines, opener, tail, team, rail, composer, status, details, placeholder, theme, }) {
|
|
4
|
-
const width = budget.contentCols;
|
|
5
|
-
if (budget.inactive) {
|
|
6
|
-
return (_jsx(Box, { flexDirection: "column", height: budget.liveRows, width: width, overflow: "hidden", flexShrink: 0, children: budget.liveRows > 0 ? placeholder : null }));
|
|
7
|
-
}
|
|
8
|
-
const band = budget.band;
|
|
9
|
-
// `opener ?? tail ?? lines` is ONE slot, not three: they are mutually exclusive, so
|
|
10
|
-
// the two can never both be drawn and fight for the height. This box's alignment is
|
|
11
|
-
// fixed (`flex-start`); `tail` alone may fall back to `flex-end` when it overflows.
|
|
12
|
-
const leftColumn = opener ?? tail;
|
|
13
|
-
const tailLines = liveTailLines.slice(-budget.liveTailRows);
|
|
14
|
-
// I-1 (tui-subagent-panel §4.1.3): `rowRegion + band.teamRows <= band.bandRows`. In
|
|
15
|
-
// `fill` mode `previewRows === railRows === bandRows - teamRows`, so the two heights
|
|
16
|
-
// add back up to the band exactly; `band.ts` owns both numbers and this is their
|
|
17
|
-
// only consumer.
|
|
18
|
-
const rowRegion = Math.max(band.previewRows, band.railRows);
|
|
19
|
-
// The overlay and the band are alternatives, not siblings: the band reports
|
|
20
|
-
// `bandRows = remaining` for an overlay frame, so drawing both would double the
|
|
21
|
-
// region's height and take the frame to the terminal height (the `ESC[3J` case).
|
|
22
|
-
const top = band.reason === 'overlay' ? (_jsx(Box, { flexDirection: "column", height: budget.overlayRows, flexShrink: 0, overflow: "hidden", children: overlay })) : band.bandRows > 0 ? (
|
|
23
|
-
// ROW REGION ABOVE, FULL-WIDTH ROSTER BELOW (tui-subagent-panel §4.1.2 / D-2).
|
|
24
|
-
_jsxs(Box, { flexDirection: "column", height: band.bandRows, flexShrink: 0, overflow: "hidden", children: [_jsxs(Box, { flexDirection: "row", height: rowRegion, flexShrink: 0, overflow: "hidden", children: [_jsx(Box, { flexDirection: "column", width: budget.previewCols, height: rowRegion, flexShrink: 0, overflow: "hidden", children: band.previewRows > 0 && (_jsx(Box, { flexDirection: "column", height: band.previewRows, flexShrink: 0, justifyContent: "flex-start", overflow: "hidden", children: leftColumn ?? tailLines.map((line, index) => (_jsx(Text, { wrap: "truncate", color: theme.muted, children: line }, index))) })) }), band.railRows > 0 && (_jsx(Box, { height: band.railRows, width: band.railCols, flexShrink: 0, overflow: "hidden", children: rail }))] }), band.teamRows > 0 && (_jsx(Box, { width: width, height: band.teamRows, flexShrink: 0, overflow: "hidden", children: team }))] })) : null;
|
|
25
|
-
return (_jsxs(Box, { flexDirection: "column", height: budget.liveRows, width: width, overflow: "hidden", flexShrink: 0, children: [top, _jsx(Box, { flexDirection: "column", height: budget.composerSlotRows, justifyContent: "flex-end", flexShrink: 0, overflow: "hidden", children: composer }), budget.headerRows > 0 && (_jsx(Box, { height: budget.headerRows, flexShrink: 0, overflow: "hidden", children: header })), _jsx(Box, { height: budget.statusRows > 0 ? 1 : 0, flexShrink: 0, overflow: "hidden", children: status }), budget.statusRows === 2 && (_jsx(Box, { height: 1, flexShrink: 0, overflow: "hidden", children: details }))] }));
|
|
26
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SessionOpener (spec §4.2 / §4.8) — the opening wordmark plus the getting
|
|
3
|
-
* started card, rendered as the FIRST BLOCK OF VIEWPORT CONTENT rather than as
|
|
4
|
-
* part of the fixed header.
|
|
5
|
-
*
|
|
6
|
-
* That relocation is the whole point. As header chrome the wordmark occupied
|
|
7
|
-
* permanent vertical budget for what is a one-off greeting, so it had to be
|
|
8
|
-
* yanked away the instant the first message arrived — a 7-row jump and a full
|
|
9
|
-
* reflow. As content it simply scrolls out of view like anything else, which is
|
|
10
|
-
* both calmer and what the reference implementation does.
|
|
11
|
-
*
|
|
12
|
-
* Absorbs the former `Welcome.tsx`, whose 8-row round-bordered card spent 4 rows
|
|
13
|
-
* on a border and two blank lines — over half of a short terminal's empty-session
|
|
14
|
-
* viewport carrying no information.
|
|
15
|
-
*/
|
|
16
|
-
import React from 'react';
|
|
17
|
-
import type { Theme } from './theme.js';
|
|
18
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
19
|
-
import { type OpenerVariant } from './Logo.js';
|
|
20
|
-
export interface SessionOpenerProps {
|
|
21
|
-
variant: OpenerVariant;
|
|
22
|
-
version: string;
|
|
23
|
-
cwd: string;
|
|
24
|
-
hasKey: boolean;
|
|
25
|
-
/** Drives the last-ditch squeeze to a single line on very short terminals. */
|
|
26
|
-
viewportRows: number;
|
|
27
|
-
theme: Theme;
|
|
28
|
-
caps: TermCapabilities;
|
|
29
|
-
}
|
|
30
|
-
export declare function SessionOpener({ variant, version, cwd, hasKey, viewportRows, theme, caps, }: SessionOpenerProps): React.ReactElement;
|
package/dist/ui/SessionOpener.js
DELETED
|
@@ -1,12 +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 { Logo } from './Logo.js';
|
|
5
|
-
const EXAMPLE = 'Explain what this repository does';
|
|
6
|
-
/** Below this the opener keeps only the safety warning. */
|
|
7
|
-
const TERSE_VIEWPORT_ROWS = 10;
|
|
8
|
-
export function SessionOpener({ variant, version, cwd, hasKey, viewportRows, theme, caps, }) {
|
|
9
|
-
const glyphs = pickGlyphs(caps);
|
|
10
|
-
const terse = viewportRows < TERSE_VIEWPORT_ROWS;
|
|
11
|
-
return (_jsxs(Box, { flexDirection: "column", flexShrink: 0, children: [!terse && variant !== 'none' && _jsx(Logo, { variant: variant, theme: theme, caps: caps }), !terse && (_jsx(Text, { wrap: "truncate", children: _jsxs(Text, { color: theme.muted, children: ["v", version, ' ', cwd] }) })), _jsxs(Text, { wrap: "truncate", color: theme.noticeWarn, children: [glyphs.warn, " Full permission, no sandbox: bash runs and files are written directly."] }), !hasKey && (_jsxs(Text, { wrap: "truncate", color: theme.noticeWarn, children: [glyphs.arrowRight, " Run /settings (or set ANTHROPIC_API_KEY) to get started."] })), !terse && hasKey && (_jsxs(Text, { wrap: "truncate", children: [_jsxs(Text, { color: theme.accent, children: [glyphs.bullet, " "] }), _jsx(Text, { color: theme.hintFg ?? theme.muted, children: EXAMPLE })] }))] }));
|
|
12
|
-
}
|
package/dist/ui/StatusBar.d.ts
DELETED
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
/** A single row of complete, measured status fields. */
|
|
2
|
-
import React from 'react';
|
|
3
|
-
import type { Theme } from './theme.js';
|
|
4
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
5
|
-
import type { UsageTotal } from '../agent/reducer.js';
|
|
6
|
-
import type { ContextUsageSnapshot } from '../compaction/types.js';
|
|
7
|
-
import type { AgentMode } from '../agent/agent-mode.js';
|
|
8
|
-
import type { GovernanceSnapshot } from '../governance/types.js';
|
|
9
|
-
import type { Posture } from '../governance/posture.js';
|
|
10
|
-
import type { PendingSteering } from '../agent/queued-messages.js';
|
|
11
|
-
import { type RunPhase } from './layout/status-layout.js';
|
|
12
|
-
import type { EscapeAction, StatusFeedback } from './status-feedback.js';
|
|
13
|
-
export interface StatusBarProps {
|
|
14
|
-
columns: number;
|
|
15
|
-
speedKnown: boolean;
|
|
16
|
-
feedback?: StatusFeedback;
|
|
17
|
-
escapeAction?: EscapeAction;
|
|
18
|
-
interruptPhase?: 'ready' | 'armed' | 'stopping';
|
|
19
|
-
runPhase?: RunPhase;
|
|
20
|
-
activeTool?: {
|
|
21
|
-
name: string;
|
|
22
|
-
toolCallId: string;
|
|
23
|
-
} | null;
|
|
24
|
-
/** A bounded wait in flight; replaces the `Running job_wait` label (§4.9). */
|
|
25
|
-
wait?: {
|
|
26
|
-
jobId: string;
|
|
27
|
-
upToSeconds: number;
|
|
28
|
-
elapsedSeconds?: number;
|
|
29
|
-
};
|
|
30
|
-
runOutcome?: "none" | "ended" | "interrupted" | "failed";
|
|
31
|
-
reducedMotion?: boolean;
|
|
32
|
-
waitingForConfirmation?: boolean;
|
|
33
|
-
stopping?: boolean;
|
|
34
|
-
pendingSteering?: readonly PendingSteering[];
|
|
35
|
-
interruptHint?: string;
|
|
36
|
-
model: string;
|
|
37
|
-
provider: string;
|
|
38
|
-
usageTotal: UsageTotal;
|
|
39
|
-
context: ContextUsageSnapshot;
|
|
40
|
-
status: 'idle' | 'running';
|
|
41
|
-
elapsedMs: number;
|
|
42
|
-
thinkingLevel: string;
|
|
43
|
-
tokPerSec: number;
|
|
44
|
-
theme: Theme;
|
|
45
|
-
caps: TermCapabilities;
|
|
46
|
-
scrolledLines?: number;
|
|
47
|
-
redrawNonce?: number;
|
|
48
|
-
/**
|
|
49
|
-
* This session's id, rendered at the right end of the primary row
|
|
50
|
-
* (tui-session-id-resume D-11 / D-12).
|
|
51
|
-
*
|
|
52
|
-
* OPTIONAL AND ABSENT BY DEFAULT, so a build without the feature and every
|
|
53
|
-
* existing test render exactly what they rendered before (I-6).
|
|
54
|
-
*/
|
|
55
|
-
sessionId?: string;
|
|
56
|
-
/**
|
|
57
|
-
* The agent kit in effect, or absent when there is none (agent-model-kits
|
|
58
|
-
* §4.8 / D-12).
|
|
59
|
-
*
|
|
60
|
-
* OPTIONAL AND ABSENT BY DEFAULT, for the same reason `sessionId` is: with no
|
|
61
|
-
* kit the plan is hidden, `kitCells` is 0, and this row's output is
|
|
62
|
-
* byte-identical to the pre-feature build (I-9).
|
|
63
|
-
*/
|
|
64
|
-
kit?: {
|
|
65
|
-
name: string;
|
|
66
|
-
modified: boolean;
|
|
67
|
-
otherNames: readonly string[];
|
|
68
|
-
} | null;
|
|
69
|
-
/**
|
|
70
|
-
* The mode word's source. A `Posture` is also accepted (governance-mode 10.2): its
|
|
71
|
-
* governed members render as `GOVERN` / `PLAN+GOVERN` in the governance hue, and
|
|
72
|
-
* `build` / `plan` render exactly as the `AgentMode` of the same name always did.
|
|
73
|
-
*/
|
|
74
|
-
agentMode?: AgentMode | Posture;
|
|
75
|
-
pendingAgentMode?: AgentMode | Posture | null;
|
|
76
|
-
/**
|
|
77
|
-
* The live governed-run snapshot, or absent. Drives the governance chip
|
|
78
|
-
* (`GOV p2/3 REVIEW`); absent plans a hidden chip, which keeps this row byte-identical
|
|
79
|
-
* to the pre-governance build.
|
|
80
|
-
*/
|
|
81
|
-
governance?: GovernanceSnapshot | null;
|
|
82
|
-
/**
|
|
83
|
-
* Forced team mode is armed, with the count it was armed with
|
|
84
|
-
* (team-command-forced-dispatch §3.8 / D-9). ABSENT = not armed, and every
|
|
85
|
-
* existing caller renders the row it always did.
|
|
86
|
-
*
|
|
87
|
-
* IT RIDES THIS COMPONENT'S PROPS AND NOT THE APP'S `statusInput`, by the rule
|
|
88
|
-
* the `compactionActive` chip records where `App` builds it: this component
|
|
89
|
-
* plans the primary row from its OWN props, so a chip left on `statusInput`
|
|
90
|
-
* would be a field nothing renders - which is exactly how the only persistently
|
|
91
|
-
* visible signal of `/team` (D-9) can ship without ever appearing on screen.
|
|
92
|
-
*/
|
|
93
|
-
forcedTeam?: {
|
|
94
|
-
count: number;
|
|
95
|
-
};
|
|
96
|
-
teamActive?: {
|
|
97
|
-
running: number;
|
|
98
|
-
total: number;
|
|
99
|
-
};
|
|
100
|
-
todoActive?: {
|
|
101
|
-
done: number;
|
|
102
|
-
total: number;
|
|
103
|
-
};
|
|
104
|
-
acceptanceActive?: {
|
|
105
|
-
checked: number;
|
|
106
|
-
total: number;
|
|
107
|
-
failed: number;
|
|
108
|
-
};
|
|
109
|
-
servicesActive?: {
|
|
110
|
-
live: number;
|
|
111
|
-
};
|
|
112
|
-
retryActive?: {
|
|
113
|
-
attempt: number;
|
|
114
|
-
max: number;
|
|
115
|
-
secondsLeft: number;
|
|
116
|
-
};
|
|
117
|
-
ecoRung?: number;
|
|
118
|
-
fastActive?: {
|
|
119
|
-
inFlight: boolean;
|
|
120
|
-
};
|
|
121
|
-
compactionActive?: {
|
|
122
|
-
inFlight: boolean;
|
|
123
|
-
selfDisabled?: boolean;
|
|
124
|
-
};
|
|
125
|
-
gaugeMarks?: {
|
|
126
|
-
warn: number;
|
|
127
|
-
high: number;
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
export declare function StatusBar(props: StatusBarProps): React.ReactElement;
|
package/dist/ui/StatusBar.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/** A single row of complete, measured status fields. */
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { Box, Text } from 'ink';
|
|
5
|
-
import { pickGlyphs } from './glyphs.js';
|
|
6
|
-
import { planGovernanceChip } from './layout/governance-chip.js';
|
|
7
|
-
import { liveSpinner } from './ActivityLine.js';
|
|
8
|
-
import { planPrimaryStatusFields } from './layout/status-layout.js';
|
|
9
|
-
import { planSessionChip } from './layout/session-chip.js';
|
|
10
|
-
import { planKitChip } from './layout/kit-chip.js';
|
|
11
|
-
import { toneColor } from './governance-status.js';
|
|
12
|
-
/** An invisible leading byte change forces Ink to repaint on Ctrl+L. */
|
|
13
|
-
const redrawChar = (nonce) => nonce % 2 ? String.fromCharCode(0x00a0) : ' ';
|
|
14
|
-
export function StatusBar(props) {
|
|
15
|
-
const cols = props.columns;
|
|
16
|
-
const phase = props.runPhase ?? (props.status === 'running' ? 'waiting' : 'idle');
|
|
17
|
-
const active = phase !== 'idle' || !!props.compactionActive?.inFlight;
|
|
18
|
-
const glyph = pickGlyphs(props.caps).spinnerStill;
|
|
19
|
-
const spinner = active ? liveSpinner(props.reducedMotion ?? false, props.caps) : null;
|
|
20
|
-
// THE CHIP IS PLANNED FIRST, and the plan then feeds the field budget: the two
|
|
21
|
-
// cannot disagree about how wide the terminal is if only one of them is asked.
|
|
22
|
-
const chip = planSessionChip({
|
|
23
|
-
columns: cols,
|
|
24
|
-
...(props.sessionId ? { sessionId: props.sessionId } : {}),
|
|
25
|
-
});
|
|
26
|
-
const chipCells = chip.visible ? chip.cells + chip.gap : 0;
|
|
27
|
-
// THE KIT CHIP IS PLANNED SECOND, OUT OF WHAT THE SESSION CHIP LEFT (D-12):
|
|
28
|
-
// the session id is never truncated, so it is not the thing that gives way.
|
|
29
|
-
// With no kit the plan is hidden and `kitCells` is 0, which keeps this row
|
|
30
|
-
// byte-identical to the build before the feature (I-9).
|
|
31
|
-
const kit = planKitChip({ columns: cols - chipCells, kit: props.kit });
|
|
32
|
-
const kitCells = kit.visible ? kit.cells + kit.gap : 0;
|
|
33
|
-
// THE GOVERNANCE CHIP IS PLANNED THIRD, out of what the other two left, by the same
|
|
34
|
-
// comparison (the left half keeps its 34-cell floor). Hidden without a live run.
|
|
35
|
-
const govern = planGovernanceChip({ columns: cols - chipCells - kitCells, snapshot: props.governance });
|
|
36
|
-
const governCells = govern.visible ? govern.cells + govern.gap : 0;
|
|
37
|
-
const plan = planPrimaryStatusFields({
|
|
38
|
-
reserveRight: chipCells + kitCells + governCells,
|
|
39
|
-
columns: cols, phase, pendingCount: props.pendingSteering?.length ?? 0,
|
|
40
|
-
context: props.context, usageTotal: props.usageTotal,
|
|
41
|
-
thinkingLevel: props.thinkingLevel, elapsedMs: props.elapsedMs, tokPerSec: props.tokPerSec,
|
|
42
|
-
activeTool: props.activeTool, runOutcome: props.runOutcome, spinner: glyph,
|
|
43
|
-
...(props.wait ? { wait: props.wait } : {}),
|
|
44
|
-
speedKnown: props.speedKnown, feedback: props.feedback, escapeAction: props.escapeAction,
|
|
45
|
-
interruptPhase: props.interruptPhase,
|
|
46
|
-
waitingForConfirmation: props.waitingForConfirmation, stopping: props.stopping,
|
|
47
|
-
compacting: props.compactionActive?.inFlight, retryActive: props.retryActive,
|
|
48
|
-
compactionPaused: props.compactionActive?.selfDisabled === true,
|
|
49
|
-
mode: props.agentMode, pendingMode: props.pendingAgentMode, servicesActive: props.servicesActive,
|
|
50
|
-
...(props.forcedTeam ? { forcedTeam: props.forcedTeam } : {}),
|
|
51
|
-
teamActive: props.teamActive, todoActive: props.todoActive,
|
|
52
|
-
...(props.acceptanceActive ? { acceptanceActive: props.acceptanceActive } : {}),
|
|
53
|
-
ecoRung: props.ecoRung, fastActive: props.fastActive, scrolledLines: props.scrolledLines,
|
|
54
|
-
});
|
|
55
|
-
const tones = { normal: props.theme.primary, muted: props.theme.muted,
|
|
56
|
-
warning: props.theme.noticeWarn, error: props.theme.noticeError,
|
|
57
|
-
accent: props.theme.accent, govern: props.theme.governAccent };
|
|
58
|
-
return _jsxs(Box, { width: cols, height: 1, flexShrink: 0, flexDirection: "row", overflow: "hidden", children: [_jsx(Box, { width: 1, flexShrink: 0, children: _jsx(Text, { children: redrawChar(props.redrawNonce ?? 0) }) }), _jsx(Box, { width: Math.max(0, cols - 1 - chipCells - kitCells - governCells), flexShrink: 0, flexDirection: "row", overflow: "hidden", children: plan.fields.map((item, index) => _jsxs(React.Fragment, { children: [index > 0 && _jsx(Box, { width: plan.separatorCells, flexShrink: 0, children: _jsx(Text, { color: props.theme.muted, children: plan.separator }) }), _jsx(Box, { width: item.cells, flexShrink: 0, children: _jsx(Text, { color: tones[item.tone], wrap: "truncate", children: item.id === 'phase' && active
|
|
59
|
-
? _jsxs(_Fragment, { children: [spinner ?? glyph, item.text.slice(glyph.length)] })
|
|
60
|
-
: item.text }) })] }, item.id)) }), govern.visible && _jsx(Box, { width: governCells, flexShrink: 0, justifyContent: "flex-end", overflow: "hidden", children: _jsx(Text, { color: toneColor(govern.tone, props.theme), wrap: "truncate", bold: true, children: govern.text }) }), kit.visible && _jsx(Box, { width: kitCells, flexShrink: 0, justifyContent: "flex-end", overflow: "hidden", children: _jsx(Text, { color: props.theme.muted, wrap: "truncate", children: kit.text }) }), chip.visible && _jsx(Box, { width: chipCells, flexShrink: 0, justifyContent: "flex-end", overflow: "hidden", children: _jsx(Text, { color: props.theme.muted, wrap: "truncate", children: chip.text }) })] });
|
|
61
|
-
}
|
package/dist/ui/TeamPanel.d.ts
DELETED
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TeamPanel — the live subagent roster (team-subagents §6.1).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: every glyph comes from `pickGlyphs`; a literal here bypasses the
|
|
5
|
-
* capability probe and shows mojibake on a legacy console (`glyphs.ts` header).
|
|
6
|
-
*
|
|
7
|
-
* RENDERED ONLY WHILE A DISPATCH IS RUNNING (D-11). The requirement says "(dang
|
|
8
|
-
* you de shi hou)" — when there is one — and a permanent zero-row region would
|
|
9
|
-
* be furniture. `App` passes `null` the rest of the time and this component is
|
|
10
|
-
* not mounted at all, so a session that never delegates has zero rows and zero
|
|
11
|
-
* layout shift.
|
|
12
|
-
*
|
|
13
|
-
* IT MUST BE MOUNTED IN `AppShell`'s BOTTOM CHROME (I-10), not in the middle
|
|
14
|
-
* band. The roster is transient status about the run in progress, so it belongs
|
|
15
|
-
* with the other transient rows — toast, composer, status bar — rather than
|
|
16
|
-
* inside the scrolling transcript, where it would be interleaved with history
|
|
17
|
-
* and scroll out of sight exactly when the user wants to watch it.
|
|
18
|
-
*
|
|
19
|
-
* IT IS THE ONLY LIVE SUBAGENT SURFACE (tui-subagent-double-roster A-2). The
|
|
20
|
-
* transcript's `team` card is suppressed while its dispatch is active
|
|
21
|
-
* (`team-status.ts::isLiveTeamCard`), so this roster is what the user watches
|
|
22
|
-
* during a dispatch and the card becomes the history afterwards. Native mode
|
|
23
|
-
* draws it as the band's BOTTOM, FULL-WIDTH slot (`ScrollbackShell`), i.e.
|
|
24
|
-
* directly above the composer and spanning the TODO rail's columns as well; the
|
|
25
|
-
* full-screen mode draws it in the viewport footer, which is already above the
|
|
26
|
-
* composer.
|
|
27
|
-
*
|
|
28
|
-
* THE ROW IS A TABLE, NOT A PARAGRAPH (tui-subagent-panel §0.1 / §4.2). The
|
|
29
|
-
* columns are placed by COMPUTED widths (`layout/team-row.ts`) inside fixed-width
|
|
30
|
-
* boxes, never by `flexGrow`: a fixed-height parent box makes Yoga size a column
|
|
31
|
-
* to its widest child, so the old row measured 48 columns inside a 100-column
|
|
32
|
-
* terminal and the clock stopped beside the description instead of at the right
|
|
33
|
-
* edge. The description is the only flexible cell, which is what keeps the two
|
|
34
|
-
* right-hand cells at their absolute offsets.
|
|
35
|
-
*
|
|
36
|
-
* EVERY PHASE -> GLYPH / COLOUR / COUNT DECISION COMES FROM `team-status.ts`.
|
|
37
|
-
* The local copies this file used to carry are gone on purpose: the transcript
|
|
38
|
-
* card kept a second copy and the two disagreed about what "running" looks like.
|
|
39
|
-
*/
|
|
40
|
-
import React from 'react';
|
|
41
|
-
import type { Theme } from './theme.js';
|
|
42
|
-
import type { TermCapabilities } from './capabilities.js';
|
|
43
|
-
import { type TeamPanelLayout } from './layout/team-panel.js';
|
|
44
|
-
import type { SubagentRun, TeamSnapshot } from '../team/types.js';
|
|
45
|
-
/**
|
|
46
|
-
* THE ACTIVITY / BADGE HELPERS LIVE IN `layout/team-row.ts` NOW (v2 implementation
|
|
47
|
-
* note, recorded in the spec's "implementation findings"). `teamRowCells` has to
|
|
48
|
-
* compose the activity text with the supervisor badge, so keeping those functions
|
|
49
|
-
* in this component would make the two modules import each other. They are
|
|
50
|
-
* re-exported here so every existing import site keeps its path.
|
|
51
|
-
*/
|
|
52
|
-
export { activityBudget, activityLine, activityWithBadge, overseerBadge, teamClockText, teamRowCells, teamRowGeometry, } from './layout/team-row.js';
|
|
53
|
-
/**
|
|
54
|
-
* The panel's one supervisor status line (AC-5): the most recent intervention
|
|
55
|
-
* across the roster, human-phrased. Empty when the supervisor has not acted
|
|
56
|
-
* yet - furniture that says nothing is worse than no line.
|
|
57
|
-
*/
|
|
58
|
-
export declare function supervisorStatusLine(runs: SubagentRun[], at: number): string;
|
|
59
|
-
export interface TeamPanelProps {
|
|
60
|
-
snapshot: TeamSnapshot;
|
|
61
|
-
/** Terminal rows, for the one-line collapse below `panelCollapseRows`. */
|
|
62
|
-
rows: number;
|
|
63
|
-
/**
|
|
64
|
-
* Terminal columns. REQUIRED, not optional (D-13): an optional width
|
|
65
|
-
* defaulting to narrow would silently produce the degraded form forever if a
|
|
66
|
-
* call site forgot it, where a required prop fails at compile time.
|
|
67
|
-
*/
|
|
68
|
-
cols: number;
|
|
69
|
-
reducedMotion: boolean;
|
|
70
|
-
theme: Theme;
|
|
71
|
-
caps: TermCapabilities;
|
|
72
|
-
/** Injectable clock so the panel test does not depend on wall time. */
|
|
73
|
-
now?: number;
|
|
74
|
-
layout?: TeamPanelLayout;
|
|
75
|
-
}
|
|
76
|
-
export declare function TeamPanel({ snapshot, rows, cols, reducedMotion, theme, caps, now, layout, }: TeamPanelProps): React.ReactElement | null;
|