@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,156 +0,0 @@
|
|
|
1
|
-
// Tool-name sets are centralized in providers/tool-name-sets.ts —
|
|
2
|
-
// historically the sink had WRITE_TOOLS = {writeFile, write_file}
|
|
3
|
-
// while runner-shell had {..., editFile, edit_file}. Drift caused the
|
|
4
|
-
// polling headline to report "0 write" even though `edit_file` modified
|
|
5
|
-
// files. Single source of truth eliminates the risk (Gap 14, 4.0.3+).
|
|
6
|
-
import { READ_TOOL_NAMES as READ_TOOLS, WRITE_TOOL_NAMES as WRITE_TOOLS } from '../providers/tool-name-sets.js';
|
|
7
|
-
// Coarse stage ordering per tool route lives in lifecycle/stage-progression.ts
|
|
8
|
-
// (single source of truth, shared with async-dispatch + test fixtures).
|
|
9
|
-
import { stageProgress } from '../lifecycle/stage-progression.js';
|
|
10
|
-
function capitalizeTier(tier) {
|
|
11
|
-
if (!tier)
|
|
12
|
-
return undefined;
|
|
13
|
-
return tier.charAt(0).toUpperCase() + tier.slice(1);
|
|
14
|
-
}
|
|
15
|
-
export class RunningHeadlineSink {
|
|
16
|
-
batchRegistry;
|
|
17
|
-
name = 'running-headline';
|
|
18
|
-
progress = new Map();
|
|
19
|
-
constructor(batchRegistry) {
|
|
20
|
-
this.batchRegistry = batchRegistry;
|
|
21
|
-
}
|
|
22
|
-
emit(event) {
|
|
23
|
-
if (event['event'] !== 'runner_turn_completed')
|
|
24
|
-
return;
|
|
25
|
-
const batchId = typeof event['batchId'] === 'string' ? event['batchId'] : undefined;
|
|
26
|
-
if (!batchId)
|
|
27
|
-
return;
|
|
28
|
-
// taskIndex defaults to 0 so older code paths that don't yet plumb it
|
|
29
|
-
// still produce a single-task headline. New parallel-fan-out tasks pass
|
|
30
|
-
// a real taskIndex and get separate snapshots.
|
|
31
|
-
const taskIndex = typeof event['taskIndex'] === 'number' ? event['taskIndex'] : 0;
|
|
32
|
-
const toolCalls = event['toolCalls'] ?? {};
|
|
33
|
-
const shellWritesDelta = typeof event['shellWrites'] === 'number' ? event['shellWrites'] : 0;
|
|
34
|
-
const stageLabel = typeof event['stageLabel'] === 'string' ? event['stageLabel'] : undefined;
|
|
35
|
-
const tier = typeof event['tier'] === 'string' ? event['tier'] : undefined;
|
|
36
|
-
const pathsReadThisTurn = Array.isArray(event['pathsReadThisTurn'])
|
|
37
|
-
? event['pathsReadThisTurn'].filter((s) => typeof s === 'string')
|
|
38
|
-
: undefined;
|
|
39
|
-
const pathsWrittenThisTurn = Array.isArray(event['pathsWrittenThisTurn'])
|
|
40
|
-
? event['pathsWrittenThisTurn'].filter((s) => typeof s === 'string')
|
|
41
|
-
: undefined;
|
|
42
|
-
let perBatch = this.progress.get(batchId);
|
|
43
|
-
if (!perBatch) {
|
|
44
|
-
perBatch = new Map();
|
|
45
|
-
this.progress.set(batchId, perBatch);
|
|
46
|
-
}
|
|
47
|
-
const prior = perBatch.get(taskIndex);
|
|
48
|
-
const nextCounts = { ...(prior?.toolCounts ?? {}) };
|
|
49
|
-
for (const [name, count] of Object.entries(toolCalls)) {
|
|
50
|
-
nextCounts[name] = (nextCounts[name] ?? 0) + count;
|
|
51
|
-
}
|
|
52
|
-
const readPaths = new Set(prior?.readPaths ?? []);
|
|
53
|
-
const writtenPaths = new Set(prior?.writtenPaths ?? []);
|
|
54
|
-
if (pathsReadThisTurn)
|
|
55
|
-
for (const p of pathsReadThisTurn)
|
|
56
|
-
readPaths.add(p);
|
|
57
|
-
if (pathsWrittenThisTurn)
|
|
58
|
-
for (const p of pathsWrittenThisTurn)
|
|
59
|
-
writtenPaths.add(p);
|
|
60
|
-
const toolCallCountDelta = typeof event['toolCallCount'] === 'number' ? event['toolCallCount'] : 0;
|
|
61
|
-
const next = {
|
|
62
|
-
toolCounts: nextCounts,
|
|
63
|
-
totalToolCalls: (prior?.totalToolCalls ?? 0) + toolCallCountDelta,
|
|
64
|
-
readPaths,
|
|
65
|
-
writtenPaths,
|
|
66
|
-
shellWrites: (prior?.shellWrites ?? 0) + shellWritesDelta,
|
|
67
|
-
stageLabel: stageLabel ?? prior?.stageLabel,
|
|
68
|
-
tier: tier ?? prior?.tier,
|
|
69
|
-
startedAt: prior?.startedAt ?? Date.now(),
|
|
70
|
-
};
|
|
71
|
-
perBatch.set(taskIndex, next);
|
|
72
|
-
const entry = this.batchRegistry.get(batchId);
|
|
73
|
-
if (!entry)
|
|
74
|
-
return;
|
|
75
|
-
// A4b.0 (4.2.2+): prefer path-Set sizes when the runner emitted
|
|
76
|
-
// pathsRead/pathsWritten arrays. Fall back to the bucket-count
|
|
77
|
-
// semantics for legacy events / test fixtures that send
|
|
78
|
-
// `toolCalls: { name: count }` only.
|
|
79
|
-
let read = 0;
|
|
80
|
-
let write = 0;
|
|
81
|
-
// A4b.0: prefer the cumulative raw `toolCallCount` deltas (every
|
|
82
|
-
// invocation including repeats). Fall back to bucket sum for legacy
|
|
83
|
-
// events that send `toolCalls: { name: count }` only.
|
|
84
|
-
let total = next.totalToolCalls;
|
|
85
|
-
if (total === 0) {
|
|
86
|
-
for (const count of Object.values(nextCounts))
|
|
87
|
-
total += count;
|
|
88
|
-
}
|
|
89
|
-
if (next.readPaths.size > 0 || pathsReadThisTurn !== undefined) {
|
|
90
|
-
read = next.readPaths.size;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
for (const [name, count] of Object.entries(nextCounts)) {
|
|
94
|
-
if (READ_TOOLS.has(name))
|
|
95
|
-
read += count;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (next.writtenPaths.size > 0 || pathsWrittenThisTurn !== undefined) {
|
|
99
|
-
write = next.writtenPaths.size;
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
for (const [name, count] of Object.entries(nextCounts)) {
|
|
103
|
-
if (WRITE_TOOLS.has(name))
|
|
104
|
-
write += count;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
// Gap 11 (4.0.3+): include run_shell calls that wrote to the FS so
|
|
108
|
-
// the headline shows real activity instead of "0 write" while
|
|
109
|
-
// sed -i / cat > / tee actively produces artifacts.
|
|
110
|
-
write += next.shellWrites;
|
|
111
|
-
const stage = next.stageLabel ?? 'Running';
|
|
112
|
-
const tierStr = capitalizeTier(next.tier);
|
|
113
|
-
const workerClause = tierStr ? ` by ${tierStr} worker` : '';
|
|
114
|
-
const progress = stageProgress(entry.tool, next.stageLabel);
|
|
115
|
-
const [progDoneStr, progTotalStr] = progress.split('/');
|
|
116
|
-
const stageDone = Number(progDoneStr);
|
|
117
|
-
const stageTotal = Number(progTotalStr);
|
|
118
|
-
// Per-task snapshot. Carries both the legacy pre-rendered prefix/statsClause
|
|
119
|
-
// (still consumed when no aggregation is possible) AND the structured fields
|
|
120
|
-
// the batch handler uses to compose ONE aggregated line for batches.
|
|
121
|
-
// Final single-task shape:
|
|
122
|
-
// [1/1] Implementing by Standard worker (1/7) - 5m 40s, 2 read, 0 write, 15 tool calls
|
|
123
|
-
const prefix = `${stage}${workerClause} (${progress}) - `;
|
|
124
|
-
const fallback = `${stage}${workerClause} (${progress})`;
|
|
125
|
-
const statsClause = `, ${read} read, ${write} write, ${total} tool calls`;
|
|
126
|
-
this.batchRegistry.updatePerTaskHeadlineSnapshot(batchId, taskIndex, {
|
|
127
|
-
prefix,
|
|
128
|
-
statsClause,
|
|
129
|
-
dispatchedAt: next.startedAt,
|
|
130
|
-
fallback,
|
|
131
|
-
stageLabel: stage,
|
|
132
|
-
tier: tierStr,
|
|
133
|
-
stageDone: Number.isFinite(stageDone) ? stageDone : undefined,
|
|
134
|
-
stageTotal: Number.isFinite(stageTotal) ? stageTotal : undefined,
|
|
135
|
-
toolReads: read,
|
|
136
|
-
toolWrites: write,
|
|
137
|
-
toolTotal: total,
|
|
138
|
-
});
|
|
139
|
-
// Also update the legacy single-snapshot field so any consumer that
|
|
140
|
-
// hasn't migrated to per-task still sees something current.
|
|
141
|
-
this.batchRegistry.updateRunningHeadlineSnapshot(batchId, {
|
|
142
|
-
prefix,
|
|
143
|
-
statsClause,
|
|
144
|
-
dispatchedAt: entry.runningHeadlineSnapshot.dispatchedAt,
|
|
145
|
-
fallback,
|
|
146
|
-
stageLabel: stage,
|
|
147
|
-
tier: tierStr,
|
|
148
|
-
stageDone: Number.isFinite(stageDone) ? stageDone : undefined,
|
|
149
|
-
stageTotal: Number.isFinite(stageTotal) ? stageTotal : undefined,
|
|
150
|
-
toolReads: read,
|
|
151
|
-
toolWrites: write,
|
|
152
|
-
toolTotal: total,
|
|
153
|
-
});
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
//# sourceMappingURL=running-headline-sink.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"running-headline-sink.js","sourceRoot":"","sources":["../../src/events/running-headline-sink.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotator.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAEL,KAAK,wBAAwB,EAC9B,MAAM,wDAAwD,CAAC;AAIhE,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,GAAG,QAAQ,CAAC;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,IAAI,CAAC;IACtD,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1G,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD;2EACuE;IACvE,WAAW,CAAC,EAAE,wBAAwB,EAAE,CAAC;CAC1C;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDpE"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
// v4.4.x — unified Annotating stage.
|
|
2
|
-
//
|
|
3
|
-
// Pure transform: builds the canonical StructuredReport from
|
|
4
|
-
// state.lastRunResult, the Review stage's verdict + concerns, the
|
|
5
|
-
// Rework flag, and the Committing stage's outcome. Same handler for
|
|
6
|
-
// read and write routes — route-specific fields hold empty arrays /
|
|
7
|
-
// nulls on the other side so the orchestrator parses one shape.
|
|
8
|
-
import { mergeStageStats } from '../merge-stage-stats.js';
|
|
9
|
-
import { parseSourcesUsed, } from '../../reporting/report-parser-slots/research-report.js';
|
|
10
|
-
const READ_ROUTES = new Set(['audit', 'review', 'debug', 'investigate', 'research']);
|
|
11
|
-
export async function annotator(state) {
|
|
12
|
-
const t0 = Date.now();
|
|
13
|
-
const last = (state.lastRunResult ?? {});
|
|
14
|
-
const route = state.route;
|
|
15
|
-
const isRead = !!route && READ_ROUTES.has(route);
|
|
16
|
-
const findings = last.findings ?? [];
|
|
17
|
-
const summary = last.summary
|
|
18
|
-
?? (isRead ? `produced ${findings.length} findings` : (last.output ?? '').slice(0, 200));
|
|
19
|
-
const report = {
|
|
20
|
-
summary,
|
|
21
|
-
workerStatus: last.workerStatus ?? (isRead ? 'done' : 'failed'),
|
|
22
|
-
unresolved: last.unresolved ?? [],
|
|
23
|
-
filesChanged: isRead ? [] : (last.filesChanged ?? []),
|
|
24
|
-
reviewVerdict: isRead ? null : ((state.reviewVerdict) ?? null),
|
|
25
|
-
reviewConcerns: isRead ? [] : ((state.reviewConcerns) ?? []),
|
|
26
|
-
reworkApplied: isRead ? false : Boolean(state.reworkApplied),
|
|
27
|
-
validationsRun: isRead ? [] : (last.validationsRun ?? []),
|
|
28
|
-
commitSha: isRead ? null : (last.commitSha ?? null),
|
|
29
|
-
commitMessage: isRead ? null : (last.commitMessage ?? null),
|
|
30
|
-
commitSkipReason: isRead ? null : (last.commitSkipReason ?? null),
|
|
31
|
-
findings: isRead ? findings : [],
|
|
32
|
-
criteriaErrors: isRead ? (last.criteriaErrors ?? []) : [],
|
|
33
|
-
};
|
|
34
|
-
if (route === 'research') {
|
|
35
|
-
const lastOutput = last.output ?? '';
|
|
36
|
-
report.sourcesUsed = parseSourcesUsed(lastOutput);
|
|
37
|
-
}
|
|
38
|
-
state.structuredReport = report;
|
|
39
|
-
mergeStageStats(state, 'annotating', {
|
|
40
|
-
inputTokens: 0,
|
|
41
|
-
outputTokens: 0,
|
|
42
|
-
cachedReadTokens: 0,
|
|
43
|
-
cachedNonReadTokens: 0,
|
|
44
|
-
turnCount: 0,
|
|
45
|
-
toolCallCount: 0,
|
|
46
|
-
costUSD: 0,
|
|
47
|
-
durationMs: Date.now() - t0,
|
|
48
|
-
filesReadCount: 0,
|
|
49
|
-
filesWrittenCount: 0,
|
|
50
|
-
}, { tier: null, model: null });
|
|
51
|
-
const annotatingStats = state.lastRunResult
|
|
52
|
-
?.stageStats?.annotating;
|
|
53
|
-
if (annotatingStats) {
|
|
54
|
-
annotatingStats.outcome = 'transformed';
|
|
55
|
-
annotatingStats.maxIdleMs = 0;
|
|
56
|
-
annotatingStats.totalIdleMs = 0;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=annotator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"annotator.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/annotator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import type { TerminalStatusDeriver } from '../../reporting/terminal-status-deriver.js';
|
|
3
|
-
import type { ShutdownCoordinator } from '../../cleanup/shutdown-coordinator.js';
|
|
4
|
-
export declare class DeriveTerminalStatusHandler {
|
|
5
|
-
private deriver;
|
|
6
|
-
private coordinator;
|
|
7
|
-
constructor(deriver: TerminalStatusDeriver, coordinator: ShutdownCoordinator);
|
|
8
|
-
handler: (state: LifecycleState) => void;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=derive-terminal-status.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"derive-terminal-status.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/derive-terminal-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAqF,MAAM,4CAA4C,CAAC;AAC3K,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AAEjF,qBAAa,2BAA2B;IAC1B,OAAO,CAAC,OAAO;IAAyB,OAAO,CAAC,WAAW;gBAAnD,OAAO,EAAE,qBAAqB,EAAU,WAAW,EAAE,mBAAmB;IAE5F,OAAO,GAAI,OAAO,cAAc,KAAG,IAAI,CAyBrC;CACH"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export class DeriveTerminalStatusHandler {
|
|
2
|
-
deriver;
|
|
3
|
-
coordinator;
|
|
4
|
-
constructor(deriver, coordinator) {
|
|
5
|
-
this.deriver = deriver;
|
|
6
|
-
this.coordinator = coordinator;
|
|
7
|
-
}
|
|
8
|
-
handler = (state) => {
|
|
9
|
-
const inputs = {
|
|
10
|
-
shutdownInProgress: this.coordinator.isShutdownInProgress(),
|
|
11
|
-
workerStatus: state.workerStatus || 'done',
|
|
12
|
-
overallReviewVerdict: state.reviewVerdict || 'not_applicable',
|
|
13
|
-
artifactsCheck: state.artifactsCheck || 'not_applicable',
|
|
14
|
-
verifyOutcome: state.verifyOutcome || 'not_applicable',
|
|
15
|
-
guardFires: state.guardFires || [],
|
|
16
|
-
errorCode: state.errorCode || null,
|
|
17
|
-
};
|
|
18
|
-
const decision = this.deriver.derive(inputs);
|
|
19
|
-
state.terminalStatus = decision.terminalStatus;
|
|
20
|
-
state.terminationReason = decision.errorCode;
|
|
21
|
-
// CRITICAL: do NOT set state.terminal=true here. This handler is wired as
|
|
22
|
-
// the compose_response row (5.3); rows 5.3.5 (register_terminal_block),
|
|
23
|
-
// 5.4 (emit_task_terminal), 5.5 (persist_to_batch_registry), and 6.1
|
|
24
|
-
// (flush_telemetry) MUST still fire after this handler runs. The
|
|
25
|
-
// LifecycleDriver short-circuits on state.terminal === true, so setting
|
|
26
|
-
// it here would prevent terminal-block registration, telemetry flush, and
|
|
27
|
-
// batch persistence — silently breaking every task's tail.
|
|
28
|
-
//
|
|
29
|
-
// terminalStatus is the system-verdict field (caller-facing); terminal
|
|
30
|
-
// is the lifecycle-driver short-circuit flag — they are different things.
|
|
31
|
-
// Only error-path handlers (intake errors, guard fires) set
|
|
32
|
-
// state.terminal = true to skip the rest of the lifecycle.
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=derive-terminal-status.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"derive-terminal-status.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/derive-terminal-status.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,2BAA2B;IAClB;IAAwC;IAA5D,YAAoB,OAA8B,EAAU,WAAgC;QAAxE,YAAO,GAAP,OAAO,CAAuB;QAAU,gBAAW,GAAX,WAAW,CAAqB;IAAG,CAAC;IAEhG,OAAO,GAAG,CAAC,KAAqB,EAAQ,EAAE;QACxC,MAAM,MAAM,GAAmB;YAC7B,kBAAkB,EAAE,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE;YAC3D,YAAY,EAAG,KAAK,CAAC,YAA6B,IAAI,MAAM;YAC5D,oBAAoB,EAAG,KAAK,CAAC,aAAsC,IAAI,gBAAgB;YACvF,cAAc,EAAG,KAAK,CAAC,cAAiC,IAAI,gBAAgB;YAC5E,aAAa,EAAG,KAAK,CAAC,aAA+B,IAAI,gBAAgB;YACzE,UAAU,EAAG,KAAK,CAAC,UAAuB,IAAI,EAAE;YAChD,SAAS,EAAG,KAAK,CAAC,SAAoB,IAAI,IAAI;SAC/C,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAC;QAC/C,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,SAAS,CAAC;QAC7C,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,iEAAiE;QACjE,wEAAwE;QACxE,0EAA0E;QAC1E,2DAA2D;QAC3D,EAAE;QACF,uEAAuE;QACvE,0EAA0E;QAC1E,4DAA4D;QAC5D,2DAA2D;IAC7D,CAAC,CAAC;CACH"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export interface CrossCheckInputs {
|
|
2
|
-
/** Canonical (realpath) cwd from request. */
|
|
3
|
-
cwd: string;
|
|
4
|
-
/** Already filtered per A4b §2a — relative paths only, no shell entries. */
|
|
5
|
-
filesWritten: string[];
|
|
6
|
-
workerSelfAssessment: 'done' | 'in_progress' | 'no_op' | null | undefined;
|
|
7
|
-
toolsMode: 'full' | 'readonly' | 'none' | undefined;
|
|
8
|
-
autoCommit: boolean | undefined;
|
|
9
|
-
/** True iff the worker actually attempted any filesystem write — either a
|
|
10
|
-
* real path landed in `filesWritten`, the path-validity filter pushed at
|
|
11
|
-
* least one entry to `filesWrittenRejected`, or a shell heredoc fired.
|
|
12
|
-
* When false, the worker never tried to write — `writes_unverifiable` is
|
|
13
|
-
* a false positive (e.g., a chat-only response that didn't need a file). */
|
|
14
|
-
writeAttempted?: boolean;
|
|
15
|
-
}
|
|
16
|
-
export interface CrossCheckResult {
|
|
17
|
-
/** Possibly trimmed of nonexistent or absolute-path entries. */
|
|
18
|
-
filesWritten: string[];
|
|
19
|
-
/** Entries that didn't pass stat (or were absolute — sandbox guard). */
|
|
20
|
-
filesWrittenMissing: string[];
|
|
21
|
-
/** Set only when the downgrade fires. */
|
|
22
|
-
workerStatus?: 'error';
|
|
23
|
-
errorCode?: 'writes_unverifiable';
|
|
24
|
-
errorMessage?: string;
|
|
25
|
-
}
|
|
26
|
-
export declare function crossCheckFilesWritten(inputs: CrossCheckInputs): CrossCheckResult;
|
|
27
|
-
//# sourceMappingURL=files-written-cross-check.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files-written-cross-check.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/files-written-cross-check.ts"],"names":[],"mappings":"AAgCA,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,oBAAoB,EAAE,MAAM,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC;IAC1E,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;IACpD,UAAU,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC;;;;iFAI6E;IAC7E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wEAAwE;IACxE,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,yCAAyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,qBAAqB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAOD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,gBAAgB,CA2DjF"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A4b §2b — terminal-stage cross-check of worker-reported `filesWritten`
|
|
3
|
-
* against the actual filesystem.
|
|
4
|
-
*
|
|
5
|
-
* Inputs come from the per-task lifecycle state at the moment the task
|
|
6
|
-
* transitions to terminal (cause `finished` or `cancelled`, not `error`).
|
|
7
|
-
* Outputs are merged into the result envelope:
|
|
8
|
-
*
|
|
9
|
-
* - `filesWritten` is trimmed to only entries whose `path.join(cwd, p)`
|
|
10
|
-
* stat()s successfully as a file or directory.
|
|
11
|
-
* - `filesWrittenMissing` carries the entries that didn't pass stat
|
|
12
|
-
* (defense-in-depth: also catches absolute paths if any slipped past
|
|
13
|
-
* the §2a filter).
|
|
14
|
-
* - `workerStatus = 'error'` + `errorCode = 'writes_unverifiable'` when
|
|
15
|
-
* all of:
|
|
16
|
-
* 1. `filesWritten.length === 0` (post-stat trimming)
|
|
17
|
-
* 2. `workerSelfAssessment === 'done'`
|
|
18
|
-
* 3. `toolsMode === 'full'` (worker had write capability)
|
|
19
|
-
*
|
|
20
|
-
* The downgrade ONLY fires on the `done` claim with no evidence on a
|
|
21
|
-
* write-capable worker. A worker that legitimately produced no
|
|
22
|
-
* artifacts (e.g., a no-op task confirming "nothing to change") must
|
|
23
|
-
* self-assess as `no_op`, not `done`. `readonly` / `none` workers are
|
|
24
|
-
* also exempt — they aren't expected to produce artifacts.
|
|
25
|
-
*
|
|
26
|
-
* The optional `git status` merge (when autoCommit=true) is a follow-up
|
|
27
|
-
* (see plan A4b.2 step 2 alternative) — out of scope for this initial
|
|
28
|
-
* commit. autoCommit is accepted in the inputs for forward-compat.
|
|
29
|
-
*/
|
|
30
|
-
import * as fs from 'node:fs';
|
|
31
|
-
import * as path from 'node:path';
|
|
32
|
-
const WRITES_UNVERIFIABLE_MESSAGE = "Worker self-assessed as 'done' but no verifiable file artifacts were " +
|
|
33
|
-
"produced. Likely cause: writes were issued via shell commands (cat/echo/" +
|
|
34
|
-
"python -c heredocs) that bypass the platform's file-write accounting.";
|
|
35
|
-
export function crossCheckFilesWritten(inputs) {
|
|
36
|
-
const real = [];
|
|
37
|
-
const missing = [];
|
|
38
|
-
for (const entry of inputs.filesWritten) {
|
|
39
|
-
// Defense-in-depth: reject absolutes here too. The path-validity
|
|
40
|
-
// filter at A4b §2a should have already removed them, but if any
|
|
41
|
-
// slip through, `path.join(cwd, '/etc/passwd')` would silently
|
|
42
|
-
// resolve to `/etc/passwd` — sandbox escape. Categorize as missing
|
|
43
|
-
// (not a real write under cwd).
|
|
44
|
-
if (entry.startsWith('/')) {
|
|
45
|
-
missing.push(entry);
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
const absPath = path.join(inputs.cwd, entry);
|
|
49
|
-
try {
|
|
50
|
-
const st = fs.statSync(absPath);
|
|
51
|
-
if (st.isFile() || st.isDirectory()) {
|
|
52
|
-
real.push(entry);
|
|
53
|
-
}
|
|
54
|
-
else {
|
|
55
|
-
missing.push(entry);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
missing.push(entry);
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
// Verdict downgrade per spec §2b step 3.
|
|
63
|
-
let workerStatus;
|
|
64
|
-
let errorCode;
|
|
65
|
-
let errorMessage;
|
|
66
|
-
// When the caller can prove the worker never tried to write (no rejected
|
|
67
|
-
// paths, no successful writes, no shell heredocs), skip the downgrade —
|
|
68
|
-
// it's a false positive for chat-only responses. Default = true (preserve
|
|
69
|
-
// pre-existing callers that don't pass the flag).
|
|
70
|
-
const attempted = inputs.writeAttempted ?? true;
|
|
71
|
-
if (real.length === 0 &&
|
|
72
|
-
inputs.workerSelfAssessment === 'done' &&
|
|
73
|
-
inputs.toolsMode === 'full' &&
|
|
74
|
-
attempted) {
|
|
75
|
-
workerStatus = 'error';
|
|
76
|
-
errorCode = 'writes_unverifiable';
|
|
77
|
-
errorMessage = WRITES_UNVERIFIABLE_MESSAGE;
|
|
78
|
-
}
|
|
79
|
-
// The optional autoCommit-gated `git status --porcelain` merge is a
|
|
80
|
-
// follow-up. Reading it here without implementing keeps the contract
|
|
81
|
-
// forward-compat for callers that already pass autoCommit.
|
|
82
|
-
void inputs.autoCommit;
|
|
83
|
-
return {
|
|
84
|
-
filesWritten: real,
|
|
85
|
-
filesWrittenMissing: missing,
|
|
86
|
-
...(workerStatus !== undefined && { workerStatus }),
|
|
87
|
-
...(errorCode !== undefined && { errorCode }),
|
|
88
|
-
...(errorMessage !== undefined && { errorMessage }),
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=files-written-cross-check.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files-written-cross-check.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/files-written-cross-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AA6BlC,MAAM,2BAA2B,GAC/B,uEAAuE;IACvE,0EAA0E;IAC1E,uEAAuE,CAAC;AAE1E,MAAM,UAAU,sBAAsB,CAAC,MAAwB;IAC7D,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,MAAM,OAAO,GAAa,EAAE,CAAC;IAE7B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACxC,iEAAiE;QACjE,iEAAiE;QACjE,+DAA+D;QAC/D,mEAAmE;QACnE,gCAAgC;QAChC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAChC,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC;gBACpC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,YAAiC,CAAC;IACtC,IAAI,SAA4C,CAAC;IACjD,IAAI,YAAgC,CAAC;IACrC,yEAAyE;IACzE,wEAAwE;IACxE,0EAA0E;IAC1E,kDAAkD;IAClD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,IAAI,IAAI,CAAC;IAChD,IACE,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,MAAM,CAAC,oBAAoB,KAAK,MAAM;QACtC,MAAM,CAAC,SAAS,KAAK,MAAM;QAC3B,SAAS,EACT,CAAC;QACD,YAAY,GAAG,OAAO,CAAC;QACvB,SAAS,GAAG,qBAAqB,CAAC;QAClC,YAAY,GAAG,2BAA2B,CAAC;IAC7C,CAAC;IAED,oEAAoE;IACpE,qEAAqE;IACrE,2DAA2D;IAC3D,KAAK,MAAM,CAAC,UAAU,CAAC;IAEvB,OAAO;QACL,YAAY,EAAE,IAAI;QAClB,mBAAmB,EAAE,OAAO;QAC5B,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;QACnD,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,CAAC;QAC7C,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,YAAY,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/review-handler.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA4C7D,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIxE"}
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
// v4.4.x — Review stage.
|
|
2
|
-
//
|
|
3
|
-
// One complex session, two sequential turns: spec review, then quality
|
|
4
|
-
// review. Same session = same cached prefix on the 2nd turn. Combined
|
|
5
|
-
// verdict is `approved` only if BOTH reviewers approve; otherwise
|
|
6
|
-
// `changes_required`. Combined `reviewConcerns` is the concat of both
|
|
7
|
-
// reviewers' concerns.
|
|
8
|
-
import { specLintTemplate } from '../../review/templates/spec-review.js';
|
|
9
|
-
import { qualityLintTemplate } from '../../review/templates/quality-review.js';
|
|
10
|
-
import { parseReviewReport } from '../../review/parse-review-report.js';
|
|
11
|
-
import { mergeStageStats } from '../merge-stage-stats.js';
|
|
12
|
-
import { HUMAN_LABEL } from '../stage-labels.js';
|
|
13
|
-
import { buildWarmFollowupMessage } from '../warm-followup.js';
|
|
14
|
-
async function runOneReviewer(session, task, source, diff, workerOutput, isWarmFollowup) {
|
|
15
|
-
const template = source === 'spec' ? specLintTemplate : qualityLintTemplate;
|
|
16
|
-
const promptCtx = {
|
|
17
|
-
brief: task.prompt ?? '',
|
|
18
|
-
workerOutput,
|
|
19
|
-
diff,
|
|
20
|
-
planContext: task.planContext,
|
|
21
|
-
};
|
|
22
|
-
// Warm follow-up: the same reviewer session already loaded brief +
|
|
23
|
-
// diff + planContext on turn 1. Send only the new instruction via
|
|
24
|
-
// the standard preamble. systemPrompt is intentionally not
|
|
25
|
-
// re-prepended — it lives in the resumed session's history.
|
|
26
|
-
// Cold open: full system prompt + brief + diff + planContext.
|
|
27
|
-
const fullPrompt = isWarmFollowup && template.buildWarmFollowup
|
|
28
|
-
? buildWarmFollowupMessage(template.buildWarmFollowup(promptCtx))
|
|
29
|
-
: template.systemPrompt + '\n\n' + template.buildUserPrompt(promptCtx);
|
|
30
|
-
try {
|
|
31
|
-
const turn = await session.send(fullPrompt, { stageLabel: HUMAN_LABEL.review });
|
|
32
|
-
return { turn };
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
return { transportError: err instanceof Error ? err.message : String(err) };
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export async function reviewHandler(state) {
|
|
39
|
-
if (state.terminal)
|
|
40
|
-
return;
|
|
41
|
-
if (state.reviewVerdict !== undefined)
|
|
42
|
-
return;
|
|
43
|
-
const ctx = state.executionContext;
|
|
44
|
-
const task = state.task;
|
|
45
|
-
const last = state.lastRunResult;
|
|
46
|
-
if (!ctx || !task || !last)
|
|
47
|
-
return;
|
|
48
|
-
if (state.reviewPolicy === 'none') {
|
|
49
|
-
state.reviewVerdict = 'approved';
|
|
50
|
-
state.reviewFindings = [];
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
let cumulativeDiff = '';
|
|
54
|
-
if (state.diffTracker) {
|
|
55
|
-
try {
|
|
56
|
-
cumulativeDiff = await state.diffTracker.cumulativeDiff();
|
|
57
|
-
}
|
|
58
|
-
catch { /* tolerated */ }
|
|
59
|
-
}
|
|
60
|
-
const workerOutput = last.output ?? '';
|
|
61
|
-
// v4.4.x: spec and quality run sequentially on the SAME complex
|
|
62
|
-
// session so the second call benefits from the cached prefix.
|
|
63
|
-
const reviewerTier = ctx.assignedTier === 'standard' ? 'complex' : 'standard';
|
|
64
|
-
if (!ctx.providers[reviewerTier]) {
|
|
65
|
-
state.reviewVerdict = 'changes_required';
|
|
66
|
-
state.reviewError = `no provider available for tier ${reviewerTier}`;
|
|
67
|
-
state.reviewFindings = [];
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
// Which sub-reviews to run, per reviewPolicy.
|
|
71
|
-
const runSpec = state.reviewPolicy === 'full';
|
|
72
|
-
const runQuality = state.reviewPolicy === 'full'
|
|
73
|
-
|| state.reviewPolicy === 'quality_only'
|
|
74
|
-
|| state.reviewPolicy === 'diff_only';
|
|
75
|
-
const sources = [];
|
|
76
|
-
if (runSpec)
|
|
77
|
-
sources.push('spec');
|
|
78
|
-
if (runQuality)
|
|
79
|
-
sources.push('quality');
|
|
80
|
-
if (sources.length === 0) {
|
|
81
|
-
state.reviewVerdict = 'approved';
|
|
82
|
-
state.reviewFindings = [];
|
|
83
|
-
return;
|
|
84
|
-
}
|
|
85
|
-
const findings = [];
|
|
86
|
-
const errors = [];
|
|
87
|
-
let anyChangesRequired = false;
|
|
88
|
-
let anySuccess = false;
|
|
89
|
-
// Sequential — second turn hits the cached prefix on the same session.
|
|
90
|
-
// The warm-follow-up form is valid ONLY when iteration > 0 AND the
|
|
91
|
-
// session reference is the same as iteration 0. Today ctx.getSession
|
|
92
|
-
// is idempotent on tier so both iterations see the same session; the
|
|
93
|
-
// identity guard exists so a future change that rotates the reviewer
|
|
94
|
-
// session mid-stage (escalation rotation, retry-after-failure) falls
|
|
95
|
-
// back to cold-open automatically rather than sending a warm follow-up
|
|
96
|
-
// into a fresh thread that lacks the prior history.
|
|
97
|
-
const settled = [];
|
|
98
|
-
let firstSession = null;
|
|
99
|
-
for (let iteration = 0; iteration < sources.length; iteration++) {
|
|
100
|
-
const source = sources[iteration];
|
|
101
|
-
const currentSession = ctx.getSession(reviewerTier);
|
|
102
|
-
if (iteration === 0)
|
|
103
|
-
firstSession = currentSession;
|
|
104
|
-
const isWarmFollowup = iteration > 0 && currentSession === firstSession;
|
|
105
|
-
const outcome = await runOneReviewer(currentSession, task, source, cumulativeDiff, workerOutput, isWarmFollowup);
|
|
106
|
-
settled.push({ source, outcome });
|
|
107
|
-
}
|
|
108
|
-
let combinedInput = 0, combinedOutput = 0, combinedCached = 0, combinedNonRead = 0;
|
|
109
|
-
let combinedTurns = 0;
|
|
110
|
-
let combinedCost = null;
|
|
111
|
-
let combinedDuration = 0;
|
|
112
|
-
for (const { source, outcome } of settled) {
|
|
113
|
-
if ('transportError' in outcome) {
|
|
114
|
-
if (source === 'spec')
|
|
115
|
-
state.specReviewError = outcome.transportError;
|
|
116
|
-
else
|
|
117
|
-
state.qualityReviewError = outcome.transportError;
|
|
118
|
-
errors.push(`${source}: ${outcome.transportError}`);
|
|
119
|
-
process.stderr.write(`[review-handler] ${source} transportError: ${outcome.transportError}\n`);
|
|
120
|
-
continue;
|
|
121
|
-
}
|
|
122
|
-
anySuccess = true;
|
|
123
|
-
const parsed = parseReviewReport(outcome.turn.output ?? '');
|
|
124
|
-
if (source === 'spec') {
|
|
125
|
-
state.specReviewerNotes = outcome.turn.output;
|
|
126
|
-
state.specReviewVerdict = parsed.verdict;
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
state.qualityReviewerNotes = outcome.turn.output;
|
|
130
|
-
state.qualityReviewVerdict = parsed.verdict;
|
|
131
|
-
}
|
|
132
|
-
if (parsed.verdict === 'changes_required')
|
|
133
|
-
anyChangesRequired = true;
|
|
134
|
-
for (const dev of parsed.deviations)
|
|
135
|
-
findings.push({ source, text: dev });
|
|
136
|
-
combinedInput += outcome.turn.usage?.inputTokens ?? 0;
|
|
137
|
-
combinedOutput += outcome.turn.usage?.outputTokens ?? 0;
|
|
138
|
-
combinedCached += outcome.turn.usage?.cachedReadTokens ?? 0;
|
|
139
|
-
combinedNonRead += outcome.turn.usage?.cachedNonReadTokens ?? 0;
|
|
140
|
-
combinedTurns += outcome.turn.turns ?? 1;
|
|
141
|
-
combinedDuration += outcome.turn.durationMs ?? 0;
|
|
142
|
-
const c = outcome.turn.costUSD;
|
|
143
|
-
if (c !== null && c !== undefined)
|
|
144
|
-
combinedCost = (combinedCost ?? 0) + c;
|
|
145
|
-
}
|
|
146
|
-
state.reviewFindings = findings;
|
|
147
|
-
state.reviewConcerns = findings.map((f) => f.text);
|
|
148
|
-
if (!anySuccess) {
|
|
149
|
-
state.reviewVerdict = 'changes_required';
|
|
150
|
-
state.reviewError = errors.join(' | ');
|
|
151
|
-
return;
|
|
152
|
-
}
|
|
153
|
-
state.reviewVerdict = anyChangesRequired ? 'changes_required' : 'approved';
|
|
154
|
-
mergeStageStats(state, 'review', {
|
|
155
|
-
inputTokens: combinedInput,
|
|
156
|
-
outputTokens: combinedOutput,
|
|
157
|
-
cachedReadTokens: combinedCached,
|
|
158
|
-
cachedNonReadTokens: combinedNonRead,
|
|
159
|
-
turnCount: combinedTurns,
|
|
160
|
-
toolCallCount: 0,
|
|
161
|
-
costUSD: combinedCost,
|
|
162
|
-
durationMs: combinedDuration || null,
|
|
163
|
-
}, {
|
|
164
|
-
tier: reviewerTier,
|
|
165
|
-
model: ctx.providers[reviewerTier]?.config?.model ?? null,
|
|
166
|
-
verdict: state.reviewVerdict,
|
|
167
|
-
});
|
|
168
|
-
}
|
|
169
|
-
//# sourceMappingURL=review-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-handler.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/review-handler.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,EAAE;AACF,uEAAuE;AACvE,sEAAsE;AACtE,kEAAkE;AAClE,sEAAsE;AACtE,uBAAuB;AAKvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAK/D,KAAK,UAAU,cAAc,CAC3B,OAAgB,EAChB,IAAc,EACd,MAA0B,EAC1B,IAAY,EACZ,YAAoB,EACpB,cAAuB;IAEvB,MAAM,QAAQ,GAAG,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IAC5E,MAAM,SAAS,GAAG;QAChB,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;QACxB,YAAY;QACZ,IAAI;QACJ,WAAW,EAAG,IAAiC,CAAC,WAAW;KAC5D,CAAC;IACF,mEAAmE;IACnE,kEAAkE;IAClE,2DAA2D;IAC3D,4DAA4D;IAC5D,8DAA8D;IAC9D,MAAM,UAAU,GAAG,cAAc,IAAI,QAAQ,CAAC,iBAAiB;QAC7D,CAAC,CAAC,wBAAwB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QACjE,CAAC,CAAC,QAAQ,CAAC,YAAY,GAAG,MAAM,GAAG,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzE,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAChF,OAAO,EAAE,IAAI,EAAE,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,cAAc,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,KAAqB;IACvD,IAAI,KAAK,CAAC,QAAQ;QAAE,OAAO;IAC3B,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO;IAE9C,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgD,CAAC;IACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAA4B,CAAC;IAChD,MAAM,IAAI,GAAG,KAAK,CAAC,aAAgD,CAAC;IACpE,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO;IAEnC,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,EAAE,CAAC;QAClC,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC;QACjC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,cAAc,GAAG,EAAE,CAAC;IACxB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC;YAAC,cAAc,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9F,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAEvC,gEAAgE;IAChE,8DAA8D;IAC9D,MAAM,YAAY,GAAc,GAAG,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;IACzF,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC;QACzC,KAAK,CAAC,WAAW,GAAG,kCAAkC,YAAY,EAAE,CAAC;QACrE,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IACD,8CAA8C;IAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC;IAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,KAAK,MAAM;WAC3C,KAAK,CAAC,YAAY,KAAK,cAAc;WACrC,KAAK,CAAC,YAAY,KAAK,WAAW,CAAC;IACxC,MAAM,OAAO,GAA8B,EAAE,CAAC;IAC9C,IAAI,OAAO;QAAE,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,aAAa,GAAG,UAAU,CAAC;QACjC,KAAK,CAAC,cAAc,GAAG,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,uEAAuE;IACvE,mEAAmE;IACnE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,uEAAuE;IACvE,oDAAoD;IACpD,MAAM,OAAO,GAAsG,EAAE,CAAC;IACtH,IAAI,YAAY,GAAmB,IAAI,CAAC;IACxC,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAE,CAAC;QACnC,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,CAAC;YAAE,YAAY,GAAG,cAAc,CAAC;QACnD,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,IAAI,cAAc,KAAK,YAAY,CAAC;QACxE,MAAM,OAAO,GAAG,MAAM,cAAc,CAClC,cAAc,EACd,IAAI,EACJ,MAAM,EACN,cAAc,EACd,YAAY,EACZ,cAAc,CACf,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,EAAE,eAAe,GAAG,CAAC,CAAC;IACnF,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;QAC1C,IAAI,gBAAgB,IAAI,OAAO,EAAE,CAAC;YAChC,IAAI,MAAM,KAAK,MAAM;gBAAE,KAAK,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;;gBACjE,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;YACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,oBAAoB,MAAM,oBAAoB,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;YAC/F,SAAS;QACX,CAAC;QACD,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC5D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,KAAK,CAAC,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YAC9C,KAAK,CAAC,iBAAiB,GAAG,MAAM,CAAC,OAAO,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;YACjD,KAAK,CAAC,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9C,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB;YAAE,kBAAkB,GAAG,IAAI,CAAC;QACrE,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,UAAU;YAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;QAE1E,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC;QACtD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC,CAAC;QACxD,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,gBAAgB,IAAI,CAAC,CAAC;QAC5D,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,IAAI,CAAC,CAAC;QAChE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC;QACzC,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;QACjD,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS;YAAE,YAAY,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;IAC/B,KAAuC,CAAC,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAEtF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC;QACzC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IACD,KAAK,CAAC,aAAa,GAAG,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,UAAU,CAAC;IAE3E,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE;QAC/B,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,cAAc;QAC5B,gBAAgB,EAAE,cAAc;QAChC,mBAAmB,EAAE,eAAe;QACpC,SAAS,EAAE,aAAa;QACxB,aAAa,EAAE,CAAC;QAChB,OAAO,EAAE,YAAY;QACrB,UAAU,EAAE,gBAAgB,IAAI,IAAI;KACrC,EAAE;QACD,IAAI,EAAE,YAAY;QAClB,KAAK,EAAG,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAyC,EAAE,KAAK,IAAI,IAAI;QAC7F,OAAO,EAAE,KAAK,CAAC,aAAa;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rework-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/rework-handler.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAa7D,wBAAsB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAuIxE"}
|