@zhixuan92/multi-model-agent-core 4.5.4 → 4.7.0
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/README.md +6 -2
- package/dist/bounded-execution/file-artifact-check.d.ts +4 -11
- package/dist/bounded-execution/file-artifact-check.d.ts.map +1 -1
- package/dist/bounded-execution/file-artifact-check.js +7 -22
- package/dist/bounded-execution/file-artifact-check.js.map +1 -1
- package/dist/bounded-execution/progress-watchdog.d.ts.map +1 -1
- package/dist/bounded-execution/progress-watchdog.js +60 -27
- package/dist/bounded-execution/progress-watchdog.js.map +1 -1
- package/dist/bounded-execution/stall-watchdog.d.ts.map +1 -1
- package/dist/bounded-execution/stall-watchdog.js +29 -12
- package/dist/bounded-execution/stall-watchdog.js.map +1 -1
- package/dist/bounded-execution/wall-clock-guard.d.ts +4 -0
- package/dist/bounded-execution/wall-clock-guard.d.ts.map +1 -1
- package/dist/bounded-execution/wall-clock-guard.js +1 -1
- package/dist/bounded-execution/wall-clock-guard.js.map +1 -1
- package/dist/config/canonical-model-identity.d.ts.map +1 -1
- package/dist/config/canonical-model-identity.js.map +1 -1
- package/dist/config/config-resolver.d.ts +1 -41
- package/dist/config/config-resolver.d.ts.map +1 -1
- package/dist/config/config-resolver.js +1 -43
- package/dist/config/config-resolver.js.map +1 -1
- package/dist/config/load.d.ts +0 -2
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +0 -4
- package/dist/config/load.js.map +1 -1
- package/dist/config/model-profile-registry.d.ts.map +1 -1
- package/dist/config/model-profile-registry.js +13 -7
- package/dist/config/model-profile-registry.js.map +1 -1
- package/dist/config/schema.d.ts +1 -19
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +12 -38
- package/dist/config/schema.js.map +1 -1
- package/dist/error-codes.d.ts +0 -1
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +0 -1
- package/dist/error-codes.js.map +1 -1
- package/dist/events/cloud-events.d.ts +0 -1
- package/dist/events/cloud-events.d.ts.map +1 -1
- package/dist/events/cloud-events.js +1 -1
- package/dist/events/cloud-events.js.map +1 -1
- package/dist/events/event-builder.d.ts +36 -5
- package/dist/events/event-builder.d.ts.map +1 -1
- package/dist/events/event-builder.js +174 -33
- package/dist/events/event-builder.js.map +1 -1
- package/dist/events/event-emitter.d.ts +2 -1
- package/dist/events/event-emitter.d.ts.map +1 -1
- package/dist/events/event-emitter.js +6 -1
- package/dist/events/event-emitter.js.map +1 -1
- package/dist/events/observability-events.d.ts +6 -26
- package/dist/events/observability-events.d.ts.map +1 -1
- package/dist/events/observability-events.js +6 -11
- package/dist/events/observability-events.js.map +1 -1
- package/dist/events/telemetry-types.d.ts +10 -7
- package/dist/events/telemetry-types.d.ts.map +1 -1
- package/dist/events/telemetry-types.js +1 -1
- package/dist/events/telemetry-types.js.map +1 -1
- package/dist/events/verbose-log-channel.d.ts +7 -7
- package/dist/events/verbose-log-channel.js +10 -10
- package/dist/index.d.ts +13 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -5
- package/dist/index.js.map +1 -1
- package/dist/intake/resolve.d.ts.map +1 -1
- package/dist/intake/resolve.js +0 -1
- package/dist/intake/resolve.js.map +1 -1
- package/dist/lifecycle/annotate-parser.d.ts +9 -0
- package/dist/lifecycle/annotate-parser.d.ts.map +1 -0
- package/dist/lifecycle/annotate-parser.js +83 -0
- package/dist/lifecycle/annotate-parser.js.map +1 -0
- package/dist/lifecycle/annotate-prompts.d.ts +9 -0
- package/dist/lifecycle/annotate-prompts.d.ts.map +1 -0
- package/dist/lifecycle/annotate-prompts.js +86 -0
- package/dist/lifecycle/annotate-prompts.js.map +1 -0
- package/dist/lifecycle/auto-register-context-block.d.ts +2 -2
- package/dist/lifecycle/auto-register-context-block.d.ts.map +1 -1
- package/dist/lifecycle/auto-register-context-block.js.map +1 -1
- package/dist/lifecycle/build-cancelled-result.d.ts +11 -0
- package/dist/lifecycle/build-cancelled-result.d.ts.map +1 -0
- package/dist/lifecycle/build-cancelled-result.js +27 -0
- package/dist/lifecycle/build-cancelled-result.js.map +1 -0
- package/dist/lifecycle/executor-output-types.d.ts +2 -2
- package/dist/lifecycle/executor-output-types.d.ts.map +1 -1
- package/dist/lifecycle/fallback-report.d.ts +2 -2
- package/dist/lifecycle/fallback-report.d.ts.map +1 -1
- package/dist/lifecycle/fallback-report.js.map +1 -1
- package/dist/lifecycle/findings-parser.d.ts +2 -0
- package/dist/lifecycle/findings-parser.d.ts.map +1 -1
- package/dist/lifecycle/findings-parser.js +9 -4
- package/dist/lifecycle/findings-parser.js.map +1 -1
- package/dist/lifecycle/git-toplevel.d.ts +12 -0
- package/dist/lifecycle/git-toplevel.d.ts.map +1 -0
- package/dist/lifecycle/git-toplevel.js +49 -0
- package/dist/lifecycle/git-toplevel.js.map +1 -0
- package/dist/lifecycle/handlers/{annotator.d.ts → annotate-stage.d.ts} +3 -2
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/annotate-stage.js +289 -0
- package/dist/lifecycle/handlers/annotate-stage.js.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts +10 -5
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +206 -316
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +3 -0
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -0
- package/dist/lifecycle/handlers/enrich-runtime-result.js +191 -0
- package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -0
- package/dist/lifecycle/handlers/git-commit-handler.d.ts +3 -2
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.js +158 -114
- package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts +10 -0
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/implement-stage.js +206 -0
- package/dist/lifecycle/handlers/implement-stage.js.map +1 -0
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +7 -13
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js +72 -49
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +2 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.js +35 -14
- package/dist/lifecycle/handlers/register-context-block-handlers.js.map +1 -1
- package/dist/lifecycle/handlers/review-stage.d.ts +4 -0
- package/dist/lifecycle/handlers/review-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/review-stage.js +184 -0
- package/dist/lifecycle/handlers/review-stage.js.map +1 -0
- package/dist/lifecycle/handlers/rework-stage.d.ts +4 -0
- package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/{rework-handler.js → rework-stage.js} +79 -15
- package/dist/lifecycle/handlers/rework-stage.js.map +1 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +22 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +86 -5
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +41 -7
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-dispatcher.d.ts +19 -20
- package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-dispatcher.js +39 -23
- package/dist/lifecycle/lifecycle-dispatcher.js.map +1 -1
- package/dist/lifecycle/lifecycle-driver.d.ts +15 -8
- package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-driver.js +130 -29
- package/dist/lifecycle/lifecycle-driver.js.map +1 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +3 -3
- package/dist/lifecycle/merge-stage-stats.d.ts.map +1 -1
- package/dist/lifecycle/merge-stage-stats.js +2 -2
- package/dist/lifecycle/merge-stage-stats.js.map +1 -1
- package/dist/lifecycle/normalize-output-targets.d.ts +2 -0
- package/dist/lifecycle/normalize-output-targets.d.ts.map +1 -0
- package/dist/lifecycle/normalize-output-targets.js +14 -0
- package/dist/lifecycle/normalize-output-targets.js.map +1 -0
- package/dist/lifecycle/perform-implementation.d.ts +3 -0
- package/dist/lifecycle/perform-implementation.d.ts.map +1 -0
- package/dist/lifecycle/perform-implementation.js +301 -0
- package/dist/lifecycle/perform-implementation.js.map +1 -0
- package/dist/lifecycle/repo-hygiene.d.ts +14 -0
- package/dist/lifecycle/repo-hygiene.d.ts.map +1 -0
- package/dist/lifecycle/repo-hygiene.js +71 -0
- package/dist/lifecycle/repo-hygiene.js.map +1 -0
- package/dist/lifecycle/rework-budget.d.ts +3 -0
- package/dist/lifecycle/rework-budget.d.ts.map +1 -0
- package/dist/lifecycle/rework-budget.js +9 -0
- package/dist/lifecycle/rework-budget.js.map +1 -0
- package/dist/lifecycle/shared-compute.d.ts +4 -4
- package/dist/lifecycle/shared-compute.d.ts.map +1 -1
- package/dist/lifecycle/shared-compute.js +1 -1
- package/dist/lifecycle/shared-compute.js.map +1 -1
- package/dist/lifecycle/stage-io.d.ts +140 -0
- package/dist/lifecycle/stage-io.d.ts.map +1 -0
- package/dist/lifecycle/stage-io.js +20 -0
- package/dist/lifecycle/stage-io.js.map +1 -0
- package/dist/lifecycle/stage-plan-builder.d.ts +3 -3
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +157 -128
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +6 -25
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.d.ts +3 -15
- package/dist/lifecycle/stage-progression.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.js +48 -91
- package/dist/lifecycle/stage-progression.js.map +1 -1
- package/dist/lifecycle/task-completion-summary.d.ts +2 -2
- package/dist/lifecycle/task-completion-summary.d.ts.map +1 -1
- package/dist/lifecycle/task-completion-summary.js +0 -7
- package/dist/lifecycle/task-completion-summary.js.map +1 -1
- package/dist/lifecycle/task-executor.d.ts +23 -0
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +79 -6
- package/dist/lifecycle/task-executor.js.map +1 -1
- package/dist/lifecycle/task-grouping.d.ts +19 -0
- package/dist/lifecycle/task-grouping.d.ts.map +1 -0
- package/dist/lifecycle/task-grouping.js +48 -0
- package/dist/lifecycle/task-grouping.js.map +1 -0
- package/dist/lifecycle/task-runner.d.ts +25 -8
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +123 -313
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/lifecycle/tool-config-types.d.ts +9 -0
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
- package/dist/lifecycle/worker-output-contract.d.ts +9 -15
- package/dist/lifecycle/worker-output-contract.d.ts.map +1 -1
- package/dist/lifecycle/worker-output-contract.js +45 -30
- package/dist/lifecycle/worker-output-contract.js.map +1 -1
- package/dist/providers/agent-resolver.d.ts.map +1 -0
- package/dist/{escalation → providers}/agent-resolver.js +1 -1
- package/dist/providers/agent-resolver.js.map +1 -0
- package/dist/providers/assemble-run-result.d.ts +3 -3
- package/dist/providers/assemble-run-result.d.ts.map +1 -1
- package/dist/providers/assemble-run-result.js +20 -11
- package/dist/providers/assemble-run-result.js.map +1 -1
- package/dist/providers/claude-session.d.ts +12 -0
- package/dist/providers/claude-session.d.ts.map +1 -1
- package/dist/providers/claude-session.js +39 -1
- package/dist/providers/claude-session.js.map +1 -1
- package/dist/providers/claude.js.map +1 -1
- package/dist/providers/codex-cli-launch.js +1 -1
- package/dist/providers/codex-cli-launch.js.map +1 -1
- package/dist/providers/codex-cli-session.d.ts +20 -2
- package/dist/providers/codex-cli-session.d.ts.map +1 -1
- package/dist/providers/codex-cli-session.js +148 -52
- package/dist/providers/codex-cli-session.js.map +1 -1
- package/dist/providers/codex.js.map +1 -1
- package/dist/providers/index.d.ts +1 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +1 -0
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/normalize-claude.d.ts +2 -0
- package/dist/providers/normalize-claude.d.ts.map +1 -1
- package/dist/providers/normalize-claude.js +2 -1
- package/dist/providers/normalize-claude.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +8 -0
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +64 -3
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/run-annotator-turn.d.ts +24 -0
- package/dist/providers/run-annotator-turn.d.ts.map +1 -0
- package/dist/providers/run-annotator-turn.js +44 -0
- package/dist/providers/run-annotator-turn.js.map +1 -0
- package/dist/providers/run-worker-turn.d.ts +26 -0
- package/dist/providers/run-worker-turn.d.ts.map +1 -0
- package/dist/providers/run-worker-turn.js +57 -0
- package/dist/providers/run-worker-turn.js.map +1 -0
- package/dist/providers/runner-types.d.ts +6 -7
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/providers/stall-detector.d.ts +1 -1
- package/dist/providers/stall-detector.d.ts.map +1 -1
- package/dist/providers/stall-detector.js +1 -1
- package/dist/providers/stall-detector.js.map +1 -1
- package/dist/reporting/derive-investigate-status.d.ts +1 -1
- package/dist/reporting/derive-investigate-status.d.ts.map +1 -1
- package/dist/reporting/headline-composer.d.ts +3 -3
- package/dist/reporting/headline-composer.d.ts.map +1 -1
- package/dist/reporting/headline-templates/investigate.d.ts +1 -1
- package/dist/reporting/headline-templates/investigate.d.ts.map +1 -1
- package/dist/reporting/headline-templates/research.d.ts.map +1 -1
- package/dist/reporting/headline-templates/research.js +0 -1
- package/dist/reporting/headline-templates/research.js.map +1 -1
- package/dist/reporting/terminal-status-deriver.d.ts +1 -1
- package/dist/reporting/terminal-status-deriver.d.ts.map +1 -1
- package/dist/reporting/terminal-status-deriver.js +1 -4
- package/dist/reporting/terminal-status-deriver.js.map +1 -1
- package/dist/review/index.d.ts +4 -3
- package/dist/review/index.d.ts.map +1 -1
- package/dist/review/index.js +7 -4
- package/dist/review/index.js.map +1 -1
- package/dist/review/parse-review-report.d.ts +7 -1
- package/dist/review/parse-review-report.d.ts.map +1 -1
- package/dist/review/parse-review-report.js +13 -21
- package/dist/review/parse-review-report.js.map +1 -1
- package/dist/review/review-verdict-mapping.d.ts +3 -3
- package/dist/review/review-verdict-mapping.d.ts.map +1 -1
- package/dist/review/review-verdict-mapping.js +1 -1
- package/dist/review/review-verdict-mapping.js.map +1 -1
- package/dist/review/run-reviewer.d.ts +40 -0
- package/dist/review/run-reviewer.d.ts.map +1 -0
- package/dist/review/run-reviewer.js +55 -0
- package/dist/review/run-reviewer.js.map +1 -0
- package/dist/review/templates/quality-review.d.ts +5 -0
- package/dist/review/templates/quality-review.d.ts.map +1 -1
- package/dist/review/templates/quality-review.js +35 -25
- package/dist/review/templates/quality-review.js.map +1 -1
- package/dist/review/templates/spec-review.d.ts +6 -0
- package/dist/review/templates/spec-review.d.ts.map +1 -1
- package/dist/review/templates/spec-review.js +36 -8
- package/dist/review/templates/spec-review.js.map +1 -1
- package/dist/stores/batch-cache.d.ts +3 -3
- package/dist/stores/batch-cache.d.ts.map +1 -1
- package/dist/stores/batch-cache.js.map +1 -1
- package/dist/stores/batch-registry.d.ts +46 -1
- package/dist/stores/batch-registry.d.ts.map +1 -1
- package/dist/stores/batch-registry.js +39 -0
- package/dist/stores/batch-registry.js.map +1 -1
- package/dist/tool-surface/tool-surface-registry.d.ts +1 -1
- package/dist/tool-surface/tool-surface-registry.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +0 -1
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/tool-config.d.ts.map +1 -1
- package/dist/tools/debug/tool-config.js +1 -2
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/delegate/schema.d.ts +1 -1
- package/dist/tools/delegate/schema.d.ts.map +1 -1
- package/dist/tools/delegate/schema.js +2 -1
- package/dist/tools/delegate/schema.js.map +1 -1
- package/dist/tools/delegate/tool-config.d.ts +0 -1
- package/dist/tools/delegate/tool-config.d.ts.map +1 -1
- package/dist/tools/delegate/tool-config.js +3 -3
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/schema.d.ts +1 -1
- package/dist/tools/execute-plan/schema.d.ts.map +1 -1
- package/dist/tools/execute-plan/schema.js +2 -2
- package/dist/tools/execute-plan/schema.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +3 -2
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/investigate/tool-config.d.ts.map +1 -1
- package/dist/tools/investigate/tool-config.js +1 -2
- package/dist/tools/investigate/tool-config.js.map +1 -1
- package/dist/tools/register-context-block/tool-config.d.ts.map +1 -1
- package/dist/tools/register-context-block/tool-config.js +0 -1
- package/dist/tools/register-context-block/tool-config.js.map +1 -1
- package/dist/tools/research/tool-config.d.ts.map +1 -1
- package/dist/tools/research/tool-config.js +0 -1
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/retry/tool-config.d.ts.map +1 -1
- package/dist/tools/retry/tool-config.js +0 -1
- package/dist/tools/retry/tool-config.js.map +1 -1
- package/dist/tools/review/tool-config.d.ts.map +1 -1
- package/dist/tools/review/tool-config.js +0 -1
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/types/config.d.ts +0 -1
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/enums.d.ts +0 -3
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +3 -3
- package/dist/types/enums.js.map +1 -1
- package/dist/types/run-result.d.ts +177 -213
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/run-result.js +17 -0
- package/dist/types/run-result.js.map +1 -1
- package/dist/types/task-spec.d.ts +1 -1
- package/dist/types/task-spec.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/bounded-execution/cost-meter.d.ts +0 -20
- package/dist/bounded-execution/cost-meter.d.ts.map +0 -1
- package/dist/bounded-execution/cost-meter.js +0 -21
- package/dist/bounded-execution/cost-meter.js.map +0 -1
- package/dist/bounded-execution/error-classifier.d.ts +0 -11
- package/dist/bounded-execution/error-classifier.d.ts.map +0 -1
- package/dist/bounded-execution/error-classifier.js +0 -23
- package/dist/bounded-execution/error-classifier.js.map +0 -1
- package/dist/bounded-execution/idle-guard.d.ts +0 -8
- package/dist/bounded-execution/idle-guard.d.ts.map +0 -1
- package/dist/bounded-execution/idle-guard.js +0 -18
- package/dist/bounded-execution/idle-guard.js.map +0 -1
- package/dist/bounded-execution/index.d.ts +0 -10
- package/dist/bounded-execution/index.d.ts.map +0 -1
- package/dist/bounded-execution/index.js +0 -11
- package/dist/bounded-execution/index.js.map +0 -1
- package/dist/bounded-execution/safety-max-turns.d.ts +0 -17
- package/dist/bounded-execution/safety-max-turns.d.ts.map +0 -1
- package/dist/bounded-execution/safety-max-turns.js +0 -17
- package/dist/bounded-execution/safety-max-turns.js.map +0 -1
- package/dist/cleanup/batch-retention-sweeper.d.ts +0 -7
- package/dist/cleanup/batch-retention-sweeper.d.ts.map +0 -1
- package/dist/cleanup/batch-retention-sweeper.js +0 -10
- package/dist/cleanup/batch-retention-sweeper.js.map +0 -1
- package/dist/cleanup/context-block-gc-sweeper.d.ts +0 -8
- package/dist/cleanup/context-block-gc-sweeper.d.ts.map +0 -1
- package/dist/cleanup/context-block-gc-sweeper.js +0 -12
- package/dist/cleanup/context-block-gc-sweeper.js.map +0 -1
- package/dist/cleanup/index.d.ts +0 -5
- package/dist/cleanup/index.d.ts.map +0 -1
- package/dist/cleanup/index.js +0 -6
- package/dist/cleanup/index.js.map +0 -1
- package/dist/cleanup/project-idle-cleanup.d.ts +0 -7
- package/dist/cleanup/project-idle-cleanup.d.ts.map +0 -1
- package/dist/cleanup/project-idle-cleanup.js +0 -15
- package/dist/cleanup/project-idle-cleanup.js.map +0 -1
- package/dist/cleanup/shutdown-coordinator.d.ts +0 -7
- package/dist/cleanup/shutdown-coordinator.d.ts.map +0 -1
- package/dist/cleanup/shutdown-coordinator.js +0 -13
- package/dist/cleanup/shutdown-coordinator.js.map +0 -1
- package/dist/config/index.d.ts +0 -8
- package/dist/config/index.d.ts.map +0 -1
- package/dist/config/index.js +0 -9
- package/dist/config/index.js.map +0 -1
- package/dist/config/pricing-table.d.ts +0 -16
- package/dist/config/pricing-table.d.ts.map +0 -1
- package/dist/config/pricing-table.js +0 -51
- package/dist/config/pricing-table.js.map +0 -1
- package/dist/escalation/agent-resolver.d.ts.map +0 -1
- package/dist/escalation/agent-resolver.js.map +0 -1
- package/dist/escalation/delegate-with-escalation.d.ts +0 -52
- package/dist/escalation/delegate-with-escalation.d.ts.map +0 -1
- package/dist/escalation/delegate-with-escalation.js +0 -207
- package/dist/escalation/delegate-with-escalation.js.map +0 -1
- package/dist/escalation/escalation-policy.d.ts +0 -18
- package/dist/escalation/escalation-policy.d.ts.map +0 -1
- package/dist/escalation/escalation-policy.js +0 -33
- package/dist/escalation/escalation-policy.js.map +0 -1
- package/dist/escalation/fallback-helpers.d.ts +0 -22
- package/dist/escalation/fallback-helpers.d.ts.map +0 -1
- package/dist/escalation/fallback-helpers.js +0 -45
- package/dist/escalation/fallback-helpers.js.map +0 -1
- package/dist/escalation/fallback-types.d.ts +0 -60
- package/dist/escalation/fallback-types.d.ts.map +0 -1
- package/dist/escalation/fallback-types.js +0 -11
- package/dist/escalation/fallback-types.js.map +0 -1
- package/dist/escalation/fallback.d.ts +0 -5
- package/dist/escalation/fallback.d.ts.map +0 -1
- package/dist/escalation/fallback.js +0 -387
- package/dist/escalation/fallback.js.map +0 -1
- package/dist/escalation/index.d.ts +0 -3
- package/dist/escalation/index.d.ts.map +0 -1
- package/dist/escalation/index.js +0 -4
- package/dist/escalation/index.js.map +0 -1
- package/dist/escalation/policy.d.ts +0 -37
- package/dist/escalation/policy.d.ts.map +0 -1
- package/dist/escalation/policy.js +0 -67
- package/dist/escalation/policy.js.map +0 -1
- package/dist/escalation/types.d.ts +0 -15
- package/dist/escalation/types.d.ts.map +0 -1
- package/dist/escalation/types.js +0 -2
- package/dist/escalation/types.js.map +0 -1
- package/dist/events/running-headline-sink.d.ts +0 -27
- package/dist/events/running-headline-sink.d.ts.map +0 -1
- package/dist/events/running-headline-sink.js +0 -156
- package/dist/events/running-headline-sink.js.map +0 -1
- package/dist/lifecycle/handlers/annotator.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotator.js +0 -59
- package/dist/lifecycle/handlers/annotator.js.map +0 -1
- package/dist/lifecycle/handlers/derive-terminal-status.d.ts +0 -10
- package/dist/lifecycle/handlers/derive-terminal-status.d.ts.map +0 -1
- package/dist/lifecycle/handlers/derive-terminal-status.js +0 -35
- package/dist/lifecycle/handlers/derive-terminal-status.js.map +0 -1
- package/dist/lifecycle/handlers/files-written-cross-check.d.ts +0 -27
- package/dist/lifecycle/handlers/files-written-cross-check.d.ts.map +0 -1
- package/dist/lifecycle/handlers/files-written-cross-check.js +0 -91
- package/dist/lifecycle/handlers/files-written-cross-check.js.map +0 -1
- package/dist/lifecycle/handlers/review-handler.d.ts +0 -3
- package/dist/lifecycle/handlers/review-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/review-handler.js +0 -169
- package/dist/lifecycle/handlers/review-handler.js.map +0 -1
- package/dist/lifecycle/handlers/rework-handler.d.ts +0 -3
- package/dist/lifecycle/handlers/rework-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/rework-handler.js.map +0 -1
- package/dist/lifecycle/handlers/task-executor.d.ts +0 -9
- package/dist/lifecycle/handlers/task-executor.d.ts.map +0 -1
- package/dist/lifecycle/handlers/task-executor.js +0 -98
- package/dist/lifecycle/handlers/task-executor.js.map +0 -1
- package/dist/lifecycle/handlers/verify-stage.d.ts +0 -37
- package/dist/lifecycle/handlers/verify-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/verify-stage.js +0 -208
- package/dist/lifecycle/handlers/verify-stage.js.map +0 -1
- package/dist/lifecycle/metadata-repair.d.ts +0 -15
- package/dist/lifecycle/metadata-repair.d.ts.map +0 -1
- package/dist/lifecycle/metadata-repair.js +0 -33
- package/dist/lifecycle/metadata-repair.js.map +0 -1
- package/dist/review/default-engines.d.ts +0 -3
- package/dist/review/default-engines.d.ts.map +0 -1
- package/dist/review/default-engines.js +0 -22
- package/dist/review/default-engines.js.map +0 -1
- package/dist/review/reviewer-engine.d.ts +0 -53
- package/dist/review/reviewer-engine.d.ts.map +0 -1
- package/dist/review/reviewer-engine.js +0 -47
- package/dist/review/reviewer-engine.js.map +0 -1
- package/dist/review/reviewer-output-parser.d.ts +0 -12
- package/dist/review/reviewer-output-parser.d.ts.map +0 -1
- package/dist/review/reviewer-output-parser.js +0 -213
- package/dist/review/reviewer-output-parser.js.map +0 -1
- package/dist/review/reviewer-prompt-builder.d.ts +0 -21
- package/dist/review/reviewer-prompt-builder.d.ts.map +0 -1
- package/dist/review/reviewer-prompt-builder.js +0 -22
- package/dist/review/reviewer-prompt-builder.js.map +0 -1
- package/dist/review/templates/annotate-completion.d.ts +0 -12
- package/dist/review/templates/annotate-completion.d.ts.map +0 -1
- package/dist/review/templates/annotate-completion.js +0 -72
- package/dist/review/templates/annotate-completion.js.map +0 -1
- /package/dist/{escalation → providers}/agent-resolver.d.ts +0 -0
|
@@ -1,387 +0,0 @@
|
|
|
1
|
-
import { canonicalIdentity, identityEquals } from '../config/canonical-model-identity.js';
|
|
2
|
-
import { otherTier } from '../config/tier-policy-registry.js';
|
|
3
|
-
import { providersIdentical, scoreWork } from './fallback-helpers.js';
|
|
4
|
-
import { markUnavailable } from './fallback-types.js';
|
|
5
|
-
export { providersIdentical, makeSyntheticRunResult, isReviewTransportFailure } from './fallback-helpers.js';
|
|
6
|
-
export { TRANSPORT_FAILURES } from './fallback-types.js';
|
|
7
|
-
export async function runWithFallback(input) {
|
|
8
|
-
const { assigned, providerFor, unavailableTiers, isTransportFailure, makeSyntheticFailure, call } = input;
|
|
9
|
-
const getStatus = input.getStatus ?? (() => undefined);
|
|
10
|
-
const forbidden = input.forbiddenIdentities ?? [];
|
|
11
|
-
// Returns { skip: true } when the tier should be skipped due to identity separation.
|
|
12
|
-
// providerFor throws/returns undefined → { skip: false }; canonicalIdentity throws → { skip: true } (fail-closed).
|
|
13
|
-
const checkSeparation = (tier) => {
|
|
14
|
-
if (forbidden.length === 0)
|
|
15
|
-
return { skip: false };
|
|
16
|
-
let p;
|
|
17
|
-
try {
|
|
18
|
-
p = providerFor(tier);
|
|
19
|
-
}
|
|
20
|
-
catch {
|
|
21
|
-
return { skip: false };
|
|
22
|
-
}
|
|
23
|
-
if (!p)
|
|
24
|
-
return { skip: false };
|
|
25
|
-
try {
|
|
26
|
-
const id = canonicalIdentity(p.config);
|
|
27
|
-
if (forbidden.some(f => identityEquals(f, id)))
|
|
28
|
-
return { skip: true, identity: id };
|
|
29
|
-
return { skip: false, identity: id };
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return { skip: true };
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const resolveProviderIdentity = (tier) => {
|
|
36
|
-
let p;
|
|
37
|
-
try {
|
|
38
|
-
p = providerFor(tier);
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
return null;
|
|
42
|
-
}
|
|
43
|
-
if (!p)
|
|
44
|
-
return null;
|
|
45
|
-
try {
|
|
46
|
-
return canonicalIdentity(p.config);
|
|
47
|
-
}
|
|
48
|
-
catch {
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
const assignedIdentity = resolveProviderIdentity(assigned) ?? undefined;
|
|
53
|
-
// Resolve assigned tier (sticky check first, then not-configured)
|
|
54
|
-
let usedTier = assigned;
|
|
55
|
-
let fallbackFired = false;
|
|
56
|
-
let fallbackReason;
|
|
57
|
-
let assignedUnavailableReason;
|
|
58
|
-
let skippedDueToSeparation = false;
|
|
59
|
-
let usedIdentity = assignedIdentity;
|
|
60
|
-
if (unavailableTiers.has(assigned)) {
|
|
61
|
-
assignedUnavailableReason = unavailableTiers.get(assigned);
|
|
62
|
-
fallbackReason = assignedUnavailableReason;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
let assignedProvider;
|
|
66
|
-
try {
|
|
67
|
-
assignedProvider = providerFor(assigned);
|
|
68
|
-
}
|
|
69
|
-
catch { /* construction failure → treat as unavailable below */ }
|
|
70
|
-
if (assignedProvider === undefined) {
|
|
71
|
-
markUnavailable(unavailableTiers, assigned, 'not_configured');
|
|
72
|
-
assignedUnavailableReason = 'not_configured';
|
|
73
|
-
fallbackReason = 'not_configured';
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
const sep = checkSeparation(assigned);
|
|
77
|
-
if (sep.skip) {
|
|
78
|
-
skippedDueToSeparation = true;
|
|
79
|
-
fallbackReason = 'not_configured';
|
|
80
|
-
}
|
|
81
|
-
else if (sep.identity) {
|
|
82
|
-
usedIdentity = sep.identity;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
if (fallbackReason !== undefined) {
|
|
87
|
-
// Assigned is unavailable up-front (or forbidden). Try the alt tier.
|
|
88
|
-
const alt = otherTier(assigned);
|
|
89
|
-
let altUnavailableReason;
|
|
90
|
-
if (unavailableTiers.has(alt)) {
|
|
91
|
-
altUnavailableReason = unavailableTiers.get(alt);
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
let altProv;
|
|
95
|
-
try {
|
|
96
|
-
altProv = providerFor(alt);
|
|
97
|
-
}
|
|
98
|
-
catch { /* construction failure */ }
|
|
99
|
-
if (altProv === undefined) {
|
|
100
|
-
markUnavailable(unavailableTiers, alt, 'not_configured');
|
|
101
|
-
altUnavailableReason = 'not_configured';
|
|
102
|
-
}
|
|
103
|
-
else {
|
|
104
|
-
const altSep = checkSeparation(alt);
|
|
105
|
-
if (altSep.skip) {
|
|
106
|
-
skippedDueToSeparation = true;
|
|
107
|
-
altUnavailableReason = 'not_configured';
|
|
108
|
-
}
|
|
109
|
-
else if (altSep.identity) {
|
|
110
|
-
usedIdentity = altSep.identity;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
if (altUnavailableReason !== undefined) {
|
|
115
|
-
// Both unavailable up-front. If separation was the blocking reason,
|
|
116
|
-
// surface it as the unavailableReason so callers like
|
|
117
|
-
// adaptForAllTiersUnavailable can map to the correct errorCode.
|
|
118
|
-
if (skippedDueToSeparation) {
|
|
119
|
-
return {
|
|
120
|
-
result: makeSyntheticFailure(assigned),
|
|
121
|
-
usedTier: 'none',
|
|
122
|
-
fallbackFired: false,
|
|
123
|
-
bothUnavailable: true,
|
|
124
|
-
fallbackReason,
|
|
125
|
-
assignedUnavailableReason,
|
|
126
|
-
unavailableReason: altUnavailableReason,
|
|
127
|
-
fallbackSeparationRespected: true,
|
|
128
|
-
assignedIdentity,
|
|
129
|
-
usedIdentity: undefined,
|
|
130
|
-
salvageResult: null,
|
|
131
|
-
};
|
|
132
|
-
}
|
|
133
|
-
return {
|
|
134
|
-
result: makeSyntheticFailure(assigned),
|
|
135
|
-
usedTier: 'none',
|
|
136
|
-
fallbackFired: false,
|
|
137
|
-
bothUnavailable: true,
|
|
138
|
-
fallbackReason,
|
|
139
|
-
assignedUnavailableReason,
|
|
140
|
-
unavailableReason: altUnavailableReason,
|
|
141
|
-
salvageResult: null,
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
usedTier = alt;
|
|
145
|
-
fallbackFired = true;
|
|
146
|
-
}
|
|
147
|
-
// Call the chosen provider
|
|
148
|
-
let provider;
|
|
149
|
-
try {
|
|
150
|
-
provider = providerFor(usedTier);
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
// providerFor threw — construction failure on the chosen tier.
|
|
154
|
-
if (!fallbackFired) {
|
|
155
|
-
const alt = otherTier(usedTier);
|
|
156
|
-
fallbackFired = true;
|
|
157
|
-
usedTier = alt;
|
|
158
|
-
try {
|
|
159
|
-
provider = providerFor(alt);
|
|
160
|
-
}
|
|
161
|
-
catch {
|
|
162
|
-
return {
|
|
163
|
-
result: makeSyntheticFailure(assigned),
|
|
164
|
-
usedTier: 'none',
|
|
165
|
-
fallbackFired: true,
|
|
166
|
-
bothUnavailable: true,
|
|
167
|
-
fallbackReason: 'not_configured',
|
|
168
|
-
assignedUnavailableReason,
|
|
169
|
-
unavailableReason: 'not_configured',
|
|
170
|
-
salvageResult: null,
|
|
171
|
-
...(forbidden.length > 0 ? {
|
|
172
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
173
|
-
assignedIdentity,
|
|
174
|
-
usedIdentity: undefined,
|
|
175
|
-
} : {}),
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
return {
|
|
181
|
-
result: makeSyntheticFailure(assigned),
|
|
182
|
-
usedTier: 'none',
|
|
183
|
-
fallbackFired: true,
|
|
184
|
-
bothUnavailable: true,
|
|
185
|
-
fallbackReason,
|
|
186
|
-
assignedUnavailableReason,
|
|
187
|
-
unavailableReason: 'not_configured',
|
|
188
|
-
salvageResult: null,
|
|
189
|
-
...(forbidden.length > 0 ? {
|
|
190
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
191
|
-
assignedIdentity,
|
|
192
|
-
usedIdentity: undefined,
|
|
193
|
-
} : {}),
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
const result = await call(provider, usedTier);
|
|
198
|
-
if (!isTransportFailure(result)) {
|
|
199
|
-
if (!usedIdentity) {
|
|
200
|
-
try {
|
|
201
|
-
usedIdentity = canonicalIdentity(provider.config) ?? undefined;
|
|
202
|
-
}
|
|
203
|
-
catch { /* leave undefined */ }
|
|
204
|
-
}
|
|
205
|
-
return {
|
|
206
|
-
result,
|
|
207
|
-
usedTier,
|
|
208
|
-
fallbackFired,
|
|
209
|
-
fallbackReason,
|
|
210
|
-
assignedUnavailableReason,
|
|
211
|
-
bothUnavailable: false,
|
|
212
|
-
salvageResult: null,
|
|
213
|
-
...(forbidden.length > 0 ? {
|
|
214
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
215
|
-
assignedIdentity,
|
|
216
|
-
usedIdentity,
|
|
217
|
-
} : {}),
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
// Transport failure on the called tier
|
|
221
|
-
const calledStatus = getStatus(result);
|
|
222
|
-
markUnavailable(unavailableTiers, usedTier, 'transport_failure');
|
|
223
|
-
if (!usedIdentity) {
|
|
224
|
-
try {
|
|
225
|
-
usedIdentity = canonicalIdentity(provider.config) ?? undefined;
|
|
226
|
-
}
|
|
227
|
-
catch { /* leave undefined */ }
|
|
228
|
-
}
|
|
229
|
-
// If the called tier WAS the alt (already substituted), no further alt to try
|
|
230
|
-
if (fallbackFired) {
|
|
231
|
-
return {
|
|
232
|
-
result,
|
|
233
|
-
usedTier,
|
|
234
|
-
fallbackFired: true,
|
|
235
|
-
fallbackReason,
|
|
236
|
-
fallbackTriggeringStatus: calledStatus,
|
|
237
|
-
assignedUnavailableReason,
|
|
238
|
-
bothUnavailable: true,
|
|
239
|
-
unavailableReason: 'transport_failure',
|
|
240
|
-
unavailableTriggeringStatus: calledStatus,
|
|
241
|
-
salvageResult: null,
|
|
242
|
-
...(forbidden.length > 0 ? {
|
|
243
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
244
|
-
assignedIdentity,
|
|
245
|
-
usedIdentity,
|
|
246
|
-
} : {}),
|
|
247
|
-
};
|
|
248
|
-
}
|
|
249
|
-
// Assigned tier just failed. Promote to fallback path.
|
|
250
|
-
fallbackReason = 'transport_failure';
|
|
251
|
-
const fallbackTriggeringStatus = calledStatus;
|
|
252
|
-
const altOfUsed = otherTier(usedTier);
|
|
253
|
-
// Same-provider short-circuit: if alt points at the same backend as assigned,
|
|
254
|
-
// fallback is structurally pointless — skip the doomed call.
|
|
255
|
-
const altProviderForSameCheck = providerFor(altOfUsed);
|
|
256
|
-
if (altProviderForSameCheck !== undefined && providersIdentical(provider, altProviderForSameCheck)) {
|
|
257
|
-
const sameProviderSep = forbidden.length > 0 ? checkSeparation(usedTier) : { skip: false };
|
|
258
|
-
return {
|
|
259
|
-
result,
|
|
260
|
-
usedTier,
|
|
261
|
-
fallbackFired: false,
|
|
262
|
-
bothUnavailable: false,
|
|
263
|
-
salvageResult: null,
|
|
264
|
-
...(forbidden.length > 0 ? {
|
|
265
|
-
fallbackSeparationRespected: sameProviderSep.skip || skippedDueToSeparation || undefined,
|
|
266
|
-
assignedIdentity,
|
|
267
|
-
usedIdentity,
|
|
268
|
-
} : {}),
|
|
269
|
-
};
|
|
270
|
-
}
|
|
271
|
-
// Check alt availability (sticky first, then not-configured, then separation)
|
|
272
|
-
let altUnavailableReason;
|
|
273
|
-
let altSeparation = false;
|
|
274
|
-
if (unavailableTiers.has(altOfUsed)) {
|
|
275
|
-
altUnavailableReason = unavailableTiers.get(altOfUsed);
|
|
276
|
-
}
|
|
277
|
-
else {
|
|
278
|
-
let altProv2;
|
|
279
|
-
try {
|
|
280
|
-
altProv2 = providerFor(altOfUsed);
|
|
281
|
-
}
|
|
282
|
-
catch { /* construction failure */ }
|
|
283
|
-
if (altProv2 === undefined) {
|
|
284
|
-
markUnavailable(unavailableTiers, altOfUsed, 'not_configured');
|
|
285
|
-
altUnavailableReason = 'not_configured';
|
|
286
|
-
}
|
|
287
|
-
else {
|
|
288
|
-
const altSep = checkSeparation(altOfUsed);
|
|
289
|
-
if (altSep.skip) {
|
|
290
|
-
altSeparation = true;
|
|
291
|
-
altUnavailableReason = 'not_configured';
|
|
292
|
-
}
|
|
293
|
-
else if (altSep.identity) {
|
|
294
|
-
usedIdentity = altSep.identity;
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
}
|
|
298
|
-
if (altUnavailableReason !== undefined) {
|
|
299
|
-
return {
|
|
300
|
-
result,
|
|
301
|
-
usedTier,
|
|
302
|
-
fallbackFired: true,
|
|
303
|
-
fallbackReason,
|
|
304
|
-
fallbackTriggeringStatus,
|
|
305
|
-
bothUnavailable: true,
|
|
306
|
-
unavailableReason: altUnavailableReason,
|
|
307
|
-
salvageResult: null,
|
|
308
|
-
...(forbidden.length > 0 ? {
|
|
309
|
-
fallbackSeparationRespected: altSeparation || skippedDueToSeparation || undefined,
|
|
310
|
-
assignedIdentity,
|
|
311
|
-
usedIdentity,
|
|
312
|
-
} : {}),
|
|
313
|
-
};
|
|
314
|
-
}
|
|
315
|
-
// Try alt
|
|
316
|
-
let altProvider;
|
|
317
|
-
try {
|
|
318
|
-
altProvider = providerFor(altOfUsed);
|
|
319
|
-
}
|
|
320
|
-
catch {
|
|
321
|
-
return {
|
|
322
|
-
result,
|
|
323
|
-
usedTier,
|
|
324
|
-
fallbackFired: true,
|
|
325
|
-
fallbackReason,
|
|
326
|
-
fallbackTriggeringStatus,
|
|
327
|
-
bothUnavailable: true,
|
|
328
|
-
unavailableReason: 'not_configured',
|
|
329
|
-
salvageResult: null,
|
|
330
|
-
...(forbidden.length > 0 ? {
|
|
331
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
332
|
-
assignedIdentity,
|
|
333
|
-
usedIdentity,
|
|
334
|
-
} : {}),
|
|
335
|
-
};
|
|
336
|
-
}
|
|
337
|
-
const altResult = await call(altProvider, altOfUsed);
|
|
338
|
-
if (!usedIdentity) {
|
|
339
|
-
try {
|
|
340
|
-
usedIdentity = canonicalIdentity(altProvider.config) ?? undefined;
|
|
341
|
-
}
|
|
342
|
-
catch { /* leave undefined */ }
|
|
343
|
-
}
|
|
344
|
-
const altStatus = getStatus(altResult);
|
|
345
|
-
if (isTransportFailure(altResult)) {
|
|
346
|
-
// Both transport-failed mid-call — preserve BOTH triggering statuses
|
|
347
|
-
markUnavailable(unavailableTiers, altOfUsed, 'transport_failure');
|
|
348
|
-
const firstWork = scoreWork(result);
|
|
349
|
-
const altWork = scoreWork(altResult);
|
|
350
|
-
const maxWork = Math.max(firstWork, altWork);
|
|
351
|
-
const salvageResult = maxWork > 0
|
|
352
|
-
? (firstWork >= altWork ? result : altResult)
|
|
353
|
-
: null;
|
|
354
|
-
return {
|
|
355
|
-
result: altResult,
|
|
356
|
-
usedTier: altOfUsed,
|
|
357
|
-
fallbackFired: true,
|
|
358
|
-
fallbackReason,
|
|
359
|
-
fallbackTriggeringStatus,
|
|
360
|
-
bothUnavailable: true,
|
|
361
|
-
unavailableReason: 'transport_failure',
|
|
362
|
-
unavailableTriggeringStatus: altStatus,
|
|
363
|
-
salvageResult,
|
|
364
|
-
...(forbidden.length > 0 ? {
|
|
365
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
366
|
-
assignedIdentity,
|
|
367
|
-
usedIdentity,
|
|
368
|
-
} : {}),
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
// Alt succeeded
|
|
372
|
-
return {
|
|
373
|
-
result: altResult,
|
|
374
|
-
usedTier: altOfUsed,
|
|
375
|
-
fallbackFired: true,
|
|
376
|
-
fallbackReason,
|
|
377
|
-
fallbackTriggeringStatus,
|
|
378
|
-
bothUnavailable: false,
|
|
379
|
-
salvageResult: null,
|
|
380
|
-
...(forbidden.length > 0 ? {
|
|
381
|
-
fallbackSeparationRespected: skippedDueToSeparation || undefined,
|
|
382
|
-
assignedIdentity,
|
|
383
|
-
usedIdentity,
|
|
384
|
-
} : {}),
|
|
385
|
-
};
|
|
386
|
-
}
|
|
387
|
-
//# sourceMappingURL=fallback.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/escalation/fallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/escalation/index.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
package/dist/escalation/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/escalation/index.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import type { AgentType } from '../types.js';
|
|
2
|
-
export type ReworkLoop = 'spec' | 'quality';
|
|
3
|
-
/** A single attempt's tier assignments. `null` impl means review-only row
|
|
4
|
-
* (only used for quality loop's index 0). */
|
|
5
|
-
export interface AttemptAssignment {
|
|
6
|
-
impl: AgentType | null;
|
|
7
|
-
reviewer: AgentType;
|
|
8
|
-
}
|
|
9
|
-
export interface EscalationDecision {
|
|
10
|
-
/** Tier of the implementer for this attempt. */
|
|
11
|
-
impl: AgentType;
|
|
12
|
-
/** Tier of the reviewer for the review that follows this impl. */
|
|
13
|
-
reviewer: AgentType;
|
|
14
|
-
/** True when this attempt swaps off the base tier (used for diagnostics). */
|
|
15
|
-
isEscalated: boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare const SPEC_LOOP_STANDARD: AttemptAssignment[];
|
|
18
|
-
export declare const QUALITY_LOOP_STANDARD: AttemptAssignment[];
|
|
19
|
-
export declare const SPEC_LOOP_COMPLEX: AttemptAssignment[];
|
|
20
|
-
export declare const QUALITY_LOOP_COMPLEX: AttemptAssignment[];
|
|
21
|
-
export declare function pickEscalation(input: {
|
|
22
|
-
loop: ReworkLoop;
|
|
23
|
-
attemptIndex: number;
|
|
24
|
-
baseTier: AgentType;
|
|
25
|
-
}): EscalationDecision;
|
|
26
|
-
export declare function pickReviewer(input: {
|
|
27
|
-
loop: ReworkLoop;
|
|
28
|
-
attemptIndex: number;
|
|
29
|
-
baseTier: AgentType;
|
|
30
|
-
}): AgentType;
|
|
31
|
-
/** Total number of policy rows in the loop (includes review-only rows). Returns 3. */
|
|
32
|
-
export declare function maxRowsFor(_loop: ReworkLoop): number;
|
|
33
|
-
/** Number of reworks (impl attempts after initial). Returns 2 for both loops.
|
|
34
|
-
* Loop-aware: spec excludes the initial-impl row (length - 1); quality has no
|
|
35
|
-
* initial-impl row, so reworks = total impl rows. */
|
|
36
|
-
export declare function maxReworksFor(loop: ReworkLoop): number;
|
|
37
|
-
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/escalation/policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAK5C;8CAC8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,gDAAgD;IAChD,IAAI,EAAE,SAAS,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB,6EAA6E;IAC7E,WAAW,EAAE,OAAO,CAAC;CACtB;AAGD,eAAO,MAAM,kBAAkB,EAAE,iBAAiB,EAIjD,CAAC;AAIF,eAAO,MAAM,qBAAqB,EAAE,iBAAiB,EAIpD,CAAC;AAGF,eAAO,MAAM,iBAAiB,EAAE,iBAAiB,EAIhD,CAAC;AACF,eAAO,MAAM,oBAAoB,EAAE,iBAAiB,EAInD,CAAC;AAOF,wBAAgB,cAAc,CAAC,KAAK,EAAE;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,kBAAkB,CAoBrB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,IAAI,EAAE,UAAU,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB,GAAG,SAAS,CASZ;AAED,sFAAsF;AACtF,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD;AAED;;sDAEsD;AACtD,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAItD"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
// Spec loop: indexed 0 (initial impl) → 1 (rework 1) → 2 (rework 2 = "last try")
|
|
2
|
-
export const SPEC_LOOP_STANDARD = [
|
|
3
|
-
{ impl: 'standard', reviewer: 'complex' },
|
|
4
|
-
{ impl: 'standard', reviewer: 'complex' },
|
|
5
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
6
|
-
];
|
|
7
|
-
// Quality loop: indexed 0 (initial review of inherited impl, no rework yet)
|
|
8
|
-
// → 1 (rework 1) → 2 (rework 2 = "last try")
|
|
9
|
-
export const QUALITY_LOOP_STANDARD = [
|
|
10
|
-
{ impl: null, reviewer: 'complex' },
|
|
11
|
-
{ impl: 'standard', reviewer: 'complex' },
|
|
12
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
13
|
-
];
|
|
14
|
-
// Complex-tier tasks: no policy swap; every row stays on complex impl + standard reviewer
|
|
15
|
-
export const SPEC_LOOP_COMPLEX = [
|
|
16
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
17
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
18
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
19
|
-
];
|
|
20
|
-
export const QUALITY_LOOP_COMPLEX = [
|
|
21
|
-
{ impl: null, reviewer: 'standard' },
|
|
22
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
23
|
-
{ impl: 'complex', reviewer: 'standard' },
|
|
24
|
-
];
|
|
25
|
-
function pickTable(loop, baseTier) {
|
|
26
|
-
if (loop === 'spec')
|
|
27
|
-
return baseTier === 'standard' ? SPEC_LOOP_STANDARD : SPEC_LOOP_COMPLEX;
|
|
28
|
-
return baseTier === 'standard' ? QUALITY_LOOP_STANDARD : QUALITY_LOOP_COMPLEX;
|
|
29
|
-
}
|
|
30
|
-
export function pickEscalation(input) {
|
|
31
|
-
const table = pickTable(input.loop, input.baseTier);
|
|
32
|
-
if (input.attemptIndex < 0 || input.attemptIndex >= table.length) {
|
|
33
|
-
throw new Error(`pickEscalation: attemptIndex ${input.attemptIndex} out of range for ` +
|
|
34
|
-
`${input.loop}/${input.baseTier} (max ${table.length - 1})`);
|
|
35
|
-
}
|
|
36
|
-
const row = table[input.attemptIndex];
|
|
37
|
-
if (row.impl === null) {
|
|
38
|
-
throw new Error(`pickEscalation: ${input.loop} attempt ${input.attemptIndex} has no impl row — ` +
|
|
39
|
-
`caller asked for impl tier on a review-only row`);
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
impl: row.impl,
|
|
43
|
-
reviewer: row.reviewer,
|
|
44
|
-
isEscalated: row.impl !== input.baseTier,
|
|
45
|
-
};
|
|
46
|
-
}
|
|
47
|
-
export function pickReviewer(input) {
|
|
48
|
-
const table = pickTable(input.loop, input.baseTier);
|
|
49
|
-
if (input.attemptIndex < 0 || input.attemptIndex >= table.length) {
|
|
50
|
-
throw new Error(`pickReviewer: attemptIndex ${input.attemptIndex} out of range for ` +
|
|
51
|
-
`${input.loop}/${input.baseTier} (max ${table.length - 1})`);
|
|
52
|
-
}
|
|
53
|
-
return table[input.attemptIndex].reviewer;
|
|
54
|
-
}
|
|
55
|
-
/** Total number of policy rows in the loop (includes review-only rows). Returns 3. */
|
|
56
|
-
export function maxRowsFor(_loop) {
|
|
57
|
-
return 3;
|
|
58
|
-
}
|
|
59
|
-
/** Number of reworks (impl attempts after initial). Returns 2 for both loops.
|
|
60
|
-
* Loop-aware: spec excludes the initial-impl row (length - 1); quality has no
|
|
61
|
-
* initial-impl row, so reworks = total impl rows. */
|
|
62
|
-
export function maxReworksFor(loop) {
|
|
63
|
-
const table = pickTable(loop, 'standard');
|
|
64
|
-
const implRows = table.filter(r => r.impl !== null).length;
|
|
65
|
-
return loop === 'spec' ? implRows - 1 : implRows;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=policy.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/escalation/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import type { ProviderConfig } from '../types.js';
|
|
2
|
-
export type EligibilityFailureCheck = 'capability' | 'tier' | 'tool_mode' | 'provider_not_found' | 'unsupported_provider_type' | 'missing_required_field' | string;
|
|
3
|
-
export interface EligibilityFailure {
|
|
4
|
-
check: EligibilityFailureCheck;
|
|
5
|
-
detail: string;
|
|
6
|
-
message: string;
|
|
7
|
-
}
|
|
8
|
-
export interface ProviderEligibility {
|
|
9
|
-
name: string;
|
|
10
|
-
config: ProviderConfig;
|
|
11
|
-
eligible: boolean;
|
|
12
|
-
/** Reasons only present when eligible === false. */
|
|
13
|
-
reasons: EligibilityFailure[];
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/escalation/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,uBAAuB,GAC/B,YAAY,GACZ,MAAM,GACN,WAAW,GACX,oBAAoB,GACpB,2BAA2B,GAC3B,wBAAwB,GACxB,MAAM,CAAA;AAEV,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,uBAAuB,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,OAAO,CAAA;IACjB,oDAAoD;IACpD,OAAO,EAAE,kBAAkB,EAAE,CAAA;CAC9B"}
|
package/dist/escalation/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/escalation/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* RunningHeadlineSink — bus sink that translates per-turn runner events
|
|
3
|
-
* into a rich `runningHeadlineSnapshot` so /batch/:id polling shows the
|
|
4
|
-
* main agent something like:
|
|
5
|
-
*
|
|
6
|
-
* [3/7] Quality review (Complex) - 3m 41s, 12 read, 0 write, 18 tool calls
|
|
7
|
-
*
|
|
8
|
-
* `[X/Y]` is the lifecycle stage cursor — current macro stage of the
|
|
9
|
-
* total stages possible for this tool category. Y is hardcoded per route
|
|
10
|
-
* (the lifecycle plan is deterministic given toolCategory + reviewPolicy);
|
|
11
|
-
* X advances as runner_turn_completed events report new stageLabels.
|
|
12
|
-
*
|
|
13
|
-
* Listens to `runner_turn_completed` events emitted by the provider
|
|
14
|
-
* sessions. Keeps
|
|
15
|
-
* a per-batch tally + latest stage + latest tier and updates the
|
|
16
|
-
* registry's snapshot. Never emits to stderr (that's VerboseLogChannel's
|
|
17
|
-
* job) — pure progress visibility for the polling tool.
|
|
18
|
-
*/
|
|
19
|
-
import type { BatchRegistry } from '../stores/batch-registry.js';
|
|
20
|
-
export declare class RunningHeadlineSink {
|
|
21
|
-
private readonly batchRegistry;
|
|
22
|
-
readonly name = "running-headline";
|
|
23
|
-
private progress;
|
|
24
|
-
constructor(batchRegistry: BatchRegistry);
|
|
25
|
-
emit(event: Record<string, unknown>): void;
|
|
26
|
-
}
|
|
27
|
-
//# sourceMappingURL=running-headline-sink.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"running-headline-sink.d.ts","sourceRoot":"","sources":["../../src/events/running-headline-sink.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAgDjE,qBAAa,mBAAmB;IAIlB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAH1C,QAAQ,CAAC,IAAI,sBAAsB;IACnC,OAAO,CAAC,QAAQ,CAAmD;gBAEtC,aAAa,EAAE,aAAa;IAEzD,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAkI3C"}
|