@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
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* Offscreen entry renderer (tui-native-terminal-scroll §4.5 / D4).
|
|
4
|
-
*
|
|
5
|
-
* Settled entries are rendered ONCE, to ANSI text, by a resident Ink instance that
|
|
6
|
-
* writes to a fake stdout (`debug: true`: Ink then emits the complete layout in one
|
|
7
|
-
* write per render and never touches log-update). The resulting rows go to the feed
|
|
8
|
-
* and are printed; they are never mounted in the live React tree, so the per-frame
|
|
9
|
-
* render cost stays proportional to what is on screen, not to the session length.
|
|
10
|
-
*
|
|
11
|
-
* Failure isolation (I-S12): one entry that throws while rendering degrades to a
|
|
12
|
-
* single placeholder row. It must never block the queue or take the session down.
|
|
13
|
-
*/
|
|
14
|
-
import React from 'react';
|
|
15
|
-
import { EventEmitter } from 'node:events';
|
|
16
|
-
import { Box, render } from 'ink';
|
|
17
|
-
import { EntryView } from '../Transcript.js';
|
|
18
|
-
import { getLogger } from '../../logging/logger.js';
|
|
19
|
-
import { SCROLLBACK_LIMITS } from './limits.js';
|
|
20
|
-
import { elisionRow } from './overflow-print.js';
|
|
21
|
-
/**
|
|
22
|
-
* Catches a throwing entry INSIDE the offscreen tree.
|
|
23
|
-
*
|
|
24
|
-
* Without it Ink's own boundary would print an error overview into the frame (which
|
|
25
|
-
* would then be printed into the user's scrollback, forever) and unmount the
|
|
26
|
-
* instance, so every later entry would fail too. With it the failure is a flag the
|
|
27
|
-
* caller reads synchronously and the instance stays healthy (I-S12).
|
|
28
|
-
*/
|
|
29
|
-
class RenderGuard extends React.Component {
|
|
30
|
-
state = { failed: false };
|
|
31
|
-
static getDerivedStateFromError() {
|
|
32
|
-
return { failed: true };
|
|
33
|
-
}
|
|
34
|
-
componentDidCatch(error) {
|
|
35
|
-
this.props.failure.error = error;
|
|
36
|
-
}
|
|
37
|
-
render() {
|
|
38
|
-
return this.state.failed ? null : this.props.children;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
const NO_FAILURE = Symbol('no-failure');
|
|
42
|
-
function createOffscreen(cols) {
|
|
43
|
-
const last = { value: null };
|
|
44
|
-
const stdout = Object.assign(new EventEmitter(), {
|
|
45
|
-
columns: cols,
|
|
46
|
-
rows: 1000,
|
|
47
|
-
isTTY: false,
|
|
48
|
-
write(chunk) {
|
|
49
|
-
last.value = chunk;
|
|
50
|
-
return true;
|
|
51
|
-
},
|
|
52
|
-
});
|
|
53
|
-
const stdin = Object.assign(new EventEmitter(), {
|
|
54
|
-
isTTY: false,
|
|
55
|
-
setEncoding() { },
|
|
56
|
-
resume() { },
|
|
57
|
-
pause() { },
|
|
58
|
-
ref() { },
|
|
59
|
-
unref() { },
|
|
60
|
-
});
|
|
61
|
-
const instance = render(null, {
|
|
62
|
-
stdout, stdin, stderr: stdout, debug: true, exitOnCtrlC: false, patchConsole: false,
|
|
63
|
-
});
|
|
64
|
-
// A rejected exit promise nobody awaits is an unhandled rejection.
|
|
65
|
-
void instance.waitUntilExit().catch(() => undefined);
|
|
66
|
-
return { cols, stdout, stdin, instance, last, failure: { error: NO_FAILURE } };
|
|
67
|
-
}
|
|
68
|
-
/** A function, so the compiler does not narrow the mutable `last` box to `null`. */
|
|
69
|
-
function readFrame(target) {
|
|
70
|
-
return target.last.value;
|
|
71
|
-
}
|
|
72
|
-
function trimTrailingBlank(rows) {
|
|
73
|
-
let end = rows.length;
|
|
74
|
-
while (end > 0 && rows[end - 1].trim().length === 0)
|
|
75
|
-
end -= 1;
|
|
76
|
-
return end === rows.length ? rows : rows.slice(0, end);
|
|
77
|
-
}
|
|
78
|
-
export function createEntryRenderer(initial) {
|
|
79
|
-
let options = initial;
|
|
80
|
-
/**
|
|
81
|
-
* Resident offscreen instances, keyed by width.
|
|
82
|
-
*
|
|
83
|
-
* TWO SLOTS, NOT ONE. Ink reads `columns` once, at creation, so a width change needs a new
|
|
84
|
-
* instance - but a width change happens WITHIN one promotion pass as soon as the plan
|
|
85
|
-
* measures at the box width (`previewCols`) and prints at `contentCols`, and a single slot
|
|
86
|
-
* would then dispose and rebuild a complete Ink root on every such frame. Two slots cover
|
|
87
|
-
* both widths of the current geometry; a third width (an actual resize) evicts the oldest.
|
|
88
|
-
*/
|
|
89
|
-
const slots = new Map();
|
|
90
|
-
const MAX_SLOTS = 2;
|
|
91
|
-
let elidedRows = 0;
|
|
92
|
-
let failures = 0;
|
|
93
|
-
let guardKey = 0;
|
|
94
|
-
const disposeSlot = (cols) => {
|
|
95
|
-
const target = slots.get(cols);
|
|
96
|
-
if (!target)
|
|
97
|
-
return;
|
|
98
|
-
slots.delete(cols);
|
|
99
|
-
try {
|
|
100
|
-
target.instance.unmount();
|
|
101
|
-
target.instance.cleanup();
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
// Tearing down a fake stream must never throw into an exit path.
|
|
105
|
-
}
|
|
106
|
-
};
|
|
107
|
-
const dispose = () => {
|
|
108
|
-
for (const cols of [...slots.keys()])
|
|
109
|
-
disposeSlot(cols);
|
|
110
|
-
};
|
|
111
|
-
/** Ink reads `columns` once, at creation, so a width change rebuilds the instance. */
|
|
112
|
-
const ensure = (cols) => {
|
|
113
|
-
const resident = slots.get(cols);
|
|
114
|
-
if (resident) {
|
|
115
|
-
// Refresh the recency order so the OTHER width is the eviction candidate.
|
|
116
|
-
slots.delete(cols);
|
|
117
|
-
slots.set(cols, resident);
|
|
118
|
-
return resident;
|
|
119
|
-
}
|
|
120
|
-
const evictable = [...slots.keys()][0];
|
|
121
|
-
if (evictable !== undefined && slots.size >= MAX_SLOTS)
|
|
122
|
-
disposeSlot(evictable);
|
|
123
|
-
const created = createOffscreen(cols);
|
|
124
|
-
slots.set(cols, created);
|
|
125
|
-
return created;
|
|
126
|
-
};
|
|
127
|
-
const capRows = (rows) => {
|
|
128
|
-
const cap = SCROLLBACK_LIMITS.maxRowsPerEntry;
|
|
129
|
-
if (rows.length <= cap)
|
|
130
|
-
return rows;
|
|
131
|
-
const hidden = rows.length - (cap - 1);
|
|
132
|
-
elidedRows += hidden;
|
|
133
|
-
return [...rows.slice(0, cap - 1), elisionRow(hidden)];
|
|
134
|
-
};
|
|
135
|
-
const renderFrame = (node, cols) => {
|
|
136
|
-
const target = ensure(Math.max(1, Math.floor(cols)));
|
|
137
|
-
target.last.value = null;
|
|
138
|
-
target.failure.error = NO_FAILURE;
|
|
139
|
-
guardKey += 1;
|
|
140
|
-
target.instance.rerender(_jsx(Box, { flexDirection: "column", width: target.cols, children: _jsx(RenderGuard, { failure: target.failure, children: node }, guardKey) }));
|
|
141
|
-
const frame = readFrame(target);
|
|
142
|
-
const failure = target.failure.error;
|
|
143
|
-
target.instance.rerender(null);
|
|
144
|
-
if (failure !== NO_FAILURE)
|
|
145
|
-
throw failure;
|
|
146
|
-
if (frame === null)
|
|
147
|
-
throw new Error('offscreen Ink instance produced no frame');
|
|
148
|
-
return trimTrailingBlank(frame.split('\n'));
|
|
149
|
-
};
|
|
150
|
-
const failureRow = (label) => {
|
|
151
|
-
failures += 1;
|
|
152
|
-
return [`[aragon] ${label} could not be rendered`];
|
|
153
|
-
};
|
|
154
|
-
const entryFrame = (entry, prev, cols, expanded) => renderFrame(_jsx(EntryView, { entry: entry, prev: prev, expanded: expanded, thinkingVisible: options.thinkingVisible, reducedMotion: options.reducedMotion, density: options.density, theme: options.theme, caps: options.caps }), cols);
|
|
155
|
-
const renderEntryRows = (entry, prev, cols, expanded = false) => {
|
|
156
|
-
try {
|
|
157
|
-
return entryFrame(entry, prev, cols, expanded);
|
|
158
|
-
}
|
|
159
|
-
catch (error) {
|
|
160
|
-
getLogger().warn('cli', 'entry_render_failed', {
|
|
161
|
-
id: entry.id, kind: entry.kind, error: String(error),
|
|
162
|
-
});
|
|
163
|
-
return failureRow(`entry ${entry.id} (${entry.kind})`);
|
|
164
|
-
}
|
|
165
|
-
};
|
|
166
|
-
return {
|
|
167
|
-
renderEntry(entry, prev, cols, expanded = false) {
|
|
168
|
-
return capRows(renderEntryRows(entry, prev, cols, expanded));
|
|
169
|
-
},
|
|
170
|
-
renderEntryRows,
|
|
171
|
-
renderNode(node, cols) {
|
|
172
|
-
try {
|
|
173
|
-
return capRows(renderFrame(node, cols));
|
|
174
|
-
}
|
|
175
|
-
catch (error) {
|
|
176
|
-
getLogger().warn('cli', 'node_render_failed', { error: String(error) });
|
|
177
|
-
return failureRow('startup banner');
|
|
178
|
-
}
|
|
179
|
-
},
|
|
180
|
-
setOptions(partial) {
|
|
181
|
-
options = { ...options, ...partial };
|
|
182
|
-
},
|
|
183
|
-
stats: () => ({ elidedRows, failures }),
|
|
184
|
-
dispose,
|
|
185
|
-
};
|
|
186
|
-
}
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ScrollbackWriter — the byte contract of native-scroll mode
|
|
3
|
-
* (tui-native-terminal-scroll §4.3, extended by tui-bottom-anchored-live-region
|
|
4
|
-
* and re-based on a CANVAS by tui-canvas-bottom-anchor).
|
|
5
|
-
*
|
|
6
|
-
* It implements `FrameDiffer`, so `stdout-frame-writer.ts::wrapStdoutForFrames`
|
|
7
|
-
* binds it to a real stream exactly as it binds the full-screen differ. What it
|
|
8
|
-
* does differently: the screen is NOT the app's. Settled conversation rows are
|
|
9
|
-
* printed into the host terminal's own scrollback, and Ink's frame is only a small
|
|
10
|
-
* LIVE REGION parked under the last printed row.
|
|
11
|
-
*
|
|
12
|
-
* GEOMETRY IS RELATIVE (D2/D4). A batch is `CUU(canvasRows)` to the top of the
|
|
13
|
-
* previous CANVAS, erase down, skip the gap, print the content rows, print the
|
|
14
|
-
* region, park on the last row. Nothing needs the terminal's absolute row count, so
|
|
15
|
-
* a terminal that scrolls underneath cannot misplace anything.
|
|
16
|
-
*
|
|
17
|
-
* THE CANVAS (tui-canvas-bottom-anchor D1/D3). The `rows - 1` rows above the parked
|
|
18
|
-
* row belong to the writer and are always laid out top-down as
|
|
19
|
-
* `[gap][content][region]`. The previous feature put its blank rows between the
|
|
20
|
-
* content and the region (`[content][pad][region]`), which is why a short
|
|
21
|
-
* conversation left a reply floating far above the composer. The blank space now
|
|
22
|
-
* lives above every visible content row, so the newest printed row always touches
|
|
23
|
-
* the top row of the live region, while the composer stays on the last two rows.
|
|
24
|
-
* The gap is SKIPPED with CUD and never written, so a blank row can never be pushed
|
|
25
|
-
* into the scrollback (I-B3).
|
|
26
|
-
*
|
|
27
|
-
* THE PRICE, and it is the only one: the content rows still on the canvas can be
|
|
28
|
-
* re-drawn when the layout changes (a region collapse, a longer draft), because the
|
|
29
|
-
* rows that the region gives back have to move onto the canvas top. That is why the
|
|
30
|
-
* writer keeps a bounded cache of them (`held`, at most `capacity - H` rows). A row
|
|
31
|
-
* that leaves the canvas — pushed into the scrollback or erased at exit — is never
|
|
32
|
-
* written again, so the history the user scrolls through is exactly what was
|
|
33
|
-
* printed, once (I-B5). `anchor: unknown` (nothing measured: no TTY, no filter, no
|
|
34
|
-
* CPR answer) keeps the pre-feature bytes exactly, which is what keeps the old byte
|
|
35
|
-
* tests meaningful (I-B7).
|
|
36
|
-
*
|
|
37
|
-
* THE INVARIANTS THAT FAIL SILENTLY IF DROPPED:
|
|
38
|
-
* - I-S4 · every batch parks the cursor one row below the region, column 0, the
|
|
39
|
-
* same place Ink's `previousLineCount = H + 1` expects.
|
|
40
|
-
* - I-S8 · geometry in doubt (foreign write, unparseable chunk) => `prev = null`
|
|
41
|
-
* => next batch is a SEED. Never keep erasing on a stale height.
|
|
42
|
-
* - I-S14 · after `finalize` EVERY Ink write is swallowed.
|
|
43
|
-
* - I-S13 · no emitted row is wider than `cols - 1` (clipped, counted).
|
|
44
|
-
* - I-B1 · a batch ends parked on `rows - 1`, which is what the next `CUU` assumes.
|
|
45
|
-
* - I-B3 · blank rows only ever exist as SKIPPED rows, and a batch that scrolls has
|
|
46
|
-
* `gap = 0`, so the scrollback never receives an empty row from this file.
|
|
47
|
-
* - I-B5 · `held` is a contiguous suffix of the printed content, and `dropped` is
|
|
48
|
-
* exactly the number of rows this batch pushed off the top. The BYTES carry the
|
|
49
|
-
* untrimmed content: the terminal can only scroll away rows it was given.
|
|
50
|
-
* - I-B14 · a re-measurement re-derives `capacity` from `spaceBelow + canvasRows`,
|
|
51
|
-
* never from `spaceBelow` alone: the canvas itself still owns the rows above the
|
|
52
|
-
* cursor, and forgetting them makes the next batch read its own screen as an
|
|
53
|
-
* overflow and print every visible row a second time.
|
|
54
|
-
* - I-B15 · every batch starts by reconciling `top + capacity` with the live
|
|
55
|
-
* `rows - 1` (a resize event can arrive one frame late), and a column change
|
|
56
|
-
* resets before it writes.
|
|
57
|
-
* - I-B17 · a SHRINK re-pins the canvas, it never drops it. The canvas keeps
|
|
58
|
-
* `min(canvasRows, screenCapacity(rows))` rows — the screen keeps the rows nearest
|
|
59
|
-
* the parked cursor, so the survivors are its SUFFIX — and its top moves down to
|
|
60
|
-
* `capacity - kept`, which preserves LB-3. Dropping the cache instead made the next
|
|
61
|
-
* batch a SEED, and a seed assumes nothing is below the cursor
|
|
62
|
-
* (`writer-shapes.ts:60-64`); after a shrink that is false, so the batch overflowed
|
|
63
|
-
* the screen and the previous frame — status row included — went into the
|
|
64
|
-
* scrollback: the same row in two places. For the same reason a frame TALLER than
|
|
65
|
-
* the screen gives way at its TOP instead of being swallowed whole: the composer
|
|
66
|
-
* and the status line are the two rows a human is interacting with.
|
|
67
|
-
* - I-A9 · the writer never writes a probe byte; it only asks the host, which owns
|
|
68
|
-
* deferral, coalescing and the death switch.
|
|
69
|
-
*/
|
|
70
|
-
import type { FrameDiffer } from '../frame-differ.js';
|
|
71
|
-
import { type AnchorSource } from './canvas.js';
|
|
72
|
-
import type { ScrollbackDrain } from './drain.js';
|
|
73
|
-
export interface ScrollbackWriterOptions {
|
|
74
|
-
rows: () => number | undefined;
|
|
75
|
-
cols: () => number | undefined;
|
|
76
|
-
/** DEC 2026 envelope around each batch. */
|
|
77
|
-
sync: boolean;
|
|
78
|
-
/** `diffRender: false` — every batch rewrites the whole region. */
|
|
79
|
-
fullEveryFrame: boolean;
|
|
80
|
-
drain: ScrollbackDrain;
|
|
81
|
-
/** Raised once on the first foreign / unparseable write. */
|
|
82
|
-
onFirstFallback?: () => void;
|
|
83
|
-
/** Raised when out-of-resize tall frames repeat; the App degrades to a placeholder. */
|
|
84
|
-
onGuardTrip?: () => void;
|
|
85
|
-
/**
|
|
86
|
-
* Ask the host to call `repaint()` soon (coalesced here). Used when static rows
|
|
87
|
-
* arrive without a new Ink frame, and to flush the rest of an oversized feed.
|
|
88
|
-
*/
|
|
89
|
-
requestRepaint?: () => void;
|
|
90
|
-
/**
|
|
91
|
-
* Ask the host for one more cursor measurement (resize settled, geometry lost).
|
|
92
|
-
*
|
|
93
|
-
* CONTRACT (P0-3), and the writer does NOT implement any of it: the call can
|
|
94
|
-
* arrive from inside Ink's `stdout.write` (`invalidate` is called by
|
|
95
|
-
* `transform`), so the host MUST defer it with `setImmediate`, MUST coalesce
|
|
96
|
-
* everything inside the window into one `ESC[6n`, and MUST drop it after
|
|
97
|
-
* `finalize`/`dispose`/`exit` — a probe written at a terminal already handed
|
|
98
|
-
* back to the shell leaks `^[[12;1R` onto the user's prompt (I-A9).
|
|
99
|
-
*/
|
|
100
|
-
requestAnchorProbe?: () => void;
|
|
101
|
-
/** Injected clock for the resize grace window. */
|
|
102
|
-
now?: () => number;
|
|
103
|
-
}
|
|
104
|
-
export interface ScrollbackWriterStats {
|
|
105
|
-
framesSeed: number;
|
|
106
|
-
framesDiff: number;
|
|
107
|
-
framesFull: number;
|
|
108
|
-
staticRowsWritten: number;
|
|
109
|
-
bytesWritten: number;
|
|
110
|
-
fallbacks: number;
|
|
111
|
-
/** Tall frames swallowed (the scrollback-erasing `ESC[3J` path), resize or not. */
|
|
112
|
-
guardHits: number;
|
|
113
|
-
/** The subset NOT explained by a recent resize: the real defect signal. */
|
|
114
|
-
guardHitsOutsideResize: number;
|
|
115
|
-
/** Frames taller than the screen, drawn after giving way at their TOP (I-B17). */
|
|
116
|
-
tallFramesTrimmed: number;
|
|
117
|
-
clippedRows: number;
|
|
118
|
-
elidedEntries: number;
|
|
119
|
-
resizes: number;
|
|
120
|
-
repaints: number;
|
|
121
|
-
/** Where the anchor came from: `probe`, one-off `fill`, or never measured. */
|
|
122
|
-
anchorSource: AnchorSource;
|
|
123
|
-
/** Canvas height of the most recent batch — the next erase distance (0 = unknown). */
|
|
124
|
-
anchorCanvasRows: number;
|
|
125
|
-
/** Content rows inside that canvas. */
|
|
126
|
-
anchorHeldRows: number;
|
|
127
|
-
/** Blank rows above the content in that canvas. */
|
|
128
|
-
anchorGapRows: number;
|
|
129
|
-
/** Rows this session pushed into the scrollback (the "is it scrolling" signal). */
|
|
130
|
-
anchorScrollRows: number;
|
|
131
|
-
/** Times the geometry was dropped on purpose (column change, nothing left to pin). */
|
|
132
|
-
anchorResets: number;
|
|
133
|
-
/** Measurements accepted AFTER the first one — the re-probe count (not resize events). */
|
|
134
|
-
anchorReprobes: number;
|
|
135
|
-
}
|
|
136
|
-
export interface CanvasStats {
|
|
137
|
-
/** `'pinned'` = measured, drawing a canvas; `'unknown'` = legacy append path. */
|
|
138
|
-
state: 'pinned' | 'unknown';
|
|
139
|
-
/** Probe / fill origin; `'none'` = never measured. */
|
|
140
|
-
source: AnchorSource;
|
|
141
|
-
/** Rows of the most recent canvas (0 while unknown). */
|
|
142
|
-
canvasRows: number;
|
|
143
|
-
/** Content rows inside it. */
|
|
144
|
-
heldRows: number;
|
|
145
|
-
/** Blank rows above the content. */
|
|
146
|
-
gapRows: number;
|
|
147
|
-
/** Canvas top row (0 = the canvas starts at the first screen row). */
|
|
148
|
-
top: number;
|
|
149
|
-
}
|
|
150
|
-
export interface ScrollbackWriter extends FrameDiffer {
|
|
151
|
-
/** Idempotent. Returns the exit bytes; afterwards every Ink write is swallowed. */
|
|
152
|
-
finalize(summary: readonly string[]): string;
|
|
153
|
-
/**
|
|
154
|
-
* Rows of the LIVE REGION as last parked — the frame height `H`, NOT the canvas
|
|
155
|
-
* (P1-4). `/perf` prints this as "scrollback region N rows", and it has to keep
|
|
156
|
-
* meaning the same number; the canvas height is `anchorStats().canvasRows`.
|
|
157
|
-
*/
|
|
158
|
-
regionRows(): number;
|
|
159
|
-
scrollbackStats(): ScrollbackWriterStats;
|
|
160
|
-
/**
|
|
161
|
-
* The host measured how many blank rows are left below the parked cursor
|
|
162
|
-
* (`0` = already on the last row). Writes no bytes; the next batch — or the
|
|
163
|
-
* `repaint()` the host schedules right after — consumes it.
|
|
164
|
-
*
|
|
165
|
-
* Idempotent and overwritable: the post-resize re-probe calls it again, and it
|
|
166
|
-
* must then arrive at the SAME capacity the resize delta did (I-B14). Side
|
|
167
|
-
* effect: sets `anchorDirty`, which is what lets `repaint()` redraw while the
|
|
168
|
-
* feed is idle (P0-2).
|
|
169
|
-
*/
|
|
170
|
-
setAnchorSpaceBelow(spaceBelow: number, source: AnchorSource): void;
|
|
171
|
-
/** For `/perf` and tests. Produces no bytes. */
|
|
172
|
-
anchorStats(): CanvasStats;
|
|
173
|
-
}
|
|
174
|
-
export declare function createScrollbackWriter(o: ScrollbackWriterOptions): ScrollbackWriter;
|