@aragon-agent/cli 0.6.47 → 0.6.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +27 -6
- package/dist/agent/coalesce.d.ts +1 -1
- package/dist/agent/controller.d.ts +21 -21
- package/dist/agent/controller.js +13 -13
- package/dist/agent/conversation-reset.d.ts +1 -1
- package/dist/agent/governance-wiring.d.ts +6 -6
- package/dist/agent/governance-wiring.js +4 -4
- package/dist/agent/headless.d.ts +5 -5
- package/dist/agent/headless.js +4 -4
- package/dist/agent/job-notices.d.ts +1 -1
- package/dist/agent/job-notices.js +1 -1
- package/dist/agent/kit-apply.d.ts +3 -3
- package/dist/agent/kit-apply.js +3 -3
- package/dist/agent/model-profile-settings.d.ts +2 -2
- package/dist/agent/model-profile-settings.js +6 -6
- package/dist/agent/prompt-options.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/{ui → app}/App.d.ts +9 -9
- package/dist/{ui → app}/App.js +79 -79
- package/dist/{ui → app}/use-startup-notices.d.ts +1 -1
- package/dist/{ui → app}/use-startup-notices.js +2 -2
- package/dist/cli.js +29 -29
- package/dist/commands/agents-command.js +1 -1
- package/dist/commands/builtins.js +9 -9
- package/dist/commands/governance-command.js +2 -2
- package/dist/commands/governance-runs-table.js +1 -1
- package/dist/commands/kit-command.js +1 -1
- package/dist/commands/perf.d.ts +3 -3
- package/dist/commands/perf.js +1 -1
- package/dist/commands/registry.d.ts +8 -8
- package/dist/commands/skills.js +2 -2
- package/dist/commands/team-command.js +1 -1
- package/dist/compaction/archive.d.ts +1 -1
- package/dist/compaction/archive.js +1 -1
- package/dist/compaction/child.d.ts +3 -3
- package/dist/compaction/child.js +4 -4
- package/dist/compaction/command.js +5 -5
- package/dist/compaction/compactor.d.ts +6 -6
- package/dist/compaction/compactor.js +6 -6
- package/dist/compaction/context-command.js +1 -1
- package/dist/compaction/digest.js +1 -1
- package/dist/compaction/memory-input.js +1 -1
- package/dist/compaction/memory-validation.js +1 -1
- package/dist/compaction/memory.js +1 -1
- package/dist/compaction/summarize-call.js +1 -1
- package/dist/compaction/summary-prompt.js +1 -1
- package/dist/compaction/tail-budget.js +2 -2
- package/dist/compaction/wiring.d.ts +5 -5
- package/dist/compaction/wiring.js +2 -2
- package/dist/config/cli-commands.d.ts +1 -1
- package/dist/config/cli-commands.js +3 -3
- package/dist/config/env.d.ts +1 -1
- package/dist/config/env.js +4 -4
- package/dist/config/load.d.ts +2 -2
- package/dist/config/load.js +6 -6
- package/dist/config/migrate-state-out-of-config.js +1 -1
- package/dist/config/model-profile-store.d.ts +4 -54
- package/dist/config/model-profile-store.js +3 -3
- package/dist/config/prompt-history.js +1 -1
- package/dist/config/store.d.ts +2 -2
- package/dist/config/store.js +3 -3
- package/dist/diagnostics/doctor.js +4 -4
- package/dist/exec/bridge/decisions.d.ts +1 -1
- package/dist/exec/bridge/human-answers.d.ts +1 -1
- package/dist/exec/bridge/human-answers.js +1 -1
- package/dist/exec/bridge/protocol.d.ts +1 -1
- package/dist/exec/bridge/server.js +1 -1
- package/dist/exec/events.d.ts +2 -2
- package/dist/exec/index.d.ts +1 -1
- package/dist/exec/index.js +1 -1
- package/dist/exec/permission.js +1 -1
- package/dist/exec/runner.d.ts +3 -3
- package/dist/exec/runner.js +2 -2
- package/dist/exec/threads/runtime.js +1 -1
- package/dist/fast/digest.d.ts +1 -1
- package/dist/fast/digest.js +1 -1
- package/dist/fast/frames.d.ts +1 -1
- package/dist/fast/frames.js +1 -1
- package/dist/fast/prompt.d.ts +1 -1
- package/dist/fast/prompt.js +1 -1
- package/dist/fast/review-call.js +1 -1
- package/dist/fast/reviewer.d.ts +3 -3
- package/dist/fast/reviewer.js +1 -1
- package/dist/fast/summary-call.d.ts +3 -3
- package/dist/fast/summary-call.js +2 -2
- package/dist/fast/summary-prompt.d.ts +1 -1
- package/dist/fast/summary-prompt.js +1 -1
- package/dist/fast/wiring.d.ts +4 -4
- package/dist/fast/wiring.js +1 -1
- package/dist/governance/card-normalize.d.ts +1 -1
- package/dist/governance/copy.d.ts +1 -1
- package/dist/governance/copy.js +2 -2
- package/dist/governance/engine/artifact-persist.d.ts +1 -1
- package/dist/governance/engine/budget.d.ts +1 -1
- package/dist/governance/engine/budget.js +1 -1
- package/dist/governance/engine/cards.d.ts +1 -1
- package/dist/governance/engine/digest.js +1 -1
- package/dist/governance/engine/engine-core.d.ts +5 -5
- package/dist/governance/engine/engine-core.js +1 -1
- package/dist/governance/engine/engine.d.ts +1 -1
- package/dist/governance/engine/engine.js +1 -1
- package/dist/governance/engine/estimate.d.ts +1 -1
- package/dist/governance/engine/estimate.js +1 -1
- package/dist/governance/engine/inspector.js +2 -2
- package/dist/governance/engine/integration.d.ts +1 -1
- package/dist/governance/engine/lifecycle.d.ts +1 -1
- package/dist/governance/engine/lifecycle.js +1 -1
- package/dist/governance/engine/phase-members.d.ts +1 -1
- package/dist/governance/engine/phase-planner.d.ts +1 -1
- package/dist/governance/engine/phase-planner.js +1 -1
- package/dist/governance/engine/rebuild.d.ts +1 -1
- package/dist/governance/engine/report.d.ts +1 -1
- package/dist/governance/engine/report.js +1 -1
- package/dist/governance/engine/run-digest.d.ts +1 -1
- package/dist/governance/engine/spec-builder.d.ts +2 -2
- package/dist/governance/engine/spec-builder.js +2 -2
- package/dist/governance/engine/stage-runner.js +2 -2
- package/dist/governance/engine/start-input.d.ts +1 -1
- package/dist/governance/engine/start-input.js +1 -1
- package/dist/governance/engine/state-machine.d.ts +1 -1
- package/dist/governance/engine/state-machine.js +3 -3
- package/dist/governance/engine/submission-queries.d.ts +1 -1
- package/dist/governance/engine/submission-render.d.ts +1 -1
- package/dist/governance/engine/submissions.d.ts +1 -1
- package/dist/governance/engine/submissions.js +1 -1
- package/dist/governance/engine/visibility.d.ts +1 -1
- package/dist/governance/engine/visibility.js +1 -1
- package/dist/governance/posture-transition.d.ts +2 -2
- package/dist/governance/posture-transition.js +1 -1
- package/dist/governance/profiles.d.ts +1 -1
- package/dist/governance/prompts/orchestrator-block.d.ts +2 -2
- package/dist/governance/prompts/orchestrator-block.js +2 -2
- package/dist/governance/prompts/plan-addendum.d.ts +1 -1
- package/dist/governance/prompts/plan-addendum.js +1 -1
- package/dist/governance/prompts/role-blocks.d.ts +2 -2
- package/dist/governance/prompts/role-blocks.js +1 -1
- package/dist/governance/report-reader.js +1 -1
- package/dist/governance/roles.d.ts +1 -1
- package/dist/governance/rules/claims.d.ts +1 -1
- package/dist/governance/rules/claims.js +1 -1
- package/dist/governance/rules/elimination.d.ts +1 -1
- package/dist/governance/rules/elimination.js +1 -1
- package/dist/governance/rules/failure-analysis.d.ts +2 -2
- package/dist/governance/rules/failure-analysis.js +1 -1
- package/dist/governance/rules/ledger-replay.d.ts +1 -1
- package/dist/governance/rules/ledger-state.d.ts +1 -1
- package/dist/governance/rules/ledger-state.js +1 -1
- package/dist/governance/rules/ledger.d.ts +2 -2
- package/dist/governance/rules/ledger.js +2 -2
- package/dist/governance/rules/rca.d.ts +1 -1
- package/dist/governance/rules/rca.js +1 -1
- package/dist/governance/rules/settlement.d.ts +2 -2
- package/dist/governance/rules/settlement.js +2 -2
- package/dist/governance/rules/suspicion.d.ts +1 -1
- package/dist/governance/store/artifacts.d.ts +1 -1
- package/dist/governance/store/artifacts.js +1 -1
- package/dist/governance/store/events-log.d.ts +1 -1
- package/dist/governance/store/run-store.d.ts +1 -1
- package/dist/governance/store/run-store.js +1 -1
- package/dist/governance/store/scoreboard-export.d.ts +1 -1
- package/dist/governance/tools/child-tools.d.ts +1 -1
- package/dist/governance/tools/guard.d.ts +1 -1
- package/dist/governance/tools/guard.js +1 -1
- package/dist/governance/tools/inspector-tools.d.ts +2 -2
- package/dist/governance/tools/inspector-tools.js +2 -2
- package/dist/governance/tools/lead-tools.d.ts +1 -1
- package/dist/governance/tools/lead-tools.js +1 -1
- package/dist/governance/tools/normalize-util.js +1 -1
- package/dist/governance/tools/scan-incomplete.js +1 -1
- package/dist/governance/tools/shared-tools.d.ts +1 -1
- package/dist/governance/tools/shared-tools.js +1 -1
- package/dist/governance/tools/submit-normalizers.d.ts +1 -1
- package/dist/governance/tools/submit-normalizers.js +1 -1
- package/dist/governance/tools/submit-tools.d.ts +1 -1
- package/dist/logging/cli-commands.js +1 -1
- package/dist/logging/install.d.ts +1 -1
- package/dist/logging/install.js +3 -3
- package/dist/logging/logger.d.ts +2 -2
- package/dist/logging/logger.js +31 -2
- package/dist/proc/kill-tree.js +1 -1
- package/dist/proc/log-mirror.js +1 -1
- package/dist/proc/log-ring.js +2 -2
- package/dist/proc/notices.d.ts +1 -1
- package/dist/proc/notices.js +2 -2
- package/dist/proc/prompt.d.ts +1 -1
- package/dist/proc/prompt.js +1 -1
- package/dist/proc/readiness.js +1 -1
- package/dist/proc/supervisor.d.ts +1 -1
- package/dist/proc/supervisor.js +3 -3
- package/dist/proc/wait.d.ts +1 -1
- package/dist/proc/wait.js +1 -1
- package/dist/prompts/command.d.ts +1 -1
- package/dist/prompts/command.js +1 -1
- package/dist/prompts/normalize.d.ts +1 -1
- package/dist/prompts/normalize.js +1 -1
- package/dist/prompts/resolve.d.ts +1 -1
- package/dist/prompts/store.d.ts +2 -12
- package/dist/prompts/store.js +6 -60
- package/dist/session/checkpoint.d.ts +2 -2
- package/dist/session/clear-archive.d.ts +2 -2
- package/dist/session/persist.d.ts +2 -2
- package/dist/session/persist.js +1 -1
- package/dist/session/startup-session.d.ts +2 -2
- package/dist/session/validate-session.js +3 -3
- package/dist/skills/service.d.ts +2 -2
- package/dist/team/bus.d.ts +1 -1
- package/dist/team/bus.js +1 -1
- package/dist/team/child-reviewer.d.ts +2 -2
- package/dist/team/child-reviewer.js +1 -1
- package/dist/team/comm-tools.js +1 -1
- package/dist/team/dispatch-gate.js +1 -1
- package/dist/team/forced-dispatch.js +1 -1
- package/dist/team/forced-mode.d.ts +1 -1
- package/dist/team/forced-prompt.d.ts +1 -1
- package/dist/team/forced-prompt.js +1 -1
- package/dist/team/normalize.d.ts +1 -1
- package/dist/team/normalize.js +1 -1
- package/dist/team/overseer.d.ts +3 -3
- package/dist/team/overseer.js +3 -3
- package/dist/team/prompt.d.ts +1 -1
- package/dist/team/prompt.js +1 -1
- package/dist/team/report.d.ts +2 -2
- package/dist/team/report.js +2 -2
- package/dist/team/retry.d.ts +1 -1
- package/dist/team/retry.js +1 -1
- package/dist/team/runtime.d.ts +4 -4
- package/dist/team/runtime.js +2 -2
- package/dist/team/settled.d.ts +2 -2
- package/dist/team/subagent.d.ts +4 -4
- package/dist/team/subagent.js +5 -5
- package/dist/team/task-tool.d.ts +1 -1
- package/dist/team/task-tool.js +1 -1
- package/dist/todo/normalize.d.ts +1 -1
- package/dist/todo/normalize.js +1 -1
- package/dist/todo/prompt.d.ts +1 -1
- package/dist/todo/prompt.js +1 -1
- package/dist/todo/store.d.ts +1 -1
- package/dist/todo/store.js +2 -2
- package/dist/todo/todo-tool.d.ts +1 -1
- package/dist/todo/todo-tool.js +2 -2
- package/dist/tools/bash-tool.d.ts +1 -1
- package/dist/tools/bash-tool.js +2 -2
- package/dist/tools/diff.d.ts +1 -1
- package/dist/tools/diff.js +1 -1
- package/dist/tools/file-change-store.d.ts +1 -1
- package/dist/tools/fs-tools.d.ts +2 -2
- package/dist/tools/fs-tools.js +1 -1
- package/dist/tools/index.d.ts +3 -3
- package/dist/tools/index.js +1 -1
- package/dist/tools/job-tools.d.ts +2 -2
- package/dist/tools/job-tools.js +4 -4
- package/dist/tools/plan-tools.d.ts +1 -1
- package/dist/tools/plan-tools.js +1 -1
- package/dist/tools/proc-tools.d.ts +1 -1
- package/dist/tools/proc-tools.js +2 -2
- package/dist/update/classify-failure.d.ts +1 -1
- package/dist/update/install-lock.js +1 -1
- package/dist/update/install-source.d.ts +1 -1
- package/dist/update/installer.js +2 -2
- package/dist/update/npm-view.d.ts +1 -1
- package/dist/update/npm-view.js +1 -1
- package/dist/update/registry.d.ts +1 -1
- package/dist/update/registry.js +1 -1
- package/dist/update/service.d.ts +2 -2
- package/dist/update/service.js +2 -2
- package/package.json +7 -7
- package/dist/agent/agent-mode.d.ts +0 -108
- package/dist/agent/agent-mode.js +0 -121
- package/dist/agent/entry-limits.d.ts +0 -65
- package/dist/agent/entry-limits.js +0 -133
- package/dist/agent/governance-view.d.ts +0 -40
- package/dist/agent/governance-view.js +0 -40
- package/dist/agent/invocation-card.d.ts +0 -77
- package/dist/agent/invocation-card.js +0 -169
- package/dist/agent/model-probe-limits.d.ts +0 -39
- package/dist/agent/model-probe-limits.js +0 -25
- package/dist/agent/model-probe.d.ts +0 -104
- package/dist/agent/model-probe.js +0 -391
- package/dist/agent/queued-messages.d.ts +0 -23
- package/dist/agent/queued-messages.js +0 -49
- package/dist/agent/reducer.d.ts +0 -857
- package/dist/agent/reducer.js +0 -1646
- package/dist/agent/retry-view.d.ts +0 -68
- package/dist/agent/retry-view.js +0 -95
- package/dist/agent/usage.d.ts +0 -47
- package/dist/agent/usage.js +0 -84
- package/dist/compaction/limits.d.ts +0 -61
- package/dist/compaction/limits.js +0 -64
- package/dist/compaction/meter.d.ts +0 -276
- package/dist/compaction/meter.js +0 -512
- package/dist/compaction/pressure.d.ts +0 -163
- package/dist/compaction/pressure.js +0 -199
- package/dist/compaction/reason-text.d.ts +0 -36
- package/dist/compaction/reason-text.js +0 -78
- package/dist/compaction/types.d.ts +0 -360
- package/dist/compaction/types.js +0 -22
- package/dist/config/governance-config.d.ts +0 -125
- package/dist/config/governance-config.js +0 -164
- package/dist/config/kit-resolution.d.ts +0 -93
- package/dist/config/kit-resolution.js +0 -226
- package/dist/config/model-kits.d.ts +0 -225
- package/dist/config/model-kits.js +0 -302
- package/dist/config/model-profile-resolution.d.ts +0 -28
- package/dist/config/model-profile-resolution.js +0 -88
- package/dist/config/model-profiles.d.ts +0 -103
- package/dist/config/model-profiles.js +0 -188
- package/dist/config/schema.d.ts +0 -1645
- package/dist/config/schema.js +0 -1383
- package/dist/fast/limits.d.ts +0 -152
- package/dist/fast/limits.js +0 -152
- package/dist/fast/resolve.d.ts +0 -44
- package/dist/fast/resolve.js +0 -107
- package/dist/fast/task-summary-types.d.ts +0 -66
- package/dist/fast/task-summary-types.js +0 -17
- package/dist/fast/types.d.ts +0 -141
- package/dist/fast/types.js +0 -14
- package/dist/governance/governed-dispatch.d.ts +0 -19
- package/dist/governance/governed-dispatch.js +0 -17
- package/dist/governance/limits.d.ts +0 -107
- package/dist/governance/limits.js +0 -131
- package/dist/governance/posture.d.ts +0 -35
- package/dist/governance/posture.js +0 -59
- package/dist/governance/rules/events-table.d.ts +0 -46
- package/dist/governance/rules/events-table.js +0 -94
- package/dist/governance/types.d.ts +0 -661
- package/dist/governance/types.js +0 -27
- package/dist/input/control-sequences.d.ts +0 -71
- package/dist/input/control-sequences.js +0 -222
- package/dist/input/csiu-keys.d.ts +0 -66
- package/dist/input/csiu-keys.js +0 -181
- package/dist/input/cursor-report.d.ts +0 -61
- package/dist/input/cursor-report.js +0 -97
- package/dist/input/enter-sequences.d.ts +0 -64
- package/dist/input/enter-sequences.js +0 -153
- package/dist/input/interrupt-gesture.d.ts +0 -18
- package/dist/input/interrupt-gesture.js +0 -19
- package/dist/input/keyboard-enhancement.d.ts +0 -42
- package/dist/input/keyboard-enhancement.js +0 -65
- package/dist/input/keymap.d.ts +0 -20
- package/dist/input/keymap.js +0 -99
- package/dist/input/limits.d.ts +0 -118
- package/dist/input/limits.js +0 -109
- package/dist/input/mouse-events.d.ts +0 -87
- package/dist/input/mouse-events.js +0 -212
- package/dist/input/paste-parse.d.ts +0 -83
- package/dist/input/paste-parse.js +0 -107
- package/dist/input/pointer-router.d.ts +0 -11
- package/dist/input/pointer-router.js +0 -14
- package/dist/input/stdin-filter.d.ts +0 -112
- package/dist/input/stdin-filter.js +0 -657
- package/dist/input/win32-input-mode.d.ts +0 -61
- package/dist/input/win32-input-mode.js +0 -269
- package/dist/logging/levels.d.ts +0 -40
- package/dist/logging/levels.js +0 -59
- package/dist/logging/secret-registry.d.ts +0 -32
- package/dist/logging/secret-registry.js +0 -73
- package/dist/proc/limits.d.ts +0 -214
- package/dist/proc/limits.js +0 -221
- package/dist/proc/progress.d.ts +0 -47
- package/dist/proc/progress.js +0 -163
- package/dist/proc/types.d.ts +0 -269
- package/dist/proc/types.js +0 -15
- package/dist/proc/wait-view.d.ts +0 -65
- package/dist/proc/wait-view.js +0 -66
- package/dist/prompts/copy.d.ts +0 -89
- package/dist/prompts/copy.js +0 -131
- package/dist/prompts/fill.d.ts +0 -51
- package/dist/prompts/fill.js +0 -46
- package/dist/prompts/limits.d.ts +0 -53
- package/dist/prompts/limits.js +0 -53
- package/dist/prompts/search.d.ts +0 -58
- package/dist/prompts/search.js +0 -146
- package/dist/prompts/types.d.ts +0 -204
- package/dist/prompts/types.js +0 -13
- package/dist/team/activity.d.ts +0 -67
- package/dist/team/activity.js +0 -130
- package/dist/team/limits.d.ts +0 -308
- package/dist/team/limits.js +0 -330
- package/dist/team/model.d.ts +0 -104
- package/dist/team/model.js +0 -150
- package/dist/team/panel-rows.d.ts +0 -48
- package/dist/team/panel-rows.js +0 -75
- package/dist/team/timeline.d.ts +0 -74
- package/dist/team/timeline.js +0 -101
- package/dist/team/types.d.ts +0 -354
- package/dist/team/types.js +0 -13
- package/dist/todo/acceptance.d.ts +0 -120
- package/dist/todo/acceptance.js +0 -399
- package/dist/todo/follow-through.d.ts +0 -138
- package/dist/todo/follow-through.js +0 -248
- package/dist/todo/limits.d.ts +0 -152
- package/dist/todo/limits.js +0 -152
- package/dist/todo/panel-rows.d.ts +0 -45
- package/dist/todo/panel-rows.js +0 -70
- package/dist/todo/plan-sections.d.ts +0 -60
- package/dist/todo/plan-sections.js +0 -108
- package/dist/todo/row-window.d.ts +0 -51
- package/dist/todo/row-window.js +0 -107
- package/dist/todo/types.d.ts +0 -124
- package/dist/todo/types.js +0 -12
- package/dist/tools/human-input.d.ts +0 -212
- package/dist/tools/human-input.js +0 -265
- package/dist/tools/patch.d.ts +0 -115
- package/dist/tools/patch.js +0 -453
- package/dist/tools/terminal-output.d.ts +0 -115
- package/dist/tools/terminal-output.js +0 -201
- package/dist/tools/tool-output-store.d.ts +0 -68
- package/dist/tools/tool-output-store.js +0 -102
- package/dist/ui/ActivityLine.d.ts +0 -26
- package/dist/ui/ActivityLine.js +0 -51
- package/dist/ui/AutocompletePopup.d.ts +0 -23
- package/dist/ui/AutocompletePopup.js +0 -17
- package/dist/ui/BottomStatusRow.d.ts +0 -10
- package/dist/ui/BottomStatusRow.js +0 -9
- package/dist/ui/Composer.d.ts +0 -115
- package/dist/ui/Composer.js +0 -64
- package/dist/ui/GovernancePanel.d.ts +0 -50
- package/dist/ui/GovernancePanel.js +0 -77
- package/dist/ui/GovernanceRun.d.ts +0 -18
- package/dist/ui/GovernanceRun.js +0 -11
- package/dist/ui/Header.d.ts +0 -48
- package/dist/ui/Header.js +0 -27
- package/dist/ui/Logo.d.ts +0 -32
- package/dist/ui/Logo.js +0 -65
- package/dist/ui/Markdown.d.ts +0 -29
- package/dist/ui/Markdown.js +0 -116
- package/dist/ui/PromptCaret.d.ts +0 -11
- package/dist/ui/PromptCaret.js +0 -31
- package/dist/ui/PromptInput.d.ts +0 -192
- package/dist/ui/PromptInput.js +0 -689
- package/dist/ui/QueuePanel.d.ts +0 -8
- package/dist/ui/QueuePanel.js +0 -9
- package/dist/ui/QueueStatusRow.d.ts +0 -24
- package/dist/ui/QueueStatusRow.js +0 -51
- package/dist/ui/ScrollbackShell.d.ts +0 -132
- package/dist/ui/ScrollbackShell.js +0 -26
- package/dist/ui/SessionOpener.d.ts +0 -30
- package/dist/ui/SessionOpener.js +0 -12
- package/dist/ui/StatusBar.d.ts +0 -130
- package/dist/ui/StatusBar.js +0 -61
- package/dist/ui/TeamPanel.d.ts +0 -76
- package/dist/ui/TeamPanel.js +0 -103
- package/dist/ui/ToastStack.d.ts +0 -8
- package/dist/ui/ToastStack.js +0 -31
- package/dist/ui/TodoPanel.d.ts +0 -52
- package/dist/ui/TodoPanel.js +0 -214
- package/dist/ui/Transcript.d.ts +0 -105
- package/dist/ui/Transcript.js +0 -258
- package/dist/ui/UpdateLine.d.ts +0 -44
- package/dist/ui/UpdateLine.js +0 -129
- package/dist/ui/activity-phrases.d.ts +0 -33
- package/dist/ui/activity-phrases.js +0 -50
- package/dist/ui/capabilities.d.ts +0 -27
- package/dist/ui/capabilities.js +0 -65
- package/dist/ui/clipboard-task.d.ts +0 -29
- package/dist/ui/clipboard-task.js +0 -66
- package/dist/ui/clipboard.d.ts +0 -31
- package/dist/ui/clipboard.js +0 -157
- package/dist/ui/color-runtime.d.ts +0 -5
- package/dist/ui/color-runtime.js +0 -29
- package/dist/ui/composer-input.d.ts +0 -38
- package/dist/ui/composer-input.js +0 -79
- package/dist/ui/composer-limits.d.ts +0 -30
- package/dist/ui/composer-limits.js +0 -45
- package/dist/ui/composer-rows.d.ts +0 -73
- package/dist/ui/composer-rows.js +0 -129
- package/dist/ui/console-bridge.d.ts +0 -19
- package/dist/ui/console-bridge.js +0 -52
- package/dist/ui/density.d.ts +0 -26
- package/dist/ui/density.js +0 -34
- package/dist/ui/display-tab.d.ts +0 -51
- package/dist/ui/display-tab.js +0 -82
- package/dist/ui/editor-navigation.d.ts +0 -55
- package/dist/ui/editor-navigation.js +0 -96
- package/dist/ui/editor-reducer.d.ts +0 -108
- package/dist/ui/editor-reducer.js +0 -187
- package/dist/ui/enter-frames.d.ts +0 -47
- package/dist/ui/enter-frames.js +0 -117
- package/dist/ui/entries/AssistantEntry.d.ts +0 -37
- package/dist/ui/entries/AssistantEntry.js +0 -43
- package/dist/ui/entries/CompactionCard.d.ts +0 -88
- package/dist/ui/entries/CompactionCard.js +0 -222
- package/dist/ui/entries/DiffView.d.ts +0 -61
- package/dist/ui/entries/DiffView.js +0 -103
- package/dist/ui/entries/EntryFrame.d.ts +0 -23
- package/dist/ui/entries/EntryFrame.js +0 -6
- package/dist/ui/entries/FastCard.d.ts +0 -53
- package/dist/ui/entries/FastCard.js +0 -105
- package/dist/ui/entries/GovernanceCard.d.ts +0 -30
- package/dist/ui/entries/GovernanceCard.js +0 -32
- package/dist/ui/entries/InvocationCard.d.ts +0 -20
- package/dist/ui/entries/InvocationCard.js +0 -32
- package/dist/ui/entries/QueuedEntry.d.ts +0 -27
- package/dist/ui/entries/QueuedEntry.js +0 -33
- package/dist/ui/entries/RetryCard.d.ts +0 -56
- package/dist/ui/entries/RetryCard.js +0 -60
- package/dist/ui/entries/ServiceCard.d.ts +0 -82
- package/dist/ui/entries/ServiceCard.js +0 -151
- package/dist/ui/entries/TeamCard.d.ts +0 -55
- package/dist/ui/entries/TeamCard.js +0 -94
- package/dist/ui/entries/TodoCard.d.ts +0 -54
- package/dist/ui/entries/TodoCard.js +0 -98
- package/dist/ui/entries/ToolCard.d.ts +0 -81
- package/dist/ui/entries/ToolCard.js +0 -169
- package/dist/ui/entries/ToolPreview.d.ts +0 -59
- package/dist/ui/entries/ToolPreview.js +0 -208
- package/dist/ui/entries/UserEntry.d.ts +0 -36
- package/dist/ui/entries/UserEntry.js +0 -57
- package/dist/ui/entries/WaitCard.d.ts +0 -37
- package/dist/ui/entries/WaitCard.js +0 -92
- package/dist/ui/exit-snapshot.d.ts +0 -43
- package/dist/ui/exit-snapshot.js +0 -26
- package/dist/ui/frame-differ.d.ts +0 -166
- package/dist/ui/frame-differ.js +0 -354
- package/dist/ui/frame-observer.d.ts +0 -17
- package/dist/ui/frame-observer.js +0 -94
- package/dist/ui/frame-parser.d.ts +0 -7
- package/dist/ui/frame-parser.js +0 -18
- package/dist/ui/gauge.d.ts +0 -39
- package/dist/ui/gauge.js +0 -55
- package/dist/ui/glyphs.d.ts +0 -178
- package/dist/ui/glyphs.js +0 -165
- package/dist/ui/governance-copy.d.ts +0 -69
- package/dist/ui/governance-copy.js +0 -104
- package/dist/ui/governance-status.d.ts +0 -145
- package/dist/ui/governance-status.js +0 -326
- package/dist/ui/gradient.d.ts +0 -11
- package/dist/ui/gradient.js +0 -50
- package/dist/ui/ink-runtime.d.ts +0 -4
- package/dist/ui/ink-runtime.js +0 -51
- package/dist/ui/interaction-copy.d.ts +0 -84
- package/dist/ui/interaction-copy.js +0 -41
- package/dist/ui/interaction-hints.d.ts +0 -44
- package/dist/ui/interaction-hints.js +0 -97
- package/dist/ui/layout/AppShell.d.ts +0 -17
- package/dist/ui/layout/AppShell.js +0 -6
- package/dist/ui/layout/Gutter.d.ts +0 -67
- package/dist/ui/layout/Gutter.js +0 -42
- package/dist/ui/layout/MeasuredEntry.d.ts +0 -21
- package/dist/ui/layout/MeasuredEntry.js +0 -30
- package/dist/ui/layout/OverlayFrame.d.ts +0 -73
- package/dist/ui/layout/OverlayFrame.js +0 -110
- package/dist/ui/layout/ScrollIndicator.d.ts +0 -32
- package/dist/ui/layout/ScrollIndicator.js +0 -22
- package/dist/ui/layout/ScrollViewport.d.ts +0 -40
- package/dist/ui/layout/ScrollViewport.js +0 -222
- package/dist/ui/layout/agents-board.d.ts +0 -102
- package/dist/ui/layout/agents-board.js +0 -389
- package/dist/ui/layout/autocomplete.d.ts +0 -18
- package/dist/ui/layout/autocomplete.js +0 -26
- package/dist/ui/layout/budget.d.ts +0 -43
- package/dist/ui/layout/budget.js +0 -52
- package/dist/ui/layout/cells.d.ts +0 -61
- package/dist/ui/layout/cells.js +0 -156
- package/dist/ui/layout/document-layout.d.ts +0 -13
- package/dist/ui/layout/document-layout.js +0 -10
- package/dist/ui/layout/follow-state.d.ts +0 -138
- package/dist/ui/layout/follow-state.js +0 -148
- package/dist/ui/layout/frame.d.ts +0 -36
- package/dist/ui/layout/frame.js +0 -39
- package/dist/ui/layout/governance-board.d.ts +0 -121
- package/dist/ui/layout/governance-board.js +0 -382
- package/dist/ui/layout/governance-card.d.ts +0 -53
- package/dist/ui/layout/governance-card.js +0 -134
- package/dist/ui/layout/governance-chip.d.ts +0 -38
- package/dist/ui/layout/governance-chip.js +0 -64
- package/dist/ui/layout/governance-panel.d.ts +0 -85
- package/dist/ui/layout/governance-panel.js +0 -358
- package/dist/ui/layout/governance-roster.d.ts +0 -65
- package/dist/ui/layout/governance-roster.js +0 -275
- package/dist/ui/layout/header-hints.d.ts +0 -90
- package/dist/ui/layout/header-hints.js +0 -110
- package/dist/ui/layout/header-left.d.ts +0 -115
- package/dist/ui/layout/header-left.js +0 -206
- package/dist/ui/layout/invocation-card.d.ts +0 -41
- package/dist/ui/layout/invocation-card.js +0 -91
- package/dist/ui/layout/kit-chip.d.ts +0 -50
- package/dist/ui/layout/kit-chip.js +0 -81
- package/dist/ui/layout/overlay-window.d.ts +0 -43
- package/dist/ui/layout/overlay-window.js +0 -51
- package/dist/ui/layout/queue-layout.d.ts +0 -19
- package/dist/ui/layout/queue-layout.js +0 -26
- package/dist/ui/layout/rail.d.ts +0 -7
- package/dist/ui/layout/rail.js +0 -16
- package/dist/ui/layout/scroll-indicator.d.ts +0 -27
- package/dist/ui/layout/scroll-indicator.js +0 -36
- package/dist/ui/layout/scroll.d.ts +0 -37
- package/dist/ui/layout/scroll.js +0 -99
- package/dist/ui/layout/scrollbar-geometry.d.ts +0 -17
- package/dist/ui/layout/scrollbar-geometry.js +0 -13
- package/dist/ui/layout/session-chip.d.ts +0 -52
- package/dist/ui/layout/session-chip.js +0 -64
- package/dist/ui/layout/shortcut-panel-layout.d.ts +0 -191
- package/dist/ui/layout/shortcut-panel-layout.js +0 -321
- package/dist/ui/layout/status-detail-layout.d.ts +0 -9
- package/dist/ui/layout/status-detail-layout.js +0 -79
- package/dist/ui/layout/status-layout.d.ts +0 -140
- package/dist/ui/layout/status-layout.js +0 -262
- package/dist/ui/layout/task-summary-cell.d.ts +0 -61
- package/dist/ui/layout/task-summary-cell.js +0 -65
- package/dist/ui/layout/team-panel.d.ts +0 -18
- package/dist/ui/layout/team-panel.js +0 -25
- package/dist/ui/layout/team-row.d.ts +0 -139
- package/dist/ui/layout/team-row.js +0 -246
- package/dist/ui/layout/todo-layout.d.ts +0 -62
- package/dist/ui/layout/todo-layout.js +0 -102
- package/dist/ui/layout/useTerminalSize.d.ts +0 -13
- package/dist/ui/layout/useTerminalSize.js +0 -50
- package/dist/ui/layout/viewport-geometry.d.ts +0 -29
- package/dist/ui/layout/viewport-geometry.js +0 -28
- package/dist/ui/layout/virtual-window.d.ts +0 -112
- package/dist/ui/layout/virtual-window.js +0 -494
- package/dist/ui/layout/wait-bar.d.ts +0 -34
- package/dist/ui/layout/wait-bar.js +0 -48
- package/dist/ui/layout/wrap-rows.d.ts +0 -26
- package/dist/ui/layout/wrap-rows.js +0 -88
- package/dist/ui/live-clamp.d.ts +0 -14
- package/dist/ui/live-clamp.js +0 -46
- package/dist/ui/markdown-blocks.d.ts +0 -107
- package/dist/ui/markdown-blocks.js +0 -240
- package/dist/ui/overlays/AgentsBoardOverlay.d.ts +0 -57
- package/dist/ui/overlays/AgentsBoardOverlay.js +0 -183
- package/dist/ui/overlays/ConfirmDialog.d.ts +0 -31
- package/dist/ui/overlays/ConfirmDialog.js +0 -44
- package/dist/ui/overlays/GovernanceBoardOverlay.d.ts +0 -41
- package/dist/ui/overlays/GovernanceBoardOverlay.js +0 -76
- package/dist/ui/overlays/GovernanceSettingsPage.d.ts +0 -48
- package/dist/ui/overlays/GovernanceSettingsPage.js +0 -93
- package/dist/ui/overlays/HelpOverlay.d.ts +0 -29
- package/dist/ui/overlays/HelpOverlay.js +0 -232
- package/dist/ui/overlays/KitEditor.d.ts +0 -23
- package/dist/ui/overlays/KitEditor.js +0 -101
- package/dist/ui/overlays/KitManager.d.ts +0 -23
- package/dist/ui/overlays/KitManager.js +0 -104
- package/dist/ui/overlays/KitPicker.d.ts +0 -49
- package/dist/ui/overlays/KitPicker.js +0 -58
- package/dist/ui/overlays/ModelDiscoveryList.d.ts +0 -23
- package/dist/ui/overlays/ModelDiscoveryList.js +0 -161
- package/dist/ui/overlays/ModelPicker.d.ts +0 -26
- package/dist/ui/overlays/ModelPicker.js +0 -63
- package/dist/ui/overlays/ModelProfileEditor.d.ts +0 -29
- package/dist/ui/overlays/ModelProfileEditor.js +0 -168
- package/dist/ui/overlays/ModelProfilePicker.d.ts +0 -48
- package/dist/ui/overlays/ModelProfilePicker.js +0 -231
- package/dist/ui/overlays/PlanReviewOverlay.d.ts +0 -51
- package/dist/ui/overlays/PlanReviewOverlay.js +0 -132
- package/dist/ui/overlays/PromptEditorPage.d.ts +0 -48
- package/dist/ui/overlays/PromptEditorPage.js +0 -227
- package/dist/ui/overlays/PromptLibraryOverlay.d.ts +0 -37
- package/dist/ui/overlays/PromptLibraryOverlay.js +0 -191
- package/dist/ui/overlays/PromptPicker.d.ts +0 -36
- package/dist/ui/overlays/PromptPicker.js +0 -129
- package/dist/ui/overlays/PromptTextArea.d.ts +0 -86
- package/dist/ui/overlays/PromptTextArea.js +0 -141
- package/dist/ui/overlays/QuestionOverlay.d.ts +0 -39
- package/dist/ui/overlays/QuestionOverlay.js +0 -258
- package/dist/ui/overlays/QueueOverlay.d.ts +0 -22
- package/dist/ui/overlays/QueueOverlay.js +0 -79
- package/dist/ui/overlays/SettingsScreen.d.ts +0 -228
- package/dist/ui/overlays/SettingsScreen.js +0 -1037
- package/dist/ui/overlays/ShortcutPanel.d.ts +0 -39
- package/dist/ui/overlays/ShortcutPanel.js +0 -106
- package/dist/ui/overlays/TeamFanoutPage.d.ts +0 -51
- package/dist/ui/overlays/TeamFanoutPage.js +0 -90
- package/dist/ui/overlays/governance-settings.d.ts +0 -79
- package/dist/ui/overlays/governance-settings.js +0 -140
- package/dist/ui/overlays/kit-picker-state.d.ts +0 -87
- package/dist/ui/overlays/kit-picker-state.js +0 -136
- package/dist/ui/overlays/kit-settings-state.d.ts +0 -129
- package/dist/ui/overlays/kit-settings-state.js +0 -268
- package/dist/ui/overlays/model-probe-view.d.ts +0 -128
- package/dist/ui/overlays/model-probe-view.js +0 -225
- package/dist/ui/overlays/model-profile-state.d.ts +0 -177
- package/dist/ui/overlays/model-profile-state.js +0 -301
- package/dist/ui/overlays/prompt-library-state.d.ts +0 -162
- package/dist/ui/overlays/prompt-library-state.js +0 -335
- package/dist/ui/overlays/prompt-picker-state.d.ts +0 -71
- package/dist/ui/overlays/prompt-picker-state.js +0 -98
- package/dist/ui/overlays/team-fanout-state.d.ts +0 -106
- package/dist/ui/overlays/team-fanout-state.js +0 -155
- package/dist/ui/overlays/use-model-probe.d.ts +0 -30
- package/dist/ui/overlays/use-model-probe.js +0 -109
- package/dist/ui/palettes.d.ts +0 -112
- package/dist/ui/palettes.js +0 -130
- package/dist/ui/paste-frames.d.ts +0 -91
- package/dist/ui/paste-frames.js +0 -117
- package/dist/ui/paste-tokens.d.ts +0 -90
- package/dist/ui/paste-tokens.js +0 -147
- package/dist/ui/render-cache.d.ts +0 -81
- package/dist/ui/render-cache.js +0 -196
- package/dist/ui/render-governor.d.ts +0 -54
- package/dist/ui/render-governor.js +0 -78
- package/dist/ui/run-metrics.d.ts +0 -23
- package/dist/ui/run-metrics.js +0 -27
- package/dist/ui/run-status-row.d.ts +0 -63
- package/dist/ui/run-status-row.js +0 -54
- package/dist/ui/screen.d.ts +0 -107
- package/dist/ui/screen.js +0 -234
- package/dist/ui/scrollback/LiveTail.d.ts +0 -115
- package/dist/ui/scrollback/LiveTail.js +0 -48
- package/dist/ui/scrollback/band.d.ts +0 -114
- package/dist/ui/scrollback/band.js +0 -143
- package/dist/ui/scrollback/budget.d.ts +0 -90
- package/dist/ui/scrollback/budget.js +0 -100
- package/dist/ui/scrollback/canvas.d.ts +0 -100
- package/dist/ui/scrollback/canvas.js +0 -114
- package/dist/ui/scrollback/cursor-probe.d.ts +0 -71
- package/dist/ui/scrollback/cursor-probe.js +0 -133
- package/dist/ui/scrollback/drain.d.ts +0 -32
- package/dist/ui/scrollback/drain.js +0 -64
- package/dist/ui/scrollback/exit-summary.d.ts +0 -23
- package/dist/ui/scrollback/exit-summary.js +0 -25
- package/dist/ui/scrollback/limits.d.ts +0 -98
- package/dist/ui/scrollback/limits.js +0 -98
- package/dist/ui/scrollback/live-preview.d.ts +0 -34
- package/dist/ui/scrollback/live-preview.js +0 -130
- package/dist/ui/scrollback/overflow-print.d.ts +0 -108
- package/dist/ui/scrollback/overflow-print.js +0 -120
- package/dist/ui/scrollback/renderer.d.ts +0 -48
- package/dist/ui/scrollback/renderer.js +0 -186
- package/dist/ui/scrollback/scrollback-writer.d.ts +0 -174
- package/dist/ui/scrollback/scrollback-writer.js +0 -648
- package/dist/ui/scrollback/settled-boundary.d.ts +0 -42
- package/dist/ui/scrollback/settled-boundary.js +0 -109
- package/dist/ui/scrollback/tail-anchor.d.ts +0 -71
- package/dist/ui/scrollback/tail-anchor.js +0 -79
- package/dist/ui/scrollback/tail-window.d.ts +0 -73
- package/dist/ui/scrollback/tail-window.js +0 -89
- package/dist/ui/scrollback/use-scrollback-view.d.ts +0 -139
- package/dist/ui/scrollback/use-scrollback-view.js +0 -601
- package/dist/ui/scrollback/writer-shapes.d.ts +0 -127
- package/dist/ui/scrollback/writer-shapes.js +0 -159
- package/dist/ui/scrollbar-controller.d.ts +0 -30
- package/dist/ui/scrollbar-controller.js +0 -124
- package/dist/ui/selection/highlight.d.ts +0 -39
- package/dist/ui/selection/highlight.js +0 -64
- package/dist/ui/selection/screen-mirror.d.ts +0 -24
- package/dist/ui/selection/screen-mirror.js +0 -35
- package/dist/ui/selection/selection-controller.d.ts +0 -104
- package/dist/ui/selection/selection-controller.js +0 -372
- package/dist/ui/selection/selection.d.ts +0 -90
- package/dist/ui/selection/selection.js +0 -223
- package/dist/ui/shortcuts.d.ts +0 -81
- package/dist/ui/shortcuts.js +0 -221
- package/dist/ui/status-feedback.d.ts +0 -35
- package/dist/ui/status-feedback.js +0 -38
- package/dist/ui/stdout-frame-writer.d.ts +0 -74
- package/dist/ui/stdout-frame-writer.js +0 -155
- package/dist/ui/team-status.d.ts +0 -166
- package/dist/ui/team-status.js +0 -252
- package/dist/ui/terminal-plan.d.ts +0 -52
- package/dist/ui/terminal-plan.js +0 -49
- package/dist/ui/theme.d.ts +0 -96
- package/dist/ui/theme.js +0 -130
- package/dist/ui/transcript-text.d.ts +0 -41
- package/dist/ui/transcript-text.js +0 -282
- package/dist/ui/use-height-store.d.ts +0 -31
- package/dist/ui/use-height-store.js +0 -76
- package/dist/ui/use-render-governor.d.ts +0 -39
- package/dist/ui/use-render-governor.js +0 -57
- package/dist/ui/use-wheel-routing.d.ts +0 -57
- package/dist/ui/use-wheel-routing.js +0 -152
- package/dist/ui/win-vt-force.d.ts +0 -136
- package/dist/ui/win-vt-force.js +0 -237
- package/dist/ui/win-vt-input.d.ts +0 -57
- package/dist/ui/win-vt-input.js +0 -62
- package/dist/update/limits.d.ts +0 -111
- package/dist/update/limits.js +0 -111
- package/dist/update/semver.d.ts +0 -89
- package/dist/update/semver.js +0 -295
- package/dist/update/types.d.ts +0 -169
- package/dist/update/types.js +0 -68
- /package/dist/{ui → app}/session-bridge.d.ts +0 -0
- /package/dist/{ui → app}/session-bridge.js +0 -0
package/dist/team/panel-rows.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `selectPanelRows` - which children the live roster shows (team-live-activity
|
|
3
|
-
* F-2).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope.
|
|
6
|
-
*
|
|
7
|
-
* THE DEFECT THIS REPLACES. `TeamPanel` took the first `panelMaxRows` runs by
|
|
8
|
-
* ARRAY INDEX, and the slot pool hands out indices from a shared cursor in
|
|
9
|
-
* order - so at `maxSubagents: 8, maxConcurrent: 3` the first five rows are the
|
|
10
|
-
* five that finished first and everything still working sits behind `+3 more`.
|
|
11
|
-
* The one thing the requirement asks the panel for - show that subagents are
|
|
12
|
-
* running - is the one thing it stopped doing at the fan-out widths the
|
|
13
|
-
* requirement explicitly permits.
|
|
14
|
-
*
|
|
15
|
-
* Pure: a function of a roster snapshot and a row cap, with no clock, no
|
|
16
|
-
* terminal and no `Agent` anywhere near it.
|
|
17
|
-
*/
|
|
18
|
-
const RUNNING = new Set(['starting', 'thinking', 'tool', 'waiting']);
|
|
19
|
-
const SETTLED = new Set(['done', 'failed', 'aborted']);
|
|
20
|
-
/** 0 running, 1 queued, 2 settled. */
|
|
21
|
-
function group(run) {
|
|
22
|
-
if (RUNNING.has(run.phase))
|
|
23
|
-
return 0;
|
|
24
|
-
if (SETTLED.has(run.phase))
|
|
25
|
-
return 2;
|
|
26
|
-
return 1;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Rank the roster so that what is VISIBLE is what is HAPPENING.
|
|
30
|
-
*
|
|
31
|
-
* Ordering inside each group is chosen for ROW STABILITY, which is the real
|
|
32
|
-
* usability constraint here: the panel re-renders every 200 ms and a row that
|
|
33
|
-
* changes position on each tick is unreadable.
|
|
34
|
-
* - running: by `startedAt` ascending. `startedAt` changes exactly once in a
|
|
35
|
-
* run's life outside of its first assignment - on a cold-start retry (F-4),
|
|
36
|
-
* which re-stamps it (P2-4). A retried child therefore moves to the end of
|
|
37
|
-
* the running group, once, at the moment it visibly restarts. That is the
|
|
38
|
-
* correct reading of the ordering rule rather than an exception to it: the
|
|
39
|
-
* group is ordered by "how long has this been going", and a retry resets
|
|
40
|
-
* exactly that.
|
|
41
|
-
* - queued: original order; that IS the order the pool will start them in.
|
|
42
|
-
* - settled: most recently ended first, so the newest result is the one that
|
|
43
|
-
* stays on screen as others complete.
|
|
44
|
-
* A run changes position at most twice in its life - queued -> running ->
|
|
45
|
-
* settled - and each move carries real information.
|
|
46
|
-
*
|
|
47
|
-
* The final tiebreak is the original index. `Array.prototype.sort` is stable in
|
|
48
|
-
* every Node this package supports, so the tiebreak is not load-bearing; it is
|
|
49
|
-
* here so the ordering is total and the test can assert it without depending on
|
|
50
|
-
* that guarantee.
|
|
51
|
-
*/
|
|
52
|
-
export function selectPanelRows(runs, max) {
|
|
53
|
-
const ranked = runs
|
|
54
|
-
.map((run, index) => ({ run, index }))
|
|
55
|
-
.sort((a, b) => {
|
|
56
|
-
const ga = group(a.run);
|
|
57
|
-
const gb = group(b.run);
|
|
58
|
-
if (ga !== gb)
|
|
59
|
-
return ga - gb;
|
|
60
|
-
if (ga === 0)
|
|
61
|
-
return (a.run.startedAt ?? 0) - (b.run.startedAt ?? 0) || a.index - b.index;
|
|
62
|
-
if (ga === 2)
|
|
63
|
-
return (b.run.endedAt ?? 0) - (a.run.endedAt ?? 0) || a.index - b.index;
|
|
64
|
-
return a.index - b.index;
|
|
65
|
-
})
|
|
66
|
-
.map((e) => e.run);
|
|
67
|
-
const limit = Math.max(0, max);
|
|
68
|
-
const visible = ranked.slice(0, limit);
|
|
69
|
-
const hidden = ranked.slice(limit);
|
|
70
|
-
return {
|
|
71
|
-
visible,
|
|
72
|
-
hiddenTotal: hidden.length,
|
|
73
|
-
hiddenRunning: hidden.filter((r) => RUNNING.has(r.phase)).length,
|
|
74
|
-
};
|
|
75
|
-
}
|
package/dist/team/timeline.d.ts
DELETED
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The per-child event ring behind the Agents board's `timeline` section
|
|
3
|
-
* (tui-subagent-panel §4.5).
|
|
4
|
-
*
|
|
5
|
-
* WHY A RING ON THE RUN rather than a second store: a `SubagentRun` already IS "one
|
|
6
|
-
* child's projection", and every UI surface reads it through `publish()`. A separate
|
|
7
|
-
* store would be a second authority for the same subject and would have to be
|
|
8
|
-
* subscribed to separately - and the four collection points below are all single
|
|
9
|
-
* funnels that already exist (§4.5.2).
|
|
10
|
-
*
|
|
11
|
-
* FIVE KINDS, NOT EVERY TURN (D-12). A turn marker per turn would fill twenty-four
|
|
12
|
-
* slots in a long task and push out the tool calls, which are the part a reader cannot
|
|
13
|
-
* reconstruct from the report. Phase changes are visible in the board's `state` field
|
|
14
|
-
* in real time, so they do not need history.
|
|
15
|
-
*
|
|
16
|
-
* BOUNDED AND PURE. `appendTimeline` returns a NEW array (never mutates the old one),
|
|
17
|
-
* drops the oldest entry past `TEAM_LIMITS.timelineEntries`, and clamps every line to
|
|
18
|
-
* `TEAM_LIMITS.timelineTextChars`. Purity is what lets `publish()`'s shallow copy hold
|
|
19
|
-
* a stable snapshot without knowing this module exists (AC-25).
|
|
20
|
-
*
|
|
21
|
-
* ASCII ONLY: `src/team/**` is inside `glyphs.test.ts`'s static scan.
|
|
22
|
-
*
|
|
23
|
-
* THE TEXT IS ALWAYS BUILT FROM `describeToolActivity` / `sanitizeActivity`, never
|
|
24
|
-
* from raw tool arguments (D-11 / P1-4). That is the boundary that keeps a
|
|
25
|
-
* `write_file` body, a `bash` transcript or a child's prompt out of a surface that is
|
|
26
|
-
* one `JSON.stringify` from a log.
|
|
27
|
-
*/
|
|
28
|
-
import type { SubagentPhase, SubagentRun } from './types.js';
|
|
29
|
-
export type TimelineKind = 'tool' | 'retry' | 'compact' | 'overseer' | 'settle';
|
|
30
|
-
export interface TimelineEntry {
|
|
31
|
-
kind: TimelineKind;
|
|
32
|
-
/** Absolute epoch ms, the same units as `startedAt` / `endedAt` / `lastIntervention.at`. */
|
|
33
|
-
at: number;
|
|
34
|
-
/** Already sanitized + clamped: at most `TEAM_LIMITS.timelineTextChars` characters. */
|
|
35
|
-
text: string;
|
|
36
|
-
/** Whether the tool call succeeded (`tool` only). */
|
|
37
|
-
ok?: boolean;
|
|
38
|
-
/** How long the tool call took in ms (`tool` only). */
|
|
39
|
-
ms?: number;
|
|
40
|
-
}
|
|
41
|
-
export declare function isTerminalPhase(phase: SubagentPhase): boolean;
|
|
42
|
-
/**
|
|
43
|
-
* Append one event, returning a NEW array. The oldest entry is dropped once the ring
|
|
44
|
-
* is full, so the array's length is bounded by `max` for every possible input.
|
|
45
|
-
*/
|
|
46
|
-
export declare function appendTimeline(prev: readonly TimelineEntry[] | undefined, entry: TimelineEntry, max?: number): TimelineEntry[];
|
|
47
|
-
/**
|
|
48
|
-
* The terminal event for one ATTEMPT, or `null` when there is nothing to record yet.
|
|
49
|
-
*
|
|
50
|
-
* WHY THIS IS CALLED FROM `publish()` AND NOT FROM `settlePhase` (§4.5.2 / RV-P1-3):
|
|
51
|
-
* `settlePhase` covers the retry loop's exit only, and two paths set a terminal phase
|
|
52
|
-
* directly - the worker's "never started" abort and the cold-start backoff abort. Those
|
|
53
|
-
* are exactly the children whose explanation a reader needs most, and hanging the
|
|
54
|
-
* settle entry on `settlePhase` alone would leave them with no last event.
|
|
55
|
-
*
|
|
56
|
-
* IDEMPOTENCE IS KEYED ON THE ATTEMPT, not on "the last entry is a settle" (I-14): a
|
|
57
|
-
* retry re-stamps `startedAt`, so a new attempt legitimately earns a second terminal
|
|
58
|
-
* entry, while a repeated `publish()` of the same attempt adds nothing.
|
|
59
|
-
*/
|
|
60
|
-
export declare function settleTimelineEntry(run: SubagentRun, at: number): TimelineEntry | null;
|
|
61
|
-
/**
|
|
62
|
-
* The run as a reader should see it: unchanged, or with its attempt's terminal event
|
|
63
|
-
* appended once. Called from `publish()`, which is every state change's single exit
|
|
64
|
-
* (§4.5.2) and therefore covers the two paths that set a terminal phase directly.
|
|
65
|
-
*
|
|
66
|
-
* ADDED TO THE EMITTED SNAPSHOT, NEVER TO THE LIVE RUN (this is the part `publish()`
|
|
67
|
-
* makes subtle). `subagent.ts` calls `onUpdate` with a COPY of the run, so writing the
|
|
68
|
-
* entry onto the object `publish()` receives would be lost - and because
|
|
69
|
-
* `settleTimelineEntry` uses the live timeline as its idempotence key, a lost write
|
|
70
|
-
* means every later publish of the same settled child appends another `settle` row to
|
|
71
|
-
* the ring. Keeping the live run untouched makes the entry a property of the VIEW:
|
|
72
|
-
* exactly one terminal event per attempt, however many frames are published.
|
|
73
|
-
*/
|
|
74
|
-
export declare function withSettleEntry(run: SubagentRun, at: number): SubagentRun;
|
package/dist/team/timeline.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* The per-child event ring behind the Agents board's `timeline` section
|
|
3
|
-
* (tui-subagent-panel §4.5).
|
|
4
|
-
*
|
|
5
|
-
* WHY A RING ON THE RUN rather than a second store: a `SubagentRun` already IS "one
|
|
6
|
-
* child's projection", and every UI surface reads it through `publish()`. A separate
|
|
7
|
-
* store would be a second authority for the same subject and would have to be
|
|
8
|
-
* subscribed to separately - and the four collection points below are all single
|
|
9
|
-
* funnels that already exist (§4.5.2).
|
|
10
|
-
*
|
|
11
|
-
* FIVE KINDS, NOT EVERY TURN (D-12). A turn marker per turn would fill twenty-four
|
|
12
|
-
* slots in a long task and push out the tool calls, which are the part a reader cannot
|
|
13
|
-
* reconstruct from the report. Phase changes are visible in the board's `state` field
|
|
14
|
-
* in real time, so they do not need history.
|
|
15
|
-
*
|
|
16
|
-
* BOUNDED AND PURE. `appendTimeline` returns a NEW array (never mutates the old one),
|
|
17
|
-
* drops the oldest entry past `TEAM_LIMITS.timelineEntries`, and clamps every line to
|
|
18
|
-
* `TEAM_LIMITS.timelineTextChars`. Purity is what lets `publish()`'s shallow copy hold
|
|
19
|
-
* a stable snapshot without knowing this module exists (AC-25).
|
|
20
|
-
*
|
|
21
|
-
* ASCII ONLY: `src/team/**` is inside `glyphs.test.ts`'s static scan.
|
|
22
|
-
*
|
|
23
|
-
* THE TEXT IS ALWAYS BUILT FROM `describeToolActivity` / `sanitizeActivity`, never
|
|
24
|
-
* from raw tool arguments (D-11 / P1-4). That is the boundary that keeps a
|
|
25
|
-
* `write_file` body, a `bash` transcript or a child's prompt out of a surface that is
|
|
26
|
-
* one `JSON.stringify` from a log.
|
|
27
|
-
*/
|
|
28
|
-
import { TEAM_LIMITS } from './limits.js';
|
|
29
|
-
/** The phases that end an attempt. Used by the settle-idempotence rule below. */
|
|
30
|
-
const TERMINAL_PHASES = new Set(['done', 'failed', 'aborted']);
|
|
31
|
-
export function isTerminalPhase(phase) {
|
|
32
|
-
return TERMINAL_PHASES.has(phase);
|
|
33
|
-
}
|
|
34
|
-
/** Clamp one line to the display budget. Collapses whitespace for the same reason. */
|
|
35
|
-
function clampText(text) {
|
|
36
|
-
const flat = text.replace(/\s+/g, ' ').trim();
|
|
37
|
-
if (flat.length <= TEAM_LIMITS.timelineTextChars)
|
|
38
|
-
return flat;
|
|
39
|
-
return `${flat.slice(0, TEAM_LIMITS.timelineTextChars - 3)}...`;
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Append one event, returning a NEW array. The oldest entry is dropped once the ring
|
|
43
|
-
* is full, so the array's length is bounded by `max` for every possible input.
|
|
44
|
-
*/
|
|
45
|
-
export function appendTimeline(prev, entry, max = TEAM_LIMITS.timelineEntries) {
|
|
46
|
-
const limit = Number.isFinite(max) ? Math.max(1, Math.floor(max)) : TEAM_LIMITS.timelineEntries;
|
|
47
|
-
const next = [...(prev ?? []), { ...entry, text: clampText(entry.text) }];
|
|
48
|
-
return next.length > limit ? next.slice(next.length - limit) : next;
|
|
49
|
-
}
|
|
50
|
-
/** The first line of a multi-line answer, clamped - a timeline entry is one line. */
|
|
51
|
-
function head(text) {
|
|
52
|
-
if (text === undefined || text.length === 0)
|
|
53
|
-
return '';
|
|
54
|
-
return clampText(text);
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* The terminal event for one ATTEMPT, or `null` when there is nothing to record yet.
|
|
58
|
-
*
|
|
59
|
-
* WHY THIS IS CALLED FROM `publish()` AND NOT FROM `settlePhase` (§4.5.2 / RV-P1-3):
|
|
60
|
-
* `settlePhase` covers the retry loop's exit only, and two paths set a terminal phase
|
|
61
|
-
* directly - the worker's "never started" abort and the cold-start backoff abort. Those
|
|
62
|
-
* are exactly the children whose explanation a reader needs most, and hanging the
|
|
63
|
-
* settle entry on `settlePhase` alone would leave them with no last event.
|
|
64
|
-
*
|
|
65
|
-
* IDEMPOTENCE IS KEYED ON THE ATTEMPT, not on "the last entry is a settle" (I-14): a
|
|
66
|
-
* retry re-stamps `startedAt`, so a new attempt legitimately earns a second terminal
|
|
67
|
-
* entry, while a repeated `publish()` of the same attempt adds nothing.
|
|
68
|
-
*/
|
|
69
|
-
export function settleTimelineEntry(run, at) {
|
|
70
|
-
if (!isTerminalPhase(run.phase))
|
|
71
|
-
return null;
|
|
72
|
-
const attemptStart = run.startedAt ?? 0;
|
|
73
|
-
const last = run.timeline?.[run.timeline.length - 1];
|
|
74
|
-
if (last?.kind === 'settle' && last.at >= attemptStart)
|
|
75
|
-
return null;
|
|
76
|
-
const text = run.phase === 'done'
|
|
77
|
-
? `done: ${head(run.summary)}`.trim()
|
|
78
|
-
: run.phase === 'failed'
|
|
79
|
-
? `failed: ${head(run.error)}`.trim()
|
|
80
|
-
: 'aborted';
|
|
81
|
-
return { kind: 'settle', at, text };
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* The run as a reader should see it: unchanged, or with its attempt's terminal event
|
|
85
|
-
* appended once. Called from `publish()`, which is every state change's single exit
|
|
86
|
-
* (§4.5.2) and therefore covers the two paths that set a terminal phase directly.
|
|
87
|
-
*
|
|
88
|
-
* ADDED TO THE EMITTED SNAPSHOT, NEVER TO THE LIVE RUN (this is the part `publish()`
|
|
89
|
-
* makes subtle). `subagent.ts` calls `onUpdate` with a COPY of the run, so writing the
|
|
90
|
-
* entry onto the object `publish()` receives would be lost - and because
|
|
91
|
-
* `settleTimelineEntry` uses the live timeline as its idempotence key, a lost write
|
|
92
|
-
* means every later publish of the same settled child appends another `settle` row to
|
|
93
|
-
* the ring. Keeping the live run untouched makes the entry a property of the VIEW:
|
|
94
|
-
* exactly one terminal event per attempt, however many frames are published.
|
|
95
|
-
*/
|
|
96
|
-
export function withSettleEntry(run, at) {
|
|
97
|
-
const settle = settleTimelineEntry(run, at);
|
|
98
|
-
if (settle === null)
|
|
99
|
-
return run;
|
|
100
|
-
return { ...run, timeline: appendTimeline(run.timeline, settle) };
|
|
101
|
-
}
|
package/dist/team/types.d.ts
DELETED
|
@@ -1,354 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime shapes for team mode (team-subagents §5.1 / §5.2).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope.
|
|
5
|
-
*
|
|
6
|
-
* `TeamEvent` is a CLI-LOCAL stream and must stay that way (D-10 / I-5).
|
|
7
|
-
* `packages/core` freezes its runtime export list (`public-api.test.ts`) and
|
|
8
|
-
* forbids host coupling (`no-host-coupling.test.ts`); adding a member to core's
|
|
9
|
-
* `AgentEvent` union would break the first and teach core about a host shape
|
|
10
|
-
* (`SubagentRun`) it has no business defining. The whole feature therefore
|
|
11
|
-
* changes ZERO files under `packages/core/` (AC-12).
|
|
12
|
-
*/
|
|
13
|
-
import type { TokenUsage } from '@aragon-agent/core';
|
|
14
|
-
import type { ActivityArgs } from './activity.js';
|
|
15
|
-
import type { TimelineEntry } from './timeline.js';
|
|
16
|
-
import type { GovernanceSpecExt } from '../governance/types.js';
|
|
17
|
-
/** One normalized delegation request. Produced only by `normalizeSubagentSpecs`. */
|
|
18
|
-
export interface SubagentSpec {
|
|
19
|
-
/** Slug, unique within the dispatch. Shown in the panel, the report and logs. */
|
|
20
|
-
label: string;
|
|
21
|
-
/** <= TEAM_LIMITS.descriptionChars. What this subagent is for. */
|
|
22
|
-
description: string;
|
|
23
|
-
/** <= TEAM_LIMITS.promptChars. Self-contained: the child sees no history. */
|
|
24
|
-
prompt: string;
|
|
25
|
-
/**
|
|
26
|
-
* Force the plan-mode gate on for this child regardless of session mode.
|
|
27
|
-
* TIGHTENING ONLY (D-13): there is no field anywhere that gives a child more
|
|
28
|
-
* permission than the session it was spawned from.
|
|
29
|
-
*/
|
|
30
|
-
readOnly: boolean;
|
|
31
|
-
/**
|
|
32
|
-
* Set only by the governance engine (governance-mode section 8.3). Its presence is what
|
|
33
|
-
* `isGovernedDispatch` reads to keep a governed dispatch out of the transcript.
|
|
34
|
-
*/
|
|
35
|
-
governance?: GovernanceSpecExt;
|
|
36
|
-
}
|
|
37
|
-
export type SubagentPhase = 'queued' | 'starting' | 'thinking' | 'tool' | 'waiting' | 'done' | 'failed' | 'aborted';
|
|
38
|
-
/** Live, mutable record of one child. Projected into the UI and the report. */
|
|
39
|
-
export interface SubagentRun {
|
|
40
|
-
label: string;
|
|
41
|
-
description: string;
|
|
42
|
-
phase: SubagentPhase;
|
|
43
|
-
startedAt?: number;
|
|
44
|
-
endedAt?: number;
|
|
45
|
-
turns: number;
|
|
46
|
-
toolCalls: number;
|
|
47
|
-
lastTool?: string;
|
|
48
|
-
usage: TokenUsage;
|
|
49
|
-
/**
|
|
50
|
-
* Paths seen going through `write_file` / `edit_file`, deduped and capped at
|
|
51
|
-
* `TEAM_LIMITS.filesTouchedMax`.
|
|
52
|
-
*
|
|
53
|
-
* BEST-EFFORT BY CONSTRUCTION: a child that writes through `bash` is invisible
|
|
54
|
-
* here. The conflict warning in the report says "review before trusting
|
|
55
|
-
* either" rather than claiming completeness, and that wording is load-bearing
|
|
56
|
-
* (R-2).
|
|
57
|
-
*/
|
|
58
|
-
filesTouched: string[];
|
|
59
|
-
messagesSent: number;
|
|
60
|
-
/** The child's final assistant text. The only thing the lead sees of its work. */
|
|
61
|
-
summary?: string;
|
|
62
|
-
error?: string;
|
|
63
|
-
/** Hit `team.maxTurnsPerSubagent` and was stopped mid-work. */
|
|
64
|
-
truncated?: boolean;
|
|
65
|
-
/**
|
|
66
|
-
* Compactions this child performed on its OWN history
|
|
67
|
-
* (context-auto-compaction-hardening §3.4.4 / W3).
|
|
68
|
-
*
|
|
69
|
-
* OPTIONAL, so every existing construction site and fixture compiles
|
|
70
|
-
* unchanged. Absent and `0` mean the same thing to every reader.
|
|
71
|
-
*/
|
|
72
|
-
compactions?: number;
|
|
73
|
-
/**
|
|
74
|
-
* Prose the child is writing right now, sanitized and clamped to
|
|
75
|
-
* `TEAM_LIMITS.activityChars`. Set only between tool calls; cleared on
|
|
76
|
-
* `turn_start`, on `tool_execution_start` and on `tool_execution_end` so it
|
|
77
|
-
* can never describe work the child has already finished.
|
|
78
|
-
*
|
|
79
|
-
* THE CLAMP HERE IS A STORAGE CEILING, NOT A COLUMN WIDTH (P0-1). The panel
|
|
80
|
-
* re-clamps to `activityBudget(cols)` at render. Do not "simplify" by clamping
|
|
81
|
-
* to the display budget here: this value has no terminal.
|
|
82
|
-
*
|
|
83
|
-
* NEVER LOGGED and never persisted: it is ephemeral by construction and a
|
|
84
|
-
* resumed session has no live dispatch.
|
|
85
|
-
*/
|
|
86
|
-
activity?: string;
|
|
87
|
-
/**
|
|
88
|
-
* The five argument fields any of the nine known tools might want to show,
|
|
89
|
-
* picked at capture time by `pickActivityArgs` and elided to
|
|
90
|
-
* `TEAM_LIMITS.activityArgChars` each.
|
|
91
|
-
*
|
|
92
|
-
* A PICKED SUBSET, NOT `event.args` (P1-4). The run is shallow-copied into the
|
|
93
|
-
* live snapshot and into every `agent_update` event by `publish()`, and again
|
|
94
|
-
* into `DispatchOutcome.runs` by `dispatch()`, which `TeamCard` holds in the
|
|
95
|
-
* transcript for the session. Holding `event.args` would mean holding
|
|
96
|
-
* `write_file`'s `content` - a whole file, unbounded - along all of those
|
|
97
|
-
* paths, and would put a file body one `JSON.stringify` from a log.
|
|
98
|
-
*
|
|
99
|
-
* Stored unformatted because the PANEL owns the wide/narrow decision and it is
|
|
100
|
-
* the only object that knows the terminal width. A formatted string here would
|
|
101
|
-
* bake one terminal's width into a value the report and the headless writer
|
|
102
|
-
* also read.
|
|
103
|
-
*
|
|
104
|
-
* Cleared on `turn_start` and `tool_execution_end` (P1-5).
|
|
105
|
-
*/
|
|
106
|
-
activityArgs?: ActivityArgs;
|
|
107
|
-
/** `team_wait` calls refused as unanswerable (F-3). Pulled from the bus on
|
|
108
|
-
* `tool_execution_end`, the same way `messagesSent` is. */
|
|
109
|
-
blockedWaits?: number;
|
|
110
|
-
/** Cold-start retries spent (F-4). 0 or absent for the overwhelming majority
|
|
111
|
-
* of runs; `1` at most under `TEAM_LIMITS.maxColdStartRetries`. */
|
|
112
|
-
retries?: number;
|
|
113
|
-
/**
|
|
114
|
-
* Whether the error that ended this attempt was transport-level and
|
|
115
|
-
* retryable, read structurally off `LLMError.retryable`.
|
|
116
|
-
*
|
|
117
|
-
* NOT RENDERED ANYWHERE. It exists so `TeamRuntime` can decide without
|
|
118
|
-
* re-parsing `run.error`, which is a human-facing sentence produced by
|
|
119
|
-
* `formatStreamError` and must never become a machine-readable contract.
|
|
120
|
-
*/
|
|
121
|
-
retryable?: boolean;
|
|
122
|
-
/**
|
|
123
|
-
* The child's LIVE API-retry state (llm-api-retry-backoff §6.10), or absent when
|
|
124
|
-
* it is not in a backoff.
|
|
125
|
-
*
|
|
126
|
-
* THIS EXISTS BECAUSE A CHILD'S RETRY IS OTHERWISE INVISIBLE (R-14). Subagents
|
|
127
|
-
* inherit the lead's retry policy for free — `TeamRuntime` reuses the lead's
|
|
128
|
-
* registry instance — but a child's `retry_scheduled` goes to that CHILD's own
|
|
129
|
-
* `Agent` listeners and never reaches the lead's `ViewState`. Without this field
|
|
130
|
-
* a subagent spending three minutes in backoff shows no card, no chip and no
|
|
131
|
-
* countdown: the dispatch simply appears hung, which is the single worst reading
|
|
132
|
-
* of a mechanism whose whole claim is that waiting is now legible.
|
|
133
|
-
*
|
|
134
|
-
* The fix uses the channel that already exists rather than inventing a second
|
|
135
|
-
* card: `TeamCard` and `transcript-text` already render one row per child, and
|
|
136
|
-
* this rides on it. `ViewState.retry` stays LEAD-ONLY, and the lead's status-bar
|
|
137
|
-
* chip is deliberately NOT driven by children — `agents 3/5` already reports the
|
|
138
|
-
* dispatch, and a second aggregate would put two numbers on the bar that
|
|
139
|
-
* disagree about what "3" means.
|
|
140
|
-
*
|
|
141
|
-
* EPHEMERAL, exactly like `activity` and `activityArgs`: cleared on the child's
|
|
142
|
-
* next `turn_end` or terminal error, never persisted, and a settled team entry
|
|
143
|
-
* keeps only what the run finally did.
|
|
144
|
-
*
|
|
145
|
-
* NO `resumeAt`, DELIBERATELY, and this is the one place §6.10's sketch is not
|
|
146
|
-
* followed. A countdown needs something to re-render it, and nothing does: the
|
|
147
|
-
* team row is drawn from `agent_update`, a child in backoff emits exactly ONE
|
|
148
|
-
* event for the whole wait, and the lead's 1 Hz `retryTick` is gated on the
|
|
149
|
-
* LEAD's own `state.retry`. A `7s` that never changed for thirty seconds is a
|
|
150
|
-
* worse readout than no number at all — it reads as a hung countdown, which is
|
|
151
|
-
* precisely the impression this row exists to remove. The counter alone is
|
|
152
|
-
* honest and is what AC-34 asserts.
|
|
153
|
-
*/
|
|
154
|
-
retry?: {
|
|
155
|
-
attempt: number;
|
|
156
|
-
maxRetries: number;
|
|
157
|
-
};
|
|
158
|
-
/**
|
|
159
|
-
* Supervisor inspections this child received (team-overseer). Optional so
|
|
160
|
-
* every existing fixture compiles; absent and `0` read the same.
|
|
161
|
-
*/
|
|
162
|
-
interventions?: number;
|
|
163
|
-
/**
|
|
164
|
-
* Supervisor-driven rebuilds this child went through (team-overseer). The
|
|
165
|
-
* run object survives a rebuild with the same label, so this is where the
|
|
166
|
-
* report reads "this row is the Nth body of the same brief".
|
|
167
|
-
*/
|
|
168
|
-
replacements?: number;
|
|
169
|
-
/**
|
|
170
|
-
* The most recent supervisor decision applied to this child
|
|
171
|
-
* (subagent-overseer-v2 section 6). TRANSIENT, never persisted - the
|
|
172
|
-
* same rule as `activity` / `activityArgs`; a resumed session has no
|
|
173
|
-
* live dispatch. The strip that enforces it is `PERSIST_STRIP_FIELDS` in
|
|
174
|
-
* `team/settled.ts` (tui-subagent-panel §4.5.4): it stays on the settled run,
|
|
175
|
-
* because the card's badge and the supervision report read it there, and the
|
|
176
|
-
* SAVE boundary is where it is removed.
|
|
177
|
-
*
|
|
178
|
-
* `at` is ABSOLUTE epoch ms, the same units as `startedAt` / `endedAt`
|
|
179
|
-
* (R-P2-3), so the panel renders `nudged 2m` with one subtraction and
|
|
180
|
-
* no second clock convention. `reasonHead` <= 60 chars, for the UI
|
|
181
|
-
* badge line only.
|
|
182
|
-
*/
|
|
183
|
-
lastIntervention?: {
|
|
184
|
-
action: OverseerAction;
|
|
185
|
-
at: number;
|
|
186
|
-
reasonHead: string;
|
|
187
|
-
};
|
|
188
|
-
/**
|
|
189
|
-
* The last `TEAM_LIMITS.timelineEntries` (24) events of this child
|
|
190
|
-
* (tui-subagent-panel §4.5 / §7).
|
|
191
|
-
*
|
|
192
|
-
* EPHEMERAL, on exactly the same terms as `activity` / `activityArgs` / `retry`, and
|
|
193
|
-
* guaranteed by TWO independent strips (`team/settled.ts`): `settledRun()` at the
|
|
194
|
-
* dispatch exit and `stripEphemeralRuns()` in `saveSession`'s chain. One gate is not
|
|
195
|
-
* enough - the live entry's runs are written by `teamUpdate` during a dispatch, so a
|
|
196
|
-
* checkpoint or an exit flush would otherwise carry the ring to disk (§4.5.4).
|
|
197
|
-
*
|
|
198
|
-
* NEVER persisted, never in `aragon exec`'s stream either: `exec/runner.ts`'s
|
|
199
|
-
* `emitTeam` builds its events from an explicit field list, so a new run field cannot
|
|
200
|
-
* leak into `stream-json` (AC-22).
|
|
201
|
-
*
|
|
202
|
-
* `at` is ABSOLUTE epoch ms (the units of `startedAt` / `lastIntervention.at`), and
|
|
203
|
-
* each `text` is already sanitized and clamped, so appending is the only write and
|
|
204
|
-
* `appendTimeline` is the only appender.
|
|
205
|
-
*/
|
|
206
|
-
timeline?: TimelineEntry[];
|
|
207
|
-
}
|
|
208
|
-
/** What the supervisor may do with one inspected child. */
|
|
209
|
-
export type OverseerAction = 'wait' | 'nudge' | 'replace' | 'abandon';
|
|
210
|
-
/**
|
|
211
|
-
* One supervisor decision, already normalized and clamped.
|
|
212
|
-
*
|
|
213
|
-
* Produced ONLY by `normalizeOverseerDecision` (repair, never reject): an
|
|
214
|
-
* unparseable or out-of-budget model answer becomes `wait` with the default
|
|
215
|
-
* interval, because supervision must not kill a healthy child.
|
|
216
|
-
*/
|
|
217
|
-
export interface OverseerDecision {
|
|
218
|
-
action: OverseerAction;
|
|
219
|
-
/** <= TEAM_LIMITS.overseerReasonChars. Why, for the report and the log. */
|
|
220
|
-
reason: string;
|
|
221
|
-
/** `nudge` only: <= TEAM_LIMITS.overseerGuidanceChars. Steered into the child. */
|
|
222
|
-
guidance?: string;
|
|
223
|
-
/** Model-chosen next check, clamped to the structural range. */
|
|
224
|
-
nextCheckMs?: number;
|
|
225
|
-
}
|
|
226
|
-
/** One supervisor intervention, as recorded on the outcome and rendered. */
|
|
227
|
-
export interface OverseerIntervention {
|
|
228
|
-
label: string;
|
|
229
|
-
at: number;
|
|
230
|
-
action: OverseerAction;
|
|
231
|
-
reason: string;
|
|
232
|
-
/**
|
|
233
|
-
* What the trigger was: event stall, wall-clock check, the child's turn
|
|
234
|
-
* cap (F-8 A'2 - an inspection the supervisor then ruled on), post-mortem,
|
|
235
|
-
* or the supervisor going QUIET (subagent-overseer-v2 D-10) - the look
|
|
236
|
-
* budget ran out and supervision stopped waking this child. A VALUE OF
|
|
237
|
-
* THE UNION, never a reason prefix: a human-readable sentence is not a
|
|
238
|
-
* machine contract (the `run.error` rule).
|
|
239
|
-
*/
|
|
240
|
-
trigger: 'silence' | 'clock' | 'turncap' | 'postmortem' | 'quiet';
|
|
241
|
-
}
|
|
242
|
-
/**
|
|
243
|
-
* A terminal supervisor decision handed to the WORKER LOOP, which is the only
|
|
244
|
-
* place a child's `prompt()` is awaited and therefore the only place a
|
|
245
|
-
* lifecycle change can be applied without orphaning the replacement (I-OV1).
|
|
246
|
-
*
|
|
247
|
-
* Set by `TeamRuntime` on the handle, then `handle.abort()`; consumed and
|
|
248
|
-
* left in place (never cleared) by `runOne` after the await resolves.
|
|
249
|
-
*/
|
|
250
|
-
export interface OverseerVerdict {
|
|
251
|
-
action: 'replace' | 'abandon';
|
|
252
|
-
reason: string;
|
|
253
|
-
guidance?: string;
|
|
254
|
-
}
|
|
255
|
-
/** One message on the team bus. */
|
|
256
|
-
export interface TeamMessage {
|
|
257
|
-
from: string;
|
|
258
|
-
to: string;
|
|
259
|
-
subject: string;
|
|
260
|
-
body: string;
|
|
261
|
-
at: number;
|
|
262
|
-
}
|
|
263
|
-
/** Everything one dispatch produced. The sole input to `buildDispatchReport`. */
|
|
264
|
-
export interface DispatchOutcome {
|
|
265
|
-
dispatchId: string;
|
|
266
|
-
runs: SubagentRun[];
|
|
267
|
-
/** Specs the model asked for, BEFORE the cap — the "n of m requested" line. */
|
|
268
|
-
requested: number;
|
|
269
|
-
startedAt: number;
|
|
270
|
-
endedAt: number;
|
|
271
|
-
aborted: boolean;
|
|
272
|
-
/** Messages addressed to `lead`; surfaced in their own report section. */
|
|
273
|
-
leadMail: TeamMessage[];
|
|
274
|
-
/**
|
|
275
|
-
* Every supervisor decision that was applied (team-overseer), in order.
|
|
276
|
-
* Bounded by the per-child inspection budget; rendered as the report's
|
|
277
|
-
* Overseer section so the lead can see WHO was nudged or replaced and why.
|
|
278
|
-
*/
|
|
279
|
-
interventions?: OverseerIntervention[];
|
|
280
|
-
/**
|
|
281
|
-
* Summed across all children. Real spend; it must reach the status bar
|
|
282
|
-
* (§3.9). Every child runs the LEAD's model (main-agent parity), so one
|
|
283
|
-
* total priced at the lead's table is the honest accounting.
|
|
284
|
-
*/
|
|
285
|
-
usage: TokenUsage;
|
|
286
|
-
/**
|
|
287
|
-
* The supervisor's own fast-tier spend for this dispatch
|
|
288
|
-
* (subagent-overseer-v2 D-7). Absent when nothing supervised the
|
|
289
|
-
* dispatch; read straight off the provider at dispatch end so there is
|
|
290
|
-
* exactly one accounting of it.
|
|
291
|
-
*/
|
|
292
|
-
overseerUsage?: TokenUsage;
|
|
293
|
-
/** Inspection calls made, including ones that failed softly. */
|
|
294
|
-
overseerCalls?: number;
|
|
295
|
-
/**
|
|
296
|
-
* EDGE-LATCHED, once per dispatch (D-10): the fast tier was missing at
|
|
297
|
-
* least one cadence tick and the children waited UNASSISTED - announced,
|
|
298
|
-
* never killed. The per-child wait events of a degraded tick
|
|
299
|
-
* deliberately do NOT enter `interventions`; this flag plus the tick
|
|
300
|
-
* count below are the report's aggregate note.
|
|
301
|
-
*/
|
|
302
|
-
overseerDegraded?: boolean;
|
|
303
|
-
/** How many cadence ticks ran unassisted (the aggregate note's number). */
|
|
304
|
-
overseerDegradedTicks?: number;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* What the UI renders: a cheap immutable projection, rebuilt per event.
|
|
308
|
-
*
|
|
309
|
-
* Held in `ViewState.team` and NEVER persisted — a resumed session has no live
|
|
310
|
-
* dispatch, and pretending otherwise is what P1-5 is about.
|
|
311
|
-
*/
|
|
312
|
-
export interface TeamSnapshot {
|
|
313
|
-
dispatchId: string;
|
|
314
|
-
active: boolean;
|
|
315
|
-
runs: SubagentRun[];
|
|
316
|
-
requested: number;
|
|
317
|
-
startedAt: number;
|
|
318
|
-
messageCount: number;
|
|
319
|
-
lastMessage?: TeamMessage;
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* The CLI-local event stream. `TeamRuntime` emits; `AgentController.subscribeTeam`
|
|
323
|
-
* forwards; `App`, `runHeadless` and `attachTeamEvents` consume.
|
|
324
|
-
*/
|
|
325
|
-
export type TeamEvent = {
|
|
326
|
-
type: 'dispatch_start';
|
|
327
|
-
dispatchId: string;
|
|
328
|
-
requested: number;
|
|
329
|
-
specs: SubagentSpec[];
|
|
330
|
-
} | {
|
|
331
|
-
type: 'agent_update';
|
|
332
|
-
dispatchId: string;
|
|
333
|
-
run: SubagentRun;
|
|
334
|
-
} | {
|
|
335
|
-
type: 'usage';
|
|
336
|
-
dispatchId: string;
|
|
337
|
-
label: string;
|
|
338
|
-
usage: TokenUsage;
|
|
339
|
-
} | {
|
|
340
|
-
type: 'message';
|
|
341
|
-
dispatchId: string;
|
|
342
|
-
message: TeamMessage;
|
|
343
|
-
} | {
|
|
344
|
-
type: 'overseer';
|
|
345
|
-
dispatchId: string;
|
|
346
|
-
label: string;
|
|
347
|
-
decision: OverseerDecision;
|
|
348
|
-
trigger: OverseerIntervention['trigger'];
|
|
349
|
-
} | {
|
|
350
|
-
type: 'dispatch_end';
|
|
351
|
-
dispatchId: string;
|
|
352
|
-
outcome: DispatchOutcome;
|
|
353
|
-
};
|
|
354
|
-
export type TeamEventListener = (event: TeamEvent) => void;
|
package/dist/team/types.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Runtime shapes for team mode (team-subagents §5.1 / §5.2).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope.
|
|
5
|
-
*
|
|
6
|
-
* `TeamEvent` is a CLI-LOCAL stream and must stay that way (D-10 / I-5).
|
|
7
|
-
* `packages/core` freezes its runtime export list (`public-api.test.ts`) and
|
|
8
|
-
* forbids host coupling (`no-host-coupling.test.ts`); adding a member to core's
|
|
9
|
-
* `AgentEvent` union would break the first and teach core about a host shape
|
|
10
|
-
* (`SubagentRun`) it has no business defining. The whole feature therefore
|
|
11
|
-
* changes ZERO files under `packages/core/` (AC-12).
|
|
12
|
-
*/
|
|
13
|
-
export {};
|