@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/todo/normalize.js
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* step" with no null branch and lets a unit test prove the property instead of
|
|
23
23
|
* an operator inferring it from a transcript.
|
|
24
24
|
*/
|
|
25
|
-
import { TODO_LIMITS } from '
|
|
25
|
+
import { TODO_LIMITS } from '@aragon-agent/tui/model/todo/limits';
|
|
26
26
|
const STATUSES = new Set([
|
|
27
27
|
'pending',
|
|
28
28
|
'in_progress',
|
package/dist/todo/prompt.d.ts
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* behaviour report - INCLUDING a change to either `{{VISIBILITY}}` variant, which
|
|
22
22
|
* is part of the block.
|
|
23
23
|
*/
|
|
24
|
-
import { TODO_BLOCK_VERSION } from '
|
|
24
|
+
import { TODO_BLOCK_VERSION } from '@aragon-agent/tui/model/todo/limits';
|
|
25
25
|
export { TODO_BLOCK_VERSION };
|
|
26
26
|
export interface TodoBlockParams {
|
|
27
27
|
panelVisible: boolean;
|
package/dist/todo/prompt.js
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* behaviour report - INCLUDING a change to either `{{VISIBILITY}}` variant, which
|
|
22
22
|
* is part of the block.
|
|
23
23
|
*/
|
|
24
|
-
import { TODO_BLOCK_VERSION } from '
|
|
24
|
+
import { TODO_BLOCK_VERSION } from '@aragon-agent/tui/model/todo/limits';
|
|
25
25
|
export { TODO_BLOCK_VERSION };
|
|
26
26
|
/**
|
|
27
27
|
* The ONLY sentence in the block that mentions a display at all. Everything else
|
package/dist/todo/store.d.ts
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* `TodoCard`'s `React.memo` and the transcript's height cache, and undo the redraw
|
|
23
23
|
* savings `mapEntry` buys with object identity (P1-3).
|
|
24
24
|
*/
|
|
25
|
-
import type { AcceptanceItem, TodoClearReason, TodoEventListener, TodoItem, TodoSnapshot } from '
|
|
25
|
+
import type { AcceptanceItem, TodoClearReason, TodoEventListener, TodoItem, TodoSnapshot } from '@aragon-agent/tui/model/todo/types';
|
|
26
26
|
/**
|
|
27
27
|
* What a `write()` decided.
|
|
28
28
|
*
|
package/dist/todo/store.js
CHANGED
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
* savings `mapEntry` buys with object identity (P1-3).
|
|
24
24
|
*/
|
|
25
25
|
import { getLogger } from '../logging/logger.js';
|
|
26
|
-
import { acceptanceSummary, normalizeAcceptance, planIsResolved } from '
|
|
27
|
-
import { ACCEPT_LIMITS, TODO_LIMITS } from '
|
|
26
|
+
import { acceptanceSummary, normalizeAcceptance, planIsResolved } from '@aragon-agent/tui/model/todo/acceptance';
|
|
27
|
+
import { ACCEPT_LIMITS, TODO_LIMITS } from '@aragon-agent/tui/model/todo/limits';
|
|
28
28
|
import { normalizeTodos } from './normalize.js';
|
|
29
29
|
/** The one model-readable refusal that is about the PLAN, not about the payload. */
|
|
30
30
|
export const FRESH_ACCEPTANCE_REFUSAL = 'A plan needs acceptance criteria: how will you know the work is done? Send the ' +
|
package/dist/todo/todo-tool.d.ts
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
*/
|
|
27
27
|
import { type AgentTool } from '@aragon-agent/core';
|
|
28
28
|
import type { TodoStore } from './store.js';
|
|
29
|
-
import type { AcceptanceItem, TodoItem } from '
|
|
29
|
+
import type { AcceptanceItem, TodoItem } from '@aragon-agent/tui/model/todo/types';
|
|
30
30
|
export interface TodoToolDeps {
|
|
31
31
|
store: TodoStore;
|
|
32
32
|
/** Read LIVE, never cached: `/todo off` flips this; it cannot unregister (C-1). */
|
package/dist/todo/todo-tool.js
CHANGED
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
* human wait.
|
|
26
26
|
*/
|
|
27
27
|
import { errorResult, textResult } from '@aragon-agent/core';
|
|
28
|
-
import { acceptanceSummary, countUncheckedCriteria, countUnfinishedSteps, derivePlanPhase, planOutstanding, } from '
|
|
29
|
-
import { ACCEPT_LIMITS, TODO_LIMITS, TODO_RESULT_LIMITS } from '
|
|
28
|
+
import { acceptanceSummary, countUncheckedCriteria, countUnfinishedSteps, derivePlanPhase, planOutstanding, } from '@aragon-agent/tui/model/todo/acceptance';
|
|
29
|
+
import { ACCEPT_LIMITS, TODO_LIMITS, TODO_RESULT_LIMITS } from '@aragon-agent/tui/model/todo/limits';
|
|
30
30
|
/**
|
|
31
31
|
* Turned off mid-session. A NON-ERROR result on purpose: the user turned a
|
|
32
32
|
* display off, the model did nothing wrong, and an error result invites a retry.
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
* `bash` assertions meaningful rather than rewritten.
|
|
41
41
|
*/
|
|
42
42
|
import { type AgentTool } from '@aragon-agent/core';
|
|
43
|
-
import { type ProcSupervisorPort } from '
|
|
43
|
+
import { type ProcSupervisorPort } from '@aragon-agent/tui/model/proc/types';
|
|
44
44
|
import type { ToolDeps } from './fs-tools.js';
|
|
45
45
|
export interface BashToolOptions {
|
|
46
46
|
/**
|
package/dist/tools/bash-tool.js
CHANGED
|
@@ -44,9 +44,9 @@ import process from 'node:process';
|
|
|
44
44
|
import { defineTool, errorResult, textResult, } from '@aragon-agent/core';
|
|
45
45
|
import { looksLongRunning } from '../proc/classify.js';
|
|
46
46
|
import { killTree } from '../proc/kill-tree.js';
|
|
47
|
-
import { PROC_LIMITS } from '
|
|
47
|
+
import { PROC_LIMITS } from '@aragon-agent/tui/model/proc/limits';
|
|
48
48
|
import { hasOpenOutputStreams } from '../proc/output-streams.js';
|
|
49
|
-
import { isTerminalStatus } from '
|
|
49
|
+
import { isTerminalStatus } from '@aragon-agent/tui/model/proc/types';
|
|
50
50
|
/**
|
|
51
51
|
* The two sentences appended to the tool description when background launches
|
|
52
52
|
* are available.
|
package/dist/tools/diff.d.ts
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* single-region edit is today's rows plus ONE `@@` header, a multi-region edit is
|
|
19
19
|
* strictly smaller, and a trailing `\r` no longer reaches the prompt.
|
|
20
20
|
*/
|
|
21
|
-
import { type FilePatch } from '
|
|
21
|
+
import { type FilePatch } from '@aragon-agent/tui/model/tools/patch';
|
|
22
22
|
export interface DiffOptions {
|
|
23
23
|
/** File path shown in the `---`/`+++` header. */
|
|
24
24
|
path?: string;
|
package/dist/tools/diff.js
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
* single-region edit is today's rows plus ONE `@@` header, a multi-region edit is
|
|
19
19
|
* strictly smaller, and a trailing `\r` no longer reaches the prompt.
|
|
20
20
|
*/
|
|
21
|
-
import { PATCH_LIMITS, buildPatch } from '
|
|
21
|
+
import { PATCH_LIMITS, buildPatch } from '@aragon-agent/tui/model/tools/patch';
|
|
22
22
|
const CONTEXT_LINES = 2;
|
|
23
23
|
/** Appended when the rendered text hits `PATCH_LIMITS.modelDiffMaxChars`. */
|
|
24
24
|
const DIFF_TRUNCATED_NOTE = '... (diff truncated)';
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* RING, not a leak detector: nothing is retained longer than `cap` writes, so
|
|
23
23
|
* a patch nobody consumes cannot accumulate.
|
|
24
24
|
*/
|
|
25
|
-
import type { FilePatch } from '
|
|
25
|
+
import type { FilePatch } from '@aragon-agent/tui/model/tools/patch';
|
|
26
26
|
export interface FileChangeStore {
|
|
27
27
|
record(owner: string, toolCallId: string, patch: FilePatch): void;
|
|
28
28
|
/** Returns and REMOVES the patch. A patch is consumed exactly once. */
|
package/dist/tools/fs-tools.d.ts
CHANGED
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* tools do not re-implement them.
|
|
8
8
|
*/
|
|
9
9
|
import { type AgentTool } from '@aragon-agent/core';
|
|
10
|
-
import { type FilePatch } from '
|
|
11
|
-
import type { ProcSupervisorPort } from '
|
|
10
|
+
import { type FilePatch } from '@aragon-agent/tui/model/tools/patch';
|
|
11
|
+
import type { ProcSupervisorPort } from '@aragon-agent/tui/model/proc/types';
|
|
12
12
|
export interface ToolDeps {
|
|
13
13
|
getCwd: () => string;
|
|
14
14
|
/**
|
package/dist/tools/fs-tools.js
CHANGED
|
@@ -10,7 +10,7 @@ import { promises as fs } from 'node:fs';
|
|
|
10
10
|
import { isAbsolute, join, resolve, dirname } from 'node:path';
|
|
11
11
|
import { defineTool, errorResult, textResult, } from '@aragon-agent/core';
|
|
12
12
|
import { renderUnifiedDiff } from './diff.js';
|
|
13
|
-
import { PATCH_LIMITS, buildPatch } from '
|
|
13
|
+
import { PATCH_LIMITS, buildPatch } from '@aragon-agent/tui/model/tools/patch';
|
|
14
14
|
function resolvePath(cwd, p) {
|
|
15
15
|
return isAbsolute(p) ? p : resolve(cwd, p);
|
|
16
16
|
}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* before the tool runs.
|
|
10
10
|
*/
|
|
11
11
|
import { type AgentTool, type ToolPolicyDecision, type ToolPolicyVerdict } from '@aragon-agent/core';
|
|
12
|
-
import type { AgentMode } from '
|
|
12
|
+
import type { AgentMode } from '@aragon-agent/tui/model/agent/agent-mode';
|
|
13
13
|
import type { ToolPermission } from '../exec/permission.js';
|
|
14
|
-
import type { FilePatch } from '
|
|
15
|
-
import type { ProcSupervisorPort } from '
|
|
14
|
+
import type { FilePatch } from '@aragon-agent/tui/model/tools/patch';
|
|
15
|
+
import type { ProcSupervisorPort } from '@aragon-agent/tui/model/proc/types';
|
|
16
16
|
import type { JobNotice } from '../proc/notices.js';
|
|
17
17
|
import { type ToolGate } from './tool-gate.js';
|
|
18
18
|
import { type ToolHookRunner } from '../exec/hooks/tool-wrapper.js';
|
package/dist/tools/index.js
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* before the tool runs.
|
|
10
10
|
*/
|
|
11
11
|
import { errorResult, evaluateToolCall, } from '@aragon-agent/core';
|
|
12
|
-
import { planRefusal, submitPlanRefusal } from '
|
|
12
|
+
import { planRefusal, submitPlanRefusal } from '@aragon-agent/tui/model/agent/agent-mode';
|
|
13
13
|
import { withGovernanceGate } from '../governance/tools/guard.js';
|
|
14
14
|
import { makeReadFile, makeWriteFile, makeEditFile, makeListDir } from './fs-tools.js';
|
|
15
15
|
import { makeGlob, makeGrep } from './search-tools.js';
|
|
@@ -17,15 +17,15 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { type AgentTool } from '@aragon-agent/core';
|
|
19
19
|
import { type JobNotice } from '../proc/notices.js';
|
|
20
|
-
import type { JobKind, ProcSupervisorPort, ServiceStatus } from '
|
|
20
|
+
import type { JobKind, ProcSupervisorPort, ServiceStatus } from '@aragon-agent/tui/model/proc/types';
|
|
21
|
+
import { type WakeSource } from '../proc/wait.js';
|
|
22
|
+
import { type WaitListener } from '@aragon-agent/tui/model/proc/wait-view';
|
|
21
23
|
export interface JobToolDeps {
|
|
22
24
|
supervisor: ProcSupervisorPort;
|
|
23
25
|
/** `cfg.jobs.waitSeconds`, read LIVE (same rule as `startupSettleMs`). */
|
|
24
26
|
waitSeconds: () => number;
|
|
25
27
|
/** `cfg.jobs.stallSeconds`, read LIVE; only the `[stalled]` sentence uses it. */
|
|
26
28
|
stallSeconds: () => number;
|
|
27
|
-
/** `cfg.toolTimeoutMs`, read LIVE: I-4's second convergence. */
|
|
28
|
-
toolTimeoutMs: () => number;
|
|
29
29
|
/** `PROC_LIMITS.maxConsecutiveWaits`. */
|
|
30
30
|
maxConsecutiveWaits: number;
|
|
31
31
|
/**
|
|
@@ -40,6 +40,17 @@ export interface JobToolDeps {
|
|
|
40
40
|
kind: JobKind;
|
|
41
41
|
status: ServiceStatus;
|
|
42
42
|
} | undefined;
|
|
43
|
+
/** Live view of the wait (`begin` / 1 Hz `update` / `end`); absent for a sub-agent. */
|
|
44
|
+
onWait?: WaitListener;
|
|
45
|
+
/**
|
|
46
|
+
* Runs the whole wait with the idle watchdog paused (`controller.withPausedWatchdog`).
|
|
47
|
+
* Absent in a sub-agent or a fixture: the wait then runs unwrapped, as before.
|
|
48
|
+
*/
|
|
49
|
+
holdWatchdog?: <T>(fn: () => Promise<T>) => Promise<T>;
|
|
50
|
+
/** Ends a wait when the user sends a message (edge-triggered; see `proc/wait.ts`). */
|
|
51
|
+
attention?: WakeSource;
|
|
52
|
+
/** Test seam; defaults to `Date.now`. */
|
|
53
|
+
now?: () => number;
|
|
43
54
|
}
|
|
44
55
|
export declare function makeJobWait(deps: JobToolDeps): AgentTool;
|
|
45
56
|
export declare function makeJobList(deps: JobToolDeps): AgentTool;
|
package/dist/tools/job-tools.js
CHANGED
|
@@ -16,11 +16,13 @@
|
|
|
16
16
|
* reason the feature exists.
|
|
17
17
|
*/
|
|
18
18
|
import { defineTool, errorResult, textResult } from '@aragon-agent/core';
|
|
19
|
-
import { formatDuration } from '
|
|
20
|
-
import {
|
|
19
|
+
import { formatDuration } from '@aragon-agent/tui/model/agent/usage';
|
|
20
|
+
import { PROC_LIMITS } from '@aragon-agent/tui/model/proc/limits';
|
|
21
21
|
import { renderJobNotices } from '../proc/notices.js';
|
|
22
|
-
import { isTerminalStatus } from '
|
|
22
|
+
import { isTerminalStatus } from '@aragon-agent/tui/model/proc/types';
|
|
23
23
|
import { waitForJob } from '../proc/wait.js';
|
|
24
|
+
import { extractEtaText, parseEtaSeconds, suggestWaitSeconds } from '../proc/wait-plan.js';
|
|
25
|
+
import { buildWaitView } from '@aragon-agent/tui/model/proc/wait-view';
|
|
24
26
|
/**
|
|
25
27
|
* Split a page into "completed rows" and "the carry line".
|
|
26
28
|
*
|
|
@@ -38,26 +40,36 @@ function splitCarry(page) {
|
|
|
38
40
|
return last === carry ? { rows: rows.slice(0, -1), carry } : { rows, carry };
|
|
39
41
|
}
|
|
40
42
|
/**
|
|
41
|
-
* Clamp `timeoutSeconds` into `[
|
|
42
|
-
* ceiling (I-4).
|
|
43
|
+
* Clamp `timeoutSeconds` into `[waitMinSeconds, waitMaxSeconds]`.
|
|
43
44
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
* `
|
|
45
|
+
* NOT CONVERGED AGAINST `toolTimeoutMs` (extended-job-wait I-4'): the executor
|
|
46
|
+
* gives `job_wait` its own ceiling and the idle watchdog is paused for the wait.
|
|
47
|
+
* Re-introducing a `toolTimeoutMs` term here silently pins every wait to
|
|
48
|
+
* `toolTimeoutMs - 30s` (150 s by default) with no error.
|
|
49
|
+
*
|
|
50
|
+
* A request over the ceiling is REPORTED (`clampedFrom`) rather than clamped in
|
|
51
|
+
* silence: a model that asked for an hour and is not told otherwise believes it
|
|
52
|
+
* waited one.
|
|
48
53
|
*/
|
|
49
54
|
function clampWaitSeconds(deps, requested) {
|
|
50
55
|
const configured = deps.waitSeconds();
|
|
51
56
|
const asked = requested === undefined || !Number.isFinite(requested) || requested < PROC_LIMITS.waitMinSeconds
|
|
52
57
|
? configured
|
|
53
58
|
: requested;
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
const floored = Math.floor(asked);
|
|
60
|
+
// The floor stays: a fixture or a hand-edited config can hand back < 5, and a
|
|
61
|
+
// sub-5-second "wait" is a poll.
|
|
62
|
+
const seconds = Math.max(PROC_LIMITS.waitMinSeconds, Math.min(floored, PROC_LIMITS.waitMaxSeconds));
|
|
63
|
+
return floored > seconds ? { seconds, clampedFrom: floored } : { seconds };
|
|
64
|
+
}
|
|
65
|
+
/** `45s`, `4m12s`, `10m`: whole seconds, no fractions, for prose lines. */
|
|
66
|
+
function spanText(seconds) {
|
|
67
|
+
const whole = Math.max(0, Math.round(seconds));
|
|
68
|
+
if (whole < 60)
|
|
69
|
+
return `${whole}s`;
|
|
70
|
+
const minutes = Math.floor(whole / 60);
|
|
71
|
+
const rest = whole % 60;
|
|
72
|
+
return rest === 0 ? `${minutes}m` : `${minutes}m${String(rest).padStart(2, '0')}s`;
|
|
61
73
|
}
|
|
62
74
|
/** `JOB t3 task running 12m34s` - the one header grammar for every outcome. */
|
|
63
75
|
function headerLine(job, nowMs) {
|
|
@@ -100,6 +112,7 @@ function renderJobBlock(args) {
|
|
|
100
112
|
fixed.push(stalled);
|
|
101
113
|
if (args.truncatedNote !== undefined)
|
|
102
114
|
fixed.push(args.truncatedNote);
|
|
115
|
+
fixed.push(...args.extraNotes);
|
|
103
116
|
const tail = [`[cursor ${cursor}]`];
|
|
104
117
|
if (terminal) {
|
|
105
118
|
tail.push(`[done] the job finished. Read more with bash_output({ service: "${job.id}" }) if you need it.`);
|
|
@@ -107,8 +120,14 @@ function renderJobBlock(args) {
|
|
|
107
120
|
else {
|
|
108
121
|
const quiet = formatDuration(Math.max(0, nowMs - job.lastOutputAt));
|
|
109
122
|
tail.push(`[wait ${args.waitSeconds}s] still running. No output for ${quiet}.`);
|
|
110
|
-
|
|
111
|
-
|
|
123
|
+
// THE SUGGESTION RIDES ONLY WHEN IT DIFFERS FROM THE DEFAULT, so a short job on
|
|
124
|
+
// the default config gets the byte-identical line it always got (AC-20).
|
|
125
|
+
const timeoutClause = args.suggestedSeconds !== undefined ? `, timeoutSeconds: ${args.suggestedSeconds}` : '';
|
|
126
|
+
const etaClause = args.suggestedSeconds !== undefined && args.etaText !== undefined
|
|
127
|
+
? ` (ETA about ${args.etaText})`
|
|
128
|
+
: '';
|
|
129
|
+
tail.push(`[next] job_wait({ job: "${job.id}", since: ${cursor}${timeoutClause} }) ` +
|
|
130
|
+
`to keep waiting${etaClause}, or continue with other work.`);
|
|
112
131
|
}
|
|
113
132
|
// TWELVE LINES, AND THE ROW BLOCK IS THE ONLY ELASTIC PART. Its header costs a
|
|
114
133
|
// line of its own, so the budget is computed with it already deducted; a stalled
|
|
@@ -157,15 +176,21 @@ export function makeJobWait(deps) {
|
|
|
157
176
|
label: 'Wait for job',
|
|
158
177
|
description: 'Wait a bounded time for a background job (service or task) and return its ' +
|
|
159
178
|
'status, one line of progress, and only the output since `since`. Returns ' +
|
|
160
|
-
'immediately when the job is already finished. Waiting is bounded
|
|
161
|
-
|
|
179
|
+
'immediately when the job is already finished. Waiting is bounded ' +
|
|
180
|
+
`(${PROC_LIMITS.waitMinSeconds}-${PROC_LIMITS.waitMaxSeconds}s). The wait ends early ` +
|
|
181
|
+
'when the job finishes or when the user sends a message, so prefer ONE long wait ' +
|
|
182
|
+
'over several short ones.',
|
|
162
183
|
parameters: {
|
|
163
184
|
type: 'object',
|
|
164
185
|
properties: {
|
|
165
|
-
job: {
|
|
186
|
+
job: {
|
|
187
|
+
type: 'string',
|
|
188
|
+
description: '"t3", "s1", "all" (until every live job ends) or "any" (until the first ends).',
|
|
189
|
+
},
|
|
166
190
|
timeoutSeconds: {
|
|
167
191
|
type: 'number',
|
|
168
|
-
description:
|
|
192
|
+
description: `${PROC_LIMITS.waitMinSeconds}-${PROC_LIMITS.waitMaxSeconds}. Omit for the ` +
|
|
193
|
+
'configured default. Use the [next] suggestion or the job\'s ETA for long jobs.',
|
|
169
194
|
},
|
|
170
195
|
since: {
|
|
171
196
|
type: 'number',
|
|
@@ -174,35 +199,113 @@ export function makeJobWait(deps) {
|
|
|
174
199
|
},
|
|
175
200
|
required: ['job'],
|
|
176
201
|
},
|
|
177
|
-
async execute(
|
|
202
|
+
async execute(toolCallId, rawParams, ctx) {
|
|
178
203
|
const params = rawParams;
|
|
179
204
|
const requested = String(params.job);
|
|
180
|
-
const
|
|
205
|
+
const mode = requested === 'any' ? 'any' : 'all';
|
|
206
|
+
const targets = requested === 'all' || requested === 'any'
|
|
181
207
|
? deps.supervisor.list().filter(isLive).map((job) => job.id)
|
|
182
208
|
: [requested];
|
|
183
|
-
if (requested !== 'all' && !deps.supervisor.get(requested)) {
|
|
209
|
+
if (requested !== 'all' && requested !== 'any' && !deps.supervisor.get(requested)) {
|
|
184
210
|
return unknownJobMessage(deps, requested);
|
|
185
211
|
}
|
|
186
212
|
if (targets.length === 0) {
|
|
187
213
|
return textResult('No background jobs are running. Start one with ' +
|
|
188
214
|
'bash({ command, background: true }).');
|
|
189
215
|
}
|
|
190
|
-
const
|
|
191
|
-
const
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
216
|
+
const now = deps.now ?? Date.now;
|
|
217
|
+
const { seconds: waitSeconds, clampedFrom } = clampWaitSeconds(deps, params.timeoutSeconds);
|
|
218
|
+
const waitStartedAt = now();
|
|
219
|
+
const stallSeconds = deps.stallSeconds();
|
|
220
|
+
const snapshotsOf = () => targets.flatMap((id) => deps.supervisor.get(id) ?? []);
|
|
221
|
+
const viewAt = (nowMs) => buildWaitView({
|
|
222
|
+
toolCallId,
|
|
223
|
+
snapshots: snapshotsOf(),
|
|
224
|
+
mode,
|
|
225
|
+
waitStartedAt,
|
|
226
|
+
upToMs: waitSeconds * 1000,
|
|
227
|
+
nowMs,
|
|
228
|
+
stallSeconds,
|
|
196
229
|
});
|
|
230
|
+
const emit = (type, nowMs) => {
|
|
231
|
+
const view = viewAt(nowMs);
|
|
232
|
+
if (view === undefined || deps.onWait === undefined)
|
|
233
|
+
return;
|
|
234
|
+
try {
|
|
235
|
+
deps.onWait({ type, toolCallId, view });
|
|
236
|
+
}
|
|
237
|
+
catch {
|
|
238
|
+
// A broken view must never break (or even slow) a 20-minute wait (I-6).
|
|
239
|
+
}
|
|
240
|
+
};
|
|
241
|
+
// `begin` ONLY WHEN THERE IS SOMETHING TO WATCH: a wait whose targets have all
|
|
242
|
+
// ended already returns synchronously, and a card that flashes for zero
|
|
243
|
+
// frames is noise (RV-4). `any` needs only ONE ended target to be over.
|
|
244
|
+
const live = snapshotsOf().filter(isLive);
|
|
245
|
+
const alreadyDone = mode === 'any' ? live.length < targets.length : live.length === 0;
|
|
246
|
+
const announce = deps.onWait !== undefined && live.length > 0 && !alreadyDone;
|
|
247
|
+
if (announce)
|
|
248
|
+
emit('begin', waitStartedAt);
|
|
249
|
+
const hold = deps.holdWatchdog ?? ((fn) => fn());
|
|
250
|
+
let endReason = 'abort';
|
|
251
|
+
let outcome;
|
|
252
|
+
try {
|
|
253
|
+
outcome = await hold(() => waitForJob(deps.supervisor, {
|
|
254
|
+
targets,
|
|
255
|
+
timeoutMs: waitSeconds * 1000,
|
|
256
|
+
mode,
|
|
257
|
+
...(ctx.signal ? { signal: ctx.signal } : {}),
|
|
258
|
+
...(params.since !== undefined ? { since: params.since } : {}),
|
|
259
|
+
...(deps.attention ? { wakeOn: deps.attention } : {}),
|
|
260
|
+
// ALWAYS INSTALLED, announced or not: the beat is also the wall-clock
|
|
261
|
+
// deadline re-check (proc/wait.ts rule 5), which a headless run needs
|
|
262
|
+
// after a laptop sleep just as much as the TUI does.
|
|
263
|
+
heartbeat: {
|
|
264
|
+
everyMs: PROC_LIMITS.waitHeartbeatMs,
|
|
265
|
+
onBeat: (nowMs) => {
|
|
266
|
+
if (announce)
|
|
267
|
+
emit('update', nowMs);
|
|
268
|
+
},
|
|
269
|
+
},
|
|
270
|
+
}, now));
|
|
271
|
+
endReason = outcome.aborted
|
|
272
|
+
? 'abort'
|
|
273
|
+
: outcome.woken
|
|
274
|
+
? 'wake'
|
|
275
|
+
: outcome.timedOut
|
|
276
|
+
? 'timeout'
|
|
277
|
+
: 'terminal';
|
|
278
|
+
}
|
|
279
|
+
finally {
|
|
280
|
+
// EVERY EXIT, INCLUDING A THROW (I-5): a missed `end` leaves a card that says
|
|
281
|
+
// "waiting" for a wait that is over, forever.
|
|
282
|
+
if (announce && deps.onWait) {
|
|
283
|
+
try {
|
|
284
|
+
deps.onWait({ type: 'end', toolCallId, reason: endReason });
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// see above
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
197
291
|
if (outcome.aborted) {
|
|
198
292
|
return errorResult(`The wait on ${targets.join(', ')} was aborted after ` +
|
|
199
293
|
`${formatDuration(outcome.waitedMs)}. The job was not stopped; ` +
|
|
200
294
|
'call job_wait again when you want to keep waiting.');
|
|
201
295
|
}
|
|
202
|
-
|
|
203
|
-
const
|
|
296
|
+
// `[woke]` and `[note]` describe the WAIT, not a job: one of each per result.
|
|
297
|
+
const waitNotes = [];
|
|
298
|
+
if (outcome.woken) {
|
|
299
|
+
waitNotes.push(`[woke] you sent a message; the wait ended after ${spanText(outcome.waitedMs / 1000)} ` +
|
|
300
|
+
`of ${spanText(waitSeconds)}. The job is still running. Queued input is delivered next.`);
|
|
301
|
+
}
|
|
302
|
+
if (clampedFrom !== undefined) {
|
|
303
|
+
waitNotes.push(`[note] timeoutSeconds ${clampedFrom} exceeds the ${PROC_LIMITS.waitMaxSeconds}s ` +
|
|
304
|
+
`ceiling; waited up to ${PROC_LIMITS.waitMaxSeconds}s.`);
|
|
305
|
+
}
|
|
306
|
+
const nowMs = now();
|
|
204
307
|
const blocks = [];
|
|
205
|
-
for (const job of outcome.jobs) {
|
|
308
|
+
for (const [blockIndex, job] of outcome.jobs.entries()) {
|
|
206
309
|
const page = outcome.pages.get(job.id);
|
|
207
310
|
// THE CARRY LINE IS NOT AN INCREMENT WHEN IT HAS NOT MOVED (RV-P1-5). A
|
|
208
311
|
// carriage-return-rewritten progress bar completes no rows, so the ring
|
|
@@ -227,12 +330,29 @@ export function makeJobWait(deps) {
|
|
|
227
330
|
const progressUnchanged = hasBaseline && current === previous;
|
|
228
331
|
const newRows = shownRows.length;
|
|
229
332
|
const advanced = !hasBaseline || newRows > 0 || !progressUnchanged;
|
|
230
|
-
|
|
333
|
+
// A wait the USER cut short says nothing about the job: it neither advances
|
|
334
|
+
// nor extends the silence count.
|
|
335
|
+
memoryForJob.noChange = advanced
|
|
336
|
+
? 0
|
|
337
|
+
: outcome.woken
|
|
338
|
+
? memoryForJob.noChange
|
|
339
|
+
: memoryForJob.noChange + 1;
|
|
231
340
|
if (current !== undefined)
|
|
232
341
|
memoryForJob.lastProgress = current;
|
|
233
342
|
if (carry.length > 0)
|
|
234
343
|
memoryForJob.lastCarry = carry;
|
|
344
|
+
memoryForJob.lastWaitSeconds = waitSeconds;
|
|
235
345
|
memory.set(job.id, memoryForJob);
|
|
346
|
+
// ADVICE, NEVER ENFORCED (I-13): shown only when it differs from the default.
|
|
347
|
+
const suggested = suggestWaitSeconds({
|
|
348
|
+
jobAgeMs: nowMs - job.startedAt,
|
|
349
|
+
lastWaitSeconds: waitSeconds,
|
|
350
|
+
quietWaits: memoryForJob.noChange,
|
|
351
|
+
etaSeconds: parseEtaSeconds(current),
|
|
352
|
+
configuredSeconds: deps.waitSeconds(),
|
|
353
|
+
minSeconds: PROC_LIMITS.waitMinSeconds,
|
|
354
|
+
maxSeconds: PROC_LIMITS.waitMaxSeconds,
|
|
355
|
+
});
|
|
236
356
|
// THE SPIN GUARD (R-3): counted per job, reset by ANY change. It never
|
|
237
357
|
// refuses the wait; it prepends one line naming four ways out.
|
|
238
358
|
const guard = memoryForJob.noChange >= deps.maxConsecutiveWaits
|
|
@@ -252,6 +372,9 @@ export function makeJobWait(deps) {
|
|
|
252
372
|
stalledSeconds: stallSeconds,
|
|
253
373
|
waitSeconds,
|
|
254
374
|
progressUnchanged,
|
|
375
|
+
extraNotes: blockIndex === 0 ? waitNotes : [],
|
|
376
|
+
suggestedSeconds: suggested !== deps.waitSeconds() ? suggested : undefined,
|
|
377
|
+
etaText: extractEtaText(current),
|
|
255
378
|
truncatedNote: page?.truncated === true
|
|
256
379
|
? '[note] older rows were dropped - the tail keeps the last ' +
|
|
257
380
|
`${PROC_LIMITS.serviceTailRows} rows` +
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* selected by whether an optional install step succeeded.
|
|
18
18
|
*/
|
|
19
19
|
import { type AgentTool } from '@aragon-agent/core';
|
|
20
|
-
import { type HumanInputGate, type NormalizedPlan, type NormalizedQuestion } from '
|
|
20
|
+
import { type HumanInputGate, type NormalizedPlan, type NormalizedQuestion } from '@aragon-agent/tui/model/tools/human-input';
|
|
21
21
|
export interface PlanToolsOptions {
|
|
22
22
|
gate: HumanInputGate;
|
|
23
23
|
/**
|
package/dist/tools/plan-tools.js
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* selected by whether an optional install step succeeded.
|
|
18
18
|
*/
|
|
19
19
|
import { errorResult, textResult } from '@aragon-agent/core';
|
|
20
|
-
import { formatAnswersResult, normalizePlan, normalizeQuestions, } from '
|
|
20
|
+
import { formatAnswersResult, normalizePlan, normalizeQuestions, } from '@aragon-agent/tui/model/tools/human-input';
|
|
21
21
|
// ---------------------------------------------------------------------------
|
|
22
22
|
// Shared refusal text
|
|
23
23
|
// ---------------------------------------------------------------------------
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
* command is still arbitrary.
|
|
18
18
|
*/
|
|
19
19
|
import { type AgentTool } from '@aragon-agent/core';
|
|
20
|
-
import { type ProcSupervisorPort } from '
|
|
20
|
+
import { type ProcSupervisorPort } from '@aragon-agent/tui/model/proc/types';
|
|
21
21
|
export interface ProcToolDeps {
|
|
22
22
|
supervisor: ProcSupervisorPort;
|
|
23
23
|
}
|
package/dist/tools/proc-tools.js
CHANGED
|
@@ -17,8 +17,8 @@
|
|
|
17
17
|
* command is still arbitrary.
|
|
18
18
|
*/
|
|
19
19
|
import { defineTool, errorResult, textResult } from '@aragon-agent/core';
|
|
20
|
-
import { PROC_LIMITS } from '
|
|
21
|
-
import { isTerminalStatus } from '
|
|
20
|
+
import { PROC_LIMITS } from '@aragon-agent/tui/model/proc/limits';
|
|
21
|
+
import { isTerminalStatus } from '@aragon-agent/tui/model/proc/types';
|
|
22
22
|
/**
|
|
23
23
|
* One line of status, shared by both tools so the two can never disagree.
|
|
24
24
|
*
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* advice hits the same held handle and fails identically, so the single visible
|
|
16
16
|
* failure is also a wrong instruction.
|
|
17
17
|
*/
|
|
18
|
-
import type { UpdateReason } from '
|
|
18
|
+
import type { UpdateReason } from '@aragon-agent/tui/model/update/types';
|
|
19
19
|
/**
|
|
20
20
|
* Classify an install failure from the bounded stderr tail `runNpmInstall`
|
|
21
21
|
* already returns.
|
|
@@ -24,7 +24,7 @@ import { hostname } from 'node:os';
|
|
|
24
24
|
import process from 'node:process';
|
|
25
25
|
import { getUpdateLockPath } from '../config/app-paths.js';
|
|
26
26
|
import { LOCK_UNREADABLE_CONFIRMATIONS } from '../skills/lock.js';
|
|
27
|
-
import { UPDATE_LIMITS } from '
|
|
27
|
+
import { UPDATE_LIMITS } from '@aragon-agent/tui/model/update/limits';
|
|
28
28
|
/**
|
|
29
29
|
* `ESRCH` means gone. `EPERM` means the process EXISTS but belongs to another
|
|
30
30
|
* user - treating that as dead would let one user steal another's lock, so it
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* service auto-installs for exactly one classification and degrades everything
|
|
13
13
|
* else to a one-line notice carrying the correct command for THAT manager.
|
|
14
14
|
*/
|
|
15
|
-
import type { InstallSource } from '
|
|
15
|
+
import type { InstallSource } from '@aragon-agent/tui/model/update/types';
|
|
16
16
|
/** The package this CLI publishes as. Read from the manifest, never hardcoded
|
|
17
17
|
* into the registry URL, so a fork keeps working (U-1). */
|
|
18
18
|
export interface SelfManifest {
|
package/dist/update/installer.js
CHANGED
|
@@ -35,9 +35,9 @@ import { closeSync, existsSync, openSync, readFileSync, rmSync, statSync } from
|
|
|
35
35
|
import { dirname, resolve } from 'node:path';
|
|
36
36
|
import process from 'node:process';
|
|
37
37
|
import { getUpdateInstallLogPath } from '../config/app-paths.js';
|
|
38
|
-
import { UPDATE_LIMITS } from '
|
|
38
|
+
import { UPDATE_LIMITS } from '@aragon-agent/tui/model/update/limits';
|
|
39
39
|
import { readSelfManifest } from './install-source.js';
|
|
40
|
-
import { STRICT_VERSION_RE } from '
|
|
40
|
+
import { STRICT_VERSION_RE } from '@aragon-agent/tui/model/update/semver';
|
|
41
41
|
/**
|
|
42
42
|
* Where npm's JS entry point lives, or `null`.
|
|
43
43
|
*
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
* written nothing, a killed `npm install -g` has left a broken global install.
|
|
23
23
|
*/
|
|
24
24
|
import { type ExecFileOptions } from 'node:child_process';
|
|
25
|
-
import type { LatestManifest } from '
|
|
25
|
+
import type { LatestManifest } from '@aragon-agent/tui/model/update/types';
|
|
26
26
|
/** The `execFile` shape this module needs. Injectable so no test spawns npm. */
|
|
27
27
|
export type ExecFileImpl = (file: string, args: string[], options: ExecFileOptions, callback: (error: Error | null, stdout: string, stderr: string) => void) => unknown;
|
|
28
28
|
export interface NpmViewDeps {
|
package/dist/update/npm-view.js
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
import { execFile } from 'node:child_process';
|
|
25
25
|
import process from 'node:process';
|
|
26
26
|
import { cleanInstallEnv, resolveNpmCli } from './installer.js';
|
|
27
|
-
import { UPDATE_LIMITS } from '
|
|
27
|
+
import { UPDATE_LIMITS } from '@aragon-agent/tui/model/update/limits';
|
|
28
28
|
/**
|
|
29
29
|
* The argv this probe is allowed to build. Exported for AC-47's assertion, on
|
|
30
30
|
* the `buildInstallArgs` precedent.
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* registry users point `update.registry` at a mirror they can read anonymously,
|
|
15
15
|
* or set `update.mode: off`.
|
|
16
16
|
*/
|
|
17
|
-
import type { LatestManifest } from '
|
|
17
|
+
import type { LatestManifest } from '@aragon-agent/tui/model/update/types';
|
|
18
18
|
export declare const DEFAULT_REGISTRY = "https://registry.npmjs.org";
|
|
19
19
|
export interface RegistryDeps {
|
|
20
20
|
fetchImpl?: typeof fetch;
|
package/dist/update/registry.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* or set `update.mode: off`.
|
|
16
16
|
*/
|
|
17
17
|
import process from 'node:process';
|
|
18
|
-
import { UPDATE_LIMITS } from '
|
|
18
|
+
import { UPDATE_LIMITS } from '@aragon-agent/tui/model/update/limits';
|
|
19
19
|
export const DEFAULT_REGISTRY = 'https://registry.npmjs.org';
|
|
20
20
|
/**
|
|
21
21
|
* `config.update.registry` -> `ARAGON_UPDATE_REGISTRY` -> `npm_config_registry`
|