@aragon-agent/cli 0.6.46 → 0.6.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +28 -0
- package/README.md +80 -12
- package/dist/agent/coalesce.d.ts +5 -1
- package/dist/agent/coalesce.js +13 -0
- package/dist/agent/controller.d.ts +41 -20
- package/dist/agent/controller.js +68 -15
- package/dist/agent/conversation-reset.d.ts +1 -1
- package/dist/agent/governance-wiring.d.ts +6 -6
- package/dist/agent/governance-wiring.js +4 -4
- package/dist/agent/headless.d.ts +5 -5
- package/dist/agent/headless.js +4 -4
- package/dist/agent/job-notices.d.ts +1 -1
- package/dist/agent/job-notices.js +1 -1
- package/dist/agent/kit-apply.d.ts +3 -3
- package/dist/agent/kit-apply.js +3 -3
- package/dist/agent/model-profile-settings.d.ts +2 -2
- package/dist/agent/model-profile-settings.js +6 -6
- package/dist/agent/prompt-options.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/user-attention.d.ts +17 -0
- package/dist/agent/user-attention.js +32 -0
- package/dist/{ui → app}/App.d.ts +9 -9
- package/dist/{ui → app}/App.js +113 -79
- package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
- package/dist/{ui → app}/use-startup-notices.js +2 -2
- package/dist/cli.js +31 -32
- package/dist/commands/agents-command.js +1 -1
- package/dist/commands/builtins.js +9 -9
- package/dist/commands/governance-command.js +2 -2
- package/dist/commands/governance-runs-table.js +1 -1
- package/dist/commands/kit-command.js +1 -1
- package/dist/commands/perf.d.ts +3 -3
- package/dist/commands/perf.js +1 -1
- package/dist/commands/registry.d.ts +8 -8
- package/dist/commands/skills.js +2 -2
- package/dist/commands/team-command.js +1 -1
- package/dist/compaction/archive.d.ts +1 -1
- package/dist/compaction/archive.js +1 -1
- package/dist/compaction/child.d.ts +3 -3
- package/dist/compaction/child.js +4 -4
- package/dist/compaction/command.js +5 -5
- package/dist/compaction/compactor.d.ts +6 -6
- package/dist/compaction/compactor.js +6 -6
- package/dist/compaction/context-command.js +1 -1
- package/dist/compaction/digest.js +1 -1
- package/dist/compaction/memory-input.js +1 -1
- package/dist/compaction/memory-validation.js +1 -1
- package/dist/compaction/memory.js +1 -1
- package/dist/compaction/summarize-call.js +1 -1
- package/dist/compaction/summary-prompt.js +1 -1
- package/dist/compaction/tail-budget.js +2 -2
- package/dist/compaction/wiring.d.ts +5 -5
- package/dist/compaction/wiring.js +2 -2
- package/dist/config/cli-commands.d.ts +1 -1
- package/dist/config/cli-commands.js +3 -3
- package/dist/config/env.d.ts +1 -1
- package/dist/config/env.js +4 -4
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.js +10 -31
- package/dist/config/migrate-state-out-of-config.js +1 -1
- package/dist/config/model-profile-store.d.ts +4 -54
- package/dist/config/model-profile-store.js +3 -3
- package/dist/config/prompt-history.js +1 -1
- package/dist/config/store.d.ts +2 -2
- package/dist/config/store.js +3 -3
- package/dist/diagnostics/doctor.js +4 -4
- package/dist/exec/bridge/decisions.d.ts +1 -1
- package/dist/exec/bridge/human-answers.d.ts +1 -1
- package/dist/exec/bridge/human-answers.js +1 -1
- package/dist/exec/bridge/protocol.d.ts +1 -1
- package/dist/exec/bridge/server.js +1 -1
- package/dist/exec/events.d.ts +2 -2
- package/dist/exec/index.d.ts +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/exec/permission.js +1 -1
- package/dist/exec/runner.d.ts +3 -3
- package/dist/exec/runner.js +2 -2
- package/dist/exec/threads/runtime.js +1 -1
- package/dist/fast/digest.d.ts +1 -1
- package/dist/fast/digest.js +1 -1
- package/dist/fast/frames.d.ts +1 -1
- package/dist/fast/frames.js +1 -1
- package/dist/fast/prompt.d.ts +1 -1
- package/dist/fast/prompt.js +1 -1
- package/dist/fast/review-call.js +1 -1
- package/dist/fast/reviewer.d.ts +3 -3
- package/dist/fast/reviewer.js +1 -1
- package/dist/fast/summary-call.d.ts +3 -3
- package/dist/fast/summary-call.js +2 -2
- package/dist/fast/summary-prompt.d.ts +1 -1
- package/dist/fast/summary-prompt.js +1 -1
- package/dist/fast/wiring.d.ts +4 -4
- package/dist/fast/wiring.js +1 -1
- package/dist/governance/card-normalize.d.ts +1 -1
- package/dist/governance/copy.d.ts +1 -1
- package/dist/governance/copy.js +2 -2
- package/dist/governance/engine/artifact-persist.d.ts +1 -1
- package/dist/governance/engine/budget.d.ts +1 -1
- package/dist/governance/engine/budget.js +1 -1
- package/dist/governance/engine/cards.d.ts +1 -1
- package/dist/governance/engine/digest.js +1 -1
- package/dist/governance/engine/engine-core.d.ts +5 -5
- package/dist/governance/engine/engine-core.js +1 -1
- package/dist/governance/engine/engine.d.ts +1 -1
- package/dist/governance/engine/engine.js +1 -1
- package/dist/governance/engine/estimate.d.ts +1 -1
- package/dist/governance/engine/estimate.js +1 -1
- package/dist/governance/engine/inspector.js +2 -2
- package/dist/governance/engine/integration.d.ts +1 -1
- package/dist/governance/engine/lifecycle.d.ts +1 -1
- package/dist/governance/engine/lifecycle.js +1 -1
- package/dist/governance/engine/phase-members.d.ts +1 -1
- package/dist/governance/engine/phase-planner.d.ts +1 -1
- package/dist/governance/engine/phase-planner.js +1 -1
- package/dist/governance/engine/rebuild.d.ts +1 -1
- package/dist/governance/engine/report.d.ts +1 -1
- package/dist/governance/engine/report.js +1 -1
- package/dist/governance/engine/run-digest.d.ts +1 -1
- package/dist/governance/engine/spec-builder.d.ts +2 -2
- package/dist/governance/engine/spec-builder.js +2 -2
- package/dist/governance/engine/stage-runner.js +2 -2
- package/dist/governance/engine/start-input.d.ts +1 -1
- package/dist/governance/engine/start-input.js +1 -1
- package/dist/governance/engine/state-machine.d.ts +1 -1
- package/dist/governance/engine/state-machine.js +3 -3
- package/dist/governance/engine/submission-queries.d.ts +1 -1
- package/dist/governance/engine/submission-render.d.ts +1 -1
- package/dist/governance/engine/submissions.d.ts +1 -1
- package/dist/governance/engine/submissions.js +1 -1
- package/dist/governance/engine/visibility.d.ts +1 -1
- package/dist/governance/engine/visibility.js +1 -1
- package/dist/governance/posture-transition.d.ts +2 -2
- package/dist/governance/posture-transition.js +1 -1
- package/dist/governance/profiles.d.ts +1 -1
- package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
- package/dist/governance/prompts/orchestrator-block.js +2 -2
- package/dist/governance/prompts/plan-addendum.d.ts +1 -1
- package/dist/governance/prompts/plan-addendum.js +1 -1
- package/dist/governance/prompts/role-blocks.d.ts +2 -2
- package/dist/governance/prompts/role-blocks.js +1 -1
- package/dist/governance/report-reader.js +1 -1
- package/dist/governance/roles.d.ts +1 -1
- package/dist/governance/rules/claims.d.ts +1 -1
- package/dist/governance/rules/claims.js +1 -1
- package/dist/governance/rules/elimination.d.ts +1 -1
- package/dist/governance/rules/elimination.js +1 -1
- package/dist/governance/rules/failure-analysis.d.ts +2 -2
- package/dist/governance/rules/failure-analysis.js +1 -1
- package/dist/governance/rules/ledger-replay.d.ts +1 -1
- package/dist/governance/rules/ledger-state.d.ts +1 -1
- package/dist/governance/rules/ledger-state.js +1 -1
- package/dist/governance/rules/ledger.d.ts +2 -2
- package/dist/governance/rules/ledger.js +2 -2
- package/dist/governance/rules/rca.d.ts +1 -1
- package/dist/governance/rules/rca.js +1 -1
- package/dist/governance/rules/settlement.d.ts +2 -2
- package/dist/governance/rules/settlement.js +2 -2
- package/dist/governance/rules/suspicion.d.ts +1 -1
- package/dist/governance/store/artifacts.d.ts +1 -1
- package/dist/governance/store/artifacts.js +1 -1
- package/dist/governance/store/events-log.d.ts +1 -1
- package/dist/governance/store/run-store.d.ts +1 -1
- package/dist/governance/store/run-store.js +1 -1
- package/dist/governance/store/scoreboard-export.d.ts +1 -1
- package/dist/governance/tools/child-tools.d.ts +1 -1
- package/dist/governance/tools/guard.d.ts +1 -1
- package/dist/governance/tools/guard.js +1 -1
- package/dist/governance/tools/inspector-tools.d.ts +2 -2
- package/dist/governance/tools/inspector-tools.js +2 -2
- package/dist/governance/tools/lead-tools.d.ts +1 -1
- package/dist/governance/tools/lead-tools.js +1 -1
- package/dist/governance/tools/normalize-util.js +1 -1
- package/dist/governance/tools/scan-incomplete.js +1 -1
- package/dist/governance/tools/shared-tools.d.ts +1 -1
- package/dist/governance/tools/shared-tools.js +1 -1
- package/dist/governance/tools/submit-normalizers.d.ts +1 -1
- package/dist/governance/tools/submit-normalizers.js +1 -1
- package/dist/governance/tools/submit-tools.d.ts +1 -1
- package/dist/logging/cli-commands.js +1 -1
- package/dist/logging/install.d.ts +1 -1
- package/dist/logging/install.js +3 -3
- package/dist/logging/logger.d.ts +2 -2
- package/dist/logging/logger.js +31 -2
- package/dist/proc/kill-tree.js +1 -1
- package/dist/proc/log-mirror.js +1 -1
- package/dist/proc/log-ring.js +2 -2
- package/dist/proc/notices.d.ts +1 -1
- package/dist/proc/notices.js +2 -2
- package/dist/proc/prompt.d.ts +1 -1
- package/dist/proc/prompt.js +8 -5
- package/dist/proc/readiness.js +1 -1
- package/dist/proc/supervisor.d.ts +1 -1
- package/dist/proc/supervisor.js +10 -4
- package/dist/proc/wait-plan.d.ts +39 -0
- package/dist/proc/wait-plan.js +77 -0
- package/dist/proc/wait.d.ts +37 -4
- package/dist/proc/wait.js +68 -5
- package/dist/prompts/command.d.ts +1 -1
- package/dist/prompts/command.js +1 -1
- package/dist/prompts/normalize.d.ts +1 -1
- package/dist/prompts/normalize.js +1 -1
- package/dist/prompts/resolve.d.ts +1 -1
- package/dist/prompts/store.d.ts +2 -12
- package/dist/prompts/store.js +6 -60
- package/dist/session/checkpoint.d.ts +2 -2
- package/dist/session/checkpoint.js +2 -0
- package/dist/session/clear-archive.d.ts +2 -2
- package/dist/session/persist.d.ts +2 -2
- package/dist/session/persist.js +20 -3
- package/dist/session/startup-session.d.ts +2 -2
- package/dist/session/validate-session.js +6 -3
- package/dist/skills/service.d.ts +2 -2
- package/dist/team/bus.d.ts +1 -1
- package/dist/team/bus.js +1 -1
- package/dist/team/child-reviewer.d.ts +2 -2
- package/dist/team/child-reviewer.js +1 -1
- package/dist/team/comm-tools.js +1 -1
- package/dist/team/dispatch-gate.js +1 -1
- package/dist/team/forced-dispatch.js +1 -1
- package/dist/team/forced-mode.d.ts +1 -1
- package/dist/team/forced-prompt.d.ts +1 -1
- package/dist/team/forced-prompt.js +1 -1
- package/dist/team/normalize.d.ts +1 -1
- package/dist/team/normalize.js +1 -1
- package/dist/team/overseer.d.ts +3 -3
- package/dist/team/overseer.js +3 -3
- package/dist/team/prompt.d.ts +1 -1
- package/dist/team/prompt.js +1 -1
- package/dist/team/report.d.ts +2 -2
- package/dist/team/report.js +2 -2
- package/dist/team/retry.d.ts +1 -1
- package/dist/team/retry.js +1 -1
- package/dist/team/runtime.d.ts +4 -4
- package/dist/team/runtime.js +2 -2
- package/dist/team/settled.d.ts +2 -2
- package/dist/team/subagent.d.ts +4 -4
- package/dist/team/subagent.js +5 -5
- package/dist/team/task-tool.d.ts +1 -1
- package/dist/team/task-tool.js +1 -1
- package/dist/todo/normalize.d.ts +1 -1
- package/dist/todo/normalize.js +1 -1
- package/dist/todo/prompt.d.ts +1 -1
- package/dist/todo/prompt.js +1 -1
- package/dist/todo/store.d.ts +1 -1
- package/dist/todo/store.js +2 -2
- package/dist/todo/todo-tool.d.ts +1 -1
- package/dist/todo/todo-tool.js +2 -2
- package/dist/tools/bash-tool.d.ts +1 -1
- package/dist/tools/bash-tool.js +2 -2
- package/dist/tools/diff.d.ts +1 -1
- package/dist/tools/diff.js +1 -1
- package/dist/tools/file-change-store.d.ts +1 -1
- package/dist/tools/fs-tools.d.ts +2 -2
- package/dist/tools/fs-tools.js +1 -1
- package/dist/tools/index.d.ts +3 -3
- package/dist/tools/index.js +1 -1
- package/dist/tools/job-tools.d.ts +14 -3
- package/dist/tools/job-tools.js +158 -35
- package/dist/tools/plan-tools.d.ts +1 -1
- package/dist/tools/plan-tools.js +1 -1
- package/dist/tools/proc-tools.d.ts +1 -1
- package/dist/tools/proc-tools.js +2 -2
- package/dist/update/classify-failure.d.ts +1 -1
- package/dist/update/install-lock.js +1 -1
- package/dist/update/install-source.d.ts +1 -1
- package/dist/update/installer.js +2 -2
- package/dist/update/npm-view.d.ts +1 -1
- package/dist/update/npm-view.js +1 -1
- package/dist/update/registry.d.ts +1 -1
- package/dist/update/registry.js +1 -1
- package/dist/update/service.d.ts +2 -2
- package/dist/update/service.js +2 -2
- package/package.json +7 -7
- package/dist/agent/agent-mode.d.ts +0 -108
- package/dist/agent/agent-mode.js +0 -121
- package/dist/agent/entry-limits.d.ts +0 -65
- package/dist/agent/entry-limits.js +0 -133
- package/dist/agent/governance-view.d.ts +0 -40
- package/dist/agent/governance-view.js +0 -40
- package/dist/agent/invocation-card.d.ts +0 -77
- package/dist/agent/invocation-card.js +0 -169
- package/dist/agent/model-probe-limits.d.ts +0 -39
- package/dist/agent/model-probe-limits.js +0 -25
- package/dist/agent/model-probe.d.ts +0 -104
- package/dist/agent/model-probe.js +0 -391
- package/dist/agent/queued-messages.d.ts +0 -23
- package/dist/agent/queued-messages.js +0 -49
- package/dist/agent/reducer.d.ts +0 -837
- package/dist/agent/reducer.js +0 -1617
- package/dist/agent/retry-view.d.ts +0 -68
- package/dist/agent/retry-view.js +0 -95
- package/dist/agent/usage.d.ts +0 -47
- package/dist/agent/usage.js +0 -84
- package/dist/compaction/limits.d.ts +0 -61
- package/dist/compaction/limits.js +0 -64
- package/dist/compaction/meter.d.ts +0 -276
- package/dist/compaction/meter.js +0 -512
- package/dist/compaction/pressure.d.ts +0 -163
- package/dist/compaction/pressure.js +0 -199
- package/dist/compaction/reason-text.d.ts +0 -36
- package/dist/compaction/reason-text.js +0 -78
- package/dist/compaction/types.d.ts +0 -360
- package/dist/compaction/types.js +0 -22
- package/dist/config/governance-config.d.ts +0 -125
- package/dist/config/governance-config.js +0 -164
- package/dist/config/kit-resolution.d.ts +0 -93
- package/dist/config/kit-resolution.js +0 -226
- package/dist/config/model-kits.d.ts +0 -225
- package/dist/config/model-kits.js +0 -302
- package/dist/config/model-profile-resolution.d.ts +0 -28
- package/dist/config/model-profile-resolution.js +0 -88
- package/dist/config/model-profiles.d.ts +0 -103
- package/dist/config/model-profiles.js +0 -188
- package/dist/config/schema.d.ts +0 -1645
- package/dist/config/schema.js +0 -1377
- package/dist/fast/limits.d.ts +0 -152
- package/dist/fast/limits.js +0 -152
- package/dist/fast/resolve.d.ts +0 -44
- package/dist/fast/resolve.js +0 -107
- package/dist/fast/task-summary-types.d.ts +0 -66
- package/dist/fast/task-summary-types.js +0 -17
- package/dist/fast/types.d.ts +0 -141
- package/dist/fast/types.js +0 -14
- package/dist/governance/governed-dispatch.d.ts +0 -19
- package/dist/governance/governed-dispatch.js +0 -17
- package/dist/governance/limits.d.ts +0 -107
- package/dist/governance/limits.js +0 -131
- package/dist/governance/posture.d.ts +0 -35
- package/dist/governance/posture.js +0 -59
- package/dist/governance/rules/events-table.d.ts +0 -46
- package/dist/governance/rules/events-table.js +0 -94
- package/dist/governance/types.d.ts +0 -661
- package/dist/governance/types.js +0 -27
- package/dist/input/control-sequences.d.ts +0 -71
- package/dist/input/control-sequences.js +0 -222
- package/dist/input/csiu-keys.d.ts +0 -66
- package/dist/input/csiu-keys.js +0 -181
- package/dist/input/cursor-report.d.ts +0 -61
- package/dist/input/cursor-report.js +0 -97
- package/dist/input/enter-sequences.d.ts +0 -64
- package/dist/input/enter-sequences.js +0 -153
- package/dist/input/interrupt-gesture.d.ts +0 -18
- package/dist/input/interrupt-gesture.js +0 -19
- package/dist/input/keyboard-enhancement.d.ts +0 -42
- package/dist/input/keyboard-enhancement.js +0 -65
- package/dist/input/keymap.d.ts +0 -20
- package/dist/input/keymap.js +0 -99
- package/dist/input/limits.d.ts +0 -118
- package/dist/input/limits.js +0 -109
- package/dist/input/mouse-events.d.ts +0 -87
- package/dist/input/mouse-events.js +0 -212
- package/dist/input/paste-parse.d.ts +0 -83
- package/dist/input/paste-parse.js +0 -107
- package/dist/input/pointer-router.d.ts +0 -11
- package/dist/input/pointer-router.js +0 -14
- package/dist/input/stdin-filter.d.ts +0 -112
- package/dist/input/stdin-filter.js +0 -657
- package/dist/input/win32-input-mode.d.ts +0 -61
- package/dist/input/win32-input-mode.js +0 -269
- package/dist/logging/levels.d.ts +0 -40
- package/dist/logging/levels.js +0 -59
- package/dist/logging/secret-registry.d.ts +0 -32
- package/dist/logging/secret-registry.js +0 -73
- package/dist/proc/limits.d.ts +0 -200
- package/dist/proc/limits.js +0 -207
- package/dist/proc/progress.d.ts +0 -40
- package/dist/proc/progress.js +0 -135
- package/dist/proc/types.d.ts +0 -263
- package/dist/proc/types.js +0 -15
- package/dist/prompts/copy.d.ts +0 -89
- package/dist/prompts/copy.js +0 -131
- package/dist/prompts/fill.d.ts +0 -51
- package/dist/prompts/fill.js +0 -46
- package/dist/prompts/limits.d.ts +0 -53
- package/dist/prompts/limits.js +0 -53
- package/dist/prompts/search.d.ts +0 -58
- package/dist/prompts/search.js +0 -146
- package/dist/prompts/types.d.ts +0 -204
- package/dist/prompts/types.js +0 -13
- package/dist/team/activity.d.ts +0 -67
- package/dist/team/activity.js +0 -130
- package/dist/team/limits.d.ts +0 -308
- package/dist/team/limits.js +0 -330
- package/dist/team/model.d.ts +0 -104
- package/dist/team/model.js +0 -150
- package/dist/team/panel-rows.d.ts +0 -48
- package/dist/team/panel-rows.js +0 -75
- package/dist/team/timeline.d.ts +0 -74
- package/dist/team/timeline.js +0 -101
- package/dist/team/types.d.ts +0 -354
- package/dist/team/types.js +0 -13
- package/dist/todo/acceptance.d.ts +0 -120
- package/dist/todo/acceptance.js +0 -399
- package/dist/todo/follow-through.d.ts +0 -138
- package/dist/todo/follow-through.js +0 -248
- package/dist/todo/limits.d.ts +0 -152
- package/dist/todo/limits.js +0 -152
- package/dist/todo/panel-rows.d.ts +0 -45
- package/dist/todo/panel-rows.js +0 -70
- package/dist/todo/plan-sections.d.ts +0 -60
- package/dist/todo/plan-sections.js +0 -108
- package/dist/todo/row-window.d.ts +0 -51
- package/dist/todo/row-window.js +0 -107
- package/dist/todo/types.d.ts +0 -124
- package/dist/todo/types.js +0 -12
- package/dist/tools/human-input.d.ts +0 -212
- package/dist/tools/human-input.js +0 -265
- package/dist/tools/patch.d.ts +0 -115
- package/dist/tools/patch.js +0 -453
- package/dist/tools/terminal-output.d.ts +0 -115
- package/dist/tools/terminal-output.js +0 -201
- package/dist/tools/tool-output-store.d.ts +0 -68
- package/dist/tools/tool-output-store.js +0 -102
- package/dist/ui/ActivityLine.d.ts +0 -26
- package/dist/ui/ActivityLine.js +0 -48
- package/dist/ui/AutocompletePopup.d.ts +0 -23
- package/dist/ui/AutocompletePopup.js +0 -17
- package/dist/ui/BottomStatusRow.d.ts +0 -10
- package/dist/ui/BottomStatusRow.js +0 -9
- package/dist/ui/Composer.d.ts +0 -115
- package/dist/ui/Composer.js +0 -64
- package/dist/ui/GovernancePanel.d.ts +0 -50
- package/dist/ui/GovernancePanel.js +0 -77
- package/dist/ui/GovernanceRun.d.ts +0 -18
- package/dist/ui/GovernanceRun.js +0 -11
- package/dist/ui/Header.d.ts +0 -48
- package/dist/ui/Header.js +0 -27
- package/dist/ui/Logo.d.ts +0 -32
- package/dist/ui/Logo.js +0 -65
- package/dist/ui/Markdown.d.ts +0 -29
- package/dist/ui/Markdown.js +0 -116
- package/dist/ui/PromptCaret.d.ts +0 -11
- package/dist/ui/PromptCaret.js +0 -31
- package/dist/ui/PromptInput.d.ts +0 -192
- package/dist/ui/PromptInput.js +0 -689
- package/dist/ui/QueuePanel.d.ts +0 -8
- package/dist/ui/QueuePanel.js +0 -9
- package/dist/ui/QueueStatusRow.d.ts +0 -24
- package/dist/ui/QueueStatusRow.js +0 -51
- package/dist/ui/ScrollbackShell.d.ts +0 -132
- package/dist/ui/ScrollbackShell.js +0 -26
- package/dist/ui/SessionOpener.d.ts +0 -30
- package/dist/ui/SessionOpener.js +0 -12
- package/dist/ui/StatusBar.d.ts +0 -129
- package/dist/ui/StatusBar.js +0 -61
- package/dist/ui/TeamPanel.d.ts +0 -76
- package/dist/ui/TeamPanel.js +0 -103
- package/dist/ui/ToastStack.d.ts +0 -8
- package/dist/ui/ToastStack.js +0 -31
- package/dist/ui/TodoPanel.d.ts +0 -52
- package/dist/ui/TodoPanel.js +0 -214
- package/dist/ui/Transcript.d.ts +0 -105
- package/dist/ui/Transcript.js +0 -251
- package/dist/ui/UpdateLine.d.ts +0 -44
- package/dist/ui/UpdateLine.js +0 -129
- package/dist/ui/activity-phrases.d.ts +0 -33
- package/dist/ui/activity-phrases.js +0 -50
- package/dist/ui/capabilities.d.ts +0 -27
- package/dist/ui/capabilities.js +0 -65
- package/dist/ui/clipboard-task.d.ts +0 -29
- package/dist/ui/clipboard-task.js +0 -66
- package/dist/ui/clipboard.d.ts +0 -31
- package/dist/ui/clipboard.js +0 -157
- package/dist/ui/color-runtime.d.ts +0 -5
- package/dist/ui/color-runtime.js +0 -29
- package/dist/ui/composer-input.d.ts +0 -38
- package/dist/ui/composer-input.js +0 -79
- package/dist/ui/composer-limits.d.ts +0 -30
- package/dist/ui/composer-limits.js +0 -45
- package/dist/ui/composer-rows.d.ts +0 -73
- package/dist/ui/composer-rows.js +0 -129
- package/dist/ui/console-bridge.d.ts +0 -19
- package/dist/ui/console-bridge.js +0 -52
- package/dist/ui/density.d.ts +0 -26
- package/dist/ui/density.js +0 -34
- package/dist/ui/display-tab.d.ts +0 -51
- package/dist/ui/display-tab.js +0 -82
- package/dist/ui/editor-navigation.d.ts +0 -55
- package/dist/ui/editor-navigation.js +0 -96
- package/dist/ui/editor-reducer.d.ts +0 -108
- package/dist/ui/editor-reducer.js +0 -187
- package/dist/ui/enter-frames.d.ts +0 -47
- package/dist/ui/enter-frames.js +0 -117
- package/dist/ui/entries/AssistantEntry.d.ts +0 -37
- package/dist/ui/entries/AssistantEntry.js +0 -43
- package/dist/ui/entries/CompactionCard.d.ts +0 -88
- package/dist/ui/entries/CompactionCard.js +0 -222
- package/dist/ui/entries/DiffView.d.ts +0 -61
- package/dist/ui/entries/DiffView.js +0 -103
- package/dist/ui/entries/EntryFrame.d.ts +0 -23
- package/dist/ui/entries/EntryFrame.js +0 -6
- package/dist/ui/entries/FastCard.d.ts +0 -53
- package/dist/ui/entries/FastCard.js +0 -105
- package/dist/ui/entries/GovernanceCard.d.ts +0 -30
- package/dist/ui/entries/GovernanceCard.js +0 -32
- package/dist/ui/entries/InvocationCard.d.ts +0 -20
- package/dist/ui/entries/InvocationCard.js +0 -32
- package/dist/ui/entries/QueuedEntry.d.ts +0 -27
- package/dist/ui/entries/QueuedEntry.js +0 -33
- package/dist/ui/entries/RetryCard.d.ts +0 -56
- package/dist/ui/entries/RetryCard.js +0 -60
- package/dist/ui/entries/ServiceCard.d.ts +0 -82
- package/dist/ui/entries/ServiceCard.js +0 -151
- package/dist/ui/entries/TeamCard.d.ts +0 -55
- package/dist/ui/entries/TeamCard.js +0 -94
- package/dist/ui/entries/TodoCard.d.ts +0 -54
- package/dist/ui/entries/TodoCard.js +0 -98
- package/dist/ui/entries/ToolCard.d.ts +0 -81
- package/dist/ui/entries/ToolCard.js +0 -160
- package/dist/ui/entries/ToolPreview.d.ts +0 -59
- package/dist/ui/entries/ToolPreview.js +0 -208
- package/dist/ui/entries/UserEntry.d.ts +0 -36
- package/dist/ui/entries/UserEntry.js +0 -57
- package/dist/ui/exit-snapshot.d.ts +0 -43
- package/dist/ui/exit-snapshot.js +0 -26
- package/dist/ui/frame-differ.d.ts +0 -166
- package/dist/ui/frame-differ.js +0 -354
- package/dist/ui/frame-observer.d.ts +0 -17
- package/dist/ui/frame-observer.js +0 -94
- package/dist/ui/frame-parser.d.ts +0 -7
- package/dist/ui/frame-parser.js +0 -18
- package/dist/ui/gauge.d.ts +0 -39
- package/dist/ui/gauge.js +0 -55
- package/dist/ui/glyphs.d.ts +0 -178
- package/dist/ui/glyphs.js +0 -165
- package/dist/ui/governance-copy.d.ts +0 -69
- package/dist/ui/governance-copy.js +0 -104
- package/dist/ui/governance-status.d.ts +0 -145
- package/dist/ui/governance-status.js +0 -326
- package/dist/ui/gradient.d.ts +0 -11
- package/dist/ui/gradient.js +0 -50
- package/dist/ui/ink-runtime.d.ts +0 -4
- package/dist/ui/ink-runtime.js +0 -51
- package/dist/ui/interaction-copy.d.ts +0 -82
- package/dist/ui/interaction-copy.js +0 -38
- package/dist/ui/interaction-hints.d.ts +0 -44
- package/dist/ui/interaction-hints.js +0 -97
- package/dist/ui/layout/AppShell.d.ts +0 -17
- package/dist/ui/layout/AppShell.js +0 -6
- package/dist/ui/layout/Gutter.d.ts +0 -67
- package/dist/ui/layout/Gutter.js +0 -42
- package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
- package/dist/ui/layout/MeasuredEntry.js +0 -30
- package/dist/ui/layout/OverlayFrame.d.ts +0 -73
- package/dist/ui/layout/OverlayFrame.js +0 -110
- package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
- package/dist/ui/layout/ScrollIndicator.js +0 -22
- package/dist/ui/layout/ScrollViewport.d.ts +0 -40
- package/dist/ui/layout/ScrollViewport.js +0 -222
- package/dist/ui/layout/agents-board.d.ts +0 -102
- package/dist/ui/layout/agents-board.js +0 -389
- package/dist/ui/layout/autocomplete.d.ts +0 -18
- package/dist/ui/layout/autocomplete.js +0 -26
- package/dist/ui/layout/budget.d.ts +0 -43
- package/dist/ui/layout/budget.js +0 -52
- package/dist/ui/layout/cells.d.ts +0 -61
- package/dist/ui/layout/cells.js +0 -156
- package/dist/ui/layout/document-layout.d.ts +0 -13
- package/dist/ui/layout/document-layout.js +0 -10
- package/dist/ui/layout/follow-state.d.ts +0 -138
- package/dist/ui/layout/follow-state.js +0 -148
- package/dist/ui/layout/frame.d.ts +0 -36
- package/dist/ui/layout/frame.js +0 -39
- package/dist/ui/layout/governance-board.d.ts +0 -121
- package/dist/ui/layout/governance-board.js +0 -382
- package/dist/ui/layout/governance-card.d.ts +0 -53
- package/dist/ui/layout/governance-card.js +0 -134
- package/dist/ui/layout/governance-chip.d.ts +0 -38
- package/dist/ui/layout/governance-chip.js +0 -64
- package/dist/ui/layout/governance-panel.d.ts +0 -85
- package/dist/ui/layout/governance-panel.js +0 -358
- package/dist/ui/layout/governance-roster.d.ts +0 -65
- package/dist/ui/layout/governance-roster.js +0 -275
- package/dist/ui/layout/header-hints.d.ts +0 -90
- package/dist/ui/layout/header-hints.js +0 -110
- package/dist/ui/layout/header-left.d.ts +0 -115
- package/dist/ui/layout/header-left.js +0 -206
- package/dist/ui/layout/invocation-card.d.ts +0 -41
- package/dist/ui/layout/invocation-card.js +0 -91
- package/dist/ui/layout/kit-chip.d.ts +0 -50
- package/dist/ui/layout/kit-chip.js +0 -81
- package/dist/ui/layout/overlay-window.d.ts +0 -43
- package/dist/ui/layout/overlay-window.js +0 -51
- package/dist/ui/layout/queue-layout.d.ts +0 -19
- package/dist/ui/layout/queue-layout.js +0 -26
- package/dist/ui/layout/rail.d.ts +0 -7
- package/dist/ui/layout/rail.js +0 -16
- package/dist/ui/layout/scroll-indicator.d.ts +0 -27
- package/dist/ui/layout/scroll-indicator.js +0 -36
- package/dist/ui/layout/scroll.d.ts +0 -37
- package/dist/ui/layout/scroll.js +0 -99
- package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
- package/dist/ui/layout/scrollbar-geometry.js +0 -13
- package/dist/ui/layout/session-chip.d.ts +0 -52
- package/dist/ui/layout/session-chip.js +0 -64
- package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
- package/dist/ui/layout/shortcut-panel-layout.js +0 -321
- package/dist/ui/layout/status-detail-layout.d.ts +0 -9
- package/dist/ui/layout/status-detail-layout.js +0 -79
- package/dist/ui/layout/status-layout.d.ts +0 -139
- package/dist/ui/layout/status-layout.js +0 -253
- package/dist/ui/layout/task-summary-cell.d.ts +0 -61
- package/dist/ui/layout/task-summary-cell.js +0 -65
- package/dist/ui/layout/team-panel.d.ts +0 -18
- package/dist/ui/layout/team-panel.js +0 -25
- package/dist/ui/layout/team-row.d.ts +0 -139
- package/dist/ui/layout/team-row.js +0 -246
- package/dist/ui/layout/todo-layout.d.ts +0 -62
- package/dist/ui/layout/todo-layout.js +0 -102
- package/dist/ui/layout/useTerminalSize.d.ts +0 -13
- package/dist/ui/layout/useTerminalSize.js +0 -50
- package/dist/ui/layout/viewport-geometry.d.ts +0 -29
- package/dist/ui/layout/viewport-geometry.js +0 -28
- package/dist/ui/layout/virtual-window.d.ts +0 -112
- package/dist/ui/layout/virtual-window.js +0 -488
- package/dist/ui/layout/wrap-rows.d.ts +0 -26
- package/dist/ui/layout/wrap-rows.js +0 -88
- package/dist/ui/live-clamp.d.ts +0 -14
- package/dist/ui/live-clamp.js +0 -46
- package/dist/ui/markdown-blocks.d.ts +0 -107
- package/dist/ui/markdown-blocks.js +0 -240
- package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
- package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
- package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
- package/dist/ui/overlays/ConfirmDialog.js +0 -44
- package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
- package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
- package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
- package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
- package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
- package/dist/ui/overlays/HelpOverlay.js +0 -232
- package/dist/ui/overlays/KitEditor.d.ts +0 -23
- package/dist/ui/overlays/KitEditor.js +0 -101
- package/dist/ui/overlays/KitManager.d.ts +0 -23
- package/dist/ui/overlays/KitManager.js +0 -104
- package/dist/ui/overlays/KitPicker.d.ts +0 -49
- package/dist/ui/overlays/KitPicker.js +0 -58
- package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
- package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
- package/dist/ui/overlays/ModelPicker.d.ts +0 -26
- package/dist/ui/overlays/ModelPicker.js +0 -63
- package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
- package/dist/ui/overlays/ModelProfileEditor.js +0 -168
- package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
- package/dist/ui/overlays/ModelProfilePicker.js +0 -231
- package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
- package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
- package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
- package/dist/ui/overlays/PromptEditorPage.js +0 -227
- package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
- package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
- package/dist/ui/overlays/PromptPicker.d.ts +0 -36
- package/dist/ui/overlays/PromptPicker.js +0 -129
- package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
- package/dist/ui/overlays/PromptTextArea.js +0 -141
- package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
- package/dist/ui/overlays/QuestionOverlay.js +0 -258
- package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
- package/dist/ui/overlays/QueueOverlay.js +0 -79
- package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
- package/dist/ui/overlays/SettingsScreen.js +0 -1037
- package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
- package/dist/ui/overlays/ShortcutPanel.js +0 -106
- package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
- package/dist/ui/overlays/TeamFanoutPage.js +0 -90
- package/dist/ui/overlays/governance-settings.d.ts +0 -79
- package/dist/ui/overlays/governance-settings.js +0 -140
- package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
- package/dist/ui/overlays/kit-picker-state.js +0 -136
- package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
- package/dist/ui/overlays/kit-settings-state.js +0 -268
- package/dist/ui/overlays/model-probe-view.d.ts +0 -128
- package/dist/ui/overlays/model-probe-view.js +0 -225
- package/dist/ui/overlays/model-profile-state.d.ts +0 -177
- package/dist/ui/overlays/model-profile-state.js +0 -301
- package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
- package/dist/ui/overlays/prompt-library-state.js +0 -335
- package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
- package/dist/ui/overlays/prompt-picker-state.js +0 -98
- package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
- package/dist/ui/overlays/team-fanout-state.js +0 -155
- package/dist/ui/overlays/use-model-probe.d.ts +0 -30
- package/dist/ui/overlays/use-model-probe.js +0 -109
- package/dist/ui/palettes.d.ts +0 -112
- package/dist/ui/palettes.js +0 -130
- package/dist/ui/paste-frames.d.ts +0 -91
- package/dist/ui/paste-frames.js +0 -117
- package/dist/ui/paste-tokens.d.ts +0 -90
- package/dist/ui/paste-tokens.js +0 -147
- package/dist/ui/render-cache.d.ts +0 -81
- package/dist/ui/render-cache.js +0 -196
- package/dist/ui/render-governor.d.ts +0 -54
- package/dist/ui/render-governor.js +0 -78
- package/dist/ui/run-metrics.d.ts +0 -23
- package/dist/ui/run-metrics.js +0 -27
- package/dist/ui/run-status-row.d.ts +0 -61
- package/dist/ui/run-status-row.js +0 -54
- package/dist/ui/screen.d.ts +0 -107
- package/dist/ui/screen.js +0 -234
- package/dist/ui/scrollback/LiveTail.d.ts +0 -115
- package/dist/ui/scrollback/LiveTail.js +0 -48
- package/dist/ui/scrollback/band.d.ts +0 -114
- package/dist/ui/scrollback/band.js +0 -143
- package/dist/ui/scrollback/budget.d.ts +0 -90
- package/dist/ui/scrollback/budget.js +0 -100
- package/dist/ui/scrollback/canvas.d.ts +0 -100
- package/dist/ui/scrollback/canvas.js +0 -114
- package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
- package/dist/ui/scrollback/cursor-probe.js +0 -133
- package/dist/ui/scrollback/drain.d.ts +0 -32
- package/dist/ui/scrollback/drain.js +0 -64
- package/dist/ui/scrollback/exit-summary.d.ts +0 -23
- package/dist/ui/scrollback/exit-summary.js +0 -25
- package/dist/ui/scrollback/limits.d.ts +0 -98
- package/dist/ui/scrollback/limits.js +0 -98
- package/dist/ui/scrollback/live-preview.d.ts +0 -34
- package/dist/ui/scrollback/live-preview.js +0 -118
- package/dist/ui/scrollback/overflow-print.d.ts +0 -108
- package/dist/ui/scrollback/overflow-print.js +0 -120
- package/dist/ui/scrollback/renderer.d.ts +0 -48
- package/dist/ui/scrollback/renderer.js +0 -186
- package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
- package/dist/ui/scrollback/scrollback-writer.js +0 -648
- package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
- package/dist/ui/scrollback/settled-boundary.js +0 -109
- package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
- package/dist/ui/scrollback/tail-anchor.js +0 -79
- package/dist/ui/scrollback/tail-window.d.ts +0 -73
- package/dist/ui/scrollback/tail-window.js +0 -89
- package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
- package/dist/ui/scrollback/use-scrollback-view.js +0 -601
- package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
- package/dist/ui/scrollback/writer-shapes.js +0 -159
- package/dist/ui/scrollbar-controller.d.ts +0 -30
- package/dist/ui/scrollbar-controller.js +0 -124
- package/dist/ui/selection/highlight.d.ts +0 -39
- package/dist/ui/selection/highlight.js +0 -64
- package/dist/ui/selection/screen-mirror.d.ts +0 -24
- package/dist/ui/selection/screen-mirror.js +0 -35
- package/dist/ui/selection/selection-controller.d.ts +0 -104
- package/dist/ui/selection/selection-controller.js +0 -372
- package/dist/ui/selection/selection.d.ts +0 -90
- package/dist/ui/selection/selection.js +0 -223
- package/dist/ui/shortcuts.d.ts +0 -81
- package/dist/ui/shortcuts.js +0 -221
- package/dist/ui/status-feedback.d.ts +0 -35
- package/dist/ui/status-feedback.js +0 -38
- package/dist/ui/stdout-frame-writer.d.ts +0 -74
- package/dist/ui/stdout-frame-writer.js +0 -155
- package/dist/ui/team-status.d.ts +0 -166
- package/dist/ui/team-status.js +0 -252
- package/dist/ui/terminal-plan.d.ts +0 -52
- package/dist/ui/terminal-plan.js +0 -49
- package/dist/ui/theme.d.ts +0 -96
- package/dist/ui/theme.js +0 -130
- package/dist/ui/transcript-text.d.ts +0 -41
- package/dist/ui/transcript-text.js +0 -282
- package/dist/ui/use-height-store.d.ts +0 -31
- package/dist/ui/use-height-store.js +0 -76
- package/dist/ui/use-render-governor.d.ts +0 -39
- package/dist/ui/use-render-governor.js +0 -57
- package/dist/ui/use-wheel-routing.d.ts +0 -57
- package/dist/ui/use-wheel-routing.js +0 -152
- package/dist/ui/win-vt-force.d.ts +0 -136
- package/dist/ui/win-vt-force.js +0 -237
- package/dist/ui/win-vt-input.d.ts +0 -57
- package/dist/ui/win-vt-input.js +0 -62
- package/dist/update/limits.d.ts +0 -111
- package/dist/update/limits.js +0 -111
- package/dist/update/semver.d.ts +0 -89
- package/dist/update/semver.js +0 -295
- package/dist/update/types.d.ts +0 -169
- package/dist/update/types.js +0 -68
- /package/dist/{ui → app}/session-bridge.d.ts +0 -0
- /package/dist/{ui → app}/session-bridge.js +0 -0
package/dist/agent/reducer.d.ts
DELETED
|
@@ -1,837 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pure event → view reducer (spec §3.4 / §6.2).
|
|
3
|
-
*
|
|
4
|
-
* `reduceEvent(event)` maps a raw core `AgentEvent` into zero or more view
|
|
5
|
-
* actions; `viewReducer(state, action)` folds an action into the immutable
|
|
6
|
-
* `ViewState`. Keeping this pure lets the whole UI be tested without a live LLM.
|
|
7
|
-
*
|
|
8
|
-
* Two load-bearing behaviors from R2 (silent-failure surfacing) live here:
|
|
9
|
-
* - the `error` StreamEvent is rendered as an error notice, and
|
|
10
|
-
* - `agent_end` after a turn that produced no `turn_end` and no error notice
|
|
11
|
-
* synthesizes a generic error notice (a swallowed throw is never a no-op).
|
|
12
|
-
*/
|
|
13
|
-
import type { PendingSteering } from './queued-messages.js';
|
|
14
|
-
import type { InvocationCard } from './invocation-card.js';
|
|
15
|
-
import type { AgentEvent, ModelCost, ToolResult, TokenUsage } from '@aragon-agent/core';
|
|
16
|
-
import type { AgentMode } from './agent-mode.js';
|
|
17
|
-
import type { DispatchOutcome, SubagentRun, SubagentSpec, TeamSnapshot } from '../team/types.js';
|
|
18
|
-
import type { FastReview, FastSnapshot } from '../fast/types.js';
|
|
19
|
-
import type { CompactionMode, CompactionPhase, CompactionRecord, CompactionSnapshot, CompactionUiTrigger, ContextUsageSnapshot } from '../compaction/types.js';
|
|
20
|
-
import type { AcceptanceSnapshot, TodoItem, TodoSnapshot } from '../todo/types.js';
|
|
21
|
-
import type { JobKind, ServiceSnapshot, ServiceStatus } from '../proc/types.js';
|
|
22
|
-
import type { RetryPhase } from './retry-view.js';
|
|
23
|
-
import type { FilePatch } from '../tools/patch.js';
|
|
24
|
-
import type { TaskSummaryView } from '../fast/task-summary-types.js';
|
|
25
|
-
import type { GovernanceCardData, GovernanceSnapshot } from '../governance/types.js';
|
|
26
|
-
import type { Posture } from '../governance/posture.js';
|
|
27
|
-
export type NoticeLevel = 'info' | 'warn' | 'error';
|
|
28
|
-
export type ToastLevel = NoticeLevel | 'success';
|
|
29
|
-
export type Overlay = null | 'settings' | 'model' | 'help' | 'queue' | 'confirm' | 'question' | 'plan' | 'kit' | 'prompts' | 'prompt-pick' | 'agents' | 'governance'
|
|
30
|
-
/**
|
|
31
|
-
* tui-shortcut-drawer-and-task-summary §4.5: the keyboard drawer (`Ctrl+G` /
|
|
32
|
-
* `/keys`). A single field, so the drawer and `/help` cannot both hold the
|
|
33
|
-
* keyboard - which is also why `Ctrl+G` TAKES OVER from another overlay instead
|
|
34
|
-
* of being swallowed while one is open (P2-3).
|
|
35
|
-
*/
|
|
36
|
-
| 'shortcuts';
|
|
37
|
-
export type ToolStatus = 'pending' | 'running' | 'done' | 'error';
|
|
38
|
-
/** Ephemeral, auto-dismissed acknowledgement (spec §3.9). */
|
|
39
|
-
export interface Toast {
|
|
40
|
-
id: string;
|
|
41
|
-
level: ToastLevel;
|
|
42
|
-
text: string;
|
|
43
|
-
ttlMs: number;
|
|
44
|
-
}
|
|
45
|
-
/** Default auto-dismiss window for a toast. */
|
|
46
|
-
export declare const DEFAULT_TOAST_TTL_MS = 2500;
|
|
47
|
-
export type Entry = {
|
|
48
|
-
id: string;
|
|
49
|
-
kind: 'user';
|
|
50
|
-
text: string;
|
|
51
|
-
invocation?: InvocationCard;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* A message submitted while a run was in flight (tui-shift-enter-copy-queue
|
|
55
|
-
* 5.2). It renders as `Queue: <first line>` and is rewritten IN PLACE, same
|
|
56
|
-
* id, into the `user` entry above by the matching receipt that proves Core
|
|
57
|
-
* accepted it -- so the id-based height cache re-measures rather than
|
|
58
|
-
* freezes, and the settled boundary (positional, monotonic) never moves.
|
|
59
|
-
*
|
|
60
|
-
* NOT A LIVE TARGET: no id pointer in `ViewState` names it, so the trim
|
|
61
|
-
* ring and the `appendEntry` assertions need no new member.
|
|
62
|
-
*/
|
|
63
|
-
| {
|
|
64
|
-
id: string;
|
|
65
|
-
kind: 'queued';
|
|
66
|
-
text: string;
|
|
67
|
-
queueId?: string;
|
|
68
|
-
invocation?: InvocationCard;
|
|
69
|
-
} | {
|
|
70
|
-
id: string;
|
|
71
|
-
kind: 'assistant';
|
|
72
|
-
text: string;
|
|
73
|
-
thinking?: string;
|
|
74
|
-
thinkingOpen: boolean;
|
|
75
|
-
streaming: boolean;
|
|
76
|
-
aborted?: boolean;
|
|
77
|
-
usage?: TokenUsage;
|
|
78
|
-
/**
|
|
79
|
-
* Epoch ms the turn started reasoning (agent-activity-presentation §3.1.2).
|
|
80
|
-
* Set by `thinkingStart`, cleared by `streamRestart`.
|
|
81
|
-
*/
|
|
82
|
-
thinkingStartedAt?: number;
|
|
83
|
-
/**
|
|
84
|
-
* Wall-clock reasoning time, SEALED ONCE — at the first text delta, or at
|
|
85
|
-
* turn/run end for a turn that thought and then called a tool without
|
|
86
|
-
* emitting any text.
|
|
87
|
-
*
|
|
88
|
-
* With thinking hidden this is the only thing the collapsed marker can say
|
|
89
|
-
* that the user could not otherwise know, which is the whole argument for
|
|
90
|
-
* having a marker at all (§1.2).
|
|
91
|
-
*/
|
|
92
|
-
thinkingMs?: number;
|
|
93
|
-
} | {
|
|
94
|
-
id: string;
|
|
95
|
-
kind: 'tool';
|
|
96
|
-
toolCallId: string;
|
|
97
|
-
name: string;
|
|
98
|
-
label: string;
|
|
99
|
-
argsRaw: string;
|
|
100
|
-
args?: Record<string, unknown>;
|
|
101
|
-
status: ToolStatus;
|
|
102
|
-
preview?: string;
|
|
103
|
-
durationMs?: number;
|
|
104
|
-
isError?: boolean;
|
|
105
|
-
/**
|
|
106
|
-
* The structured file diff (agent-activity-presentation §3.3), or absent.
|
|
107
|
-
*
|
|
108
|
-
* IMMUTABLE AND WRITTEN ONCE, by `toolExecEnd`. `ToolCard` is `React.memo`'d
|
|
109
|
-
* with the DEFAULT comparator, so this object is only free while its
|
|
110
|
-
* reference is stable — which it is, because the reducer never rebuilds it
|
|
111
|
-
* and `mapEntry` preserves identity for untouched entries. A future action
|
|
112
|
-
* that recomputed or normalized a patch would turn that memo boundary into
|
|
113
|
-
* a no-op WITH NOTHING FAILING (P2-9).
|
|
114
|
-
*
|
|
115
|
-
* Needs no clause in `normalizeLoadedEntries` (D-9): the four that exist
|
|
116
|
-
* are all about a LIVE flag that would never settle, and a patch is settled
|
|
117
|
-
* by construction.
|
|
118
|
-
*/
|
|
119
|
-
patch?: FilePatch;
|
|
120
|
-
/**
|
|
121
|
-
* The sanitised live tail while the tool runs
|
|
122
|
-
* (agent-activity-presentation-live §3.3.1). Cleared at settle (D-23), and
|
|
123
|
-
* cleared again by EVERY path that reaches `status: 'idle'` (D-35).
|
|
124
|
-
*
|
|
125
|
-
* REDUCER STATE RATHER THAN A STORE READ DURING RENDER, and that is the
|
|
126
|
-
* load-bearing decision of the round (D-22): `entryRevision` is what tells
|
|
127
|
-
* the height cache an entry's rendered output changed, and an entry mutated
|
|
128
|
-
* outside `ViewState` keeps its revision and freezes at a stale height AND
|
|
129
|
-
* a stale subtree with nothing anywhere reporting it (I-L3-1).
|
|
130
|
-
*/
|
|
131
|
-
live?: readonly string[];
|
|
132
|
-
/**
|
|
133
|
-
* Monotonic counter -- the revision term for a NON-APPEND mutation (D-22).
|
|
134
|
-
*
|
|
135
|
-
* A COUNTER AND NOT `live.length`: a fixed-size tail evicting its oldest
|
|
136
|
-
* row while appending a new one of the same width leaves the joined length
|
|
137
|
-
* unchanged, which is exactly the lossy case `virtual-window.ts` says the
|
|
138
|
-
* reducer cannot produce today and that this round introduces.
|
|
139
|
-
*/
|
|
140
|
-
liveSeq?: number;
|
|
141
|
-
/** Epoch ms of the last output row, for the stall row (§3.3.4). */
|
|
142
|
-
lastOutputAt?: number;
|
|
143
|
-
} | {
|
|
144
|
-
id: string;
|
|
145
|
-
kind: 'notice';
|
|
146
|
-
level: NoticeLevel;
|
|
147
|
-
text: string;
|
|
148
|
-
} | {
|
|
149
|
-
id: string;
|
|
150
|
-
kind: 'governance';
|
|
151
|
-
at: number;
|
|
152
|
-
card: GovernanceCardData;
|
|
153
|
-
} | {
|
|
154
|
-
id: string;
|
|
155
|
-
kind: 'team';
|
|
156
|
-
dispatchId: string;
|
|
157
|
-
requested: number;
|
|
158
|
-
runs: SubagentRun[];
|
|
159
|
-
aborted: boolean;
|
|
160
|
-
durationMs?: number;
|
|
161
|
-
active: boolean;
|
|
162
|
-
} | {
|
|
163
|
-
id: string;
|
|
164
|
-
kind: 'todo';
|
|
165
|
-
items: TodoItem[];
|
|
166
|
-
doneCount: number;
|
|
167
|
-
total: number;
|
|
168
|
-
/**
|
|
169
|
-
* The acceptance projection, copied from `TodoSnapshot.acceptance` on every
|
|
170
|
-
* `todoUpdate` (todo-acceptance-criteria §6.10).
|
|
171
|
-
*
|
|
172
|
-
* OPTIONAL, NOT `AcceptanceSnapshot | null` REQUIRED, and that asymmetry with
|
|
173
|
-
* the snapshot is deliberate (P1-4): `TodoSnapshot` has exactly one writer, so
|
|
174
|
-
* it can fail closed; an `Entry` does not - its sources include `entries` read
|
|
175
|
-
* back from a session file written before this feature existed, where the key
|
|
176
|
-
* is simply absent.
|
|
177
|
-
*/
|
|
178
|
-
acceptance?: AcceptanceSnapshot | null;
|
|
179
|
-
/** The turn that owns this card is still running, so it may be rewritten. */
|
|
180
|
-
live: boolean;
|
|
181
|
-
/**
|
|
182
|
-
* Set by `normalizeLoadedEntries` on a card saved while its run was live
|
|
183
|
-
* (P2-6). The todo analogue of the team entry's `aborted`, and true for the
|
|
184
|
-
* same reason: the run behind it died with the process. Absent on every
|
|
185
|
-
* card this session produced.
|
|
186
|
-
*/
|
|
187
|
-
interrupted?: boolean;
|
|
188
|
-
} | {
|
|
189
|
-
id: string;
|
|
190
|
-
kind: 'retry';
|
|
191
|
-
/** 1-based retry index of the LATEST attempt this card has seen. */
|
|
192
|
-
attempt: number;
|
|
193
|
-
maxRetries: number;
|
|
194
|
-
errorType: string;
|
|
195
|
-
message: string;
|
|
196
|
-
delayMs: number;
|
|
197
|
-
/** Epoch ms the next attempt fires; the UI ticks against this. */
|
|
198
|
-
resumeAt?: number;
|
|
199
|
-
phase: RetryPhase;
|
|
200
|
-
startedAt: number;
|
|
201
|
-
/** Filled on settle. */
|
|
202
|
-
totalRetries?: number;
|
|
203
|
-
elapsedMs?: number;
|
|
204
|
-
} | {
|
|
205
|
-
id: string;
|
|
206
|
-
kind: 'fast';
|
|
207
|
-
/** 1-based within the session, so the card can name itself. */
|
|
208
|
-
reviewIndex: number;
|
|
209
|
-
model: string;
|
|
210
|
-
status: 'running' | 'ok' | 'advice' | 'empty' | 'failed' | 'dropped';
|
|
211
|
-
/** Present only for `advice`. */
|
|
212
|
-
text?: string;
|
|
213
|
-
/** Failure / drop reason, shown as one muted line. */
|
|
214
|
-
detail?: string;
|
|
215
|
-
turn: number;
|
|
216
|
-
durationMs?: number;
|
|
217
|
-
live: boolean;
|
|
218
|
-
} | {
|
|
219
|
-
id: string;
|
|
220
|
-
kind: 'compaction';
|
|
221
|
-
decision?: CompactionRecord['decision'];
|
|
222
|
-
memoryVersion?: CompactionRecord['memoryVersion'];
|
|
223
|
-
/** 1-based within the session, so the card can name itself. */
|
|
224
|
-
index: number;
|
|
225
|
-
trigger: CompactionUiTrigger;
|
|
226
|
-
mode: CompactionMode;
|
|
227
|
-
applied: boolean;
|
|
228
|
-
reason?: string;
|
|
229
|
-
messagesBefore: number;
|
|
230
|
-
messagesAfter: number;
|
|
231
|
-
tokensBefore: number;
|
|
232
|
-
tokensAfter: number;
|
|
233
|
-
summary?: string;
|
|
234
|
-
model: string;
|
|
235
|
-
durationMs?: number;
|
|
236
|
-
/**
|
|
237
|
-
* When the live card opened, so the elapsed counter has an origin
|
|
238
|
-
* (context-auto-compaction-hardening §3.6 / W5).
|
|
239
|
-
*
|
|
240
|
-
* JSON-SERIALIZABLE like every other field here, and harmless on reload:
|
|
241
|
-
* `session/persist.ts` normalizes `live` to false, and a settled card
|
|
242
|
-
* renders `durationMs` rather than an elapsed figure.
|
|
243
|
-
*/
|
|
244
|
-
startedAt?: number;
|
|
245
|
-
/** Set when tail relief clipped the retained turns (W2). */
|
|
246
|
-
tailRelief?: {
|
|
247
|
-
messages: number;
|
|
248
|
-
charsRemoved: number;
|
|
249
|
-
};
|
|
250
|
-
/**
|
|
251
|
-
* The stage the LIVE card is in (context-compaction-never-fires C).
|
|
252
|
-
*
|
|
253
|
-
* Absent on a settled card and on every card written before this field
|
|
254
|
-
* existed, which is why the renderer treats it as optional and falls back to
|
|
255
|
-
* the old `summarizing with <model>` line.
|
|
256
|
-
*/
|
|
257
|
-
phase?: CompactionPhase;
|
|
258
|
-
/** Set when the cut relaxed `keepRecentTurns` to exist at all (B). */
|
|
259
|
-
keepRelaxed?: boolean;
|
|
260
|
-
retainedTurns?: number;
|
|
261
|
-
/** Messages the relaxed cut left verbatim - the number the card states. */
|
|
262
|
-
retainedMessages?: number;
|
|
263
|
-
keepRecentTurnsUsed?: number;
|
|
264
|
-
/** Messages the digest left out, so they cannot be quoted (A1). */
|
|
265
|
-
elidedMessages?: number;
|
|
266
|
-
live: boolean;
|
|
267
|
-
} | {
|
|
268
|
-
id: string;
|
|
269
|
-
kind: 'service';
|
|
270
|
-
/** `s1`, `s2`, ... — the id the model quotes back. */
|
|
271
|
-
serviceId: string;
|
|
272
|
-
command: string;
|
|
273
|
-
status: ServiceStatus;
|
|
274
|
-
url?: string;
|
|
275
|
-
port?: number;
|
|
276
|
-
exitCode: number | null;
|
|
277
|
-
startedAt: number;
|
|
278
|
-
readyAt?: number;
|
|
279
|
-
endedAt?: number;
|
|
280
|
-
rows: readonly string[];
|
|
281
|
-
/**
|
|
282
|
-
* MONOTONIC row cursor — the revision term, NEVER `rows.length` (P0-3).
|
|
283
|
-
*
|
|
284
|
-
* The tail is a FIXED-SIZE RING: it evicts its oldest row while appending
|
|
285
|
-
* a new one, so the joined length is unchanged while the content is not.
|
|
286
|
-
* That is verbatim the non-append mutation the `tool` branch's `liveSeq`
|
|
287
|
-
* comment was written for, and a length term would go on matching while
|
|
288
|
-
* the card changed underneath it.
|
|
289
|
-
*/
|
|
290
|
-
rowsSeen: number;
|
|
291
|
-
/** The one-row entry a terminal transition appends (D-11). */
|
|
292
|
-
terminal?: boolean;
|
|
293
|
-
/** The stop reported the pid still alive afterwards (R-2 / P2-6). */
|
|
294
|
-
killIncomplete?: boolean;
|
|
295
|
-
/**
|
|
296
|
-
* WHICH KIND OF JOB THIS CARD DRAWS (long-task-jobs §4.9 / I-2).
|
|
297
|
-
*
|
|
298
|
-
* It changes the NOUN and the status wording only. Renaming the entry kind
|
|
299
|
-
* from `service` to `job` would be a pure regression: ordinary assertions pin
|
|
300
|
-
* `[background] service s1 started` word for word, `bg-command.test.ts` pins
|
|
301
|
-
* `/bg stop`'s `Stopped N services` toast, and there are no snapshot files in
|
|
302
|
-
* this package to absorb the churn. The few strings that DID move to "job"
|
|
303
|
-
* are the model-facing unknown-id messages in `proc-tools.ts`, which name an
|
|
304
|
-
* id space that now holds both kinds.
|
|
305
|
-
*/
|
|
306
|
-
jobKind: JobKind;
|
|
307
|
-
/** Latest extracted progress line; one extra row when present. */
|
|
308
|
-
progress?: string;
|
|
309
|
-
/** When output last arrived, so `stalled` can be evaluated at render time. */
|
|
310
|
-
lastOutputAt: number;
|
|
311
|
-
/** Derived at snapshot time by the supervisor, carried here so it survives a save. */
|
|
312
|
-
stalled?: boolean;
|
|
313
|
-
/** Where the on-disk mirror wrote this job's full log. */
|
|
314
|
-
logPath?: string;
|
|
315
|
-
};
|
|
316
|
-
export interface UsageTotal {
|
|
317
|
-
inputTokens: number;
|
|
318
|
-
outputTokens: number;
|
|
319
|
-
/**
|
|
320
|
-
* Cache read hits (context-usage-gauge-accuracy §3.6 / P1-3).
|
|
321
|
-
*
|
|
322
|
-
* `occupiedTokens` counts them and `computeCost` PRICES them, so a session
|
|
323
|
-
* total that omits them makes the status bar's `^` read lower than the `$`
|
|
324
|
-
* next to it - on the same row, from the same turns. That was three units on
|
|
325
|
-
* one line, and this field plus its sibling are what collapse them to one.
|
|
326
|
-
*/
|
|
327
|
-
cacheReadTokens: number;
|
|
328
|
-
cacheWriteTokens: number;
|
|
329
|
-
costUsd: number;
|
|
330
|
-
}
|
|
331
|
-
/**
|
|
332
|
-
* The ephemeral retry projection held in `ViewState.retry` (§9).
|
|
333
|
-
*
|
|
334
|
-
* Only the two IN-FLIGHT phases exist here: once a card settles the projection is
|
|
335
|
-
* `null`, because the settled card IS the history and a chip that reported a
|
|
336
|
-
* finished retry would never go away.
|
|
337
|
-
*/
|
|
338
|
-
export interface RetrySnapshot {
|
|
339
|
-
attempt: number;
|
|
340
|
-
maxRetries: number;
|
|
341
|
-
resumeAt?: number;
|
|
342
|
-
phase: 'waiting' | 'retrying';
|
|
343
|
-
errorType: string;
|
|
344
|
-
}
|
|
345
|
-
export interface ViewState {
|
|
346
|
-
entries: Entry[];
|
|
347
|
-
pendingSteering: PendingSteering[];
|
|
348
|
-
seenSteeringIds: ReadonlySet<string>;
|
|
349
|
-
runPhase: 'idle' | 'starting' | 'waiting' | 'thinking' | 'generating' | 'preparing-tool' | 'tool';
|
|
350
|
-
activeTool?: {
|
|
351
|
-
toolCallId: string;
|
|
352
|
-
name: string;
|
|
353
|
-
};
|
|
354
|
-
runOutcome: 'none' | 'ended' | 'interrupted' | 'failed';
|
|
355
|
-
status: 'idle' | 'running';
|
|
356
|
-
usageTotal: UsageTotal;
|
|
357
|
-
/**
|
|
358
|
-
* Context occupancy, as published by `AgentController`'s `ContextMeter`.
|
|
359
|
-
*
|
|
360
|
-
* ITS ONLY WRITER IS `case 'contextUsage'` (I-1), and that is the structural
|
|
361
|
-
* half of the P0-1 fix. It replaced `contextTokens` + `contextTokensEstimated`,
|
|
362
|
-
* which between them had THREE writing branches (`turnEnd`,
|
|
363
|
-
* `contextTokensEstimated`, `resetConversation`) fed by two competing
|
|
364
|
-
* upstreams. Two writers in one synchronous fan-out means the later one wins,
|
|
365
|
-
* and the later one was the stale `snapshot` carrying the PRE-compaction
|
|
366
|
-
* figure - so the bar fell and bounced straight back, every time, with nothing
|
|
367
|
-
* logging a fault. `context-one-writer.test.ts` scans this file to keep it
|
|
368
|
-
* that way.
|
|
369
|
-
*/
|
|
370
|
-
context: ContextUsageSnapshot;
|
|
371
|
-
overlay: Overlay;
|
|
372
|
-
thinkingVisible: boolean;
|
|
373
|
-
/** Ephemeral acks; auto-dismissed by App (spec §3.9). */
|
|
374
|
-
toasts: Toast[];
|
|
375
|
-
/** Which tool cards are expanded to their full stored preview (spec §3.7). */
|
|
376
|
-
expandedToolIds: Record<string, true>;
|
|
377
|
-
/**
|
|
378
|
-
* MIRROR of the controller's effective mode, for rendering only (plan-mode
|
|
379
|
-
* §3.1). Written exclusively from what `controller.setAgentMode()` reports it
|
|
380
|
-
* adopted — never from what the UI asked for.
|
|
381
|
-
*/
|
|
382
|
-
agentMode: AgentMode;
|
|
383
|
-
/** Set only by a DEFERRED `plan -> build`; drives the `PLAN -> BUILD` readout. */
|
|
384
|
-
pendingAgentMode: AgentMode | null;
|
|
385
|
-
/**
|
|
386
|
-
* The user-visible posture and its deferred twin (governance-mode 4.3). Written in the
|
|
387
|
-
* SAME dispatch as `agentMode` / `pendingAgentMode` and only from what the controller
|
|
388
|
-
* adopted, so the badge and the gate cannot diverge. `agentMode` keeps gating.
|
|
389
|
-
*/
|
|
390
|
-
posture: Posture;
|
|
391
|
-
pendingPosture: Posture | null;
|
|
392
|
-
/**
|
|
393
|
-
* The live governed-run snapshot, or `null` when there is no run.
|
|
394
|
-
*
|
|
395
|
-
* NEVER PERSISTED, like `team`: `/save` writes `entries` (the settlement cards are the
|
|
396
|
-
* history) and a resumed session has no live run to show.
|
|
397
|
-
*/
|
|
398
|
-
governance: GovernanceSnapshot | null;
|
|
399
|
-
/**
|
|
400
|
-
* The live team roster, or `null` when no dispatch is running.
|
|
401
|
-
*
|
|
402
|
-
* NEVER PERSISTED. `/save` writes `entries`, and the settled `team` entry is
|
|
403
|
-
* the history; this field is the ephemeral panel, and a resumed session has no
|
|
404
|
-
* live dispatch to show (§6.4).
|
|
405
|
-
*/
|
|
406
|
-
team: TeamSnapshot | null;
|
|
407
|
-
/**
|
|
408
|
-
* The live todo list, or `null` when there is none.
|
|
409
|
-
*
|
|
410
|
-
* NEVER PERSISTED HERE — `entries` is the history and `SavedSession.todos` is
|
|
411
|
-
* the list (§3.13). `null` is what leaves the rail unmounted entirely, which
|
|
412
|
-
* is why a session that never plans has byte-identical layout to a pre-feature
|
|
413
|
-
* build (AC-24).
|
|
414
|
-
*/
|
|
415
|
-
todos: TodoSnapshot | null;
|
|
416
|
-
/**
|
|
417
|
-
* The live retry projection, or `null` when nothing is retrying.
|
|
418
|
-
*
|
|
419
|
-
* NEVER PERSISTED — `entries` is the history and the settled card is the
|
|
420
|
-
* record. It drives the status-bar chip and the 1 Hz tick, and it is nulled on
|
|
421
|
-
* every settle path. Same contract as `team`.
|
|
422
|
-
*/
|
|
423
|
-
retry: RetrySnapshot | null;
|
|
424
|
-
/**
|
|
425
|
-
* The live fast-tier projection, or `null` when the tier is off for this
|
|
426
|
-
* session (fast-model-tier §5.2).
|
|
427
|
-
*
|
|
428
|
-
* NEVER PERSISTED — `entries` is the history and the settled cards are the
|
|
429
|
-
* record. It drives the status chip and `/fast status`'s totals. `null` is
|
|
430
|
-
* what leaves an ordinary session's status bar byte-identical (AC-4).
|
|
431
|
-
*/
|
|
432
|
-
fast: FastSnapshot | null;
|
|
433
|
-
/**
|
|
434
|
-
* The live compaction projection, or `null` when the feature is off for this
|
|
435
|
-
* session (context-auto-compaction §5.5).
|
|
436
|
-
*
|
|
437
|
-
* NEVER PERSISTED — `entries` is the history and the settled cards are the
|
|
438
|
-
* record. It drives the status chip, the gauge's marks and `/compact status`'s
|
|
439
|
-
* totals. `null` is what leaves an ordinary session's status bar unchanged.
|
|
440
|
-
*/
|
|
441
|
-
compaction: CompactionSnapshot | null;
|
|
442
|
-
/**
|
|
443
|
-
* The session's task label, or `null` while there is none
|
|
444
|
-
* (tui-shortcut-drawer-and-task-summary D-13).
|
|
445
|
-
*
|
|
446
|
-
* PURE VIEW STATE: never persisted, never in the conversation history, never in
|
|
447
|
-
* `config.json`. It lives here because the header and the drawer must read the
|
|
448
|
-
* SAME field - two copies would be two labels for one task.
|
|
449
|
-
*
|
|
450
|
-
* THE TWO WRITERS ARE `taskSummaryPending` / `taskSummaryReady`, and the two
|
|
451
|
-
* CLEARERS are `resetConversation` and `restoreEntries`: clearing is the
|
|
452
|
-
* reducer's job (it is the only place that knows a task ended), while
|
|
453
|
-
* REBUILDING after `/resume` is the App wrapper's job, because only it can see
|
|
454
|
-
* the restored entries before they are reduced.
|
|
455
|
-
*/
|
|
456
|
-
taskSummary: TaskSummaryView | null;
|
|
457
|
-
/** A summary call is in flight. Drives the drawer's `summarizing` line and `/task`. */
|
|
458
|
-
taskSummaryPending: boolean;
|
|
459
|
-
seq: number;
|
|
460
|
-
/** The `kind: 'team'` entry the live dispatch is writing into. */
|
|
461
|
-
teamEntryId?: string;
|
|
462
|
-
/** The `kind: 'todo'` entry this turn is writing into. */
|
|
463
|
-
todoEntryId?: string;
|
|
464
|
-
/** The `kind: 'retry'` entry this turn is writing into. */
|
|
465
|
-
retryEntryId?: string;
|
|
466
|
-
/** The `kind: 'fast'` entry the in-flight review is writing into. */
|
|
467
|
-
fastEntryId?: string;
|
|
468
|
-
/** The `kind: 'compaction'` entry the in-flight compaction is writing into. */
|
|
469
|
-
compactionEntryId?: string;
|
|
470
|
-
streamingId?: string;
|
|
471
|
-
turnProduced: boolean;
|
|
472
|
-
errorNoticed: boolean;
|
|
473
|
-
/** The current run was aborted by the user (suppresses the failure guard). */
|
|
474
|
-
aborted: boolean;
|
|
475
|
-
/**
|
|
476
|
-
* Entries removed by `transcriptRetain` (tui-render-performance L1).
|
|
477
|
-
*
|
|
478
|
-
* Rendered by `transcript-text` and reported by `/perf`; NEVER PERSISTED —
|
|
479
|
-
* `SavedSession` keeps `{ model, messages, entries, todos }` exactly as it is,
|
|
480
|
-
* so `/save` and `/resume` need no format change and old files load unchanged.
|
|
481
|
-
*/
|
|
482
|
-
droppedEntries: number;
|
|
483
|
-
}
|
|
484
|
-
/**
|
|
485
|
-
* The zero session total.
|
|
486
|
-
*
|
|
487
|
-
* ONE LITERAL FOR TWO SITES (`initialViewState` and `resetConversation`). They
|
|
488
|
-
* used to spell the object out twice, which is how `cacheReadTokens` would have
|
|
489
|
-
* been added to one of them and not the other.
|
|
490
|
-
*/
|
|
491
|
-
export declare const EMPTY_USAGE_TOTAL: UsageTotal;
|
|
492
|
-
export interface ViewStateSeed {
|
|
493
|
-
/** Start with thinking blocks expanded. Defaults to FALSE, the product default. */
|
|
494
|
-
thinkingVisible?: boolean;
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* The initial view state, optionally seeded from config.
|
|
498
|
-
*
|
|
499
|
-
* THE DEFAULT IS `false`, NOT `true`, AND THAT IS THE WHOLE SAFETY ARGUMENT
|
|
500
|
-
* (D-2). There is exactly one production call site — `App`'s `useReducer`, which
|
|
501
|
-
* passes `cfg.showThinking`. Every other caller is a test. A future call site
|
|
502
|
-
* that forgets the seed fails CLOSED, toward the product default, rather than
|
|
503
|
-
* silently restoring the reasoning firehose for one code path with nothing
|
|
504
|
-
* reporting it.
|
|
505
|
-
*
|
|
506
|
-
* The seed is a PARAMETER rather than a post-mount dispatch so that `/resume`
|
|
507
|
-
* cannot flash a restored thinking block on frame 1.
|
|
508
|
-
*/
|
|
509
|
-
export declare function initialViewState(seed?: ViewStateSeed): ViewState;
|
|
510
|
-
export type ViewAction = {
|
|
511
|
-
type: 'submit';
|
|
512
|
-
text: string;
|
|
513
|
-
invocation?: InvocationCard;
|
|
514
|
-
}
|
|
515
|
-
/**
|
|
516
|
-
* `controller.steer` was accepted; append the persistent queue marker
|
|
517
|
-
* (5.2.2). Dispatched from exactly one place -- `App.submitMessage`'s
|
|
518
|
-
* running branch -- beside the `controller.steer` call it mirrors.
|
|
519
|
-
*/
|
|
520
|
-
| {
|
|
521
|
-
type: 'steerQueued';
|
|
522
|
-
queueId: string;
|
|
523
|
-
text: string;
|
|
524
|
-
invocation?: InvocationCard;
|
|
525
|
-
} | {
|
|
526
|
-
type: 'steeringAccepted';
|
|
527
|
-
ids: readonly string[];
|
|
528
|
-
} | {
|
|
529
|
-
type: 'runStart';
|
|
530
|
-
} | {
|
|
531
|
-
type: 'runStarting';
|
|
532
|
-
} | {
|
|
533
|
-
type: 'runError';
|
|
534
|
-
} | {
|
|
535
|
-
type: 'turnStart';
|
|
536
|
-
} | {
|
|
537
|
-
type: 'thinkingStart';
|
|
538
|
-
} | {
|
|
539
|
-
type: 'thinkingDelta';
|
|
540
|
-
delta: string;
|
|
541
|
-
} | {
|
|
542
|
-
type: 'textDelta';
|
|
543
|
-
delta: string;
|
|
544
|
-
} | {
|
|
545
|
-
type: 'toolCallStart';
|
|
546
|
-
toolCallId: string;
|
|
547
|
-
toolName: string;
|
|
548
|
-
label?: string;
|
|
549
|
-
} | {
|
|
550
|
-
type: 'toolCallDelta';
|
|
551
|
-
toolCallId: string;
|
|
552
|
-
argsDelta: string;
|
|
553
|
-
} | {
|
|
554
|
-
type: 'toolCallEnd';
|
|
555
|
-
toolCallId: string;
|
|
556
|
-
args: Record<string, unknown>;
|
|
557
|
-
} | {
|
|
558
|
-
type: 'toolExecStart';
|
|
559
|
-
toolCallId: string;
|
|
560
|
-
toolName?: string;
|
|
561
|
-
} | {
|
|
562
|
-
type: 'toolExecEnd';
|
|
563
|
-
toolCallId: string;
|
|
564
|
-
isError: boolean;
|
|
565
|
-
duration: number;
|
|
566
|
-
preview: string;
|
|
567
|
-
/** A fully-built, immutable diff, so the reducer stays pure (§3.3.7). */
|
|
568
|
-
patch?: FilePatch;
|
|
569
|
-
}
|
|
570
|
-
/**
|
|
571
|
-
* A running tool's live tail (agent-activity-presentation-live §3.3.1).
|
|
572
|
-
*
|
|
573
|
-
* `rows` IS THE WHOLE TAIL, not an increment: the store replaces it on every
|
|
574
|
-
* chunk, which is what lets `mergeDeltas` keep only the last action per
|
|
575
|
-
* `toolCallId` (D-30). `at` is read in `App`'s listener rather than here, so
|
|
576
|
-
* this reducer stays pure.
|
|
577
|
-
*/
|
|
578
|
-
| {
|
|
579
|
-
type: 'toolOutputDelta';
|
|
580
|
-
toolCallId: string;
|
|
581
|
-
rows: readonly string[];
|
|
582
|
-
at: number;
|
|
583
|
-
} | {
|
|
584
|
-
type: 'turnEnd';
|
|
585
|
-
usage: TokenUsage;
|
|
586
|
-
costDelta: number;
|
|
587
|
-
} | {
|
|
588
|
-
type: 'runEnd';
|
|
589
|
-
} | {
|
|
590
|
-
type: 'notice';
|
|
591
|
-
level: NoticeLevel;
|
|
592
|
-
text: string;
|
|
593
|
-
} | {
|
|
594
|
-
type: 'abortMark';
|
|
595
|
-
} | {
|
|
596
|
-
type: 'clearTranscript';
|
|
597
|
-
} | {
|
|
598
|
-
type: 'resetConversation';
|
|
599
|
-
}
|
|
600
|
-
/**
|
|
601
|
-
* Zero the session's spend WITHOUT touching the conversation
|
|
602
|
-
* (tui-session-id-resume D-10 / R-9 / T-45).
|
|
603
|
-
*
|
|
604
|
-
* A separate action rather than `resetConversation`, because the two mean
|
|
605
|
-
* different things: `/clear` ends the conversation and the spend together,
|
|
606
|
-
* while an in-TUI `/resume` adopts another conversation and starts a NEW id -
|
|
607
|
-
* so the counter must restart, but the entries that were just restored must
|
|
608
|
-
* not be thrown away with it. `context` is left untouched for the reason
|
|
609
|
-
* `resetConversation` records: the meter, not the reducer, owns occupancy.
|
|
610
|
-
*/
|
|
611
|
-
| {
|
|
612
|
-
type: 'resetUsage';
|
|
613
|
-
} | {
|
|
614
|
-
type: 'setOverlay';
|
|
615
|
-
overlay: Overlay;
|
|
616
|
-
} | {
|
|
617
|
-
type: 'toggleThinking';
|
|
618
|
-
} | {
|
|
619
|
-
type: 'pushToast';
|
|
620
|
-
level: ToastLevel;
|
|
621
|
-
text: string;
|
|
622
|
-
ttlMs?: number;
|
|
623
|
-
} | {
|
|
624
|
-
type: 'dismissToast';
|
|
625
|
-
id: string;
|
|
626
|
-
} | {
|
|
627
|
-
type: 'toggleExpand';
|
|
628
|
-
id: string;
|
|
629
|
-
} | {
|
|
630
|
-
type: 'restoreEntries';
|
|
631
|
-
entries: Entry[];
|
|
632
|
-
}
|
|
633
|
-
/**
|
|
634
|
-
* The task label lifecycle (tui-shortcut-drawer-and-task-summary §7.1).
|
|
635
|
-
*
|
|
636
|
-
* TWO ACTIONS, because "a call started" and "a call finished" are different
|
|
637
|
-
* facts and the drawer reports them differently (`summarizing` vs the label).
|
|
638
|
-
* `taskSummaryReady` carries `null` in exactly one case: the call failed AND
|
|
639
|
-
* `taskSummary.fallback` is off, which is a deliberate "show nothing" rather
|
|
640
|
-
* than an empty string that would read as a broken feature.
|
|
641
|
-
*/
|
|
642
|
-
| {
|
|
643
|
-
type: 'taskSummaryPending';
|
|
644
|
-
} | {
|
|
645
|
-
type: 'taskSummaryReady';
|
|
646
|
-
view: TaskSummaryView | null;
|
|
647
|
-
} | {
|
|
648
|
-
type: 'setAgentMode';
|
|
649
|
-
mode: AgentMode;
|
|
650
|
-
pending: AgentMode | null;
|
|
651
|
-
posture?: Posture;
|
|
652
|
-
pendingPosture?: Posture | null;
|
|
653
|
-
} | {
|
|
654
|
-
type: 'govSnapshot';
|
|
655
|
-
snapshot: GovernanceSnapshot;
|
|
656
|
-
} | {
|
|
657
|
-
type: 'govEnd';
|
|
658
|
-
} | {
|
|
659
|
-
type: 'governanceCard';
|
|
660
|
-
card: GovernanceCardData;
|
|
661
|
-
at?: number;
|
|
662
|
-
} | {
|
|
663
|
-
type: 'teamStart';
|
|
664
|
-
dispatchId: string;
|
|
665
|
-
requested: number;
|
|
666
|
-
specs: SubagentSpec[];
|
|
667
|
-
} | {
|
|
668
|
-
type: 'teamUpdate';
|
|
669
|
-
snapshot: TeamSnapshot;
|
|
670
|
-
} | {
|
|
671
|
-
type: 'teamUsage';
|
|
672
|
-
usage: TokenUsage;
|
|
673
|
-
costDelta: number;
|
|
674
|
-
} | {
|
|
675
|
-
type: 'teamEnd';
|
|
676
|
-
outcome: DispatchOutcome;
|
|
677
|
-
} | {
|
|
678
|
-
type: 'todoUpdate';
|
|
679
|
-
snapshot: TodoSnapshot;
|
|
680
|
-
} | {
|
|
681
|
-
type: 'todoCleared';
|
|
682
|
-
} | {
|
|
683
|
-
type: 'retryScheduled';
|
|
684
|
-
attempt: number;
|
|
685
|
-
maxRetries: number;
|
|
686
|
-
delayMs: number;
|
|
687
|
-
resumeAt: number;
|
|
688
|
-
errorType: string;
|
|
689
|
-
message: string;
|
|
690
|
-
} | {
|
|
691
|
-
type: 'retryAttempt';
|
|
692
|
-
attempt: number;
|
|
693
|
-
maxRetries: number;
|
|
694
|
-
} | {
|
|
695
|
-
type: 'streamRestart';
|
|
696
|
-
discardedToolCallIds: string[];
|
|
697
|
-
}
|
|
698
|
-
/**
|
|
699
|
-
* The 1 Hz countdown tick. NO STATE OF ITS OWN — it bumps `seq` so the frame
|
|
700
|
-
* re-renders and the card recomputes `resumeAt - Date.now()`. `App` runs the
|
|
701
|
-
* interval ONLY while `state.retry?.phase === 'waiting'`, so an idle session has
|
|
702
|
-
* no timer at all.
|
|
703
|
-
*/
|
|
704
|
-
| {
|
|
705
|
-
type: 'retryTick';
|
|
706
|
-
} | {
|
|
707
|
-
type: 'fastStart';
|
|
708
|
-
index: number;
|
|
709
|
-
turn: number;
|
|
710
|
-
model: string;
|
|
711
|
-
} | {
|
|
712
|
-
type: 'fastEnd';
|
|
713
|
-
review: FastReview;
|
|
714
|
-
}
|
|
715
|
-
/**
|
|
716
|
-
* Review spend.
|
|
717
|
-
*
|
|
718
|
-
* `costDelta` IS PRECOMPUTED BY THE CALLER, exactly as `teamUsage`'s is: the
|
|
719
|
-
* reducer stays pure and cost-table-free, which is the property that makes it
|
|
720
|
-
* testable — and the fast tier has a DIFFERENT cost table from the lead, so a
|
|
721
|
-
* reducer that computed its own would have to know about both (§3.6 / R-7).
|
|
722
|
-
*/
|
|
723
|
-
| {
|
|
724
|
-
type: 'fastUsage';
|
|
725
|
-
usage: TokenUsage;
|
|
726
|
-
costDelta: number;
|
|
727
|
-
} | {
|
|
728
|
-
type: 'fastTier';
|
|
729
|
-
snapshot: FastSnapshot;
|
|
730
|
-
} | {
|
|
731
|
-
type: 'compactionStart';
|
|
732
|
-
index: number;
|
|
733
|
-
trigger: CompactionUiTrigger;
|
|
734
|
-
model: string;
|
|
735
|
-
} | {
|
|
736
|
-
type: 'compactionEnd';
|
|
737
|
-
record: CompactionRecord;
|
|
738
|
-
}
|
|
739
|
-
/**
|
|
740
|
-
* The live card's stage (context-compaction-never-fires C).
|
|
741
|
-
*
|
|
742
|
-
* Its own action rather than a field on `compactionStart` because the phases
|
|
743
|
-
* arrive AFTER it, one per step, and because a phase must be able to land on a
|
|
744
|
-
* card that a previous attempt already settled into the same entry id.
|
|
745
|
-
*/
|
|
746
|
-
| {
|
|
747
|
-
type: 'compactionPhase';
|
|
748
|
-
index: number;
|
|
749
|
-
phase: CompactionPhase;
|
|
750
|
-
}
|
|
751
|
-
/**
|
|
752
|
-
* Compaction spend.
|
|
753
|
-
*
|
|
754
|
-
* `costDelta` IS PRECOMPUTED BY THE CALLER, exactly as `teamUsage`'s and
|
|
755
|
-
* `fastUsage`'s are: the reducer stays pure and cost-table-free. It matters
|
|
756
|
-
* MORE here than for either of those, because the summarizer may be a
|
|
757
|
-
* different model from the lead AND from the fast tier, so a reducer that
|
|
758
|
-
* computed its own would have to know about three price tables.
|
|
759
|
-
*/
|
|
760
|
-
| {
|
|
761
|
-
type: 'compactionUsage';
|
|
762
|
-
usage: TokenUsage;
|
|
763
|
-
costDelta: number;
|
|
764
|
-
} | {
|
|
765
|
-
type: 'compactionSnapshot';
|
|
766
|
-
snapshot: CompactionSnapshot;
|
|
767
|
-
}
|
|
768
|
-
/**
|
|
769
|
-
* The occupancy reading, from `AgentController.subscribeContextUsage`.
|
|
770
|
-
*
|
|
771
|
-
* THE ONLY ACTION THAT WRITES `state.context`, AND IT IS DISPATCHED FROM
|
|
772
|
-
* EXACTLY ONE PLACE (I-1 / T11). It replaced `contextTokensEstimated`, which
|
|
773
|
-
* `App` fired from two branches of the compaction stream while `turnEnd` wrote
|
|
774
|
-
* the same field from the agent stream - three writers, two upstreams, one
|
|
775
|
-
* number, and the P0-1 bounce as the result.
|
|
776
|
-
*/
|
|
777
|
-
| {
|
|
778
|
-
type: 'contextUsage';
|
|
779
|
-
snapshot: ContextUsageSnapshot;
|
|
780
|
-
} | {
|
|
781
|
-
type: 'serviceStart';
|
|
782
|
-
service: ServiceSnapshot;
|
|
783
|
-
} | {
|
|
784
|
-
type: 'serviceUpdate';
|
|
785
|
-
service: ServiceSnapshot;
|
|
786
|
-
} | {
|
|
787
|
-
type: 'serviceEnd';
|
|
788
|
-
service: ServiceSnapshot;
|
|
789
|
-
};
|
|
790
|
-
export declare const STORED_PREVIEW_CHARS = 8000;
|
|
791
|
-
export declare const STORED_PREVIEW_LINES = 200;
|
|
792
|
-
/**
|
|
793
|
-
* Marker appended to a truncated tool preview. ASCII on purpose: this string is
|
|
794
|
-
* produced outside `src/ui/**`, where no terminal capabilities are available, so
|
|
795
|
-
* it must be safe on a legacy `cmd.exe` (spec §4.1 tier A). `ToolPreview` dims
|
|
796
|
-
* this line and imports the constant rather than re-spelling it — the two used
|
|
797
|
-
* to be a matched pair of `…` literals, and splitting the spelling would break
|
|
798
|
-
* the dimming silently.
|
|
799
|
-
*/
|
|
800
|
-
export declare const PREVIEW_TRUNCATION_MARK = "...";
|
|
801
|
-
/**
|
|
802
|
-
* Flatten a ToolResult into a stored preview string. Truncation appends
|
|
803
|
-
* `PREVIEW_TRUNCATION_MARK` (line- or char-based) so a card footer never
|
|
804
|
-
* over-promises how much more is expandable.
|
|
805
|
-
*/
|
|
806
|
-
export declare function buildToolPreview(result: ToolResult): string;
|
|
807
|
-
/**
|
|
808
|
-
* Where a `FilePatch` is collected from on `tool_execution_end`.
|
|
809
|
-
*
|
|
810
|
-
* Supplying one makes `reduceEvent` CONSUME-ONCE rather than pure, which is safe
|
|
811
|
-
* because `App.tsx` calls it exactly once per event and `mergeDeltas` only ever
|
|
812
|
-
* merges `textDelta` / `thinkingDelta`, never `toolExecEnd`.
|
|
813
|
-
*/
|
|
814
|
-
export interface PatchSource {
|
|
815
|
-
take(toolCallId: string): FilePatch | undefined;
|
|
816
|
-
}
|
|
817
|
-
/**
|
|
818
|
-
* Map one core `AgentEvent` to view actions. `cost` (the active model's cost
|
|
819
|
-
* table) lets `turn_end` accumulate USD cost; omit it in tests that only assert
|
|
820
|
-
* token totals. `patches` is the CLI-local diff side channel (§3.3.7); omitting
|
|
821
|
-
* it — every existing test, and headless mode — produces byte-identical actions.
|
|
822
|
-
*/
|
|
823
|
-
export declare function reduceEvent(event: AgentEvent, cost?: ModelCost, patches?: PatchSource): ViewAction[];
|
|
824
|
-
/**
|
|
825
|
-
* The opening words of the `context_overflow` banner.
|
|
826
|
-
*
|
|
827
|
-
* A SHARED CONSTANT RATHER THAN TWO LITERALS, because `compactionStart` matches
|
|
828
|
-
* on it to rewrite the notice a successful reactive recovery would otherwise
|
|
829
|
-
* leave behind (P1-4). Two spellings that must agree, with nothing checking that
|
|
830
|
-
* they do, is how that rewrite silently stops matching — at which point the red
|
|
831
|
-
* "start over" banner comes back and only on the recovery path, which is the one
|
|
832
|
-
* place nobody re-tests.
|
|
833
|
-
*/
|
|
834
|
-
export declare const CONTEXT_OVERFLOW_NOTICE_PREFIX = "Context length exceeded";
|
|
835
|
-
/** Turn a provider error into a friendly banner, mapping LLMError.errorType. */
|
|
836
|
-
export declare function formatStreamError(error: Error): string;
|
|
837
|
-
export declare function viewReducer(state: ViewState, action: ViewAction): ViewState;
|