@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
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TodoCard — the transcript checklist entry (todo-plan-execution §6.2;
|
|
3
|
-
* todo-acceptance-criteria §6.10).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: every glyph comes from `pickGlyphs`.
|
|
6
|
-
*
|
|
7
|
-
* ONE CARD PER USER TURN, REWRITTEN IN PLACE. The rail is EPHEMERAL and this is the
|
|
8
|
-
* HISTORY, exactly as `TeamPanel` and `TeamCard` divide the same work. It renders
|
|
9
|
-
* through the shared `EntryFrame` supplied by `EntryView`, so a plan reads as one
|
|
10
|
-
* more step in the transcript rather than a second kind of object.
|
|
11
|
-
*
|
|
12
|
-
* THE FULL LIST, NO WINDOWING (the transcript scrolls; the rail does not), and
|
|
13
|
-
* NEVER ANIMATED even while `live` — a resumed session would otherwise spin forever
|
|
14
|
-
* on a card whose run ended days ago.
|
|
15
|
-
*
|
|
16
|
-
* THE ACCEPTANCE BLOCK ADDS ROWS, NOT A CARD (§6.10): same frame, same marker
|
|
17
|
-
* column, one block underneath. Only a FAILED criterion gets an evidence line
|
|
18
|
-
* (D-14), which is what keeps the height exactly `1 + items.length + failedCount`.
|
|
19
|
-
*/
|
|
20
|
-
import React from 'react';
|
|
21
|
-
import type { Theme } from '../theme.js';
|
|
22
|
-
import type { TermCapabilities } from '../capabilities.js';
|
|
23
|
-
import type { AcceptanceSnapshot, TodoItem } from '../../todo/types.js';
|
|
24
|
-
export interface TodoCardProps {
|
|
25
|
-
items: TodoItem[];
|
|
26
|
-
doneCount: number;
|
|
27
|
-
total: number;
|
|
28
|
-
/**
|
|
29
|
-
* The acceptance projection (todo-acceptance-criteria §6.10).
|
|
30
|
-
*
|
|
31
|
-
* OPTIONAL, unlike `TodoSnapshot.acceptance` (P1-4): a `TodoSnapshot` has exactly
|
|
32
|
-
* one writer and can fail closed, while this entry's sources include transcript
|
|
33
|
-
* entries read back from a session file written before the feature existed. A
|
|
34
|
-
* required field there would be typed "present" and be `undefined` at runtime.
|
|
35
|
-
*/
|
|
36
|
-
acceptance?: AcceptanceSnapshot | null;
|
|
37
|
-
live: boolean;
|
|
38
|
-
/** Saved mid-run and resumed: the run behind this card died with the process. */
|
|
39
|
-
interrupted?: boolean;
|
|
40
|
-
theme: Theme;
|
|
41
|
-
caps: TermCapabilities;
|
|
42
|
-
}
|
|
43
|
-
/** The card's aggregate colour: complete is done, anything else is in flight. */
|
|
44
|
-
export declare function todoCardColor(doneCount: number, total: number, live: boolean, theme: Theme): string | undefined;
|
|
45
|
-
declare function TodoCardImpl(props: TodoCardProps): React.ReactElement;
|
|
46
|
-
/**
|
|
47
|
-
* `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
|
|
48
|
-
* `mapEntry` already preserves object identity for untouched entries, so the array
|
|
49
|
-
* props below are stable references on a settled card, and `theme` / `caps` are
|
|
50
|
-
* `useMemo`d in `App.tsx` (I-L2-1). `acceptance` is a NEW object whenever a verdict
|
|
51
|
-
* lands and the SAME reference otherwise, which is exactly what the comparator wants.
|
|
52
|
-
*/
|
|
53
|
-
export declare const TodoCard: React.MemoExoticComponent<typeof TodoCardImpl>;
|
|
54
|
-
export {};
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* TodoCard — the transcript checklist entry (todo-plan-execution §6.2;
|
|
4
|
-
* todo-acceptance-criteria §6.10).
|
|
5
|
-
*
|
|
6
|
-
* ASCII ONLY: every glyph comes from `pickGlyphs`.
|
|
7
|
-
*
|
|
8
|
-
* ONE CARD PER USER TURN, REWRITTEN IN PLACE. The rail is EPHEMERAL and this is the
|
|
9
|
-
* HISTORY, exactly as `TeamPanel` and `TeamCard` divide the same work. It renders
|
|
10
|
-
* through the shared `EntryFrame` supplied by `EntryView`, so a plan reads as one
|
|
11
|
-
* more step in the transcript rather than a second kind of object.
|
|
12
|
-
*
|
|
13
|
-
* THE FULL LIST, NO WINDOWING (the transcript scrolls; the rail does not), and
|
|
14
|
-
* NEVER ANIMATED even while `live` — a resumed session would otherwise spin forever
|
|
15
|
-
* on a card whose run ended days ago.
|
|
16
|
-
*
|
|
17
|
-
* THE ACCEPTANCE BLOCK ADDS ROWS, NOT A CARD (§6.10): same frame, same marker
|
|
18
|
-
* column, one block underneath. Only a FAILED criterion gets an evidence line
|
|
19
|
-
* (D-14), which is what keeps the height exactly `1 + items.length + failedCount`.
|
|
20
|
-
*/
|
|
21
|
-
import React from 'react';
|
|
22
|
-
import { Box, Text } from 'ink';
|
|
23
|
-
import { pickGlyphs } from '../glyphs.js';
|
|
24
|
-
import { railBorderProps } from '../layout/Gutter.js';
|
|
25
|
-
import { derivePlanPhase } from '../../todo/acceptance.js';
|
|
26
|
-
/** The card's aggregate colour: complete is done, anything else is in flight. */
|
|
27
|
-
export function todoCardColor(doneCount, total, live, theme) {
|
|
28
|
-
if (live)
|
|
29
|
-
return theme.toolRunning;
|
|
30
|
-
if (total > 0 && doneCount === total)
|
|
31
|
-
return theme.toolDone;
|
|
32
|
-
return theme.muted;
|
|
33
|
-
}
|
|
34
|
-
function marker(item, glyphs) {
|
|
35
|
-
if (item.status === 'completed')
|
|
36
|
-
return glyphs.todoDone;
|
|
37
|
-
if (item.status === 'in_progress')
|
|
38
|
-
return glyphs.todoActive;
|
|
39
|
-
return glyphs.todoPending;
|
|
40
|
-
}
|
|
41
|
-
function rowColor(item, theme) {
|
|
42
|
-
if (item.status === 'completed')
|
|
43
|
-
return theme.muted;
|
|
44
|
-
if (item.status === 'in_progress')
|
|
45
|
-
return theme.primary;
|
|
46
|
-
return theme.hintFg ?? theme.muted;
|
|
47
|
-
}
|
|
48
|
-
/** `passed` reuses the done glyph; `failed` is the one new meaning (D-9). */
|
|
49
|
-
function acceptanceMarker(item, glyphs) {
|
|
50
|
-
if (item.status === 'passed')
|
|
51
|
-
return glyphs.todoDone;
|
|
52
|
-
if (item.status === 'failed')
|
|
53
|
-
return glyphs.todoFail;
|
|
54
|
-
if (item.status === 'in_progress')
|
|
55
|
-
return glyphs.todoActive;
|
|
56
|
-
return glyphs.todoPending;
|
|
57
|
-
}
|
|
58
|
-
function acceptanceRowColor(item, theme) {
|
|
59
|
-
if (item.status === 'failed')
|
|
60
|
-
return theme.toolError;
|
|
61
|
-
if (item.status === 'passed')
|
|
62
|
-
return theme.muted;
|
|
63
|
-
if (item.status === 'in_progress')
|
|
64
|
-
return theme.primary;
|
|
65
|
-
return theme.hintFg ?? theme.muted;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* All passed reads as done, any failure as an error, otherwise muted; while the run
|
|
69
|
-
* is live and the plan is in VERIFY it reads as running - the same expression family
|
|
70
|
-
* `todoCardColor` uses one level up.
|
|
71
|
-
*/
|
|
72
|
-
function acceptanceTitleColor(acceptance, items, live, theme) {
|
|
73
|
-
if (acceptance.failedCount > 0)
|
|
74
|
-
return theme.toolError;
|
|
75
|
-
if (live && derivePlanPhase(items, acceptance.items) === 'verify')
|
|
76
|
-
return theme.toolRunning;
|
|
77
|
-
if (acceptance.total > 0 && acceptance.checkedCount === acceptance.total)
|
|
78
|
-
return theme.toolDone;
|
|
79
|
-
return theme.muted;
|
|
80
|
-
}
|
|
81
|
-
function TodoCardImpl(props) {
|
|
82
|
-
const { items, doneCount, total, acceptance, live, interrupted, theme, caps } = props;
|
|
83
|
-
const glyphs = pickGlyphs(caps);
|
|
84
|
-
const criteria = acceptance && acceptance.total > 0 ? acceptance : null;
|
|
85
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.accent, bold: true, children: "Todos" }), _jsxs(Text, { color: todoCardColor(doneCount, total, live, theme), children: [' ', doneCount, "/", total] }), interrupted && (
|
|
86
|
-
// A resumed `2/7` would otherwise read as a run still in flight (P2-6).
|
|
87
|
-
// Saying so plainly is the same fix `TeamCard` makes for a dispatch that
|
|
88
|
-
// never got a duration.
|
|
89
|
-
_jsxs(Text, { color: theme.muted, children: [' ', "interrupted (session resumed)"] }))] }), _jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: items.map((item, index) => (_jsxs(Text, { wrap: "truncate", color: rowColor(item, theme), children: [marker(item, glyphs).padEnd(3), item.status === 'in_progress' ? item.activeForm : item.content] }, `${index}-${item.content}`))) }), criteria && (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { wrap: "truncate", children: [_jsx(Text, { color: theme.accent, bold: true, children: "Acceptance" }), _jsxs(Text, { color: acceptanceTitleColor(criteria, items, live, theme), children: [' ', criteria.checkedCount, "/", criteria.total, " checked", criteria.failedCount > 0 ? ` !${criteria.failedCount} failed` : ''] })] }), _jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, theme.border), children: criteria.items.map((item, index) => (_jsxs(React.Fragment, { children: [_jsxs(Text, { wrap: "truncate", color: acceptanceRowColor(item, theme), children: [acceptanceMarker(item, glyphs).padEnd(3), item.content] }), item.status === 'failed' && item.evidence.length > 0 && (_jsxs(Text, { wrap: "truncate", color: theme.muted, children: [' ', item.evidence] }))] }, `acc-${index}-${item.content}`))) })] }))] }));
|
|
90
|
-
}
|
|
91
|
-
/**
|
|
92
|
-
* `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
|
|
93
|
-
* `mapEntry` already preserves object identity for untouched entries, so the array
|
|
94
|
-
* props below are stable references on a settled card, and `theme` / `caps` are
|
|
95
|
-
* `useMemo`d in `App.tsx` (I-L2-1). `acceptance` is a NEW object whenever a verdict
|
|
96
|
-
* lands and the SAME reference otherwise, which is exactly what the comparator wants.
|
|
97
|
-
*/
|
|
98
|
-
export const TodoCard = React.memo(TodoCardImpl);
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Tool-call card (spec §3.5): a per-tool glyph, the tool name, a compact args
|
|
3
|
-
* summary, a colored status badge, and a duration, over a collapsible rich
|
|
4
|
-
* preview delegated to `<ToolPreview>`. Collapsed to the first 8 lines with a
|
|
5
|
-
* `+M lines (Ctrl+O)` footer; `Ctrl+O` / `/expand` toggle the full preview.
|
|
6
|
-
*
|
|
7
|
-
* Two v0.4.0 changes (§4.1 / §4.3):
|
|
8
|
-
* - capabilities arrive as a prop. This used to infer Unicode support by
|
|
9
|
-
* comparing `theme.symbols.gaugeFull` against a literal block character, so
|
|
10
|
-
* editing an unrelated gauge glyph would have silently sent every tool icon
|
|
11
|
-
* back to ASCII;
|
|
12
|
-
* - the preview's round border is gone. It cost 2 rows and 4 columns per card,
|
|
13
|
-
* and nested visibly inside markdown code blocks. A left rail carries the
|
|
14
|
-
* same grouping in 1 column and 0 rows.
|
|
15
|
-
*/
|
|
16
|
-
import React from 'react';
|
|
17
|
-
import type { Theme } from '../theme.js';
|
|
18
|
-
import type { TermCapabilities } from '../capabilities.js';
|
|
19
|
-
import type { ToolStatus } from '../../agent/reducer.js';
|
|
20
|
-
import type { FilePatch } from '../../tools/patch.js';
|
|
21
|
-
interface ToolCardProps {
|
|
22
|
-
name: string;
|
|
23
|
-
label: string;
|
|
24
|
-
argsRaw: string;
|
|
25
|
-
args?: Record<string, unknown>;
|
|
26
|
-
status: ToolStatus;
|
|
27
|
-
preview?: string;
|
|
28
|
-
/**
|
|
29
|
-
* The structured file diff, when the tool produced one (§3.4). Present it and
|
|
30
|
-
* `DiffView` draws INSTEAD of `ToolPreview`; absent — a session saved by an
|
|
31
|
-
* older build, an entry the store's 64-write ring evicted, or a toolset built
|
|
32
|
-
* without a recorder — and the text preview renders exactly what it does
|
|
33
|
-
* today. Nothing ever renders blank.
|
|
34
|
-
*/
|
|
35
|
-
patch?: FilePatch;
|
|
36
|
-
durationMs?: number;
|
|
37
|
-
isError?: boolean;
|
|
38
|
-
expanded?: boolean;
|
|
39
|
-
reducedMotion?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* The sanitised live tail while the tool runs
|
|
42
|
-
* (agent-activity-presentation-live §3.3.4).
|
|
43
|
-
*
|
|
44
|
-
* PASSED AS `live={entry.live}` AND NEVER `live={entry.live ?? []}` (P2-4).
|
|
45
|
-
* This component is `React.memo` with the DEFAULT comparator, so a fresh `[]`
|
|
46
|
-
* per render is a changed prop and defeats the boundary for every settled card
|
|
47
|
-
* in the transcript — which is exactly why `EMPTY_LINES` above exists.
|
|
48
|
-
*/
|
|
49
|
-
live?: readonly string[];
|
|
50
|
-
/** Epoch ms of the last output row; with `nowSec`, the stall row's clock. */
|
|
51
|
-
lastOutputAt?: number;
|
|
52
|
-
/**
|
|
53
|
-
* Wall-clock SECONDS, passed ONLY to running entries (D-29 / D-36).
|
|
54
|
-
*
|
|
55
|
-
* Seconds and not milliseconds, and `undefined` on every other card, for the
|
|
56
|
-
* same reason: a prop that changed five times a second on every entry would
|
|
57
|
-
* defeat this memo boundary transcript-wide. The value is wall-clock rather
|
|
58
|
-
* than the ticker's `elapsedMs` because the stall is `now - lastOutputAt` and
|
|
59
|
-
* `lastOutputAt` is epoch ms; the ticker's job is to cause the render.
|
|
60
|
-
*/
|
|
61
|
-
nowSec?: number;
|
|
62
|
-
theme: Theme;
|
|
63
|
-
caps: TermCapabilities;
|
|
64
|
-
}
|
|
65
|
-
export declare function statusColor(status: ToolStatus, theme: Theme): string | undefined;
|
|
66
|
-
/** The tool's own glyph, used by `EntryView` as the entry's rail marker. */
|
|
67
|
-
export declare function toolEntryGlyph(name: string, caps: TermCapabilities): string;
|
|
68
|
-
declare function ToolCardImpl(props: ToolCardProps): React.ReactElement;
|
|
69
|
-
/**
|
|
70
|
-
* `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
|
|
71
|
-
* Every prop is a scalar except `args` (a stable reference on a settled entry),
|
|
72
|
-
* `patch` and `theme` / `caps` (both `useMemo`d in `App.tsx` — I-L2-1).
|
|
73
|
-
*
|
|
74
|
-
* `patch` QUALIFIES ONLY BECAUSE THE REDUCER WRITES IT ONCE, at `toolExecEnd`,
|
|
75
|
-
* and never rebuilds it — `mapEntry` preserves object identity for untouched
|
|
76
|
-
* entries. A future action that recomputed or normalized a patch would turn this
|
|
77
|
-
* boundary into a no-op WITH NOTHING FAILING, which is the same trap I-L2-1
|
|
78
|
-
* exists to catch for `theme` and `caps` (P2-9).
|
|
79
|
-
*/
|
|
80
|
-
export declare const ToolCard: React.MemoExoticComponent<typeof ToolCardImpl>;
|
|
81
|
-
export {};
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Tool-call card (spec §3.5): a per-tool glyph, the tool name, a compact args
|
|
4
|
-
* summary, a colored status badge, and a duration, over a collapsible rich
|
|
5
|
-
* preview delegated to `<ToolPreview>`. Collapsed to the first 8 lines with a
|
|
6
|
-
* `+M lines (Ctrl+O)` footer; `Ctrl+O` / `/expand` toggle the full preview.
|
|
7
|
-
*
|
|
8
|
-
* Two v0.4.0 changes (§4.1 / §4.3):
|
|
9
|
-
* - capabilities arrive as a prop. This used to infer Unicode support by
|
|
10
|
-
* comparing `theme.symbols.gaugeFull` against a literal block character, so
|
|
11
|
-
* editing an unrelated gauge glyph would have silently sent every tool icon
|
|
12
|
-
* back to ASCII;
|
|
13
|
-
* - the preview's round border is gone. It cost 2 rows and 4 columns per card,
|
|
14
|
-
* and nested visibly inside markdown code blocks. A left rail carries the
|
|
15
|
-
* same grouping in 1 column and 0 rows.
|
|
16
|
-
*/
|
|
17
|
-
import React from 'react';
|
|
18
|
-
import { Box, Text } from 'ink';
|
|
19
|
-
import Spinner from 'ink-spinner';
|
|
20
|
-
import { pickGlyphs, toolGlyph } from '../glyphs.js';
|
|
21
|
-
import { railBorderProps } from '../layout/Gutter.js';
|
|
22
|
-
import { splitLinesCached } from '../render-cache.js';
|
|
23
|
-
import { formatDuration } from '../../agent/usage.js';
|
|
24
|
-
import { ToolPreview, bashBadge } from './ToolPreview.js';
|
|
25
|
-
import { DiffView } from './DiffView.js';
|
|
26
|
-
import { STALL_AFTER_MS } from '../../tools/tool-output-store.js';
|
|
27
|
-
import { shortDuration } from '../layout/status-layout.js';
|
|
28
|
-
/** Number of preview lines shown before collapse. */
|
|
29
|
-
const COLLAPSED_LINES = 8;
|
|
30
|
-
/** Shared empty slice, so an argument-less card allocates nothing per frame. */
|
|
31
|
-
const EMPTY_LINES = [];
|
|
32
|
-
export function statusColor(status, theme) {
|
|
33
|
-
switch (status) {
|
|
34
|
-
case 'pending':
|
|
35
|
-
return theme.toolPending;
|
|
36
|
-
case 'running':
|
|
37
|
-
return theme.toolRunning;
|
|
38
|
-
case 'done':
|
|
39
|
-
return theme.toolDone;
|
|
40
|
-
case 'error':
|
|
41
|
-
return theme.toolError;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/** One-line summary of the tool arguments for the card header. */
|
|
45
|
-
function summarizeArgs(name, ellipsis, args, argsRaw, midDot = '-') {
|
|
46
|
-
if (args) {
|
|
47
|
-
// `t3 - up to 10m00s` reads better in the settled history row than
|
|
48
|
-
// `job=t3 timeoutSeconds=600` (extended-job-wait P2). Needs both fields.
|
|
49
|
-
if (name === 'job_wait' && typeof args.job === 'string') {
|
|
50
|
-
const seconds = args.timeoutSeconds;
|
|
51
|
-
return typeof seconds === 'number' && Number.isFinite(seconds) && seconds > 0
|
|
52
|
-
? `${args.job} ${midDot} up to ${shortDuration(seconds * 1000)}`
|
|
53
|
-
: args.job;
|
|
54
|
-
}
|
|
55
|
-
if (name === 'bash' && typeof args.command === 'string')
|
|
56
|
-
return args.command;
|
|
57
|
-
if (typeof args.path === 'string')
|
|
58
|
-
return args.path;
|
|
59
|
-
if (typeof args.pattern === 'string')
|
|
60
|
-
return args.pattern;
|
|
61
|
-
const keys = Object.keys(args);
|
|
62
|
-
if (keys.length > 0)
|
|
63
|
-
return keys.map((k) => `${k}=${short(args[k], ellipsis)}`).join(' ');
|
|
64
|
-
}
|
|
65
|
-
return (argsRaw ?? '').slice(0, 60);
|
|
66
|
-
}
|
|
67
|
-
function short(v, ellipsis) {
|
|
68
|
-
const s = typeof v === 'string' ? v : JSON.stringify(v);
|
|
69
|
-
return s.length > 40 ? `${s.slice(0, 40)}${ellipsis}` : s;
|
|
70
|
-
}
|
|
71
|
-
/** The badge label shown to the right of the tool name. */
|
|
72
|
-
function badgeLabel(name, status, preview) {
|
|
73
|
-
if (name === 'bash' && (status === 'done' || status === 'error')) {
|
|
74
|
-
return bashBadge(status, preview).text;
|
|
75
|
-
}
|
|
76
|
-
switch (status) {
|
|
77
|
-
case 'pending':
|
|
78
|
-
return 'queued';
|
|
79
|
-
case 'running':
|
|
80
|
-
return 'running';
|
|
81
|
-
case 'done':
|
|
82
|
-
return 'done';
|
|
83
|
-
case 'error':
|
|
84
|
-
return 'failed';
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
/** The tool's own glyph, used by `EntryView` as the entry's rail marker. */
|
|
88
|
-
export function toolEntryGlyph(name, caps) {
|
|
89
|
-
return toolGlyph(pickGlyphs(caps), name);
|
|
90
|
-
}
|
|
91
|
-
function ToolCardImpl(props) {
|
|
92
|
-
const { name, argsRaw, args, status, preview, patch, durationMs, isError, expanded, reducedMotion, live, lastOutputAt, nowSec, theme, caps, } = props;
|
|
93
|
-
const glyphs = pickGlyphs(caps);
|
|
94
|
-
const color = statusColor(status, theme);
|
|
95
|
-
const previewText = preview ?? '';
|
|
96
|
-
// `splitLinesCached` rather than `previewText.split('\n')`: a stored preview
|
|
97
|
-
// is immutable once written, and this used to reallocate up to 200 strings per
|
|
98
|
-
// card per frame (R3).
|
|
99
|
-
const previewLines = previewText.length > 0 ? splitLinesCached(previewText) : EMPTY_LINES;
|
|
100
|
-
const ceiling = expanded ? previewLines.length : COLLAPSED_LINES;
|
|
101
|
-
const visibleLines = ceiling >= previewLines.length ? previewLines : previewLines.slice(0, ceiling);
|
|
102
|
-
const hidden = previewLines.length - visibleLines.length;
|
|
103
|
-
const settled = status === 'done' || status === 'error';
|
|
104
|
-
const showPatch = !!patch && settled;
|
|
105
|
-
// The live tail (agent-activity-presentation-live §3.3.4). `expanded` is
|
|
106
|
-
// deliberately ABSENT from this arithmetic: `Ctrl+O` is inert on a live card
|
|
107
|
-
// (D-26), because expansion is a promise about STORED content and the store
|
|
108
|
-
// deliberately holds eight rows. A key that silently does nothing is better
|
|
109
|
-
// than a key that promises the rest of a 400 MB stream.
|
|
110
|
-
//
|
|
111
|
-
// THE TAIL IS THE **LAST** ROWS, and the settled preview above keeps its
|
|
112
|
-
// head-first slice (E-21). Two different ends because they answer two
|
|
113
|
-
// different questions — "what did this command do" versus "what is it doing
|
|
114
|
-
// NOW" (D-25). Head-first while live would freeze on the first eight lines a
|
|
115
|
-
// build ever printed and then never change again.
|
|
116
|
-
const liveRows = live ?? EMPTY_LINES;
|
|
117
|
-
const liveCeiling = COLLAPSED_LINES;
|
|
118
|
-
const visibleLive = liveRows.length > liveCeiling ? liveRows.slice(-Math.max(1, liveCeiling)) : liveRows;
|
|
119
|
-
const showLive = !settled && visibleLive.length > 0;
|
|
120
|
-
// THE OUTER GUARD WIDENS WITH THE BRANCH (P2-2). It was `previewLines.length >
|
|
121
|
-
// 0 && ...`, and the reducer now truncates the stored preview to ONE LINE when
|
|
122
|
-
// a patch is attached (D-19) — so a card whose preview were ever empty would
|
|
123
|
-
// render its header and swallow the diff, silently. It widens a second time
|
|
124
|
-
// here, for the third branch: without `|| showLive` the tail would be computed
|
|
125
|
-
// and never drawn.
|
|
126
|
-
const showBody = ((previewLines.length > 0 || showPatch) && settled) || showLive;
|
|
127
|
-
// ONE FOOTER ROW, ALWAYS, matching `estimateEntryRows`'s arithmetic exactly: a
|
|
128
|
-
// CONSTANT row count is what lets the estimate be exact rather than an upper
|
|
129
|
-
// bound. `nowSec` is absent until the first tick, which reads as "not stalled".
|
|
130
|
-
const stalledFor = nowSec !== undefined && lastOutputAt !== undefined
|
|
131
|
-
? nowSec * 1000 - lastOutputAt
|
|
132
|
-
: 0;
|
|
133
|
-
const liveFooter = stalledFor >= STALL_AFTER_MS
|
|
134
|
-
? `no output for ${Math.floor(stalledFor / 1000)}s`
|
|
135
|
-
: '(running)';
|
|
136
|
-
const badge = status === 'running' && !reducedMotion && caps.unicode ? (_jsxs(Text, { color: color, children: [_jsx(Spinner, { type: "dots" }), " running"] })) : (_jsxs(Text, { color: color, children: [status === 'running' ? `${glyphs.spinnerStill} ` : '', badgeLabel(name, status, previewText)] }));
|
|
137
|
-
return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.accent, bold: true, children: name }), _jsxs(Text, { color: theme.muted, children: [" ", summarizeArgs(name, glyphs.ellipsis, args, argsRaw, glyphs.midDot), " "] }), badge, durationMs !== undefined && (_jsxs(Text, { color: theme.muted, children: [" (", formatDuration(durationMs), ")"] }))] }), showBody && (_jsx(Box, { flexDirection: "column", flexShrink: 0, paddingLeft: 1, ...railBorderProps(glyphs.railVertical, isError ? theme.toolError : theme.border), children: showLive ? (_jsxs(_Fragment, { children: [visibleLive.map((row, i) => (
|
|
138
|
-
// The row is already terminal-safe and clipped at
|
|
139
|
-
// `LIVE_ROW_MAX_CHARS` by `sanitizeChunk`, so `wrap="truncate"`
|
|
140
|
-
// is an exact height rather than a hope — which is the coupling
|
|
141
|
-
// `estimateEntryRows`'s live branch relies on.
|
|
142
|
-
//
|
|
143
|
-
// The index IS the key: these rows are positional slots in a
|
|
144
|
-
// ring, not identities, and the whole array is replaced on every
|
|
145
|
-
// chunk anyway.
|
|
146
|
-
//
|
|
147
|
-
// AN EMPTY ROW RENDERS AS A SPACE, and that is not cosmetic:
|
|
148
|
-
// Ink measures a `<Text>` with an empty child as ZERO rows, so a
|
|
149
|
-
// blank separator line — which `npm test`, `cargo` and every
|
|
150
|
-
// build tool print — would make the card shorter than
|
|
151
|
-
// `estimateEntryRows` charged for it. That is an over-estimate,
|
|
152
|
-
// the safe direction, but it would quietly cost §3.3.4's
|
|
153
|
-
// "constant row count" the exactness its arithmetic claims. A
|
|
154
|
-
// space is also what the terminal itself shows for a blank line.
|
|
155
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
156
|
-
_jsx(Text, { wrap: "truncate", color: theme.muted, children: row.length > 0 ? row : ' ' }, i))), _jsx(Text, { color: theme.muted, children: liveFooter })] })) : showPatch ? (_jsx(DiffView, { patch: patch, expanded: expanded, theme: theme })) : (_jsxs(_Fragment, { children: [_jsx(ToolPreview, { name: name, lines: visibleLines, theme: theme, isError: isError }), !expanded && hidden > 0 && (_jsxs(Text, { color: theme.muted, children: ["+", hidden, " ", hidden === 1 ? 'line' : 'lines', " (Ctrl+O)"] })), expanded && hidden > 0 && (_jsxs(Text, { color: theme.muted, children: ["+", hidden, " ", hidden === 1 ? 'line' : 'lines', " ", glyphs.midDot, " shown in full when this entry finishes"] })), expanded && previewLines.length > COLLAPSED_LINES && (_jsx(Text, { color: theme.muted, children: "(Ctrl+O to collapse)" }))] })) }))] }));
|
|
157
|
-
}
|
|
158
|
-
/**
|
|
159
|
-
* `React.memo` with the DEFAULT comparator (tui-render-performance L2 / R3).
|
|
160
|
-
* Every prop is a scalar except `args` (a stable reference on a settled entry),
|
|
161
|
-
* `patch` and `theme` / `caps` (both `useMemo`d in `App.tsx` — I-L2-1).
|
|
162
|
-
*
|
|
163
|
-
* `patch` QUALIFIES ONLY BECAUSE THE REDUCER WRITES IT ONCE, at `toolExecEnd`,
|
|
164
|
-
* and never rebuilds it — `mapEntry` preserves object identity for untouched
|
|
165
|
-
* entries. A future action that recomputed or normalized a patch would turn this
|
|
166
|
-
* boundary into a no-op WITH NOTHING FAILING, which is the same trap I-L2-1
|
|
167
|
-
* exists to catch for `theme` and `caps` (P2-9).
|
|
168
|
-
*/
|
|
169
|
-
export const ToolCard = React.memo(ToolCardImpl);
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Per-tool rich preview (spec §3.5). Selects a renderer by tool name: colored
|
|
3
|
-
* unified diffs (`edit_file`), a byte/path summary (`write_file`), a dimmed
|
|
4
|
-
* line-number gutter (`read_file`), a status-authoritative exit badge with a
|
|
5
|
-
* best-effort footer parse (`bash`), a dir/file/size listing (`list_dir`), a
|
|
6
|
-
* flat path list (`glob`), and a plain fallback (`grep` / default).
|
|
7
|
-
*
|
|
8
|
-
* The classification helpers are pure and exported so they are unit-testable
|
|
9
|
-
* without Ink.
|
|
10
|
-
*/
|
|
11
|
-
import React from 'react';
|
|
12
|
-
import type { Theme } from '../theme.js';
|
|
13
|
-
import { type ToolStatus } from '../../agent/reducer.js';
|
|
14
|
-
export type DiffClass = 'add' | 'remove' | 'meta' | 'context';
|
|
15
|
-
/**
|
|
16
|
-
* Classify a unified-diff line. Meta prefixes (`@@`, `---`, `+++`) are tested
|
|
17
|
-
* FIRST so a `--- path` header is not mis-read as a single-char removal (P2-8);
|
|
18
|
-
* the `Applied edit to <path>:` lead-in falls through to `context`.
|
|
19
|
-
*/
|
|
20
|
-
export declare function classifyDiffLine(line: string): DiffClass;
|
|
21
|
-
/**
|
|
22
|
-
* Derive the bash badge. The exit status is authoritative (the tool returns an
|
|
23
|
-
* error result iff the exit code is non-zero), so the label is `exit 0` /
|
|
24
|
-
* `failed` from `status`; a real `[exit code N]` / `[signal X]` last line is
|
|
25
|
-
* parsed best-effort for the exact number, falling back to the status label
|
|
26
|
-
* when the footer was truncated out of the stored preview (P1-2).
|
|
27
|
-
*/
|
|
28
|
-
export declare function bashBadge(status: ToolStatus, preview: string): {
|
|
29
|
-
text: string;
|
|
30
|
-
ok: boolean;
|
|
31
|
-
};
|
|
32
|
-
/** Parse the real `Wrote <n> bytes to <path>` result — bytes+path only (P2-7). */
|
|
33
|
-
export declare function parseWriteFile(text: string): {
|
|
34
|
-
bytes: number;
|
|
35
|
-
path: string;
|
|
36
|
-
} | null;
|
|
37
|
-
/** `3 questions · Postgres · REST` — or `dismissed`. */
|
|
38
|
-
export declare function summarizeAskUser(lines: readonly string[]): string | null;
|
|
39
|
-
export interface ListRow {
|
|
40
|
-
kind: 'dir' | 'file';
|
|
41
|
-
name: string;
|
|
42
|
-
size?: string;
|
|
43
|
-
}
|
|
44
|
-
/** Parse a real `list_dir` row (`dir <name>/` / `file <name> (<n>b)`) (P2-9). */
|
|
45
|
-
export declare function parseListRow(line: string): ListRow | null;
|
|
46
|
-
/**
|
|
47
|
-
* No `caps` here on purpose. The only glyph this component ever spelled was the
|
|
48
|
-
* preview truncation marker, and that now comes from the constant its producer
|
|
49
|
-
* writes (`PREVIEW_TRUNCATION_MARK`), so there is nothing left to degrade — and
|
|
50
|
-
* a prop no body reads is exactly the kind of dead weight the last round removed.
|
|
51
|
-
*/
|
|
52
|
-
interface ToolPreviewProps {
|
|
53
|
-
name: string;
|
|
54
|
-
lines: readonly string[];
|
|
55
|
-
theme: Theme;
|
|
56
|
-
isError?: boolean;
|
|
57
|
-
}
|
|
58
|
-
export declare function ToolPreview({ name, lines, theme, isError }: ToolPreviewProps): React.ReactElement;
|
|
59
|
-
export {};
|