@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/limits.js
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* TEAM_LIMITS — the single authority on every bound this subsystem enforces
|
|
3
|
-
* (team-subagents §3.5 / §3.6).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope
|
|
6
|
-
* (`glyphs.test.ts`), so no literal in this tree may hold a non-ASCII byte.
|
|
7
|
-
*
|
|
8
|
-
* TWO KINDS OF NUMBER LIVE HERE AND THEY ARE NOT INTERCHANGEABLE.
|
|
9
|
-
*
|
|
10
|
-
* - The `TEAM_LIMITS` entries below are STRUCTURAL: they describe what the
|
|
11
|
-
* report format, the message channel and the panel can physically carry, and
|
|
12
|
-
* a user has no business tuning them. They are constants.
|
|
13
|
-
* - The six `team.*` config keys (`config/schema.ts`) are POLICY: how wide to
|
|
14
|
-
* fan out, how long to wait. They are clamped, persisted and user-facing.
|
|
15
|
-
*
|
|
16
|
-
* `hardMaxSubagents` sits on the structural side ON PURPOSE even though it
|
|
17
|
-
* bounds a config key: the requirement caps the fan-out at 10 (R-g), so a
|
|
18
|
-
* hand-edited `config.json` must not be able to raise it. It is applied twice —
|
|
19
|
-
* once in `clampTeamConfig` and once in `normalizeSubagentSpecs` — because a
|
|
20
|
-
* clamp that only runs on the read path leaves a bad value on disk.
|
|
21
|
-
*
|
|
22
|
-
* BYTES, NOT CHARACTERS, for every report budget (D-8 / I-9). `ToolExecutor`
|
|
23
|
-
* truncates combined tool text at 100 000 BYTES; a 24 000-character CJK report
|
|
24
|
-
* is 72 000 bytes, so a character-denominated cap would let the executor chop
|
|
25
|
-
* the report mid-section and take the failure count with it.
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* The two factors of the dispatch-total look budget (R-P1-6), hoisted only so
|
|
29
|
-
* `TEAM_LIMITS.overseerMaxLooksPerDispatch` can state their product without a
|
|
30
|
-
* second copy of either number. Not for export: the authority is TEAM_LIMITS.
|
|
31
|
-
*/
|
|
32
|
-
const HARD_MAX_SUBAGENTS = 10;
|
|
33
|
-
const OVERSEER_MAX_LOOKS_PER_CHILD = 12;
|
|
34
|
-
export const TEAM_LIMITS = {
|
|
35
|
-
/**
|
|
36
|
-
* The requirement's ceiling (R-g). Enforced in `clampTeamConfig` AND in
|
|
37
|
-
* `normalizeSubagentSpecs`, so neither a hand-edited file nor a model asking
|
|
38
|
-
* for thirty can exceed it.
|
|
39
|
-
*
|
|
40
|
-
* 10 IS THE CEILING, 8 IS THE DEFAULT (`DEFAULT_TEAM_CONFIG`): different
|
|
41
|
-
* numbers on purpose (subagent-fanout D-1 / D-2). The default is a policy
|
|
42
|
-
* choice the user may move in either direction from the settings screen; this
|
|
43
|
-
* bound is what no user may move.
|
|
44
|
-
*/
|
|
45
|
-
hardMaxSubagents: HARD_MAX_SUBAGENTS,
|
|
46
|
-
// --- Spec normalization (§3.3.1) ---
|
|
47
|
-
/** `SubagentSpec.description`, clamped (never rejected). */
|
|
48
|
-
descriptionChars: 60,
|
|
49
|
-
/** `SubagentSpec.prompt`, clamped. The child cannot see the conversation, so
|
|
50
|
-
* this has to be generous enough to carry a whole brief. */
|
|
51
|
-
promptChars: 8000,
|
|
52
|
-
/**
|
|
53
|
-
* The brief `/subagent <brief>` copies into its forced-directive turn
|
|
54
|
-
* (subagent-fanout 3.5.4 / R-10). CHARACTERS, not bytes, because this bound
|
|
55
|
-
* feeds a user-visible truncation marker rather than a wire budget: past it
|
|
56
|
-
* the directive says `[brief truncated]` so a clipped instruction is never
|
|
57
|
-
* mistaken for a complete one.
|
|
58
|
-
*/
|
|
59
|
-
forcedBriefChars: 4000,
|
|
60
|
-
/**
|
|
61
|
-
* Parts `/subagent --parts a,b,c` may name BEFORE `maxSubagents` narrows them
|
|
62
|
-
* (subagent-fanout 3.5.2 rule 3). The second, smaller ceiling is the policy
|
|
63
|
-
* number and belongs to the command body; this one only bounds what one
|
|
64
|
-
* argument can carry.
|
|
65
|
-
*/
|
|
66
|
-
forcedPartsMax: 8,
|
|
67
|
-
/** Slugified `SubagentSpec.label`. Long enough to be meaningful in the panel,
|
|
68
|
-
* short enough that five of them fit one row of an 80-column terminal. */
|
|
69
|
-
labelChars: 12,
|
|
70
|
-
// --- Report budgeting (§3.7). BYTES. ---
|
|
71
|
-
reportMaxBytes: 48_000,
|
|
72
|
-
summaryMaxBytes: 6_000,
|
|
73
|
-
/**
|
|
74
|
-
* Floor a summary is trimmed TO, never below. A section trimmed to nothing is
|
|
75
|
-
* indistinguishable from a child that reported nothing, which is exactly the
|
|
76
|
-
* distinction the report exists to preserve.
|
|
77
|
-
*/
|
|
78
|
-
summaryFloorBytes: 400,
|
|
79
|
-
/** Deduped `write_file` / `edit_file` paths recorded per child (§3.4). */
|
|
80
|
-
filesTouchedMax: 30,
|
|
81
|
-
// --- The team bus (§3.6). The "bu neng tai pin fan" clause, in numbers. ---
|
|
82
|
-
/** `team_send` calls one child may spend on a whole dispatch. */
|
|
83
|
-
messagesPerAgent: 6,
|
|
84
|
-
/** `team_send` calls the whole dispatch may spend. */
|
|
85
|
-
messagesPerDispatch: 24,
|
|
86
|
-
/** Minimum gap between one child's sends. */
|
|
87
|
-
minSendIntervalMs: 15_000,
|
|
88
|
-
/** Quota units a `to: "all"` broadcast costs. */
|
|
89
|
-
broadcastCost: 2,
|
|
90
|
-
subjectChars: 80,
|
|
91
|
-
bodyChars: 800,
|
|
92
|
-
/** `team_wait` timeout clamp, in seconds. */
|
|
93
|
-
waitMinSeconds: 5,
|
|
94
|
-
waitMaxSeconds: 120,
|
|
95
|
-
waitDefaultSeconds: 30,
|
|
96
|
-
/**
|
|
97
|
-
* `agent_update` coalescing window (§5.2). Five children streaming tokens must
|
|
98
|
-
* not push five React renders per token; phase transitions always pass.
|
|
99
|
-
*/
|
|
100
|
-
agentUpdateThrottleMs: 120,
|
|
101
|
-
/** Agent rows the live panel renders before collapsing to `+N more` (§6.1). */
|
|
102
|
-
panelMaxRows: 5,
|
|
103
|
-
/** Below this many terminal rows the panel collapses to its header line. */
|
|
104
|
-
panelCollapseRows: 20,
|
|
105
|
-
/** Below this many columns the status-bar readout degrades to `[3]` (D-20). */
|
|
106
|
-
statusCompactCols: 100,
|
|
107
|
-
// --- Live activity (team-live-activity F-1) ---
|
|
108
|
-
/**
|
|
109
|
-
* STORAGE ceiling for a prose activity tail (P0-1). The most a `SubagentRun`
|
|
110
|
-
* may carry, NOT the width of the column: `TeamPanel.activityBudget(cols)`
|
|
111
|
-
* derives the display budget from the terminal and is always <= this.
|
|
112
|
-
*/
|
|
113
|
-
activityChars: 64,
|
|
114
|
-
/**
|
|
115
|
-
* Floor under `activityBudget`. Below roughly 46 columns the roster has bigger
|
|
116
|
-
* problems than an elided activity line, and a column narrower than this shows
|
|
117
|
-
* nothing but an ellipsis - at which point the phase word is more informative.
|
|
118
|
-
*/
|
|
119
|
-
activityMinChars: 12,
|
|
120
|
-
/** Rolling text buffer kept per child. The only per-token allocation. */
|
|
121
|
-
activityTailChars: 160,
|
|
122
|
-
/** Per picked tool argument (P1-4). A path or a command longer than this is
|
|
123
|
-
* elided on capture, so a run can never carry more than a few hundred bytes
|
|
124
|
-
* of argument however large the real call was. */
|
|
125
|
-
activityArgChars: 120,
|
|
126
|
-
/** At or above this many columns the activity line carries a full path or
|
|
127
|
-
* command; below it, a basename or a program name. Mirrors `statusCompactCols`.
|
|
128
|
-
* This chooses WHICH FACT to show; `activityBudget` chooses how much of it. */
|
|
129
|
-
activityWideCols: 100,
|
|
130
|
-
/**
|
|
131
|
-
* Below this many columns the roster's activity cell gives way ENTIRELY
|
|
132
|
-
* (tui-subagent-panel §4.2.2).
|
|
133
|
-
*
|
|
134
|
-
* STRUCTURAL, like everything else in this block: twelve characters of prose in
|
|
135
|
-
* a 40-column terminal push the description column below its own twelve-column
|
|
136
|
-
* floor, and "who is doing what" outranks "what they are writing right now" when
|
|
137
|
-
* there is room for only one. That is why the cell returns 0 rather than
|
|
138
|
-
* `activityMinChars` below this width.
|
|
139
|
-
*/
|
|
140
|
-
activityDropCols: 56,
|
|
141
|
-
// --- The Agents board (tui-subagent-panel §4.4 / §4.5) ---
|
|
142
|
-
/**
|
|
143
|
-
* Events kept per child in `SubagentRun.timeline` (§4.5.3). Twenty-four covers
|
|
144
|
-
* a typical dispatch's complete tool sequence; ten children x 24 x 120 chars is
|
|
145
|
-
* about 29 KB at peak, and the ring is EPHEMERAL - it never reaches a file.
|
|
146
|
-
*/
|
|
147
|
-
timelineEntries: 24,
|
|
148
|
-
/** Display clamp on one timeline line; the same order as `activityArgChars`. */
|
|
149
|
-
timelineTextChars: 120,
|
|
150
|
-
/**
|
|
151
|
-
* Row ceiling of the Agents board's projection. The overlay scrolls, so this is
|
|
152
|
-
* a memory bound rather than a fit: one row per fact and at most ten children
|
|
153
|
-
* plus one detail section, which no healthy dispatch can reach.
|
|
154
|
-
*/
|
|
155
|
-
boardMaxRows: 240,
|
|
156
|
-
// --- Cold-start retry (team-live-activity F-4) ---
|
|
157
|
-
/** Retries of a child that produced NOTHING. One, and not configurable: a
|
|
158
|
-
* second retry doubles the worst-case latency of a failing dispatch and buys
|
|
159
|
-
* nothing a re-dispatch by the lead would not buy better. */
|
|
160
|
-
maxColdStartRetries: 1,
|
|
161
|
-
retryBackoffMs: 2_000,
|
|
162
|
-
// --- The dispatch supervisor (team-overseer / subagent-overseer-v2) ---
|
|
163
|
-
/**
|
|
164
|
-
* Wall-clock budget of everything one SINGLE inspection may carry (the
|
|
165
|
-
* silence-triggered path). The digest holds run facts, the supervisor's own
|
|
166
|
-
* memory and the tail of the child's live history; unbounded, one look at a
|
|
167
|
-
* child that read five big files would make the "cheap" supervision call
|
|
168
|
-
* cost more than the child (the argument FAST_LIMITS.digestMaxChars makes,
|
|
169
|
-
* one level up).
|
|
170
|
-
*/
|
|
171
|
-
overseerDigestBytes: 8_000,
|
|
172
|
-
/** Clamp on a `nudge` guidance text. Advice, not a second brief. */
|
|
173
|
-
overseerGuidanceChars: 1_200,
|
|
174
|
-
/** Clamp on the decision `reason` recorded in the report. */
|
|
175
|
-
overseerReasonChars: 200,
|
|
176
|
-
/**
|
|
177
|
-
* Per-child slice of a BATCH digest (D-3 / R-P2-5). 6.7x tighter than the
|
|
178
|
-
* single-inspection budget above: a batch carries up to ten children in one
|
|
179
|
-
* call, and memory plus the history tail are the first to give way (the
|
|
180
|
-
* facts-first assembly order already puts them last).
|
|
181
|
-
*/
|
|
182
|
-
overseerPerChildDigestBytes: 1_200,
|
|
183
|
-
/** Whole-batch digest ceiling (D-3): 10 children x 1 200 B fits exactly. */
|
|
184
|
-
overseerBatchDigestBytes: 12_000,
|
|
185
|
-
/**
|
|
186
|
-
* Output budget of ONE batch inspection (R-P0-1). The single-inspection path
|
|
187
|
-
* keeps `FAST_LIMITS.reviewOutputTokens` (512); a batch must return up to
|
|
188
|
-
* ten decision objects, and 512 tokens cannot physically hold ten x
|
|
189
|
-
* (reason <= 200 + guidance <= 1200). A truncated batch reply fails
|
|
190
|
-
* "first `[` to last `]`" parsing and degrades to all-wait - exactly the
|
|
191
|
-
* failure this separate, larger budget exists to prevent.
|
|
192
|
-
*/
|
|
193
|
-
overseerBatchOutputTokens: 2_048,
|
|
194
|
-
/** Tighter `reason` clamp inside the batch protocol (R-P0-1). */
|
|
195
|
-
overseerBatchReasonChars: 80,
|
|
196
|
-
/** Tighter `guidance` clamp inside the batch protocol (R-P0-1). */
|
|
197
|
-
overseerBatchGuidanceChars: 400,
|
|
198
|
-
/**
|
|
199
|
-
* LOOKS per child per dispatch (D-5). A look is cost, not mutation: every
|
|
200
|
-
* inspection of a child - silence-triggered, cadence tick or post-mortem -
|
|
201
|
-
* spends one, including a call that failed softly. Twelve with the cadence
|
|
202
|
-
* ladder covers hours of healthy slow work; past the budget the supervisor
|
|
203
|
-
* says so once (`trigger: 'quiet'`) and stops waking that child up.
|
|
204
|
-
*/
|
|
205
|
-
overseerMaxLooksPerChild: 12,
|
|
206
|
-
/**
|
|
207
|
-
* LOOKS per dispatch, the fool-proof total (R-P1-6):
|
|
208
|
-
* hardMaxSubagents x overseerMaxLooksPerChild = 120. A mathematical upper
|
|
209
|
-
* bound, not a tuning knob - the per-child budget always binds first; this
|
|
210
|
-
* one exists so a bug cannot loop calls forever. When it trips, the whole
|
|
211
|
-
* MonitorLoop stops with one aggregate notice.
|
|
212
|
-
*/
|
|
213
|
-
overseerMaxLooksPerDispatch: HARD_MAX_SUBAGENTS * OVERSEER_MAX_LOOKS_PER_CHILD,
|
|
214
|
-
/**
|
|
215
|
-
* NUDGES per child per dispatch (D-5). Advice is cheap but not free: a
|
|
216
|
-
* supervisor that steers the same child forever is one that never decided.
|
|
217
|
-
*/
|
|
218
|
-
overseerMaxNudgesPerChild: 3,
|
|
219
|
-
/**
|
|
220
|
-
* Rebuilds PER CHILD per dispatch. One: a replacement that also stalls dies
|
|
221
|
-
* on its own watchdog rather than ping-ponging fresh children at a task the
|
|
222
|
-
* supervisor already failed to rescue once.
|
|
223
|
-
*/
|
|
224
|
-
overseerMaxReplacementsPerChild: 1,
|
|
225
|
-
/**
|
|
226
|
-
* Abandons PER CHILD per dispatch (D-5). One, so a supervisor that has
|
|
227
|
-
* already given up on a brief cannot keep re-killing bodies of it.
|
|
228
|
-
*/
|
|
229
|
-
overseerMaxAbandonsPerChild: 1,
|
|
230
|
-
/**
|
|
231
|
-
* Cadence ladder growth factor (D-2). Each no-action inspection schedules
|
|
232
|
-
* the next `previous * ratio` out, so a healthy slow child is looked at
|
|
233
|
-
* logarithmically in its run time rather than every five minutes.
|
|
234
|
-
*/
|
|
235
|
-
overseerCadenceRatio: 1.6,
|
|
236
|
-
/**
|
|
237
|
-
* First cadence check when neither `team.overseerIntervalMs` nor
|
|
238
|
-
* `team.subagentTimeoutMs` names one (the shipped defaults): the supervisor
|
|
239
|
-
* still looks even when no ceiling was configured.
|
|
240
|
-
*/
|
|
241
|
-
overseerDefaultCheckMs: 300_000,
|
|
242
|
-
/** Clamp on a ladder step / model-chosen `nextCheckMs`, lower bound. */
|
|
243
|
-
overseerNextCheckMinMs: 60_000,
|
|
244
|
-
/** Clamp on a ladder step / model-chosen `nextCheckMs`, upper bound. */
|
|
245
|
-
overseerNextCheckMaxMs: 900_000,
|
|
246
|
-
/**
|
|
247
|
-
* A child's OWN idle watchdog, multiplied by this while the supervisor is
|
|
248
|
-
* active, so the soft silence inspection at `idleTimeoutMs` always precedes
|
|
249
|
-
* the hard abort. The watchdog stays as the backstop for a child that
|
|
250
|
-
* wedges past every inspection.
|
|
251
|
-
*/
|
|
252
|
-
overseerWatchdogFactor: 4,
|
|
253
|
-
};
|
|
254
|
-
/**
|
|
255
|
-
* The pseudo-label the runtime's AGGREGATE supervisor notices travel under
|
|
256
|
-
* (subagent-overseer-v2 D-5 / R-P1-6): the dispatch-total look-budget notice
|
|
257
|
-
* is one fact about the whole roster, not a row any child owns. RESERVED at
|
|
258
|
-
* normalization (`normalizeSubagentSpecs` seeds `dedupeLabel` with it), so a
|
|
259
|
-
* spec asking for the bare label `team` is handed `team-2` instead - the
|
|
260
|
-
* report ledger and the exec stream can then never attribute an aggregate
|
|
261
|
-
* notice to a real child, or swallow that child's own quiet note.
|
|
262
|
-
*/
|
|
263
|
-
export const TEAM_AGGREGATE_LABEL = 'team';
|
|
264
|
-
/**
|
|
265
|
-
* The two comm tools, which are POLICY-EXEMPT inside a child (§3.11).
|
|
266
|
-
*
|
|
267
|
-
* They are not in the lead's registered tool list, so evaluating them against
|
|
268
|
-
* the lead's `allowed-tools` ceiling would refuse them and dead-end the channel
|
|
269
|
-
* — the same dead end `SKILL_TOOL_FLOOR` exists to prevent one level up.
|
|
270
|
-
*
|
|
271
|
-
* Deliberately NOT added to `HOST_TOOL_NAMES` (P2-5). That constant answers
|
|
272
|
-
* "can a skill's `allowed-tools` declaration ever take effect?", and these two
|
|
273
|
-
* are never registered on a lead — so a skill naming them genuinely IS
|
|
274
|
-
* unenforceable, and `aragon skills doctor` reporting it as such is correct
|
|
275
|
-
* rather than a gap.
|
|
276
|
-
*/
|
|
277
|
-
export const TEAM_SUBAGENT_TOOL_NAMES = new Set(['team_send', 'team_wait']);
|
|
278
|
-
/**
|
|
279
|
-
* Bumped whenever the wording of either prompt block changes, so a behaviour
|
|
280
|
-
* report can be tied to a block revision with one grep.
|
|
281
|
-
*/
|
|
282
|
-
export const TEAM_BLOCK_VERSION = 'v3-2026-10';
|
|
283
|
-
// ---------------------------------------------------------------------------
|
|
284
|
-
// Forced team mode (`/team <brief>`, team-command-forced-dispatch §6.5).
|
|
285
|
-
//
|
|
286
|
-
// FOUR STRUCTURAL NUMBERS, here rather than in the modules that read them for
|
|
287
|
-
// the reason this file's header records: none of them is a user preference, and
|
|
288
|
-
// a `config.json` key for any of them would make "the model ignored the
|
|
289
|
-
// instruction" tunable by the person the instruction exists to protect.
|
|
290
|
-
// ---------------------------------------------------------------------------
|
|
291
|
-
/**
|
|
292
|
-
* The version string on `<forced_team_mode>`'s first line.
|
|
293
|
-
*
|
|
294
|
-
* The block's words are a CONTRACT with the model, so a behaviour report ("it
|
|
295
|
-
* still did the work itself") has to be tieable to one revision. Kept beside
|
|
296
|
-
* `TEAM_BLOCK_VERSION` rather than reusing it: the two blocks answer different
|
|
297
|
-
* questions ("can dispatch" versus "must dispatch") and a shared number would
|
|
298
|
-
* name neither revision.
|
|
299
|
-
*/
|
|
300
|
-
export const FORCED_TEAM_BLOCK_VERSION = 'v1-2026-10';
|
|
301
|
-
/**
|
|
302
|
-
* Length ceiling of the `<forced_team_mode>` text.
|
|
303
|
-
*
|
|
304
|
-
* THE FIRST BLOCK LENGTH IN THIS SUBSYSTEM THAT A TEST ASSERTS: the `<team_mode>`
|
|
305
|
-
* block's 1200 is a comment in `team/prompt.ts`, and unifying the two is a
|
|
306
|
-
* separate small refactor (deliberately out of scope here). Looser than 1200
|
|
307
|
-
* because this block is only ever paid for while the session is ARMED, and it
|
|
308
|
-
* carries three layers of instruction rather than one.
|
|
309
|
-
*/
|
|
310
|
-
export const FORCED_TEAM_BLOCK_MAX_CHARS = 1400;
|
|
311
|
-
/**
|
|
312
|
-
* Fallback nudges per user turn. ONE, and not configurable.
|
|
313
|
-
*
|
|
314
|
-
* The gate exists because the first two layers (the directive and the prompt
|
|
315
|
-
* block) both depend on the model cooperating. A second nudge would double the
|
|
316
|
-
* worst case of a model that is simply not going to dispatch - at N children per
|
|
317
|
-
* attempt - and D-8's whole argument is that the mechanical layer must be
|
|
318
|
-
* bounded by something other than the model's willingness.
|
|
319
|
-
*/
|
|
320
|
-
export const FORCED_NUDGE_LIMIT = 1;
|
|
321
|
-
/**
|
|
322
|
-
* Grace window before the fallback nudge fires, in milliseconds.
|
|
323
|
-
*
|
|
324
|
-
* SAME ORDER AS THE TODO FOLLOW-THROUGH GRACE, for a structural reason rather
|
|
325
|
-
* than a stylistic one: both continuations share ONE `followTimer` in `App`
|
|
326
|
-
* (I-9), so "at most one armed continuation" is only explicable while the two
|
|
327
|
-
* numbers stay in the same order of magnitude. **Changing todo's grace means
|
|
328
|
-
* re-reading this constant.**
|
|
329
|
-
*/
|
|
330
|
-
export const FORCED_NUDGE_GRACE_MS = 3000;
|
package/dist/team/model.d.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `resolveSubagentModel` — THE single authority on which model a team child
|
|
3
|
-
* runs (subagent-model-and-question-controls §3.3).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope.
|
|
6
|
-
*
|
|
7
|
-
* EVERY CONSUMER READS THE CHILD'S MODEL THROUGH THIS FUNCTION AND NOWHERE
|
|
8
|
-
* ELSE — `createSubagent`, the `task` report header and the settings root row —
|
|
9
|
-
* following the `resolveFastTier` precedent one directory over: three call
|
|
10
|
-
* sites each recomputing "which model do children run on?" from raw
|
|
11
|
-
* config keys is exactly how the report ends up naming a model the children
|
|
12
|
-
* silently fell back from.
|
|
13
|
-
*
|
|
14
|
-
* IT IS RE-RUN ON EVERY DISPATCH AND EVERY RENDER, NOT ONCE (rule 8 / RV-3 of
|
|
15
|
-
* the fast tier, inherited here): `team.model`, the fast tier and the profile
|
|
16
|
-
* library are all LIVE keys a settings save (the `Subagent model` row), `/fast
|
|
17
|
-
* off` or a kit can rewrite mid-session. A resolution captured at construction would be a
|
|
18
|
-
* resolution describing a session that no longer exists.
|
|
19
|
-
*
|
|
20
|
-
* A CHILD IS NEVER LEFT WITHOUT A MODEL (D-4). Every failure mode — fast tier
|
|
21
|
-
* off, profile deleted, profile key missing — degrades to the MAIN connection
|
|
22
|
-
* with a `fallbackReason`, so a dispatch cannot fail because its model setting
|
|
23
|
-
* went stale. The reason is disclosed, never swallowed: the report header and
|
|
24
|
-
* the settings summary line both render it.
|
|
25
|
-
*/
|
|
26
|
-
import type { ModelCost, ModelRef, ThinkingLevel, TokenUsage } from '@aragon-agent/core';
|
|
27
|
-
import type { ModelProfile, ModelRole } from '../config/model-profiles.js';
|
|
28
|
-
import type { CliConfig } from '../config/schema.js';
|
|
29
|
-
/** Which model children run on. `main` is the default and the historical behavior. */
|
|
30
|
-
export type SubagentModelMode = 'main' | 'fast' | 'profile';
|
|
31
|
-
/** Why a non-main request degraded to the main model (D-4 disclosure). */
|
|
32
|
-
export type SubagentFallbackReason =
|
|
33
|
-
/** `team.model='fast'` but `resolveFastTier` is not ok (off, unconfigured, no key). */
|
|
34
|
-
'fast_unavailable'
|
|
35
|
-
/** `modelProfileId` is absent from the library (deleted, or never existed). */
|
|
36
|
-
| 'profile_missing'
|
|
37
|
-
/** The entry exists but carries no key of its own and the shared layer has none. */
|
|
38
|
-
| 'profile_no_key';
|
|
39
|
-
/** In-memory resolution; recomputed per dispatch/render, never persisted (§6.3). */
|
|
40
|
-
export interface SubagentModelResolution {
|
|
41
|
-
/** The user's requested mode, verbatim from config (UI highlight reads this). */
|
|
42
|
-
mode: SubagentModelMode;
|
|
43
|
-
/** The mode actually in effect; `'main'` whenever a fallback fired. */
|
|
44
|
-
effective: SubagentModelMode;
|
|
45
|
-
/** The connection children will use. On fallback, exactly the main connection. */
|
|
46
|
-
ref: ModelRef;
|
|
47
|
-
/** main/profile take `config.thinkingLevel`; fast takes `config.fast.thinkingLevel`. */
|
|
48
|
-
thinkingLevel: ThinkingLevel;
|
|
49
|
-
/** The role controller key resolution uses: main/profile `'main'`, fast `'fast'`. */
|
|
50
|
-
keyRole: ModelRole;
|
|
51
|
-
/** The profile entry a `profile` request hit, dedicated key included; else null. */
|
|
52
|
-
profile: ModelProfile | null;
|
|
53
|
-
/** Present only when `effective !== mode`. */
|
|
54
|
-
fallbackReason?: SubagentFallbackReason;
|
|
55
|
-
}
|
|
56
|
-
/** What `priceTeamUsage` needs from the controller: the lead's table and the lookup. */
|
|
57
|
-
export interface TeamPriceBook {
|
|
58
|
-
/** The lead's own price table (`main` mode prices at exactly this). */
|
|
59
|
-
mainCost: ModelCost | undefined;
|
|
60
|
-
isPriced: (ref: ModelRef) => boolean;
|
|
61
|
-
costFor: (ref: ModelRef) => ModelCost | undefined;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* USD for one child `usage` event, at the model the children ACTUALLY ran.
|
|
65
|
-
*
|
|
66
|
-
* The status bar and the dispatch report must agree, so both price through the same
|
|
67
|
-
* resolution: under the default `main` mode this is the lead's table (byte parity),
|
|
68
|
-
* otherwise the fast / profile model's. A model no table prices contributes ZERO rather
|
|
69
|
-
* than a fabricated figure (C-11 / RV-4), where the report says `pricing unknown`.
|
|
70
|
-
*/
|
|
71
|
-
export declare function priceTeamUsage(resolution: SubagentModelResolution, usage: TokenUsage, book: TeamPriceBook): number;
|
|
72
|
-
/** The `AgentController.hasApiKey` shape, injected so there is one key resolver. */
|
|
73
|
-
export type HasApiKey = (providerId: string, role?: ModelRole) => boolean;
|
|
74
|
-
/** The lead-layer key resolver `resolveSubagentKey` falls back to. */
|
|
75
|
-
export type SharedKeyResolver = (providerId: string, role: ModelRole) => string | undefined;
|
|
76
|
-
/**
|
|
77
|
-
* Resolve the model every child of the NEXT dispatch will run on.
|
|
78
|
-
*
|
|
79
|
-
* Pure, synchronous, no IO — testable as a matrix over config fixtures.
|
|
80
|
-
*
|
|
81
|
-
* @param config The live effective config. Read fresh; never snapshot it.
|
|
82
|
-
* @param hasKey `AgentController.hasApiKey`, which already resolves the
|
|
83
|
-
* config-file key, the provider environment variable and the one-shot
|
|
84
|
-
* `--api-key` override. Injected rather than reimplemented for the reason
|
|
85
|
-
* `resolveFastTier` records: a second key resolver is a second answer to
|
|
86
|
-
* "why does it say no key?".
|
|
87
|
-
*/
|
|
88
|
-
export declare function resolveSubagentModel(config: CliConfig, hasKey: HasApiKey): SubagentModelResolution;
|
|
89
|
-
/**
|
|
90
|
-
* The key a CHILD resolves for a provider, profile-aware (§3.3 / I-4).
|
|
91
|
-
*
|
|
92
|
-
* A profile's dedicated key is visible ONLY here: it never reaches env,
|
|
93
|
-
* `config.apiKeys` or a log line. While the resolution's profile is bound and
|
|
94
|
-
* the provider matches it, the entry key takes priority over the shared layer;
|
|
95
|
-
* every other provider (and every non-profile mode) resolves through the
|
|
96
|
-
* lead's own resolver at `resolution.keyRole` — which is what keeps a `fast`
|
|
97
|
-
* child entitled to the fast-role key and a `main` child to the main one.
|
|
98
|
-
*
|
|
99
|
-
* @param config The live config (carried for parity with the resolver pair).
|
|
100
|
-
* @param resolution A fresh `resolveSubagentModel` output.
|
|
101
|
-
* @param providerId The provider the child needs a key for.
|
|
102
|
-
* @param shared The lead-layer resolver (`controller.resolveKey`).
|
|
103
|
-
*/
|
|
104
|
-
export declare function resolveSubagentKey(config: CliConfig, resolution: SubagentModelResolution, providerId: string, shared: SharedKeyResolver): string | undefined;
|
package/dist/team/model.js
DELETED
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `resolveSubagentModel` — THE single authority on which model a team child
|
|
3
|
-
* runs (subagent-model-and-question-controls §3.3).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/team/**` is inside the glyph scanner's scope.
|
|
6
|
-
*
|
|
7
|
-
* EVERY CONSUMER READS THE CHILD'S MODEL THROUGH THIS FUNCTION AND NOWHERE
|
|
8
|
-
* ELSE — `createSubagent`, the `task` report header and the settings root row —
|
|
9
|
-
* following the `resolveFastTier` precedent one directory over: three call
|
|
10
|
-
* sites each recomputing "which model do children run on?" from raw
|
|
11
|
-
* config keys is exactly how the report ends up naming a model the children
|
|
12
|
-
* silently fell back from.
|
|
13
|
-
*
|
|
14
|
-
* IT IS RE-RUN ON EVERY DISPATCH AND EVERY RENDER, NOT ONCE (rule 8 / RV-3 of
|
|
15
|
-
* the fast tier, inherited here): `team.model`, the fast tier and the profile
|
|
16
|
-
* library are all LIVE keys a settings save (the `Subagent model` row), `/fast
|
|
17
|
-
* off` or a kit can rewrite mid-session. A resolution captured at construction would be a
|
|
18
|
-
* resolution describing a session that no longer exists.
|
|
19
|
-
*
|
|
20
|
-
* A CHILD IS NEVER LEFT WITHOUT A MODEL (D-4). Every failure mode — fast tier
|
|
21
|
-
* off, profile deleted, profile key missing — degrades to the MAIN connection
|
|
22
|
-
* with a `fallbackReason`, so a dispatch cannot fail because its model setting
|
|
23
|
-
* went stale. The reason is disclosed, never swallowed: the report header and
|
|
24
|
-
* the settings summary line both render it.
|
|
25
|
-
*/
|
|
26
|
-
import { computeCost } from '../agent/usage.js';
|
|
27
|
-
import { resolveFastTier } from '../fast/resolve.js';
|
|
28
|
-
/**
|
|
29
|
-
* USD for one child `usage` event, at the model the children ACTUALLY ran.
|
|
30
|
-
*
|
|
31
|
-
* The status bar and the dispatch report must agree, so both price through the same
|
|
32
|
-
* resolution: under the default `main` mode this is the lead's table (byte parity),
|
|
33
|
-
* otherwise the fast / profile model's. A model no table prices contributes ZERO rather
|
|
34
|
-
* than a fabricated figure (C-11 / RV-4), where the report says `pricing unknown`.
|
|
35
|
-
*/
|
|
36
|
-
export function priceTeamUsage(resolution, usage, book) {
|
|
37
|
-
if (resolution.effective === 'main')
|
|
38
|
-
return computeCost(usage, book.mainCost);
|
|
39
|
-
return book.isPriced(resolution.ref) ? computeCost(usage, book.costFor(resolution.ref)) : 0;
|
|
40
|
-
}
|
|
41
|
-
function mainRef(config) {
|
|
42
|
-
return {
|
|
43
|
-
providerId: config.provider,
|
|
44
|
-
modelId: config.model,
|
|
45
|
-
...(config.baseUrl ? { baseUrl: config.baseUrl } : {}),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
function fallbackToMain(config, mode, fallbackReason) {
|
|
49
|
-
// THE ALWAYS-USABLE ANSWER (D-4): whatever the user asked for that could not
|
|
50
|
-
// resolve, the caller still gets a working connection — the same provider,
|
|
51
|
-
// model, base URL and thinking level the lead itself runs on.
|
|
52
|
-
return {
|
|
53
|
-
mode,
|
|
54
|
-
effective: 'main',
|
|
55
|
-
ref: mainRef(config),
|
|
56
|
-
thinkingLevel: config.thinkingLevel,
|
|
57
|
-
keyRole: 'main',
|
|
58
|
-
profile: null,
|
|
59
|
-
fallbackReason,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Resolve the model every child of the NEXT dispatch will run on.
|
|
64
|
-
*
|
|
65
|
-
* Pure, synchronous, no IO — testable as a matrix over config fixtures.
|
|
66
|
-
*
|
|
67
|
-
* @param config The live effective config. Read fresh; never snapshot it.
|
|
68
|
-
* @param hasKey `AgentController.hasApiKey`, which already resolves the
|
|
69
|
-
* config-file key, the provider environment variable and the one-shot
|
|
70
|
-
* `--api-key` override. Injected rather than reimplemented for the reason
|
|
71
|
-
* `resolveFastTier` records: a second key resolver is a second answer to
|
|
72
|
-
* "why does it say no key?".
|
|
73
|
-
*/
|
|
74
|
-
export function resolveSubagentModel(config, hasKey) {
|
|
75
|
-
// `clampTeamConfig` guarantees the enum on every read and write path, so the
|
|
76
|
-
// default `'main'` here is belt-and-braces rather than a real branch.
|
|
77
|
-
const mode = config.team.model ?? 'main';
|
|
78
|
-
if (mode === 'fast') {
|
|
79
|
-
const tier = resolveFastTier(config, hasKey);
|
|
80
|
-
if (tier.ok) {
|
|
81
|
-
return {
|
|
82
|
-
mode,
|
|
83
|
-
effective: 'fast',
|
|
84
|
-
ref: tier.ref,
|
|
85
|
-
thinkingLevel: config.fast.thinkingLevel,
|
|
86
|
-
keyRole: 'fast',
|
|
87
|
-
profile: null,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
return fallbackToMain(config, mode, 'fast_unavailable');
|
|
91
|
-
}
|
|
92
|
-
if (mode === 'profile') {
|
|
93
|
-
// A missing library, a missing id and a dangling id are one outcome
|
|
94
|
-
// (D-4): degrade to main and say so. Reference EXISTENCE is deliberately
|
|
95
|
-
// not validated in `clampTeamConfig` — resolution is where it belongs.
|
|
96
|
-
const id = config.team.modelProfileId;
|
|
97
|
-
const entry = id
|
|
98
|
-
? config.modelProfiles?.entries.find((candidate) => candidate.id === id)
|
|
99
|
-
: undefined;
|
|
100
|
-
if (!entry)
|
|
101
|
-
return fallbackToMain(config, mode, 'profile_missing');
|
|
102
|
-
// The dedicated entry key wins; without one the shared layer must have a
|
|
103
|
-
// key for the entry's provider, or the child could not authenticate at all.
|
|
104
|
-
if (!entry.apiKey && !hasKey(entry.provider, 'main')) {
|
|
105
|
-
return fallbackToMain(config, mode, 'profile_no_key');
|
|
106
|
-
}
|
|
107
|
-
return {
|
|
108
|
-
mode,
|
|
109
|
-
effective: 'profile',
|
|
110
|
-
ref: {
|
|
111
|
-
providerId: entry.provider,
|
|
112
|
-
modelId: entry.model,
|
|
113
|
-
...(entry.baseUrl ? { baseUrl: entry.baseUrl } : {}),
|
|
114
|
-
},
|
|
115
|
-
thinkingLevel: config.thinkingLevel,
|
|
116
|
-
keyRole: 'main',
|
|
117
|
-
profile: entry,
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
return {
|
|
121
|
-
mode: 'main',
|
|
122
|
-
effective: 'main',
|
|
123
|
-
ref: mainRef(config),
|
|
124
|
-
thinkingLevel: config.thinkingLevel,
|
|
125
|
-
keyRole: 'main',
|
|
126
|
-
profile: null,
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* The key a CHILD resolves for a provider, profile-aware (§3.3 / I-4).
|
|
131
|
-
*
|
|
132
|
-
* A profile's dedicated key is visible ONLY here: it never reaches env,
|
|
133
|
-
* `config.apiKeys` or a log line. While the resolution's profile is bound and
|
|
134
|
-
* the provider matches it, the entry key takes priority over the shared layer;
|
|
135
|
-
* every other provider (and every non-profile mode) resolves through the
|
|
136
|
-
* lead's own resolver at `resolution.keyRole` — which is what keeps a `fast`
|
|
137
|
-
* child entitled to the fast-role key and a `main` child to the main one.
|
|
138
|
-
*
|
|
139
|
-
* @param config The live config (carried for parity with the resolver pair).
|
|
140
|
-
* @param resolution A fresh `resolveSubagentModel` output.
|
|
141
|
-
* @param providerId The provider the child needs a key for.
|
|
142
|
-
* @param shared The lead-layer resolver (`controller.resolveKey`).
|
|
143
|
-
*/
|
|
144
|
-
export function resolveSubagentKey(config, resolution, providerId, shared) {
|
|
145
|
-
void config; // parity parameter: the pair reads one config, the key does not need it
|
|
146
|
-
if (resolution.profile && providerId === resolution.ref.providerId) {
|
|
147
|
-
return resolution.profile.apiKey ?? shared(providerId, 'main');
|
|
148
|
-
}
|
|
149
|
-
return shared(providerId, resolution.keyRole);
|
|
150
|
-
}
|
|
@@ -1,48 +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
|
-
import type { SubagentRun } from './types.js';
|
|
19
|
-
export interface PanelRows {
|
|
20
|
-
visible: SubagentRun[];
|
|
21
|
-
hiddenTotal: number;
|
|
22
|
-
hiddenRunning: number;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Rank the roster so that what is VISIBLE is what is HAPPENING.
|
|
26
|
-
*
|
|
27
|
-
* Ordering inside each group is chosen for ROW STABILITY, which is the real
|
|
28
|
-
* usability constraint here: the panel re-renders every 200 ms and a row that
|
|
29
|
-
* changes position on each tick is unreadable.
|
|
30
|
-
* - running: by `startedAt` ascending. `startedAt` changes exactly once in a
|
|
31
|
-
* run's life outside of its first assignment - on a cold-start retry (F-4),
|
|
32
|
-
* which re-stamps it (P2-4). A retried child therefore moves to the end of
|
|
33
|
-
* the running group, once, at the moment it visibly restarts. That is the
|
|
34
|
-
* correct reading of the ordering rule rather than an exception to it: the
|
|
35
|
-
* group is ordered by "how long has this been going", and a retry resets
|
|
36
|
-
* exactly that.
|
|
37
|
-
* - queued: original order; that IS the order the pool will start them in.
|
|
38
|
-
* - settled: most recently ended first, so the newest result is the one that
|
|
39
|
-
* stays on screen as others complete.
|
|
40
|
-
* A run changes position at most twice in its life - queued -> running ->
|
|
41
|
-
* settled - and each move carries real information.
|
|
42
|
-
*
|
|
43
|
-
* The final tiebreak is the original index. `Array.prototype.sort` is stable in
|
|
44
|
-
* every Node this package supports, so the tiebreak is not load-bearing; it is
|
|
45
|
-
* here so the ordering is total and the test can assert it without depending on
|
|
46
|
-
* that guarantee.
|
|
47
|
-
*/
|
|
48
|
-
export declare function selectPanelRows(runs: SubagentRun[], max: number): PanelRows;
|