@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/proc/limits.d.ts
DELETED
|
@@ -1,214 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PROC_LIMITS — the single authority on every structural bound the process
|
|
3
|
-
* supervisor enforces (background-service-supervision §6).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope
|
|
6
|
-
* (`glyphs.test.ts::inScope`), whose hardcoded directory regex this feature
|
|
7
|
-
* extends. A NEW TREE IS INVISIBLE TO THAT SCAN UNTIL IT IS NAMED THERE, and a
|
|
8
|
-
* guard rail that silently stops guarding is worse than no guard rail — this
|
|
9
|
-
* package has now paid for that edit eleven times.
|
|
10
|
-
*
|
|
11
|
-
* TWO KINDS OF NUMBER, AND THEY ARE NOT INTERCHANGEABLE — the distinction
|
|
12
|
-
* `TODO_LIMITS` and `TEAM_LIMITS` each record at length:
|
|
13
|
-
*
|
|
14
|
-
* - Everything below is STRUCTURAL: how many rows a tail can physically carry,
|
|
15
|
-
* how many children one session may hold, how long a kill may take before it
|
|
16
|
-
* stops being a kill. A user has no business tuning them, so they are
|
|
17
|
-
* constants.
|
|
18
|
-
* - The four `bash.*` config keys (`config/schema.ts`) are POLICY: register the
|
|
19
|
-
* tools at all, let the classifier fire, how long a launch may block the
|
|
20
|
-
* turn, how long to wait for readiness. They are clamped, persisted and
|
|
21
|
-
* user-facing.
|
|
22
|
-
*/
|
|
23
|
-
export declare const PROC_LIMITS: {
|
|
24
|
-
/**
|
|
25
|
-
* Rows the per-service ring retains.
|
|
26
|
-
*
|
|
27
|
-
* DELIBERATELY A DIFFERENT NUMBER FROM `cardTailRows` BELOW, and from
|
|
28
|
-
* `LIVE_TAIL_ROWS` (8) in `tools/tool-output-store.ts`. They bound unrelated
|
|
29
|
-
* things — what `bash_output` can page back through, versus what one card
|
|
30
|
-
* draws — and a shared literal is how a later edit collapses two bounds into
|
|
31
|
-
* one.
|
|
32
|
-
*/
|
|
33
|
-
readonly serviceTailRows: 200;
|
|
34
|
-
/** Rows a snapshot (and therefore a card) carries. */
|
|
35
|
-
readonly cardTailRows: 8;
|
|
36
|
-
/**
|
|
37
|
-
* JOB RECORDS one session may hold — services AND tasks share the number.
|
|
38
|
-
*
|
|
39
|
-
* NAMED `maxJobs`, NOT `maxServices` (long-task-jobs D-7). A constant that
|
|
40
|
-
* counts two kinds of job while being called `maxServices` is the next edit's
|
|
41
|
-
* bug: the limit and its refusal message would go on saying "service" while
|
|
42
|
-
* the model is holding a training run.
|
|
43
|
-
*
|
|
44
|
-
* Eviction only ever removes a record in a TERMINAL state
|
|
45
|
-
* (`exited | failed | stopped`). When all 16 are live `start()` refuses and
|
|
46
|
-
* names the oldest ids rather than evicting: evicting a live record would
|
|
47
|
-
* orphan a running server that nothing can any longer name or stop.
|
|
48
|
-
*/
|
|
49
|
-
readonly maxJobs: 16;
|
|
50
|
-
/**
|
|
51
|
-
* How long `bash` waits after `'exit'` for the stdio streams to close before
|
|
52
|
-
* settling anyway.
|
|
53
|
-
*
|
|
54
|
-
* This number IS defence 1. `'close'` fires only once every stream is closed,
|
|
55
|
-
* and a detached grandchild that inherited the pipe keeps it open after the
|
|
56
|
-
* shell is long gone — so a tool that settles on `'close'` alone has a path
|
|
57
|
-
* that never settles at all.
|
|
58
|
-
*
|
|
59
|
-
* IT IS A BOUND, NOT A VERDICT. Expiry says "stop waiting"; it does NOT say
|
|
60
|
-
* the pipe was held, and the note is only printed when the streams are
|
|
61
|
-
* observed still open at that moment (`proc/output-streams.ts` records the
|
|
62
|
-
* release-gate failure a timer-based verdict caused). The ordinary path does
|
|
63
|
-
* not even reach this bound: two ended streams after `'exit'` settle the call
|
|
64
|
-
* with the byte-identical body, one notification earlier.
|
|
65
|
-
*/
|
|
66
|
-
readonly drainMs: 250;
|
|
67
|
-
/**
|
|
68
|
-
* How long an aborted/timed-out `bash` waits after the kill before settling
|
|
69
|
-
* WHETHER OR NOT the child ever reported exit.
|
|
70
|
-
*
|
|
71
|
-
* A pending promise after an abort is the bug; a possibly-premature result is
|
|
72
|
-
* not.
|
|
73
|
-
*/
|
|
74
|
-
readonly killGraceMs: 2000;
|
|
75
|
-
/** Readiness port probe interval. */
|
|
76
|
-
readonly probeIntervalMs: 500;
|
|
77
|
-
/** Socket timeout for one readiness probe. */
|
|
78
|
-
readonly probeSocketTimeoutMs: 1000;
|
|
79
|
-
/**
|
|
80
|
-
* Output-event coalescing window inside the supervisor.
|
|
81
|
-
*
|
|
82
|
-
* At the SOURCE rather than in the view, because the same event is also
|
|
83
|
-
* consumed by `/bg` and by `bash_output`. A webpack build emitting thousands
|
|
84
|
-
* of lines a second must not become thousands of React renders.
|
|
85
|
-
*/
|
|
86
|
-
readonly outputCoalesceMs: 100;
|
|
87
|
-
/** `SIGTERM` -> `SIGKILL` escalation window for a graceful stop. */
|
|
88
|
-
readonly stopGraceMs: 3000;
|
|
89
|
-
/**
|
|
90
|
-
* How long to KEEP ASKING whether the `SIGKILL` actually landed before
|
|
91
|
-
* declaring the job `stopped`.
|
|
92
|
-
*
|
|
93
|
-
* THIS NUMBER IS NOT A GUESS ABOUT THE PLATFORM. `killTree` spawns `taskkill`,
|
|
94
|
-
* which is a process of its own: a Windows tree kill of a shell plus its node
|
|
95
|
-
* child measures ~0.8 s on the reference machine (while starting `cmd` costs
|
|
96
|
-
* 50 ms), so the fixed 250 ms this used to allow expired first and `stop()`
|
|
97
|
-
* reported `stopped` with the child still running - AC-18 caught exactly that.
|
|
98
|
-
* The wait stays BOUNDED against the opposite failure (a promise that never
|
|
99
|
-
* resolves); at this deadline the record keeps the honest `killIncomplete`
|
|
100
|
-
* flag instead.
|
|
101
|
-
*/
|
|
102
|
-
readonly killVerifyMs: 2000;
|
|
103
|
-
/** Liveness poll interval while waiting for a `SIGKILL` to land. */
|
|
104
|
-
readonly killVerifyPollMs: 50;
|
|
105
|
-
/**
|
|
106
|
-
* How long ONE synchronous tree kill (`killTreeSync`) may take.
|
|
107
|
-
*
|
|
108
|
-
* MEASURED, NOT GUESSED. A `taskkill /pid <shell> /t /f` of a shell plus its
|
|
109
|
-
* node child takes 1027-1058 ms on the reference machine on an IDLE host (five
|
|
110
|
-
* samples, 2026-10-23), so the old 2000 ms was 1.9x the honest cost and the
|
|
111
|
-
* 2026-10-23 release run - where the whole suite took 340 s against the usual
|
|
112
|
-
* 200-240 s - is comfortably inside the range where a single tree kill exceeds
|
|
113
|
-
* it. Crossing it is not a slow kill, it is NO kill: `spawnSync` kills
|
|
114
|
-
* `taskkill` itself at the deadline and the tree keeps running (verified: a
|
|
115
|
-
* 150 ms budget left the child alive 1.5 s later, `ETIMEDOUT` / `status null`).
|
|
116
|
-
*
|
|
117
|
-
* 5000 ms is ~5x the measured cost. It is a CEILING and not a cost: a tree that
|
|
118
|
-
* dies in the usual second still returns in that second. The worst case is
|
|
119
|
-
* `maxJobs` (16) trees at the ceiling on an exit hook, which is why this is not
|
|
120
|
-
* any larger - the reaper prefers a reported miss to an exit that never ends,
|
|
121
|
-
* and the miss is now reported (`ProcRecord.killIncomplete`).
|
|
122
|
-
*/
|
|
123
|
-
readonly killTreeSyncTimeoutMs: 5000;
|
|
124
|
-
/** Below this many terminal columns the status chip degrades to `[N]`. */
|
|
125
|
-
readonly statusCompactCols: 92;
|
|
126
|
-
/**
|
|
127
|
-
* Rows of new output one `job_wait` result carries, in addition to its status,
|
|
128
|
-
* progress, cursor, `[note]`/`[stalled]` and `[next]` lines.
|
|
129
|
-
*
|
|
130
|
-
* THE NUMBER IS THE FEATURE. One wait must cost ~150 tokens, not the ~6k a
|
|
131
|
-
* 200-row tail costs - that economy is the whole reason `job_wait` exists
|
|
132
|
-
* instead of a seventh `bash_output` poll.
|
|
133
|
-
*/
|
|
134
|
-
readonly waitTailRows: 6;
|
|
135
|
-
/**
|
|
136
|
-
* Seconds a single wait may block, as a STRUCTURAL floor and ceiling (`jobs.waitSeconds` is clamped into this range).
|
|
137
|
-
*
|
|
138
|
-
* THE ONE AUTHORITY FOR THE CEILING (extended-job-wait I-2): the executor
|
|
139
|
-
* override (`JOB_WAIT_TOOL_CEILING_MS`), `WAIT_SECONDS_RANGE.max`, the tool
|
|
140
|
-
* description and the prompt block all derive from, or are asserted equal to,
|
|
141
|
-
* `waitMaxSeconds`. Changing it here and missing another reader is how a wait
|
|
142
|
-
* is silently cut short by a layer nobody remembered.
|
|
143
|
-
*/
|
|
144
|
-
readonly waitMinSeconds: 5;
|
|
145
|
-
readonly waitMaxSeconds: 1200;
|
|
146
|
-
/**
|
|
147
|
-
* Cadence of the in-wait heartbeat, in ms.
|
|
148
|
-
*
|
|
149
|
-
* ONE HZ because the reader needs "a few seconds ago" precision, not a stream:
|
|
150
|
-
* subscribing to the supervisor's 100 ms output coalescing would mean ~12000
|
|
151
|
-
* pointless view updates across a 20-minute wait. The same beat also carries the
|
|
152
|
-
* wall-clock deadline re-check (see `proc/wait.ts`).
|
|
153
|
-
*/
|
|
154
|
-
readonly waitHeartbeatMs: 1000;
|
|
155
|
-
/**
|
|
156
|
-
* Characters one extracted progress line may occupy.
|
|
157
|
-
*
|
|
158
|
-
* Also the width the card's progress row is assumed to take, which is why
|
|
159
|
-
* `ui/layout/virtual-window.ts` can count it as exactly one row.
|
|
160
|
-
*/
|
|
161
|
-
readonly waitProgressChars: 80;
|
|
162
|
-
/**
|
|
163
|
-
* Rows `extractProgress` scans, from the tail, before giving up.
|
|
164
|
-
*
|
|
165
|
-
* Eight because a tqdm bar plus its ETA plus the loss line above it is the
|
|
166
|
-
* realistic worst case, and because a wider window is how a stale `100%` from
|
|
167
|
-
* an earlier phase wins over the live one.
|
|
168
|
-
*/
|
|
169
|
-
readonly progressScanRows: 8;
|
|
170
|
-
/** Notices one `<job_notices>` block may render. Bounded so the block stays ~8 lines. */
|
|
171
|
-
readonly maxNotices: 8;
|
|
172
|
-
/** Log rows a failed job's notice carries. Two: the message and the frame above it. */
|
|
173
|
-
readonly noticeTailRows: 2;
|
|
174
|
-
/** Rows `job_list` prints before it collapses the rest into `+N more`. */
|
|
175
|
-
readonly listRows: 8;
|
|
176
|
-
/**
|
|
177
|
-
* Consecutive waits with no new row and no progress change before the
|
|
178
|
-
* `[guard]` line is prepended (R-3).
|
|
179
|
-
*
|
|
180
|
-
* A HINT, NEVER A REFUSAL: the seventh wait still waits. Refusing would take
|
|
181
|
-
* the decision away from the model at exactly the point where it has the most
|
|
182
|
-
* context.
|
|
183
|
-
*/
|
|
184
|
-
readonly maxConsecutiveWaits: 6;
|
|
185
|
-
/** Bytes one mirrored job log may occupy before it stops appending. */
|
|
186
|
-
readonly logMirrorMaxBytes: 2000000;
|
|
187
|
-
/** Coalescing window for the log mirror's appends (<=4 writes/second). */
|
|
188
|
-
readonly mirrorFlushMs: 250;
|
|
189
|
-
/** Session directories the mirror keeps, newest by mtime. */
|
|
190
|
-
readonly mirrorRetainDirs: 5;
|
|
191
|
-
};
|
|
192
|
-
/**
|
|
193
|
-
* Bumped whenever the wording of the `<background_services>` block changes, so a
|
|
194
|
-
* behaviour report can be tied to a block revision with one grep.
|
|
195
|
-
*/
|
|
196
|
-
export declare const BACKGROUND_SERVICES_BLOCK_VERSION = "v1";
|
|
197
|
-
/**
|
|
198
|
-
* The same discipline for the `<background_jobs>` block. A SEPARATE CONSTANT,
|
|
199
|
-
* not a bump of the one above: the two blocks are spliced by different flags
|
|
200
|
-
* (`bash.background` and `jobs.enabled`), so one version number covering both
|
|
201
|
-
* would make "which block changed" unanswerable from a report.
|
|
202
|
-
*/
|
|
203
|
-
export declare const JOBS_BLOCK_VERSION = "v2-2026-10";
|
|
204
|
-
/**
|
|
205
|
-
* Head-room the executor's own `job_wait` timer leaves above the longest wait.
|
|
206
|
-
*
|
|
207
|
-
* It is a SECOND, INDEPENDENT clock, not a coupling to `toolTimeoutMs`
|
|
208
|
-
* (extended-job-wait I-4'): the idle watchdog is paused for the whole wait, so
|
|
209
|
-
* when `waitForJob` itself misbehaves this is the only thing left that can end
|
|
210
|
-
* the call. `toolTimeoutMs` no longer constrains a wait at all.
|
|
211
|
-
*/
|
|
212
|
-
export declare const JOB_WAIT_MARGIN_MS = 30000;
|
|
213
|
-
/** The executor ceiling for `job_wait`: the longest wait plus its margin (1230 s). */
|
|
214
|
-
export declare const JOB_WAIT_TOOL_CEILING_MS: number;
|
package/dist/proc/limits.js
DELETED
|
@@ -1,221 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* PROC_LIMITS — the single authority on every structural bound the process
|
|
3
|
-
* supervisor enforces (background-service-supervision §6).
|
|
4
|
-
*
|
|
5
|
-
* ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope
|
|
6
|
-
* (`glyphs.test.ts::inScope`), whose hardcoded directory regex this feature
|
|
7
|
-
* extends. A NEW TREE IS INVISIBLE TO THAT SCAN UNTIL IT IS NAMED THERE, and a
|
|
8
|
-
* guard rail that silently stops guarding is worse than no guard rail — this
|
|
9
|
-
* package has now paid for that edit eleven times.
|
|
10
|
-
*
|
|
11
|
-
* TWO KINDS OF NUMBER, AND THEY ARE NOT INTERCHANGEABLE — the distinction
|
|
12
|
-
* `TODO_LIMITS` and `TEAM_LIMITS` each record at length:
|
|
13
|
-
*
|
|
14
|
-
* - Everything below is STRUCTURAL: how many rows a tail can physically carry,
|
|
15
|
-
* how many children one session may hold, how long a kill may take before it
|
|
16
|
-
* stops being a kill. A user has no business tuning them, so they are
|
|
17
|
-
* constants.
|
|
18
|
-
* - The four `bash.*` config keys (`config/schema.ts`) are POLICY: register the
|
|
19
|
-
* tools at all, let the classifier fire, how long a launch may block the
|
|
20
|
-
* turn, how long to wait for readiness. They are clamped, persisted and
|
|
21
|
-
* user-facing.
|
|
22
|
-
*/
|
|
23
|
-
export const PROC_LIMITS = {
|
|
24
|
-
/**
|
|
25
|
-
* Rows the per-service ring retains.
|
|
26
|
-
*
|
|
27
|
-
* DELIBERATELY A DIFFERENT NUMBER FROM `cardTailRows` BELOW, and from
|
|
28
|
-
* `LIVE_TAIL_ROWS` (8) in `tools/tool-output-store.ts`. They bound unrelated
|
|
29
|
-
* things — what `bash_output` can page back through, versus what one card
|
|
30
|
-
* draws — and a shared literal is how a later edit collapses two bounds into
|
|
31
|
-
* one.
|
|
32
|
-
*/
|
|
33
|
-
serviceTailRows: 200,
|
|
34
|
-
/** Rows a snapshot (and therefore a card) carries. */
|
|
35
|
-
cardTailRows: 8,
|
|
36
|
-
/**
|
|
37
|
-
* JOB RECORDS one session may hold — services AND tasks share the number.
|
|
38
|
-
*
|
|
39
|
-
* NAMED `maxJobs`, NOT `maxServices` (long-task-jobs D-7). A constant that
|
|
40
|
-
* counts two kinds of job while being called `maxServices` is the next edit's
|
|
41
|
-
* bug: the limit and its refusal message would go on saying "service" while
|
|
42
|
-
* the model is holding a training run.
|
|
43
|
-
*
|
|
44
|
-
* Eviction only ever removes a record in a TERMINAL state
|
|
45
|
-
* (`exited | failed | stopped`). When all 16 are live `start()` refuses and
|
|
46
|
-
* names the oldest ids rather than evicting: evicting a live record would
|
|
47
|
-
* orphan a running server that nothing can any longer name or stop.
|
|
48
|
-
*/
|
|
49
|
-
maxJobs: 16,
|
|
50
|
-
/**
|
|
51
|
-
* How long `bash` waits after `'exit'` for the stdio streams to close before
|
|
52
|
-
* settling anyway.
|
|
53
|
-
*
|
|
54
|
-
* This number IS defence 1. `'close'` fires only once every stream is closed,
|
|
55
|
-
* and a detached grandchild that inherited the pipe keeps it open after the
|
|
56
|
-
* shell is long gone — so a tool that settles on `'close'` alone has a path
|
|
57
|
-
* that never settles at all.
|
|
58
|
-
*
|
|
59
|
-
* IT IS A BOUND, NOT A VERDICT. Expiry says "stop waiting"; it does NOT say
|
|
60
|
-
* the pipe was held, and the note is only printed when the streams are
|
|
61
|
-
* observed still open at that moment (`proc/output-streams.ts` records the
|
|
62
|
-
* release-gate failure a timer-based verdict caused). The ordinary path does
|
|
63
|
-
* not even reach this bound: two ended streams after `'exit'` settle the call
|
|
64
|
-
* with the byte-identical body, one notification earlier.
|
|
65
|
-
*/
|
|
66
|
-
drainMs: 250,
|
|
67
|
-
/**
|
|
68
|
-
* How long an aborted/timed-out `bash` waits after the kill before settling
|
|
69
|
-
* WHETHER OR NOT the child ever reported exit.
|
|
70
|
-
*
|
|
71
|
-
* A pending promise after an abort is the bug; a possibly-premature result is
|
|
72
|
-
* not.
|
|
73
|
-
*/
|
|
74
|
-
killGraceMs: 2000,
|
|
75
|
-
/** Readiness port probe interval. */
|
|
76
|
-
probeIntervalMs: 500,
|
|
77
|
-
/** Socket timeout for one readiness probe. */
|
|
78
|
-
probeSocketTimeoutMs: 1000,
|
|
79
|
-
/**
|
|
80
|
-
* Output-event coalescing window inside the supervisor.
|
|
81
|
-
*
|
|
82
|
-
* At the SOURCE rather than in the view, because the same event is also
|
|
83
|
-
* consumed by `/bg` and by `bash_output`. A webpack build emitting thousands
|
|
84
|
-
* of lines a second must not become thousands of React renders.
|
|
85
|
-
*/
|
|
86
|
-
outputCoalesceMs: 100,
|
|
87
|
-
/** `SIGTERM` -> `SIGKILL` escalation window for a graceful stop. */
|
|
88
|
-
stopGraceMs: 3000,
|
|
89
|
-
/**
|
|
90
|
-
* How long to KEEP ASKING whether the `SIGKILL` actually landed before
|
|
91
|
-
* declaring the job `stopped`.
|
|
92
|
-
*
|
|
93
|
-
* THIS NUMBER IS NOT A GUESS ABOUT THE PLATFORM. `killTree` spawns `taskkill`,
|
|
94
|
-
* which is a process of its own: a Windows tree kill of a shell plus its node
|
|
95
|
-
* child measures ~0.8 s on the reference machine (while starting `cmd` costs
|
|
96
|
-
* 50 ms), so the fixed 250 ms this used to allow expired first and `stop()`
|
|
97
|
-
* reported `stopped` with the child still running - AC-18 caught exactly that.
|
|
98
|
-
* The wait stays BOUNDED against the opposite failure (a promise that never
|
|
99
|
-
* resolves); at this deadline the record keeps the honest `killIncomplete`
|
|
100
|
-
* flag instead.
|
|
101
|
-
*/
|
|
102
|
-
killVerifyMs: 2000,
|
|
103
|
-
/** Liveness poll interval while waiting for a `SIGKILL` to land. */
|
|
104
|
-
killVerifyPollMs: 50,
|
|
105
|
-
/**
|
|
106
|
-
* How long ONE synchronous tree kill (`killTreeSync`) may take.
|
|
107
|
-
*
|
|
108
|
-
* MEASURED, NOT GUESSED. A `taskkill /pid <shell> /t /f` of a shell plus its
|
|
109
|
-
* node child takes 1027-1058 ms on the reference machine on an IDLE host (five
|
|
110
|
-
* samples, 2026-10-23), so the old 2000 ms was 1.9x the honest cost and the
|
|
111
|
-
* 2026-10-23 release run - where the whole suite took 340 s against the usual
|
|
112
|
-
* 200-240 s - is comfortably inside the range where a single tree kill exceeds
|
|
113
|
-
* it. Crossing it is not a slow kill, it is NO kill: `spawnSync` kills
|
|
114
|
-
* `taskkill` itself at the deadline and the tree keeps running (verified: a
|
|
115
|
-
* 150 ms budget left the child alive 1.5 s later, `ETIMEDOUT` / `status null`).
|
|
116
|
-
*
|
|
117
|
-
* 5000 ms is ~5x the measured cost. It is a CEILING and not a cost: a tree that
|
|
118
|
-
* dies in the usual second still returns in that second. The worst case is
|
|
119
|
-
* `maxJobs` (16) trees at the ceiling on an exit hook, which is why this is not
|
|
120
|
-
* any larger - the reaper prefers a reported miss to an exit that never ends,
|
|
121
|
-
* and the miss is now reported (`ProcRecord.killIncomplete`).
|
|
122
|
-
*/
|
|
123
|
-
killTreeSyncTimeoutMs: 5000,
|
|
124
|
-
/** Below this many terminal columns the status chip degrades to `[N]`. */
|
|
125
|
-
statusCompactCols: 92,
|
|
126
|
-
// --- long-task-jobs: bounded waiting, progress, notices, log mirror --------
|
|
127
|
-
//
|
|
128
|
-
// EVERY ONE OF THESE IS STRUCTURAL, not policy. The user-tunable knobs are the
|
|
129
|
-
// five `jobs.*` keys in `config/schema.ts` (how many seconds to wait, when
|
|
130
|
-
// silence becomes `[stalled]`, whether to mirror the log, whether notices may
|
|
131
|
-
// steer). What a result can PHYSICALLY carry lives here, for the reason this
|
|
132
|
-
// file's header records at length.
|
|
133
|
-
/**
|
|
134
|
-
* Rows of new output one `job_wait` result carries, in addition to its status,
|
|
135
|
-
* progress, cursor, `[note]`/`[stalled]` and `[next]` lines.
|
|
136
|
-
*
|
|
137
|
-
* THE NUMBER IS THE FEATURE. One wait must cost ~150 tokens, not the ~6k a
|
|
138
|
-
* 200-row tail costs - that economy is the whole reason `job_wait` exists
|
|
139
|
-
* instead of a seventh `bash_output` poll.
|
|
140
|
-
*/
|
|
141
|
-
waitTailRows: 6,
|
|
142
|
-
/**
|
|
143
|
-
* Seconds a single wait may block, as a STRUCTURAL floor and ceiling (`jobs.waitSeconds` is clamped into this range).
|
|
144
|
-
*
|
|
145
|
-
* THE ONE AUTHORITY FOR THE CEILING (extended-job-wait I-2): the executor
|
|
146
|
-
* override (`JOB_WAIT_TOOL_CEILING_MS`), `WAIT_SECONDS_RANGE.max`, the tool
|
|
147
|
-
* description and the prompt block all derive from, or are asserted equal to,
|
|
148
|
-
* `waitMaxSeconds`. Changing it here and missing another reader is how a wait
|
|
149
|
-
* is silently cut short by a layer nobody remembered.
|
|
150
|
-
*/
|
|
151
|
-
waitMinSeconds: 5,
|
|
152
|
-
waitMaxSeconds: 1200,
|
|
153
|
-
/**
|
|
154
|
-
* Cadence of the in-wait heartbeat, in ms.
|
|
155
|
-
*
|
|
156
|
-
* ONE HZ because the reader needs "a few seconds ago" precision, not a stream:
|
|
157
|
-
* subscribing to the supervisor's 100 ms output coalescing would mean ~12000
|
|
158
|
-
* pointless view updates across a 20-minute wait. The same beat also carries the
|
|
159
|
-
* wall-clock deadline re-check (see `proc/wait.ts`).
|
|
160
|
-
*/
|
|
161
|
-
waitHeartbeatMs: 1000,
|
|
162
|
-
/**
|
|
163
|
-
* Characters one extracted progress line may occupy.
|
|
164
|
-
*
|
|
165
|
-
* Also the width the card's progress row is assumed to take, which is why
|
|
166
|
-
* `ui/layout/virtual-window.ts` can count it as exactly one row.
|
|
167
|
-
*/
|
|
168
|
-
waitProgressChars: 80,
|
|
169
|
-
/**
|
|
170
|
-
* Rows `extractProgress` scans, from the tail, before giving up.
|
|
171
|
-
*
|
|
172
|
-
* Eight because a tqdm bar plus its ETA plus the loss line above it is the
|
|
173
|
-
* realistic worst case, and because a wider window is how a stale `100%` from
|
|
174
|
-
* an earlier phase wins over the live one.
|
|
175
|
-
*/
|
|
176
|
-
progressScanRows: 8,
|
|
177
|
-
/** Notices one `<job_notices>` block may render. Bounded so the block stays ~8 lines. */
|
|
178
|
-
maxNotices: 8,
|
|
179
|
-
/** Log rows a failed job's notice carries. Two: the message and the frame above it. */
|
|
180
|
-
noticeTailRows: 2,
|
|
181
|
-
/** Rows `job_list` prints before it collapses the rest into `+N more`. */
|
|
182
|
-
listRows: 8,
|
|
183
|
-
/**
|
|
184
|
-
* Consecutive waits with no new row and no progress change before the
|
|
185
|
-
* `[guard]` line is prepended (R-3).
|
|
186
|
-
*
|
|
187
|
-
* A HINT, NEVER A REFUSAL: the seventh wait still waits. Refusing would take
|
|
188
|
-
* the decision away from the model at exactly the point where it has the most
|
|
189
|
-
* context.
|
|
190
|
-
*/
|
|
191
|
-
maxConsecutiveWaits: 6,
|
|
192
|
-
/** Bytes one mirrored job log may occupy before it stops appending. */
|
|
193
|
-
logMirrorMaxBytes: 2_000_000,
|
|
194
|
-
/** Coalescing window for the log mirror's appends (<=4 writes/second). */
|
|
195
|
-
mirrorFlushMs: 250,
|
|
196
|
-
/** Session directories the mirror keeps, newest by mtime. */
|
|
197
|
-
mirrorRetainDirs: 5,
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Bumped whenever the wording of the `<background_services>` block changes, so a
|
|
201
|
-
* behaviour report can be tied to a block revision with one grep.
|
|
202
|
-
*/
|
|
203
|
-
export const BACKGROUND_SERVICES_BLOCK_VERSION = 'v1';
|
|
204
|
-
/**
|
|
205
|
-
* The same discipline for the `<background_jobs>` block. A SEPARATE CONSTANT,
|
|
206
|
-
* not a bump of the one above: the two blocks are spliced by different flags
|
|
207
|
-
* (`bash.background` and `jobs.enabled`), so one version number covering both
|
|
208
|
-
* would make "which block changed" unanswerable from a report.
|
|
209
|
-
*/
|
|
210
|
-
export const JOBS_BLOCK_VERSION = 'v2-2026-10';
|
|
211
|
-
/**
|
|
212
|
-
* Head-room the executor's own `job_wait` timer leaves above the longest wait.
|
|
213
|
-
*
|
|
214
|
-
* It is a SECOND, INDEPENDENT clock, not a coupling to `toolTimeoutMs`
|
|
215
|
-
* (extended-job-wait I-4'): the idle watchdog is paused for the whole wait, so
|
|
216
|
-
* when `waitForJob` itself misbehaves this is the only thing left that can end
|
|
217
|
-
* the call. `toolTimeoutMs` no longer constrains a wait at all.
|
|
218
|
-
*/
|
|
219
|
-
export const JOB_WAIT_MARGIN_MS = 30_000;
|
|
220
|
-
/** The executor ceiling for `job_wait`: the longest wait plus its margin (1230 s). */
|
|
221
|
-
export const JOB_WAIT_TOOL_CEILING_MS = PROC_LIMITS.waitMaxSeconds * 1000 + JOB_WAIT_MARGIN_MS;
|
package/dist/proc/progress.d.ts
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress extraction for a long-running job (long-task-jobs §4.5).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope.
|
|
5
|
-
*
|
|
6
|
-
* PURE: no IO, no clock, no process. That is what lets `progress.test.ts`
|
|
7
|
-
* enumerate the whole table, and it is why the cost of a progress line is one
|
|
8
|
-
* function call inside an already-coalesced output tick rather than a second
|
|
9
|
-
* subscription to the child's stdio.
|
|
10
|
-
*
|
|
11
|
-
* THE POINT IS EXTRACTION, NOT TRANSPORT. The alternative - handing the model
|
|
12
|
-
* the last 200 rows so it can notice the `47%` itself - costs 4k-8k tokens per
|
|
13
|
-
* check and buries the one number that matters. Here the ring keeps the rows and
|
|
14
|
-
* the model gets `47%`.
|
|
15
|
-
*
|
|
16
|
-
* NOTHING DECIDES ANYTHING FROM THIS (R-4). Progress is a REPORT. `status`,
|
|
17
|
-
* `exitCode` and `signal` are the only things a job's outcome is ever read from,
|
|
18
|
-
* so a false `100%` in `[100%] built target foo` costs one confusing word rather
|
|
19
|
-
* than a wrong conclusion.
|
|
20
|
-
*/
|
|
21
|
-
export type ProgressKind = 'percent' | 'ratio' | 'epoch' | 'bytes' | 'text';
|
|
22
|
-
export interface JobProgress {
|
|
23
|
-
/** Already clipped to `PROC_LIMITS.waitProgressChars`. */
|
|
24
|
-
text: string;
|
|
25
|
-
kind: ProgressKind;
|
|
26
|
-
/** `carry` = the not-yet-newline-terminated line, where every progress bar lives. */
|
|
27
|
-
source: 'row' | 'carry';
|
|
28
|
-
/** Index into the scanned window; `-1` for the carry line. Diagnostics and tests only. */
|
|
29
|
-
rowIndex: number;
|
|
30
|
-
/**
|
|
31
|
-
* 0..1 completion when the text carries a usable ratio, else `null`.
|
|
32
|
-
*
|
|
33
|
-
* A REPORT FOR THE PROGRESS BAR ONLY (extended-job-wait I-12): it never decides
|
|
34
|
-
* `status`, `[done]` or the spin guard.
|
|
35
|
-
*/
|
|
36
|
-
fraction: number | null;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Extract one line of progress from the tail of a job's output.
|
|
40
|
-
*
|
|
41
|
-
* `rows` is the scan window (the caller passes at most
|
|
42
|
-
* `PROC_LIMITS.progressScanRows`); `carry` is the not-yet-terminated line, which
|
|
43
|
-
* is where a `\r`-rewritten bar keeps its whole life. Returns `undefined` when
|
|
44
|
-
* nothing but decoration has been printed - an honest "there is no progress to
|
|
45
|
-
* show", which the callers render as absence rather than as a fake `0%`.
|
|
46
|
-
*/
|
|
47
|
-
export declare function extractProgress(rows: readonly string[], carry: string): JobProgress | undefined;
|
package/dist/proc/progress.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Progress extraction for a long-running job (long-task-jobs §4.5).
|
|
3
|
-
*
|
|
4
|
-
* ASCII ONLY: `src/proc/**` is inside the glyph scanner's scope.
|
|
5
|
-
*
|
|
6
|
-
* PURE: no IO, no clock, no process. That is what lets `progress.test.ts`
|
|
7
|
-
* enumerate the whole table, and it is why the cost of a progress line is one
|
|
8
|
-
* function call inside an already-coalesced output tick rather than a second
|
|
9
|
-
* subscription to the child's stdio.
|
|
10
|
-
*
|
|
11
|
-
* THE POINT IS EXTRACTION, NOT TRANSPORT. The alternative - handing the model
|
|
12
|
-
* the last 200 rows so it can notice the `47%` itself - costs 4k-8k tokens per
|
|
13
|
-
* check and buries the one number that matters. Here the ring keeps the rows and
|
|
14
|
-
* the model gets `47%`.
|
|
15
|
-
*
|
|
16
|
-
* NOTHING DECIDES ANYTHING FROM THIS (R-4). Progress is a REPORT. `status`,
|
|
17
|
-
* `exitCode` and `signal` are the only things a job's outcome is ever read from,
|
|
18
|
-
* so a false `100%` in `[100%] built target foo` costs one confusing word rather
|
|
19
|
-
* than a wrong conclusion.
|
|
20
|
-
*/
|
|
21
|
-
import { PROC_LIMITS } from './limits.js';
|
|
22
|
-
/**
|
|
23
|
-
* The ordered table (first match wins PER ROW, newest row scanned first).
|
|
24
|
-
*
|
|
25
|
-
* BYTES SITS ABOVE THE GENERIC RATIO, and that rewrites the order the design
|
|
26
|
-
* document lists. `1.2/3.4 GiB` satisfies the generic ratio pattern as `2/3`
|
|
27
|
-
* (the digits either side of the slash, with `.` a word boundary), so a table
|
|
28
|
-
* that tried `\d+/\d+` first would report every download as `2/3`. The document's
|
|
29
|
-
* constraint - ordered, anchored, single-line, no backtracking blowup - is kept;
|
|
30
|
-
* only the relative order of those two rows changed. Recorded in
|
|
31
|
-
* `docs/plans/long-task-jobs/spec.md` under `## 实施过程发现的方案缺陷` (I-1).
|
|
32
|
-
*/
|
|
33
|
-
const PERCENT = /(\d{1,3}(?:\.\d+)?)\s*%/;
|
|
34
|
-
const EPOCH_STEP = /\b(epoch|step)\s+(\d{1,7})\s*\/\s*(\d{1,7})/i;
|
|
35
|
-
const BYTES = /(\d+(?:\.\d+)?)\s*(GiB|MiB|KiB|GB|MB|KB|gb|mb|kb|gib|mib)?\s*\/\s*(\d+(?:\.\d+)?)\s*(GiB|MiB|KiB|GB|MB|KB|gb|mb|kb|gib|mib)/;
|
|
36
|
-
const RATIO = /[\[(]?\b(\d{1,7})\s*\/\s*(\d{1,7})\b[\])]?/;
|
|
37
|
-
const ETA = /ETA[^0-9]{0,4}([0-9][0-9a-z:]*)/i;
|
|
38
|
-
/** A row that is decoration, not information: `...`, `|`, `-`, `===`, a bare path separator. */
|
|
39
|
-
const NOISE = /^[\s.\-_=|\\/+*#>~]+$/;
|
|
40
|
-
/** Clip to the one-line budget, ASCII ellipsis, never mid-surrogate. */
|
|
41
|
-
function clip(text, limit = PROC_LIMITS.waitProgressChars) {
|
|
42
|
-
// VERTICAL whitespace only is collapsed: a stray `\r` or `\n` would break the
|
|
43
|
-
// one-row contract, while the DOUBLE SPACE before `ETA` is how the row is meant
|
|
44
|
-
// to read (`47% ETA 13m`) and collapsing it would make the table's rendering
|
|
45
|
-
// depend on which function ran last.
|
|
46
|
-
const flat = text.replace(/[\r\n\t]+/g, ' ').trim();
|
|
47
|
-
if (flat.length <= limit)
|
|
48
|
-
return flat;
|
|
49
|
-
return `${flat.slice(0, Math.max(0, limit - 3)).trimEnd()}...`;
|
|
50
|
-
}
|
|
51
|
-
/** `cur / total` as a fraction, or `null` when the total says nothing (`0/0`). */
|
|
52
|
-
function ratioFraction(current, total) {
|
|
53
|
-
if (!Number.isFinite(current) || !Number.isFinite(total) || total <= 0)
|
|
54
|
-
return null;
|
|
55
|
-
return Math.min(1, Math.max(0, current / total));
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* The structured signals for one line, in table order.
|
|
59
|
-
*
|
|
60
|
-
* ORDER WITHIN A LINE IS THE TABLE'S ORDER; the caller decides which LINE wins
|
|
61
|
-
* (newest first), because a live `47%` must beat a stale `100%` from the phase
|
|
62
|
-
* above it.
|
|
63
|
-
*/
|
|
64
|
-
function signalsOf(line) {
|
|
65
|
-
const percent = PERCENT.exec(line);
|
|
66
|
-
if (percent?.[1]) {
|
|
67
|
-
return {
|
|
68
|
-
text: `${percent[1]}%`,
|
|
69
|
-
kind: 'percent',
|
|
70
|
-
fraction: ratioFraction(Number(percent[1]), 100),
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
const epoch = EPOCH_STEP.exec(line);
|
|
74
|
-
if (epoch?.[1] && epoch[2] !== undefined && epoch[3] !== undefined) {
|
|
75
|
-
return {
|
|
76
|
-
text: `${epoch[1].toLowerCase()} ${epoch[2]}/${epoch[3]}`,
|
|
77
|
-
kind: 'epoch',
|
|
78
|
-
fraction: ratioFraction(Number(epoch[2]), Number(epoch[3])),
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
const bytes = BYTES.exec(line);
|
|
82
|
-
if (bytes?.[1] && bytes[3]) {
|
|
83
|
-
// Normalised to the TOTAL's unit, which is the one the user's own command
|
|
84
|
-
// printed: `1.2/3.4 GiB` reads, `1.2 GiB/3.4 GiB` is noise. The numerator's
|
|
85
|
-
// unit is optional because the common form writes it once, at the end.
|
|
86
|
-
// TWO UNITS THAT DIFFER ARE NOT COMPARED (no unit conversion): `512 MiB/3 GiB`
|
|
87
|
-
// would need a table, and a wrong bar is worse than an honest absence.
|
|
88
|
-
const sameUnit = !bytes[2] || bytes[2].toLowerCase() === bytes[4]?.toLowerCase();
|
|
89
|
-
return {
|
|
90
|
-
text: `${bytes[1]}/${bytes[3]} ${bytes[4]}`,
|
|
91
|
-
kind: 'bytes',
|
|
92
|
-
fraction: sameUnit ? ratioFraction(Number(bytes[1]), Number(bytes[3])) : null,
|
|
93
|
-
};
|
|
94
|
-
}
|
|
95
|
-
const ratio = RATIO.exec(line);
|
|
96
|
-
if (ratio?.[1] && ratio[2] !== undefined) {
|
|
97
|
-
return {
|
|
98
|
-
text: `${ratio[1]}/${ratio[2]}`,
|
|
99
|
-
kind: 'ratio',
|
|
100
|
-
fraction: ratioFraction(Number(ratio[1]), Number(ratio[2])),
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
return undefined;
|
|
104
|
-
}
|
|
105
|
-
/** Append the ETA once, when the window names one. */
|
|
106
|
-
function withEta(signal, window) {
|
|
107
|
-
if (signal.text.includes('ETA'))
|
|
108
|
-
return signal;
|
|
109
|
-
for (const line of window) {
|
|
110
|
-
const eta = ETA.exec(line);
|
|
111
|
-
if (eta?.[1])
|
|
112
|
-
return { ...signal, text: `${signal.text} ETA ${eta[1]}` };
|
|
113
|
-
}
|
|
114
|
-
return signal;
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Extract one line of progress from the tail of a job's output.
|
|
118
|
-
*
|
|
119
|
-
* `rows` is the scan window (the caller passes at most
|
|
120
|
-
* `PROC_LIMITS.progressScanRows`); `carry` is the not-yet-terminated line, which
|
|
121
|
-
* is where a `\r`-rewritten bar keeps its whole life. Returns `undefined` when
|
|
122
|
-
* nothing but decoration has been printed - an honest "there is no progress to
|
|
123
|
-
* show", which the callers render as absence rather than as a fake `0%`.
|
|
124
|
-
*/
|
|
125
|
-
export function extractProgress(rows, carry) {
|
|
126
|
-
const displayCarry = carry.trim();
|
|
127
|
-
// NEWEST FIRST, INSIDE ONE WINDOW. The carry line is the newest of all by
|
|
128
|
-
// definition, so it is tested before every completed row.
|
|
129
|
-
const candidates = [];
|
|
130
|
-
if (displayCarry.length > 0 && !NOISE.test(displayCarry)) {
|
|
131
|
-
candidates.push({ line: displayCarry, source: 'carry', rowIndex: -1 });
|
|
132
|
-
}
|
|
133
|
-
for (let i = rows.length - 1; i >= 0; i -= 1) {
|
|
134
|
-
const line = rows[i] ?? '';
|
|
135
|
-
if (line.trim().length === 0 || NOISE.test(line))
|
|
136
|
-
continue;
|
|
137
|
-
candidates.push({ line, source: 'row', rowIndex: i });
|
|
138
|
-
}
|
|
139
|
-
const window = candidates.map((c) => c.line);
|
|
140
|
-
for (const candidate of candidates) {
|
|
141
|
-
const signal = signalsOf(candidate.line);
|
|
142
|
-
if (!signal)
|
|
143
|
-
continue;
|
|
144
|
-
return {
|
|
145
|
-
text: clip(withEta(signal, window).text),
|
|
146
|
-
kind: signal.kind,
|
|
147
|
-
source: candidate.source,
|
|
148
|
-
rowIndex: candidate.rowIndex,
|
|
149
|
-
fraction: signal.fraction,
|
|
150
|
-
};
|
|
151
|
-
}
|
|
152
|
-
// Fallback: the newest line that at least says something.
|
|
153
|
-
const last = candidates[0];
|
|
154
|
-
if (!last)
|
|
155
|
-
return undefined;
|
|
156
|
-
return {
|
|
157
|
-
text: clip(last.line),
|
|
158
|
-
kind: 'text',
|
|
159
|
-
source: last.source,
|
|
160
|
-
rowIndex: last.rowIndex,
|
|
161
|
-
fraction: null,
|
|
162
|
-
};
|
|
163
|
-
}
|