@zhixuan92/multi-model-agent-core 5.1.0 → 5.2.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/dist/bounded-execution/activity-tracker-types.d.ts +30 -15
- package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker-types.js.map +1 -1
- package/dist/bounded-execution/activity-tracker.d.ts +2 -2
- package/dist/bounded-execution/activity-tracker.d.ts.map +1 -1
- package/dist/bounded-execution/activity-tracker.js +4 -5
- package/dist/bounded-execution/activity-tracker.js.map +1 -1
- package/dist/config/schema.d.ts +41 -2
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -2
- package/dist/config/schema.js.map +1 -1
- package/dist/events/task-envelope.d.ts +5 -5
- package/dist/events/task-envelope.d.ts.map +1 -1
- package/dist/events/task-envelope.js +3 -6
- package/dist/events/task-envelope.js.map +1 -1
- package/dist/events/telemetry-uploader.d.ts +1 -1
- package/dist/events/telemetry-uploader.d.ts.map +1 -1
- package/dist/events/to-wire-record.d.ts +1 -1
- package/dist/events/to-wire-record.d.ts.map +1 -1
- package/dist/events/to-wire-record.js +1 -1
- package/dist/events/to-wire-record.js.map +1 -1
- package/dist/events/wire-schema.d.ts +34 -11
- package/dist/events/wire-schema.d.ts.map +1 -1
- package/dist/events/wire-schema.js +8 -8
- package/dist/events/wire-schema.js.map +1 -1
- package/dist/index.d.ts +13 -18
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -17
- package/dist/index.js.map +1 -1
- package/dist/providers/agent-resolver.js +1 -1
- package/dist/providers/agent-resolver.js.map +1 -1
- package/dist/providers/claude-session.d.ts +2 -1
- package/dist/providers/claude-session.d.ts.map +1 -1
- package/dist/providers/claude-session.js +29 -2
- package/dist/providers/claude-session.js.map +1 -1
- package/dist/providers/codex-cli-session.d.ts +3 -2
- package/dist/providers/codex-cli-session.d.ts.map +1 -1
- package/dist/providers/codex-cli-session.js +5 -2
- package/dist/providers/codex-cli-session.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +2 -2
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +12 -12
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/runner-types.d.ts +3 -16
- package/dist/providers/runner-types.d.ts.map +1 -1
- package/dist/research/index.d.ts +11 -1
- package/dist/research/index.d.ts.map +1 -1
- package/dist/research/index.js +8 -1
- package/dist/research/index.js.map +1 -1
- package/dist/stores/context-block-tool.d.ts +2 -3
- package/dist/stores/context-block-tool.d.ts.map +1 -1
- package/dist/stores/context-block-tool.js +1 -1
- package/dist/stores/context-block-tool.js.map +1 -1
- package/dist/stores/project-context-registry.d.ts +0 -9
- package/dist/stores/project-context-registry.d.ts.map +1 -1
- package/dist/stores/project-context-registry.js +0 -4
- package/dist/stores/project-context-registry.js.map +1 -1
- package/dist/types/brief-quality-policy.d.ts.map +1 -1
- package/dist/types/enums.d.ts +0 -9
- package/dist/types/enums.d.ts.map +1 -1
- package/dist/types/enums.js +0 -10
- package/dist/types/enums.js.map +1 -1
- package/dist/types/run-result.d.ts +48 -23
- package/dist/types/run-result.d.ts.map +1 -1
- package/dist/types/run-result.js +3 -16
- package/dist/types/run-result.js.map +1 -1
- package/dist/types/stage-stats.d.ts +1 -1
- package/dist/types/stage-stats.d.ts.map +1 -1
- package/dist/types/stage-stats.js +2 -4
- package/dist/types/stage-stats.js.map +1 -1
- package/dist/types/task-spec.d.ts +3 -17
- 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/dist/unified/reviewer-output-parser.d.ts +51 -0
- package/dist/unified/reviewer-output-parser.d.ts.map +1 -0
- package/dist/unified/reviewer-output-parser.js +39 -0
- package/dist/unified/reviewer-output-parser.js.map +1 -0
- package/dist/unified/skill-loader.d.ts +9 -0
- package/dist/unified/skill-loader.d.ts.map +1 -0
- package/dist/unified/skill-loader.js +45 -0
- package/dist/unified/skill-loader.js.map +1 -0
- package/dist/unified/task-input-schema.d.ts +217 -0
- package/dist/unified/task-input-schema.d.ts.map +1 -0
- package/dist/unified/task-input-schema.js +35 -0
- package/dist/unified/task-input-schema.js.map +1 -0
- package/dist/unified/task-registry.d.ts +23 -0
- package/dist/unified/task-registry.d.ts.map +1 -0
- package/dist/unified/task-registry.js +56 -0
- package/dist/unified/task-registry.js.map +1 -0
- package/dist/unified/two-phase-pipeline.d.ts +52 -0
- package/dist/unified/two-phase-pipeline.d.ts.map +1 -0
- package/dist/unified/two-phase-pipeline.js +95 -0
- package/dist/unified/two-phase-pipeline.js.map +1 -0
- package/dist/unified/type-registry.d.ts +13 -0
- package/dist/unified/type-registry.d.ts.map +1 -0
- package/dist/unified/type-registry.js +30 -0
- package/dist/unified/type-registry.js.map +1 -0
- package/dist/unified/worktree-manager.d.ts +43 -0
- package/dist/unified/worktree-manager.d.ts.map +1 -0
- package/dist/unified/worktree-manager.js +76 -0
- package/dist/unified/worktree-manager.js.map +1 -0
- package/package.json +5 -117
- package/dist/bounded-execution/file-artifact-check.d.ts +0 -7
- package/dist/bounded-execution/file-artifact-check.d.ts.map +0 -1
- package/dist/bounded-execution/file-artifact-check.js +0 -13
- package/dist/bounded-execution/file-artifact-check.js.map +0 -1
- package/dist/bounded-execution/progress-events-subscriber.d.ts +0 -33
- package/dist/bounded-execution/progress-events-subscriber.d.ts.map +0 -1
- package/dist/bounded-execution/progress-events-subscriber.js +0 -59
- package/dist/bounded-execution/progress-events-subscriber.js.map +0 -1
- package/dist/bounded-execution/progress-watchdog.d.ts +0 -43
- package/dist/bounded-execution/progress-watchdog.d.ts.map +0 -1
- package/dist/bounded-execution/progress-watchdog.js +0 -170
- package/dist/bounded-execution/progress-watchdog.js.map +0 -1
- package/dist/bounded-execution/real-diff.d.ts +0 -17
- package/dist/bounded-execution/real-diff.d.ts.map +0 -1
- package/dist/bounded-execution/real-diff.js +0 -59
- package/dist/bounded-execution/real-diff.js.map +0 -1
- package/dist/bounded-execution/scope-match.d.ts +0 -7
- package/dist/bounded-execution/scope-match.d.ts.map +0 -1
- package/dist/bounded-execution/scope-match.js +0 -28
- package/dist/bounded-execution/scope-match.js.map +0 -1
- package/dist/bounded-execution/stall-watchdog.d.ts +0 -18
- package/dist/bounded-execution/stall-watchdog.d.ts.map +0 -1
- package/dist/bounded-execution/stall-watchdog.js +0 -134
- package/dist/bounded-execution/stall-watchdog.js.map +0 -1
- package/dist/bounded-execution/wall-clock-guard.d.ts +0 -12
- package/dist/bounded-execution/wall-clock-guard.d.ts.map +0 -1
- package/dist/bounded-execution/wall-clock-guard.js +0 -27
- package/dist/bounded-execution/wall-clock-guard.js.map +0 -1
- package/dist/config/canonical-model-identity.d.ts +0 -9
- package/dist/config/canonical-model-identity.d.ts.map +0 -1
- package/dist/config/canonical-model-identity.js +0 -54
- package/dist/config/canonical-model-identity.js.map +0 -1
- package/dist/journal/default-schema.d.ts +0 -2
- package/dist/journal/default-schema.d.ts.map +0 -1
- package/dist/journal/default-schema.js +0 -27
- package/dist/journal/default-schema.js.map +0 -1
- package/dist/journal/types.d.ts +0 -22
- package/dist/journal/types.d.ts.map +0 -1
- package/dist/journal/types.js +0 -5
- package/dist/journal/types.js.map +0 -1
- package/dist/lifecycle/annotate-parser.d.ts +0 -11
- package/dist/lifecycle/annotate-parser.d.ts.map +0 -1
- package/dist/lifecycle/annotate-parser.js +0 -74
- package/dist/lifecycle/annotate-parser.js.map +0 -1
- package/dist/lifecycle/annotate-prompts.d.ts +0 -9
- package/dist/lifecycle/annotate-prompts.d.ts.map +0 -1
- package/dist/lifecycle/annotate-prompts.js +0 -95
- package/dist/lifecycle/annotate-prompts.js.map +0 -1
- package/dist/lifecycle/auto-commit.d.ts +0 -3
- package/dist/lifecycle/auto-commit.d.ts.map +0 -1
- package/dist/lifecycle/auto-commit.js +0 -5
- package/dist/lifecycle/auto-commit.js.map +0 -1
- package/dist/lifecycle/auto-register-context-block.d.ts +0 -11
- package/dist/lifecycle/auto-register-context-block.d.ts.map +0 -1
- package/dist/lifecycle/auto-register-context-block.js +0 -18
- package/dist/lifecycle/auto-register-context-block.js.map +0 -1
- package/dist/lifecycle/build-cancelled-result.d.ts +0 -11
- package/dist/lifecycle/build-cancelled-result.d.ts.map +0 -1
- package/dist/lifecycle/build-cancelled-result.js +0 -25
- package/dist/lifecycle/build-cancelled-result.js.map +0 -1
- package/dist/lifecycle/derive-completion.d.ts +0 -28
- package/dist/lifecycle/derive-completion.d.ts.map +0 -1
- package/dist/lifecycle/derive-completion.js +0 -79
- package/dist/lifecycle/derive-completion.js.map +0 -1
- package/dist/lifecycle/executor-output-types.d.ts +0 -53
- package/dist/lifecycle/executor-output-types.d.ts.map +0 -1
- package/dist/lifecycle/executor-output-types.js +0 -2
- package/dist/lifecycle/executor-output-types.js.map +0 -1
- package/dist/lifecycle/file-confinement-check.d.ts +0 -17
- package/dist/lifecycle/file-confinement-check.d.ts.map +0 -1
- package/dist/lifecycle/file-confinement-check.js +0 -44
- package/dist/lifecycle/file-confinement-check.js.map +0 -1
- package/dist/lifecycle/findings-parser.d.ts +0 -18
- package/dist/lifecycle/findings-parser.d.ts.map +0 -1
- package/dist/lifecycle/findings-parser.js +0 -143
- package/dist/lifecycle/findings-parser.js.map +0 -1
- package/dist/lifecycle/git-exec.d.ts +0 -62
- package/dist/lifecycle/git-exec.d.ts.map +0 -1
- package/dist/lifecycle/git-exec.js +0 -135
- package/dist/lifecycle/git-exec.js.map +0 -1
- package/dist/lifecycle/git-toplevel.d.ts +0 -12
- package/dist/lifecycle/git-toplevel.d.ts.map +0 -1
- package/dist/lifecycle/git-toplevel.js +0 -52
- package/dist/lifecycle/git-toplevel.js.map +0 -1
- package/dist/lifecycle/goal-builder.d.ts +0 -35
- package/dist/lifecycle/goal-builder.d.ts.map +0 -1
- package/dist/lifecycle/goal-builder.js +0 -56
- package/dist/lifecycle/goal-builder.js.map +0 -1
- package/dist/lifecycle/goal-preconditions.d.ts +0 -21
- package/dist/lifecycle/goal-preconditions.d.ts.map +0 -1
- package/dist/lifecycle/goal-preconditions.js +0 -33
- package/dist/lifecycle/goal-preconditions.js.map +0 -1
- package/dist/lifecycle/goal-prompts.d.ts +0 -27
- package/dist/lifecycle/goal-prompts.d.ts.map +0 -1
- package/dist/lifecycle/goal-prompts.js +0 -204
- package/dist/lifecycle/goal-prompts.js.map +0 -1
- package/dist/lifecycle/goal-report.d.ts +0 -42
- package/dist/lifecycle/goal-report.d.ts.map +0 -1
- package/dist/lifecycle/goal-report.js +0 -125
- package/dist/lifecycle/goal-report.js.map +0 -1
- package/dist/lifecycle/handlers/annotate-stage.d.ts +0 -35
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/annotate-stage.js +0 -387
- package/dist/lifecycle/handlers/annotate-stage.js.map +0 -1
- package/dist/lifecycle/handlers/baseline-handlers.d.ts +0 -12
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/baseline-handlers.js +0 -281
- package/dist/lifecycle/handlers/baseline-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts +0 -3
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +0 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.js +0 -239
- package/dist/lifecycle/handlers/enrich-runtime-result.js.map +0 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts +0 -10
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/implement-stage.js +0 -228
- package/dist/lifecycle/handlers/implement-stage.js.map +0 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +0 -13
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +0 -1
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js +0 -61
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +0 -1
- package/dist/lifecycle/handlers/read-route-implementer.d.ts +0 -52
- package/dist/lifecycle/handlers/read-route-implementer.d.ts.map +0 -1
- package/dist/lifecycle/handlers/read-route-implementer.js +0 -109
- package/dist/lifecycle/handlers/read-route-implementer.js.map +0 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +0 -4
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/register-context-block-handlers.js +0 -35
- package/dist/lifecycle/handlers/register-context-block-handlers.js.map +0 -1
- package/dist/lifecycle/handlers/review-fix-stage.d.ts +0 -9
- package/dist/lifecycle/handlers/review-fix-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/review-fix-stage.js +0 -75
- package/dist/lifecycle/handlers/review-fix-stage.js.map +0 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +0 -61
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +0 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +0 -339
- package/dist/lifecycle/handlers/terminal-handlers.js.map +0 -1
- package/dist/lifecycle/lifecycle-context.d.ts +0 -109
- package/dist/lifecycle/lifecycle-context.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-context.js +0 -2
- package/dist/lifecycle/lifecycle-context.js.map +0 -1
- package/dist/lifecycle/lifecycle-dispatcher.d.ts +0 -35
- package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-dispatcher.js +0 -64
- package/dist/lifecycle/lifecycle-dispatcher.js.map +0 -1
- package/dist/lifecycle/lifecycle-driver.d.ts +0 -16
- package/dist/lifecycle/lifecycle-driver.d.ts.map +0 -1
- package/dist/lifecycle/lifecycle-driver.js +0 -334
- package/dist/lifecycle/lifecycle-driver.js.map +0 -1
- package/dist/lifecycle/merge-stage-stats.d.ts +0 -62
- package/dist/lifecycle/merge-stage-stats.d.ts.map +0 -1
- package/dist/lifecycle/merge-stage-stats.js +0 -136
- package/dist/lifecycle/merge-stage-stats.js.map +0 -1
- package/dist/lifecycle/normalize-output-targets.d.ts +0 -2
- package/dist/lifecycle/normalize-output-targets.d.ts.map +0 -1
- package/dist/lifecycle/normalize-output-targets.js +0 -14
- package/dist/lifecycle/normalize-output-targets.js.map +0 -1
- package/dist/lifecycle/perform-implementation.d.ts +0 -3
- package/dist/lifecycle/perform-implementation.d.ts.map +0 -1
- package/dist/lifecycle/perform-implementation.js +0 -371
- package/dist/lifecycle/perform-implementation.js.map +0 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts +0 -18
- package/dist/lifecycle/read-only-subtype-spec.d.ts.map +0 -1
- package/dist/lifecycle/read-only-subtype-spec.js +0 -2
- package/dist/lifecycle/read-only-subtype-spec.js.map +0 -1
- package/dist/lifecycle/review-verdict-mapping.d.ts +0 -16
- package/dist/lifecycle/review-verdict-mapping.d.ts.map +0 -1
- package/dist/lifecycle/review-verdict-mapping.js +0 -24
- package/dist/lifecycle/review-verdict-mapping.js.map +0 -1
- package/dist/lifecycle/shared-compute.d.ts +0 -14
- package/dist/lifecycle/shared-compute.d.ts.map +0 -1
- package/dist/lifecycle/shared-compute.js +0 -51
- package/dist/lifecycle/shared-compute.js.map +0 -1
- package/dist/lifecycle/stage-idle-tracker.d.ts +0 -14
- package/dist/lifecycle/stage-idle-tracker.d.ts.map +0 -1
- package/dist/lifecycle/stage-idle-tracker.js +0 -17
- package/dist/lifecycle/stage-idle-tracker.js.map +0 -1
- package/dist/lifecycle/stage-io.d.ts +0 -134
- package/dist/lifecycle/stage-io.d.ts.map +0 -1
- package/dist/lifecycle/stage-io.js +0 -9
- package/dist/lifecycle/stage-io.js.map +0 -1
- package/dist/lifecycle/stage-labels.d.ts +0 -7
- package/dist/lifecycle/stage-labels.d.ts.map +0 -1
- package/dist/lifecycle/stage-labels.js +0 -19
- package/dist/lifecycle/stage-labels.js.map +0 -1
- package/dist/lifecycle/stage-plan-builder.d.ts +0 -4
- package/dist/lifecycle/stage-plan-builder.d.ts.map +0 -1
- package/dist/lifecycle/stage-plan-builder.js +0 -157
- package/dist/lifecycle/stage-plan-builder.js.map +0 -1
- package/dist/lifecycle/stage-plan-types.d.ts +0 -131
- package/dist/lifecycle/stage-plan-types.d.ts.map +0 -1
- package/dist/lifecycle/stage-plan-types.js +0 -28
- package/dist/lifecycle/stage-plan-types.js.map +0 -1
- package/dist/lifecycle/stage-progression.d.ts +0 -6
- package/dist/lifecycle/stage-progression.d.ts.map +0 -1
- package/dist/lifecycle/stage-progression.js +0 -100
- package/dist/lifecycle/stage-progression.js.map +0 -1
- package/dist/lifecycle/task-executor.d.ts +0 -24
- package/dist/lifecycle/task-executor.d.ts.map +0 -1
- package/dist/lifecycle/task-executor.js +0 -365
- package/dist/lifecycle/task-executor.js.map +0 -1
- package/dist/lifecycle/task-runner.d.ts +0 -66
- package/dist/lifecycle/task-runner.d.ts.map +0 -1
- package/dist/lifecycle/task-runner.js +0 -334
- package/dist/lifecycle/task-runner.js.map +0 -1
- package/dist/lifecycle/tool-category.d.ts +0 -2
- package/dist/lifecycle/tool-category.d.ts.map +0 -1
- package/dist/lifecycle/tool-category.js +0 -6
- package/dist/lifecycle/tool-category.js.map +0 -1
- package/dist/lifecycle/tool-config-types.d.ts +0 -32
- package/dist/lifecycle/tool-config-types.d.ts.map +0 -1
- package/dist/lifecycle/tool-config-types.js +0 -2
- package/dist/lifecycle/tool-config-types.js.map +0 -1
- package/dist/lifecycle/warm-followup.d.ts +0 -3
- package/dist/lifecycle/warm-followup.d.ts.map +0 -1
- package/dist/lifecycle/warm-followup.js +0 -16
- package/dist/lifecycle/warm-followup.js.map +0 -1
- package/dist/lifecycle/worker-output-contract.d.ts +0 -22
- package/dist/lifecycle/worker-output-contract.d.ts.map +0 -1
- package/dist/lifecycle/worker-output-contract.js +0 -91
- package/dist/lifecycle/worker-output-contract.js.map +0 -1
- package/dist/lifecycle/write-goal-lock.d.ts +0 -29
- package/dist/lifecycle/write-goal-lock.d.ts.map +0 -1
- package/dist/lifecycle/write-goal-lock.js +0 -70
- package/dist/lifecycle/write-goal-lock.js.map +0 -1
- package/dist/providers/assemble-run-result.d.ts +0 -17
- package/dist/providers/assemble-run-result.d.ts.map +0 -1
- package/dist/providers/assemble-run-result.js +0 -52
- package/dist/providers/assemble-run-result.js.map +0 -1
- package/dist/providers/skill-resolver.d.ts +0 -17
- package/dist/providers/skill-resolver.d.ts.map +0 -1
- package/dist/providers/skill-resolver.js +0 -123
- package/dist/providers/skill-resolver.js.map +0 -1
- package/dist/reporting/batch-persister.d.ts +0 -4
- package/dist/reporting/batch-persister.d.ts.map +0 -1
- package/dist/reporting/batch-persister.js +0 -11
- package/dist/reporting/batch-persister.js.map +0 -1
- package/dist/reporting/commit-stage-runner.d.ts +0 -12
- package/dist/reporting/commit-stage-runner.d.ts.map +0 -1
- package/dist/reporting/commit-stage-runner.js +0 -43
- package/dist/reporting/commit-stage-runner.js.map +0 -1
- package/dist/reporting/derive-investigate-status.d.ts +0 -15
- package/dist/reporting/derive-investigate-status.d.ts.map +0 -1
- package/dist/reporting/derive-investigate-status.js +0 -23
- package/dist/reporting/derive-investigate-status.js.map +0 -1
- package/dist/reporting/extract-fenced-json.d.ts +0 -7
- package/dist/reporting/extract-fenced-json.d.ts.map +0 -1
- package/dist/reporting/extract-fenced-json.js +0 -17
- package/dist/reporting/extract-fenced-json.js.map +0 -1
- package/dist/reporting/findings-headline.d.ts +0 -12
- package/dist/reporting/findings-headline.d.ts.map +0 -1
- package/dist/reporting/findings-headline.js +0 -40
- package/dist/reporting/findings-headline.js.map +0 -1
- package/dist/reporting/findings-outcome.d.ts +0 -13
- package/dist/reporting/findings-outcome.d.ts.map +0 -1
- package/dist/reporting/findings-outcome.js +0 -22
- package/dist/reporting/findings-outcome.js.map +0 -1
- package/dist/reporting/headline-composer.d.ts +0 -29
- package/dist/reporting/headline-composer.d.ts.map +0 -1
- package/dist/reporting/headline-composer.js +0 -10
- package/dist/reporting/headline-composer.js.map +0 -1
- package/dist/reporting/headline-templates/delegate.d.ts +0 -3
- package/dist/reporting/headline-templates/delegate.d.ts.map +0 -1
- package/dist/reporting/headline-templates/delegate.js +0 -42
- package/dist/reporting/headline-templates/delegate.js.map +0 -1
- package/dist/reporting/headline-templates/execute-plan.d.ts +0 -3
- package/dist/reporting/headline-templates/execute-plan.d.ts.map +0 -1
- package/dist/reporting/headline-templates/execute-plan.js +0 -26
- package/dist/reporting/headline-templates/execute-plan.js.map +0 -1
- package/dist/reporting/headline-templates/investigate.d.ts +0 -13
- package/dist/reporting/headline-templates/investigate.d.ts.map +0 -1
- package/dist/reporting/headline-templates/investigate.js +0 -53
- package/dist/reporting/headline-templates/investigate.js.map +0 -1
- package/dist/reporting/headline-templates/journal-recall.d.ts +0 -3
- package/dist/reporting/headline-templates/journal-recall.d.ts.map +0 -1
- package/dist/reporting/headline-templates/journal-recall.js +0 -9
- package/dist/reporting/headline-templates/journal-recall.js.map +0 -1
- package/dist/reporting/headline-templates/journal.d.ts +0 -3
- package/dist/reporting/headline-templates/journal.d.ts.map +0 -1
- package/dist/reporting/headline-templates/journal.js +0 -17
- package/dist/reporting/headline-templates/journal.js.map +0 -1
- package/dist/reporting/headline-templates/research.d.ts +0 -3
- package/dist/reporting/headline-templates/research.d.ts.map +0 -1
- package/dist/reporting/headline-templates/research.js +0 -22
- package/dist/reporting/headline-templates/research.js.map +0 -1
- package/dist/reporting/headline-text.d.ts +0 -36
- package/dist/reporting/headline-text.d.ts.map +0 -1
- package/dist/reporting/headline-text.js +0 -73
- package/dist/reporting/headline-text.js.map +0 -1
- package/dist/reporting/report-parser-slots/delegate-report.d.ts +0 -8
- package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/delegate-report.js +0 -12
- package/dist/reporting/report-parser-slots/delegate-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +0 -11
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/execute-plan-report.js +0 -7
- package/dist/reporting/report-parser-slots/execute-plan-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/investigate-report.d.ts +0 -52
- package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/investigate-report.js +0 -307
- package/dist/reporting/report-parser-slots/investigate-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/journal-report.d.ts +0 -19
- package/dist/reporting/report-parser-slots/journal-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/journal-report.js +0 -13
- package/dist/reporting/report-parser-slots/journal-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts +0 -10
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/no-structured-report.js +0 -13
- package/dist/reporting/report-parser-slots/no-structured-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/research-report.d.ts +0 -31
- package/dist/reporting/report-parser-slots/research-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/research-report.js +0 -50
- package/dist/reporting/report-parser-slots/research-report.js.map +0 -1
- package/dist/reporting/response-envelope-builder.d.ts +0 -32
- package/dist/reporting/response-envelope-builder.d.ts.map +0 -1
- package/dist/reporting/response-envelope-builder.js +0 -26
- package/dist/reporting/response-envelope-builder.js.map +0 -1
- package/dist/reporting/severity.d.ts +0 -62
- package/dist/reporting/severity.d.ts.map +0 -1
- package/dist/reporting/severity.js +0 -93
- package/dist/reporting/severity.js.map +0 -1
- package/dist/reporting/structured-report-parser.d.ts +0 -9
- package/dist/reporting/structured-report-parser.d.ts.map +0 -1
- package/dist/reporting/structured-report-parser.js +0 -8
- package/dist/reporting/structured-report-parser.js.map +0 -1
- package/dist/reporting/terminal-block-registrar.d.ts +0 -14
- package/dist/reporting/terminal-block-registrar.d.ts.map +0 -1
- package/dist/reporting/terminal-block-registrar.js +0 -17
- package/dist/reporting/terminal-block-registrar.js.map +0 -1
- package/dist/reporting/terminal-report-markdown.d.ts +0 -13
- package/dist/reporting/terminal-report-markdown.d.ts.map +0 -1
- package/dist/reporting/terminal-report-markdown.js +0 -31
- package/dist/reporting/terminal-report-markdown.js.map +0 -1
- package/dist/research/research-pre-loop.d.ts +0 -22
- package/dist/research/research-pre-loop.d.ts.map +0 -1
- package/dist/research/research-pre-loop.js +0 -50
- package/dist/research/research-pre-loop.js.map +0 -1
- package/dist/routing/read-route-criteria.d.ts +0 -36
- package/dist/routing/read-route-criteria.d.ts.map +0 -1
- package/dist/routing/read-route-criteria.js +0 -71
- package/dist/routing/read-route-criteria.js.map +0 -1
- package/dist/stores/batch-cache.d.ts +0 -29
- package/dist/stores/batch-cache.d.ts.map +0 -1
- package/dist/stores/batch-cache.js +0 -89
- package/dist/stores/batch-cache.js.map +0 -1
- package/dist/stores/batch-registry.d.ts +0 -138
- package/dist/stores/batch-registry.d.ts.map +0 -1
- package/dist/stores/batch-registry.js +0 -205
- package/dist/stores/batch-registry.js.map +0 -1
- package/dist/tool-surface/register-all-tools.d.ts +0 -4
- package/dist/tool-surface/register-all-tools.d.ts.map +0 -1
- package/dist/tool-surface/register-all-tools.js +0 -35
- package/dist/tool-surface/register-all-tools.js.map +0 -1
- package/dist/tool-surface/tool-surface-registry.d.ts +0 -28
- package/dist/tool-surface/tool-surface-registry.d.ts.map +0 -1
- package/dist/tool-surface/tool-surface-registry.js +0 -16
- package/dist/tool-surface/tool-surface-registry.js.map +0 -1
- package/dist/tools/audit/brief-slot.d.ts +0 -15
- package/dist/tools/audit/brief-slot.d.ts.map +0 -1
- package/dist/tools/audit/brief-slot.js +0 -69
- package/dist/tools/audit/brief-slot.js.map +0 -1
- package/dist/tools/audit/implementer-criteria.d.ts +0 -62
- package/dist/tools/audit/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/audit/implementer-criteria.js +0 -121
- package/dist/tools/audit/implementer-criteria.js.map +0 -1
- package/dist/tools/audit/plan-audit-criteria.d.ts +0 -35
- package/dist/tools/audit/plan-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/plan-audit-criteria.js +0 -159
- package/dist/tools/audit/plan-audit-criteria.js.map +0 -1
- package/dist/tools/audit/schema.d.ts +0 -61
- package/dist/tools/audit/schema.d.ts.map +0 -1
- package/dist/tools/audit/schema.js +0 -21
- package/dist/tools/audit/schema.js.map +0 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts +0 -9
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/skill-audit-criteria.js +0 -52
- package/dist/tools/audit/skill-audit-criteria.js.map +0 -1
- package/dist/tools/audit/spec-audit-criteria.d.ts +0 -9
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +0 -1
- package/dist/tools/audit/spec-audit-criteria.js +0 -55
- package/dist/tools/audit/spec-audit-criteria.js.map +0 -1
- package/dist/tools/audit/subtypes.d.ts +0 -4
- package/dist/tools/audit/subtypes.d.ts.map +0 -1
- package/dist/tools/audit/subtypes.js +0 -69
- package/dist/tools/audit/subtypes.js.map +0 -1
- package/dist/tools/audit/tool-config.d.ts +0 -7
- package/dist/tools/audit/tool-config.d.ts.map +0 -1
- package/dist/tools/audit/tool-config.js +0 -60
- package/dist/tools/audit/tool-config.js.map +0 -1
- package/dist/tools/criteria-types.d.ts +0 -27
- package/dist/tools/criteria-types.d.ts.map +0 -1
- package/dist/tools/criteria-types.js +0 -25
- package/dist/tools/criteria-types.js.map +0 -1
- package/dist/tools/debug/brief-slot.d.ts +0 -15
- package/dist/tools/debug/brief-slot.d.ts.map +0 -1
- package/dist/tools/debug/brief-slot.js +0 -10
- package/dist/tools/debug/brief-slot.js.map +0 -1
- package/dist/tools/debug/implementer-criteria.d.ts +0 -45
- package/dist/tools/debug/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/debug/implementer-criteria.js +0 -97
- package/dist/tools/debug/implementer-criteria.js.map +0 -1
- package/dist/tools/debug/schema.d.ts +0 -60
- package/dist/tools/debug/schema.d.ts.map +0 -1
- package/dist/tools/debug/schema.js +0 -17
- package/dist/tools/debug/schema.js.map +0 -1
- package/dist/tools/debug/subtypes.d.ts +0 -4
- package/dist/tools/debug/subtypes.d.ts.map +0 -1
- package/dist/tools/debug/subtypes.js +0 -26
- package/dist/tools/debug/subtypes.js.map +0 -1
- package/dist/tools/debug/tool-config.d.ts +0 -7
- package/dist/tools/debug/tool-config.d.ts.map +0 -1
- package/dist/tools/debug/tool-config.js +0 -55
- package/dist/tools/debug/tool-config.js.map +0 -1
- package/dist/tools/delegate/brief-slot.d.ts +0 -20
- package/dist/tools/delegate/brief-slot.d.ts.map +0 -1
- package/dist/tools/delegate/brief-slot.js +0 -31
- package/dist/tools/delegate/brief-slot.js.map +0 -1
- package/dist/tools/delegate/implementer-criteria.d.ts +0 -53
- package/dist/tools/delegate/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/delegate/implementer-criteria.js +0 -99
- package/dist/tools/delegate/implementer-criteria.js.map +0 -1
- package/dist/tools/delegate/schema.d.ts +0 -70
- package/dist/tools/delegate/schema.d.ts.map +0 -1
- package/dist/tools/delegate/schema.js +0 -24
- package/dist/tools/delegate/schema.js.map +0 -1
- package/dist/tools/delegate/tool-config.d.ts +0 -7
- package/dist/tools/delegate/tool-config.d.ts.map +0 -1
- package/dist/tools/delegate/tool-config.js +0 -47
- package/dist/tools/delegate/tool-config.js.map +0 -1
- package/dist/tools/execute-plan/barrel.d.ts +0 -2
- package/dist/tools/execute-plan/barrel.d.ts.map +0 -1
- package/dist/tools/execute-plan/barrel.js +0 -7
- package/dist/tools/execute-plan/barrel.js.map +0 -1
- package/dist/tools/execute-plan/brief-slot.d.ts +0 -25
- package/dist/tools/execute-plan/brief-slot.d.ts.map +0 -1
- package/dist/tools/execute-plan/brief-slot.js +0 -124
- package/dist/tools/execute-plan/brief-slot.js.map +0 -1
- package/dist/tools/execute-plan/implementer-criteria.d.ts +0 -57
- package/dist/tools/execute-plan/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/execute-plan/implementer-criteria.js +0 -108
- package/dist/tools/execute-plan/implementer-criteria.js.map +0 -1
- package/dist/tools/execute-plan/plan-extractor.d.ts +0 -21
- package/dist/tools/execute-plan/plan-extractor.d.ts.map +0 -1
- package/dist/tools/execute-plan/plan-extractor.js +0 -96
- package/dist/tools/execute-plan/plan-extractor.js.map +0 -1
- package/dist/tools/execute-plan/tool-config.d.ts +0 -68
- package/dist/tools/execute-plan/tool-config.d.ts.map +0 -1
- package/dist/tools/execute-plan/tool-config.js +0 -58
- package/dist/tools/execute-plan/tool-config.js.map +0 -1
- package/dist/tools/index.d.ts +0 -8
- package/dist/tools/index.d.ts.map +0 -1
- package/dist/tools/index.js +0 -14
- package/dist/tools/index.js.map +0 -1
- package/dist/tools/investigate/brief-slot.d.ts +0 -15
- package/dist/tools/investigate/brief-slot.d.ts.map +0 -1
- package/dist/tools/investigate/brief-slot.js +0 -9
- package/dist/tools/investigate/brief-slot.js.map +0 -1
- package/dist/tools/investigate/implementer-criteria.d.ts +0 -52
- package/dist/tools/investigate/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/investigate/implementer-criteria.js +0 -106
- package/dist/tools/investigate/implementer-criteria.js.map +0 -1
- package/dist/tools/investigate/schema.d.ts +0 -62
- package/dist/tools/investigate/schema.d.ts.map +0 -1
- package/dist/tools/investigate/schema.js +0 -13
- package/dist/tools/investigate/schema.js.map +0 -1
- package/dist/tools/investigate/subtypes.d.ts +0 -4
- package/dist/tools/investigate/subtypes.d.ts.map +0 -1
- package/dist/tools/investigate/subtypes.js +0 -26
- package/dist/tools/investigate/subtypes.js.map +0 -1
- package/dist/tools/investigate/tool-config.d.ts +0 -8
- package/dist/tools/investigate/tool-config.d.ts.map +0 -1
- package/dist/tools/investigate/tool-config.js +0 -68
- package/dist/tools/investigate/tool-config.js.map +0 -1
- package/dist/tools/journal/recall/brief-slot.d.ts +0 -7
- package/dist/tools/journal/recall/brief-slot.d.ts.map +0 -1
- package/dist/tools/journal/recall/brief-slot.js +0 -5
- package/dist/tools/journal/recall/brief-slot.js.map +0 -1
- package/dist/tools/journal/recall/implementer-criteria.d.ts +0 -9
- package/dist/tools/journal/recall/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/journal/recall/implementer-criteria.js +0 -23
- package/dist/tools/journal/recall/implementer-criteria.js.map +0 -1
- package/dist/tools/journal/recall/schema.d.ts +0 -54
- package/dist/tools/journal/recall/schema.d.ts.map +0 -1
- package/dist/tools/journal/recall/schema.js +0 -10
- package/dist/tools/journal/recall/schema.js.map +0 -1
- package/dist/tools/journal/recall/subtypes.d.ts +0 -4
- package/dist/tools/journal/recall/subtypes.d.ts.map +0 -1
- package/dist/tools/journal/recall/subtypes.js +0 -25
- package/dist/tools/journal/recall/subtypes.js.map +0 -1
- package/dist/tools/journal/recall/tool-config.d.ts +0 -8
- package/dist/tools/journal/recall/tool-config.d.ts.map +0 -1
- package/dist/tools/journal/recall/tool-config.js +0 -46
- package/dist/tools/journal/recall/tool-config.js.map +0 -1
- package/dist/tools/journal/record/brief-slot.d.ts +0 -15
- package/dist/tools/journal/record/brief-slot.d.ts.map +0 -1
- package/dist/tools/journal/record/brief-slot.js +0 -28
- package/dist/tools/journal/record/brief-slot.js.map +0 -1
- package/dist/tools/journal/record/implementer-criteria.d.ts +0 -6
- package/dist/tools/journal/record/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/journal/record/implementer-criteria.js +0 -20
- package/dist/tools/journal/record/implementer-criteria.js.map +0 -1
- package/dist/tools/journal/record/schema.d.ts +0 -55
- package/dist/tools/journal/record/schema.d.ts.map +0 -1
- package/dist/tools/journal/record/schema.js +0 -12
- package/dist/tools/journal/record/schema.js.map +0 -1
- package/dist/tools/journal/record/tool-config.d.ts +0 -7
- package/dist/tools/journal/record/tool-config.d.ts.map +0 -1
- package/dist/tools/journal/record/tool-config.js +0 -47
- package/dist/tools/journal/record/tool-config.js.map +0 -1
- package/dist/tools/read-route-prompt.d.ts +0 -113
- package/dist/tools/read-route-prompt.d.ts.map +0 -1
- package/dist/tools/read-route-prompt.js +0 -86
- package/dist/tools/read-route-prompt.js.map +0 -1
- package/dist/tools/register-context-block/schema.d.ts +0 -8
- package/dist/tools/register-context-block/schema.d.ts.map +0 -1
- package/dist/tools/register-context-block/schema.js +0 -7
- package/dist/tools/register-context-block/schema.js.map +0 -1
- package/dist/tools/register-context-block/tool-config.d.ts +0 -6
- package/dist/tools/register-context-block/tool-config.d.ts.map +0 -1
- package/dist/tools/register-context-block/tool-config.js +0 -39
- package/dist/tools/register-context-block/tool-config.js.map +0 -1
- package/dist/tools/research/brief-slot.d.ts +0 -37
- package/dist/tools/research/brief-slot.d.ts.map +0 -1
- package/dist/tools/research/brief-slot.js +0 -68
- package/dist/tools/research/brief-slot.js.map +0 -1
- package/dist/tools/research/implementer-criteria.d.ts +0 -13
- package/dist/tools/research/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/research/implementer-criteria.js +0 -109
- package/dist/tools/research/implementer-criteria.js.map +0 -1
- package/dist/tools/research/schema.d.ts +0 -11
- package/dist/tools/research/schema.d.ts.map +0 -1
- package/dist/tools/research/schema.js +0 -59
- package/dist/tools/research/schema.js.map +0 -1
- package/dist/tools/research/subtypes.d.ts +0 -4
- package/dist/tools/research/subtypes.d.ts.map +0 -1
- package/dist/tools/research/subtypes.js +0 -25
- package/dist/tools/research/subtypes.js.map +0 -1
- package/dist/tools/research/tool-config.d.ts +0 -8
- package/dist/tools/research/tool-config.d.ts.map +0 -1
- package/dist/tools/research/tool-config.js +0 -48
- package/dist/tools/research/tool-config.js.map +0 -1
- package/dist/tools/research/two-turn-driver.d.ts +0 -16
- package/dist/tools/research/two-turn-driver.d.ts.map +0 -1
- package/dist/tools/research/two-turn-driver.js +0 -41
- package/dist/tools/research/two-turn-driver.js.map +0 -1
- package/dist/tools/retry/brief-slot.d.ts +0 -7
- package/dist/tools/retry/brief-slot.d.ts.map +0 -1
- package/dist/tools/retry/brief-slot.js +0 -3
- package/dist/tools/retry/brief-slot.js.map +0 -1
- package/dist/tools/retry/schema.d.ts +0 -53
- package/dist/tools/retry/schema.d.ts.map +0 -1
- package/dist/tools/retry/schema.js +0 -12
- package/dist/tools/retry/schema.js.map +0 -1
- package/dist/tools/retry/tool-config.d.ts +0 -7
- package/dist/tools/retry/tool-config.d.ts.map +0 -1
- package/dist/tools/retry/tool-config.js +0 -79
- package/dist/tools/retry/tool-config.js.map +0 -1
- package/dist/tools/review/brief-slot.d.ts +0 -11
- package/dist/tools/review/brief-slot.d.ts.map +0 -1
- package/dist/tools/review/brief-slot.js +0 -23
- package/dist/tools/review/brief-slot.js.map +0 -1
- package/dist/tools/review/implementer-criteria.d.ts +0 -48
- package/dist/tools/review/implementer-criteria.d.ts.map +0 -1
- package/dist/tools/review/implementer-criteria.js +0 -108
- package/dist/tools/review/implementer-criteria.js.map +0 -1
- package/dist/tools/review/schema.d.ts +0 -64
- package/dist/tools/review/schema.d.ts.map +0 -1
- package/dist/tools/review/schema.js +0 -17
- package/dist/tools/review/schema.js.map +0 -1
- package/dist/tools/review/subtypes.d.ts +0 -4
- package/dist/tools/review/subtypes.d.ts.map +0 -1
- package/dist/tools/review/subtypes.js +0 -27
- package/dist/tools/review/subtypes.js.map +0 -1
- package/dist/tools/review/tool-config.d.ts +0 -7
- package/dist/tools/review/tool-config.d.ts.map +0 -1
- package/dist/tools/review/tool-config.js +0 -94
- package/dist/tools/review/tool-config.js.map +0 -1
- package/dist/tools/shared-output.d.ts +0 -56
- package/dist/tools/shared-output.d.ts.map +0 -1
- package/dist/tools/shared-output.js +0 -33
- package/dist/tools/shared-output.js.map +0 -1
- package/dist/types/review-policy.d.ts +0 -2
- package/dist/types/review-policy.d.ts.map +0 -1
- package/dist/types/review-policy.js +0 -2
- package/dist/types/review-policy.js.map +0 -1
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
// v4.5 — Implementing stage handler.
|
|
2
|
-
// Sends the brief to the route's implementer tier via session.send,
|
|
3
|
-
// captures the pre-task HEAD SHA, and returns a StageGate<ImplementPayload>
|
|
4
|
-
// containing the worker's structured output plus prose-extracted findings.
|
|
5
|
-
import { parseWorkerOutput } from '../worker-output-contract.js';
|
|
6
|
-
import { performImplementation } from '../perform-implementation.js';
|
|
7
|
-
import { checkOutputTargets } from '../../bounded-execution/file-artifact-check.js';
|
|
8
|
-
import { spawnSync } from 'node:child_process';
|
|
9
|
-
import { join } from 'node:path';
|
|
10
|
-
const READ_ROUTES = ['audit', 'review', 'debug', 'investigate', 'explore', 'journal-recall'];
|
|
11
|
-
export function capturePreTaskState(state) {
|
|
12
|
-
// Production wires the cwd onto state.executionContext.cwd, not state.cwd —
|
|
13
|
-
// resolve the fallback (same as git-commit-handler) and persist it onto
|
|
14
|
-
// state.cwd so the downstream getRealFilesChanged() reads the real cwd
|
|
15
|
-
// instead of going inert and falling back to the worker's self-report.
|
|
16
|
-
const cwd = state.cwd ?? state.executionContext?.cwd;
|
|
17
|
-
if (!cwd)
|
|
18
|
-
return;
|
|
19
|
-
state.cwd = cwd;
|
|
20
|
-
const headResult = spawnSync('git', ['rev-parse', 'HEAD'], { cwd, encoding: 'utf8', windowsHide: true });
|
|
21
|
-
if (headResult.status !== 0)
|
|
22
|
-
return;
|
|
23
|
-
state.preTaskHeadSha = headResult.stdout.trim();
|
|
24
|
-
const lsResult = spawnSync('git', ['ls-files', '--others', '--exclude-standard'], { cwd, encoding: 'utf8', windowsHide: true });
|
|
25
|
-
if (lsResult.status !== 0) {
|
|
26
|
-
state.preTaskUntrackedFiles = new Set();
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const relativeFiles = lsResult.stdout.split('\n').filter(line => line.length > 0);
|
|
30
|
-
state.preTaskUntrackedFiles = new Set(relativeFiles.map((rel) => join(cwd, rel)));
|
|
31
|
-
}
|
|
32
|
-
// Forward declaration — the actual parser lives in findings-parser.ts.
|
|
33
|
-
// We parse inline to keep the dependency lightweight and avoid importing
|
|
34
|
-
// the full findings-parser which may have criteria-specific logic.
|
|
35
|
-
function parseFindingsFromProse(text) {
|
|
36
|
-
if (!text || text.trim().length === 0)
|
|
37
|
-
return [];
|
|
38
|
-
const blocks = [];
|
|
39
|
-
const lines = text.split('\n');
|
|
40
|
-
let current = [];
|
|
41
|
-
for (const line of lines) {
|
|
42
|
-
if (/^## Finding \d+:/.test(line)) {
|
|
43
|
-
if (current.length > 0)
|
|
44
|
-
blocks.push(current.join('\n'));
|
|
45
|
-
current = [line];
|
|
46
|
-
}
|
|
47
|
-
else if (current.length > 0) {
|
|
48
|
-
current.push(line);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
if (current.length > 0)
|
|
52
|
-
blocks.push(current.join('\n'));
|
|
53
|
-
const findings = [];
|
|
54
|
-
const SEVERITY_VALUES = new Set(['critical', 'high', 'medium', 'low']);
|
|
55
|
-
for (const block of blocks) {
|
|
56
|
-
const claimLine = block.match(/^\s*- Claim:\s*(.+)$/im)?.[1]?.trim() ?? '';
|
|
57
|
-
if (claimLine.startsWith('[N/A]'))
|
|
58
|
-
continue;
|
|
59
|
-
const sevRaw = block.match(/^\s*- Severity:\s*(\w+)/im)?.[1]?.toLowerCase();
|
|
60
|
-
const severity = sevRaw && SEVERITY_VALUES.has(sevRaw)
|
|
61
|
-
? sevRaw
|
|
62
|
-
: 'medium';
|
|
63
|
-
const category = block.match(/^\s*- Category:\s*(\S+)/im)?.[1] ?? 'general';
|
|
64
|
-
const evidence = block.match(/^\s*- (?:Issue|Evidence):\s*(.+)$/im)?.[1]?.trim();
|
|
65
|
-
const suggestion = block.match(/^\s*- (?:Suggestion|Fix):\s*(.+)$/im)?.[1]?.trim();
|
|
66
|
-
const f = { severity, category, claim: claimLine, source: 'implementer' };
|
|
67
|
-
if (evidence)
|
|
68
|
-
f.evidence = evidence;
|
|
69
|
-
if (suggestion)
|
|
70
|
-
f.suggestion = suggestion;
|
|
71
|
-
findings.push(f);
|
|
72
|
-
}
|
|
73
|
-
return findings;
|
|
74
|
-
}
|
|
75
|
-
function defaultImplementPayload(self) {
|
|
76
|
-
return {
|
|
77
|
-
workerSelfAssessment: self,
|
|
78
|
-
summary: '',
|
|
79
|
-
filesChanged: [],
|
|
80
|
-
findings: [],
|
|
81
|
-
citations: [],
|
|
82
|
-
criteriaSucceeded: [],
|
|
83
|
-
criteriaErrors: [],
|
|
84
|
-
sourcesUsed: [],
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
function tel(t0, turn, stop) {
|
|
88
|
-
return {
|
|
89
|
-
stageLabel: 'implement',
|
|
90
|
-
durationMs: Date.now() - t0,
|
|
91
|
-
costUSD: turn.costUSD ?? null,
|
|
92
|
-
turnsUsed: turn.turnsUsed ?? 0,
|
|
93
|
-
stopReason: stop,
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
export async function implementHandler(state) {
|
|
97
|
-
const t0 = Date.now();
|
|
98
|
-
try {
|
|
99
|
-
// Snapshot HEAD + untracked files before the worker runs — getRealFilesChanged()
|
|
100
|
-
// (terminal sealing) and the progress watchdog read these to compute the real
|
|
101
|
-
// on-disk diff since task start.
|
|
102
|
-
capturePreTaskState(state);
|
|
103
|
-
const ctx = state.executionContext;
|
|
104
|
-
if (!ctx) {
|
|
105
|
-
return {
|
|
106
|
-
outcome: 'halt',
|
|
107
|
-
comment: 'implement halted: state.executionContext not set',
|
|
108
|
-
payload: defaultImplementPayload('failed'),
|
|
109
|
-
telemetry: tel(t0, {}, 'transport_error'),
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
// v5: Call performImplementation to orchestrate read or write routes
|
|
113
|
-
// and populate state.lastRunResult.
|
|
114
|
-
await performImplementation(state);
|
|
115
|
-
const result = state.lastRunResult;
|
|
116
|
-
if (!result) {
|
|
117
|
-
return {
|
|
118
|
-
outcome: 'halt',
|
|
119
|
-
comment: 'implement halted: no result from performImplementation',
|
|
120
|
-
payload: defaultImplementPayload('failed'),
|
|
121
|
-
telemetry: tel(t0, {}, 'transport_error'),
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
// Transform lastRunResult into ImplementPayload for the stage gate.
|
|
125
|
-
// Note: parseWorkerOutput extracts filesChanged from the structured output JSON.
|
|
126
|
-
const parsed = parseWorkerOutput(result.output ?? '');
|
|
127
|
-
// Persist parsedCleanly so enrichRuntimeResult can access it
|
|
128
|
-
result.parsedCleanly = parsed.parsedCleanly;
|
|
129
|
-
const findings = [...(result.findings ?? [])];
|
|
130
|
-
const outputTargets = ctx.outputTargets ?? [];
|
|
131
|
-
if (outputTargets.length > 0) {
|
|
132
|
-
let nextId = findings.length + 1;
|
|
133
|
-
try {
|
|
134
|
-
const missing = checkOutputTargets(outputTargets);
|
|
135
|
-
if (missing.length > 0) {
|
|
136
|
-
findings.push({
|
|
137
|
-
id: `F${nextId++}`,
|
|
138
|
-
severity: 'high',
|
|
139
|
-
category: 'missing_output_targets',
|
|
140
|
-
claim: `Task declared ${missing.length} output target(s) that were not produced`,
|
|
141
|
-
evidence: `Missing paths: ${missing.join(', ')}`,
|
|
142
|
-
source: 'implementer',
|
|
143
|
-
});
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
catch (e) {
|
|
147
|
-
findings.push({
|
|
148
|
-
id: `F${nextId++}`,
|
|
149
|
-
severity: 'medium',
|
|
150
|
-
category: 'output_targets_check_failed',
|
|
151
|
-
claim: 'Output-target existence check raised an error',
|
|
152
|
-
evidence: e instanceof Error ? e.message : String(e),
|
|
153
|
-
source: 'implementer',
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
const payload = {
|
|
158
|
-
// workerSelfAssessment lookup chain matches the rest of the payload
|
|
159
|
-
// composition: prefer the runtime-level `workerStatus` (set by
|
|
160
|
-
// enrich-runtime-result on the read-route path), fall back to the
|
|
161
|
-
// structured JSON block the worker emitted (`parseWorkerOutput`),
|
|
162
|
-
// and only default to 'failed' when neither produced a value. Pre-fix,
|
|
163
|
-
// standard write tasks always read 'failed' because workerStatus is
|
|
164
|
-
// populated by enrichRuntimeResult — which runs AFTER implement-stage.
|
|
165
|
-
workerSelfAssessment: (result.workerStatus
|
|
166
|
-
?? parsed.workerSelfAssessment
|
|
167
|
-
?? 'failed'),
|
|
168
|
-
summary: parsed.summary ?? result.summary ?? '',
|
|
169
|
-
filesChanged: parsed.filesChanged ?? result.filesWritten ?? result.filesChanged ?? [],
|
|
170
|
-
findings,
|
|
171
|
-
citations: (result.citations ?? parsed.citations ?? []),
|
|
172
|
-
criteriaSucceeded: result.criteriaSucceeded ?? parsed.criteriaSucceeded ?? [],
|
|
173
|
-
criteriaErrors: result.criteriaErrors ?? parsed.criteriaErrors ?? [],
|
|
174
|
-
sourcesUsed: result.sourcesUsed ?? parsed.sourcesUsed ?? [],
|
|
175
|
-
parsedCleanly: parsed.parsedCleanly,
|
|
176
|
-
...(result.findingsOutcome !== undefined && { findingsOutcome: result.findingsOutcome }),
|
|
177
|
-
...(result.findingsOutcomeReason !== undefined && { findingsOutcomeReason: result.findingsOutcomeReason }),
|
|
178
|
-
...(result.outcomeInferred !== undefined && { outcomeInferred: result.outcomeInferred }),
|
|
179
|
-
...(result.outcomeMalformed !== undefined && { outcomeMalformed: result.outcomeMalformed }),
|
|
180
|
-
};
|
|
181
|
-
// Halt ONLY on hard worker error. 'incomplete' (worker hit a cap but
|
|
182
|
-
// still produced output) flows through to subsequent stages so the
|
|
183
|
-
// compose envelope reports the truthful incomplete state — same as
|
|
184
|
-
// the legacy executor's behavior.
|
|
185
|
-
if (result.status === 'error') {
|
|
186
|
-
return {
|
|
187
|
-
outcome: 'halt',
|
|
188
|
-
comment: `implement status: ${result.status}`,
|
|
189
|
-
payload,
|
|
190
|
-
telemetry: tel(t0, result, 'normal'),
|
|
191
|
-
};
|
|
192
|
-
}
|
|
193
|
-
return {
|
|
194
|
-
outcome: 'advance',
|
|
195
|
-
payload,
|
|
196
|
-
telemetry: tel(t0, result, 'normal'),
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
catch (err) {
|
|
200
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
201
|
-
return {
|
|
202
|
-
outcome: 'halt',
|
|
203
|
-
comment: `implement crashed: ${msg}`,
|
|
204
|
-
payload: defaultImplementPayload('failed'),
|
|
205
|
-
telemetry: {
|
|
206
|
-
stageLabel: 'implement',
|
|
207
|
-
durationMs: Date.now() - t0,
|
|
208
|
-
costUSD: null,
|
|
209
|
-
turnsUsed: 0,
|
|
210
|
-
stopReason: 'transport_error',
|
|
211
|
-
},
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
// v4-compat shim: tests/helpers/bootstrap.ts and a few other call sites use
|
|
216
|
-
// `new TaskExecutor(emitter)` and `executor.handler.bind(executor)`. The v5
|
|
217
|
-
// stage handler is the bare `implementHandler` function above. This class
|
|
218
|
-
// preserves the test-fixture contract while delegating to the v5 handler.
|
|
219
|
-
export class TaskExecutor {
|
|
220
|
-
_emitter;
|
|
221
|
-
constructor(_emitter) {
|
|
222
|
-
this._emitter = _emitter;
|
|
223
|
-
}
|
|
224
|
-
handler = async (state) => {
|
|
225
|
-
await implementHandler(state);
|
|
226
|
-
};
|
|
227
|
-
}
|
|
228
|
-
//# sourceMappingURL=implement-stage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"implement-stage.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/implement-stage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import type { StageGate } from '../stage-io.js';
|
|
3
|
-
/**
|
|
4
|
-
* Stage handler: row 2.5 — prepare_execution_context.
|
|
5
|
-
*
|
|
6
|
-
* Seeding: populates state.task, state.reviewPolicy. This handler is the
|
|
7
|
-
* canonical "state was set up correctly" acknowledgment for downstream
|
|
8
|
-
* handlers that read from these slots.
|
|
9
|
-
*
|
|
10
|
-
* §5.1 payload: null. Gate exists only for the per-stage telemetry slot.
|
|
11
|
-
*/
|
|
12
|
-
export declare function prepareExecutionContextHandler(state: LifecycleState): Promise<StageGate<null>>;
|
|
13
|
-
//# sourceMappingURL=prepare-execution-context-handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-execution-context-handler.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/prepare-execution-context-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGhD;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CAClD,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAqD1B"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Stage handler: row 2.5 — prepare_execution_context.
|
|
3
|
-
*
|
|
4
|
-
* Seeding: populates state.task, state.reviewPolicy. This handler is the
|
|
5
|
-
* canonical "state was set up correctly" acknowledgment for downstream
|
|
6
|
-
* handlers that read from these slots.
|
|
7
|
-
*
|
|
8
|
-
* §5.1 payload: null. Gate exists only for the per-stage telemetry slot.
|
|
9
|
-
*/
|
|
10
|
-
export async function prepareExecutionContextHandler(state) {
|
|
11
|
-
const t0 = Date.now();
|
|
12
|
-
try {
|
|
13
|
-
// Fallback: if rawRequest carries a TaskSpec[] and state.task is empty,
|
|
14
|
-
// surface the first task so per-task handlers have something to read.
|
|
15
|
-
if (!state.task) {
|
|
16
|
-
const req = state.request;
|
|
17
|
-
const first = req?.tasks?.[0];
|
|
18
|
-
if (first)
|
|
19
|
-
state.task = first;
|
|
20
|
-
}
|
|
21
|
-
// #45 Step 7e: per-task reviewPolicy lives on TaskSpec, not on rawRequest's
|
|
22
|
-
// top-level. Override state.reviewPolicy from state.task when present so
|
|
23
|
-
// the per-row runConditions (gating spec/quality/diff chains) see the
|
|
24
|
-
// right value.
|
|
25
|
-
const task = state.task;
|
|
26
|
-
if (task?.reviewPolicy) {
|
|
27
|
-
state.reviewPolicy = task.reviewPolicy;
|
|
28
|
-
}
|
|
29
|
-
return {
|
|
30
|
-
outcome: 'advance',
|
|
31
|
-
payload: null,
|
|
32
|
-
telemetry: {
|
|
33
|
-
stageLabel: 'prepare',
|
|
34
|
-
durationMs: Date.now() - t0,
|
|
35
|
-
costUSD: 0,
|
|
36
|
-
turnsUsed: 0,
|
|
37
|
-
stopReason: 'normal',
|
|
38
|
-
},
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
catch (err) {
|
|
42
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
43
|
-
const comment = /brief schema|invalid brief/i.test(msg) ? `brief_invalid: ${msg}` :
|
|
44
|
-
/workspace|traversal|sandbox/i.test(msg) ? `workspace_violation: ${msg}` :
|
|
45
|
-
/context_block|missing/i.test(msg) ? `context_block_missing: ${msg}` :
|
|
46
|
-
`prepare_failed: ${msg}`;
|
|
47
|
-
return {
|
|
48
|
-
outcome: 'halt',
|
|
49
|
-
comment,
|
|
50
|
-
payload: null,
|
|
51
|
-
telemetry: {
|
|
52
|
-
stageLabel: 'prepare',
|
|
53
|
-
durationMs: Date.now() - t0,
|
|
54
|
-
costUSD: 0,
|
|
55
|
-
turnsUsed: 0,
|
|
56
|
-
stopReason: 'transport_error',
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=prepare-execution-context-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-execution-context-handler.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/prepare-execution-context-handler.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAClD,KAAqB;IAErB,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEtB,IAAI,CAAC;QACH,wEAAwE;QACxE,sEAAsE;QACtE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,KAAK,CAAC,OAA6C,CAAC;YAChE,MAAM,KAAK,GAAG,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9B,IAAI,KAAK;gBAAE,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;QAChC,CAAC;QAED,4EAA4E;QAC5E,yEAAyE;QACzE,sEAAsE;QACtE,eAAe;QACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAA4B,CAAC;QAChD,IAAI,IAAI,EAAE,YAAY,EAAE,CAAC;YACvB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACzC,CAAC;QAED,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,IAAI;YACb,SAAS,EAAE;gBACT,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,QAAQ;aACrB;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7D,MAAM,OAAO,GACX,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,kBAAkB,GAAG,EAAE,CAAC,CAAC;YACnE,8BAA8B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;gBAC1E,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;oBACtE,mBAAmB,GAAG,EAAE,CAAC;QAE3B,OAAO;YACL,OAAO,EAAE,MAAM;YACf,OAAO;YACP,OAAO,EAAE,IAAI;YACb,SAAS,EAAE;gBACT,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;gBAC3B,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,CAAC;gBACZ,UAAU,EAAE,iBAAiB;aAC9B;SACF,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import type { Session } from '../../types/run-result.js';
|
|
2
|
-
import { type Finding } from '../findings-parser.js';
|
|
3
|
-
import type { FindingsOutcomeKind } from '../../reporting/findings-outcome.js';
|
|
4
|
-
interface Criterion {
|
|
5
|
-
id: string;
|
|
6
|
-
title: string;
|
|
7
|
-
description: string;
|
|
8
|
-
}
|
|
9
|
-
export interface ReadRouteImplementerInput {
|
|
10
|
-
session: Session;
|
|
11
|
-
cachedPrefix: string;
|
|
12
|
-
criteria: readonly Criterion[];
|
|
13
|
-
buildSuffix: (c: Criterion) => string;
|
|
14
|
-
legalOutcomes: readonly FindingsOutcomeKind[];
|
|
15
|
-
/** Optional sink for dropped/malformed Finding warnings (parser-side).
|
|
16
|
-
* Pass an envelope-bound sink so silent parser drops become visible in
|
|
17
|
-
* validationWarnings — otherwise a worker's malformed Findings vanish
|
|
18
|
-
* without trace. Defaults to no-op (back-compat with tests). */
|
|
19
|
-
warnSink?: (event: string, data: Record<string, unknown>) => void;
|
|
20
|
-
}
|
|
21
|
-
export interface ReadRouteImplementerResult {
|
|
22
|
-
findings: Finding[];
|
|
23
|
-
criteriaErrors: {
|
|
24
|
-
criterionId: string;
|
|
25
|
-
error: string;
|
|
26
|
-
}[];
|
|
27
|
-
usage: {
|
|
28
|
-
inputTokens: number;
|
|
29
|
-
outputTokens: number;
|
|
30
|
-
cachedReadTokens: number;
|
|
31
|
-
cachedNonReadTokens: number;
|
|
32
|
-
};
|
|
33
|
-
turns: number;
|
|
34
|
-
costUSD: number | null;
|
|
35
|
-
durationMs: number;
|
|
36
|
-
/** Joined per-criterion narrative — used by downstream parsers that
|
|
37
|
-
* read raw text (annotator fallback, terminal-block renderers). */
|
|
38
|
-
synthesizedOutput: string;
|
|
39
|
-
findingsOutcome: FindingsOutcomeKind;
|
|
40
|
-
findingsOutcomeReason: string | null;
|
|
41
|
-
outcomeInferred: boolean;
|
|
42
|
-
outcomeMalformed: boolean;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Run the sequential read-route criteria loop on a single session.
|
|
46
|
-
* Prefix is sent once with the first criterion (cached after); each
|
|
47
|
-
* subsequent criterion sends only its suffix and benefits from the
|
|
48
|
-
* model's prior tool calls retained in the session.
|
|
49
|
-
*/
|
|
50
|
-
export declare function runReadRouteImplementer(input: ReadRouteImplementerInput): Promise<ReadRouteImplementerResult>;
|
|
51
|
-
export {};
|
|
52
|
-
//# sourceMappingURL=read-route-implementer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-route-implementer.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/read-route-implementer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAK/E,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,SAAS,EAAE,CAAC;IAC/B,WAAW,EAAE,CAAC,CAAC,EAAE,SAAS,KAAK,MAAM,CAAC;IACtC,aAAa,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC9C;;;qEAGiE;IACjE,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,cAAc,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzD,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5G,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB;wEACoE;IACpE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,mBAAmB,CAAC;IACrC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,eAAe,EAAE,OAAO,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;GAKG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CA2FrC"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
// v4.4.x — Read-route Implementing stage.
|
|
2
|
-
//
|
|
3
|
-
// One complex session per task, sequential for-loop over criteria.
|
|
4
|
-
// Each iteration: build a per-criterion prompt, send, parse findings.
|
|
5
|
-
// Earlier criteria's tool results carry forward in the session context
|
|
6
|
-
// so the model doesn't re-discover the same files across criteria —
|
|
7
|
-
// the token win over the old N-parallel-sub-workers approach.
|
|
8
|
-
//
|
|
9
|
-
// Failures are recorded as criteriaErrors entries (not findings) so
|
|
10
|
-
// the read-route findings list stays clean of internal-error noise.
|
|
11
|
-
import { parseFindings } from '../findings-parser.js';
|
|
12
|
-
import { aggregateOutcomes } from '../../reporting/findings-outcome.js';
|
|
13
|
-
import { HUMAN_LABEL } from '../stage-labels.js';
|
|
14
|
-
import { buildWarmFollowupMessage } from '../warm-followup.js';
|
|
15
|
-
/**
|
|
16
|
-
* Run the sequential read-route criteria loop on a single session.
|
|
17
|
-
* Prefix is sent once with the first criterion (cached after); each
|
|
18
|
-
* subsequent criterion sends only its suffix and benefits from the
|
|
19
|
-
* model's prior tool calls retained in the session.
|
|
20
|
-
*/
|
|
21
|
-
export async function runReadRouteImplementer(input) {
|
|
22
|
-
const findings = [];
|
|
23
|
-
const criteriaErrors = [];
|
|
24
|
-
const perCriterionOutputs = [];
|
|
25
|
-
const perCriterionOutcomes = [];
|
|
26
|
-
const perCriterionReasons = [];
|
|
27
|
-
let totalInput = 0, totalOutput = 0, totalCachedRead = 0, totalCachedNonRead = 0;
|
|
28
|
-
let totalCost = null;
|
|
29
|
-
let totalDuration = 0;
|
|
30
|
-
let totalTurns = 0;
|
|
31
|
-
for (let i = 0; i < input.criteria.length; i++) {
|
|
32
|
-
const c = input.criteria[i];
|
|
33
|
-
const suffix = input.buildSuffix(c);
|
|
34
|
-
// Turn 0 sends cachedPrefix + suffix (cold open into the implementer's
|
|
35
|
-
// session). Turns 1..N go through the warm-follow-up helper so the
|
|
36
|
-
// model knows the document + earlier tool results are already in
|
|
37
|
-
// thread history and skips re-grepping them.
|
|
38
|
-
const prompt = i === 0
|
|
39
|
-
? `${input.cachedPrefix}\n\n${suffix}`
|
|
40
|
-
: buildWarmFollowupMessage(suffix);
|
|
41
|
-
try {
|
|
42
|
-
const turn = await input.session.send(prompt, { stageLabel: HUMAN_LABEL.implementing });
|
|
43
|
-
totalInput += turn.usage?.inputTokens ?? 0;
|
|
44
|
-
totalOutput += turn.usage?.outputTokens ?? 0;
|
|
45
|
-
totalCachedRead += turn.usage?.cachedReadTokens ?? 0;
|
|
46
|
-
totalCachedNonRead += turn.usage?.cachedNonReadTokens ?? 0;
|
|
47
|
-
totalDuration += turn.durationMs ?? 0;
|
|
48
|
-
totalTurns += turn.turns ?? 1;
|
|
49
|
-
if (turn.costUSD !== null && turn.costUSD !== undefined) {
|
|
50
|
-
totalCost = (totalCost ?? 0) + turn.costUSD;
|
|
51
|
-
}
|
|
52
|
-
if (turn.terminationReason !== 'ok') {
|
|
53
|
-
// Cap hit, stall, error, etc. — the turn produced no usable findings
|
|
54
|
-
// even though it did not throw. Record as a criterion error so the
|
|
55
|
-
// route's headline + status correctly reflect partial completion.
|
|
56
|
-
criteriaErrors.push({
|
|
57
|
-
criterionId: c.id,
|
|
58
|
-
error: turn.errorCode ?? `turn ended with ${turn.terminationReason}`,
|
|
59
|
-
});
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
|
-
const result = parseFindings(turn.output, c.id, input.legalOutcomes, input.warnSink);
|
|
63
|
-
findings.push(...result.findings);
|
|
64
|
-
perCriterionOutputs.push(`--- ${c.title} (criterion ${c.id}) ---\n${turn.output}`);
|
|
65
|
-
perCriterionOutcomes.push(result.outcome);
|
|
66
|
-
// Extract reason for not_applicable outcomes
|
|
67
|
-
if (result.outcome === 'not_applicable') {
|
|
68
|
-
const reasonMatch = turn.output.match(/^## Outcome\s*\n\s*not_applicable\s*—\s*(.+)$/m);
|
|
69
|
-
perCriterionReasons.push(reasonMatch ? reasonMatch[1].trim() : null);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
perCriterionReasons.push(null);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
catch (err) {
|
|
76
|
-
criteriaErrors.push({
|
|
77
|
-
criterionId: c.id,
|
|
78
|
-
error: err instanceof Error ? err.message : String(err),
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// Aggregate outcomes by precedence: found > not_applicable > clean
|
|
83
|
-
const aggregatedOutcome = perCriterionOutcomes.length > 0
|
|
84
|
-
? aggregateOutcomes(perCriterionOutcomes)
|
|
85
|
-
: 'clean';
|
|
86
|
-
// Aggregate reasons: concatenate not_applicable reasons with semicolon separator
|
|
87
|
-
const aggregatedReason = aggregatedOutcome === 'not_applicable'
|
|
88
|
-
? perCriterionReasons.filter((r) => r !== null).join('; ')
|
|
89
|
-
: null;
|
|
90
|
-
return {
|
|
91
|
-
findings,
|
|
92
|
-
criteriaErrors,
|
|
93
|
-
usage: {
|
|
94
|
-
inputTokens: totalInput,
|
|
95
|
-
outputTokens: totalOutput,
|
|
96
|
-
cachedReadTokens: totalCachedRead,
|
|
97
|
-
cachedNonReadTokens: totalCachedNonRead,
|
|
98
|
-
},
|
|
99
|
-
turns: totalTurns,
|
|
100
|
-
costUSD: totalCost,
|
|
101
|
-
durationMs: totalDuration,
|
|
102
|
-
synthesizedOutput: perCriterionOutputs.join('\n\n'),
|
|
103
|
-
findingsOutcome: aggregatedOutcome,
|
|
104
|
-
findingsOutcomeReason: aggregatedReason,
|
|
105
|
-
outcomeInferred: false,
|
|
106
|
-
outcomeMalformed: false,
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
//# sourceMappingURL=read-route-implementer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-route-implementer.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/read-route-implementer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import type { StageGate, RegisterBlockPayload } from '../stage-io.js';
|
|
3
|
-
export declare function registerToBlockStoreHandler(state: LifecycleState): Promise<StageGate<RegisterBlockPayload>>;
|
|
4
|
-
//# sourceMappingURL=register-context-block-handlers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-context-block-handlers.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/register-context-block-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItE,wBAAsB,2BAA2B,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,CAiCjH"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const MAX_BYTES = 50 * 1024 * 1024;
|
|
2
|
-
export async function registerToBlockStoreHandler(state) {
|
|
3
|
-
const t0 = Date.now();
|
|
4
|
-
const req = state.request;
|
|
5
|
-
const bytes = Buffer.byteLength(req?.content ?? '', 'utf-8');
|
|
6
|
-
if (bytes > MAX_BYTES) {
|
|
7
|
-
return {
|
|
8
|
-
outcome: 'halt',
|
|
9
|
-
comment: `payload_too_large: ${bytes} bytes`,
|
|
10
|
-
payload: { blockId: '', bytes },
|
|
11
|
-
telemetry: { stageLabel: 'register-block', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'normal' },
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
// Existing API: pc.contextBlocks.register(content) → RegisteredBlock { id, ... }
|
|
16
|
-
// See packages/core/src/lifecycle/handlers/register-context-block-handlers.ts:13
|
|
17
|
-
// and packages/core/src/stores/context-block-tool.ts:23 for the interface.
|
|
18
|
-
const pc = state.projectContext;
|
|
19
|
-
const registered = pc.contextBlocks.register(req?.content ?? '');
|
|
20
|
-
return {
|
|
21
|
-
outcome: 'advance',
|
|
22
|
-
payload: { blockId: registered.id, bytes },
|
|
23
|
-
telemetry: { stageLabel: 'register-block', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'normal' },
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
return {
|
|
28
|
-
outcome: 'halt',
|
|
29
|
-
comment: `store_write_failed: ${err instanceof Error ? err.message : String(err)}`,
|
|
30
|
-
payload: { blockId: '', bytes },
|
|
31
|
-
telemetry: { stageLabel: 'register-block', durationMs: Date.now() - t0, costUSD: 0, turnsUsed: 0, stopReason: 'transport_error' },
|
|
32
|
-
};
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=register-context-block-handlers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register-context-block-handlers.js","sourceRoot":"","sources":["../../../src/lifecycle/handlers/register-context-block-handlers.ts"],"names":[],"mappings":"AAGA,MAAM,SAAS,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEnC,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAAC,KAAqB;IACrE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,OAA0C,CAAC;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;IAE7D,IAAI,KAAK,GAAG,SAAS,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,sBAAsB,KAAK,QAAQ;YAC5C,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE;YAC/B,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;SACzH,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,iFAAiF;QACjF,iFAAiF;QACjF,2EAA2E;QAC3E,MAAM,EAAE,GAAG,KAAK,CAAC,cAAqB,CAAC;QACvC,MAAM,UAAU,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;QACjE,OAAO;YACL,OAAO,EAAE,SAAS;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE;YAC1C,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE;SACzH,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;YAClF,OAAO,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE;YAC/B,SAAS,EAAE,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,iBAAiB,EAAE;SAClI,CAAC;IACJ,CAAC;AACH,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { LifecycleState } from '../stage-plan-types.js';
|
|
2
|
-
import type { StageGate } from '../stage-io.js';
|
|
3
|
-
type ReviewFixPayload = {
|
|
4
|
-
ran: boolean;
|
|
5
|
-
output: string;
|
|
6
|
-
};
|
|
7
|
-
export declare function reviewFixHandler(state: LifecycleState): Promise<StageGate<ReviewFixPayload>>;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=review-fix-stage.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-fix-stage.d.ts","sourceRoot":"","sources":["../../../src/lifecycle/handlers/review-fix-stage.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAShD,KAAK,gBAAgB,GAAG;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAYzD,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CA+DlG"}
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { assembleRunResult } from '../../providers/assemble-run-result.js';
|
|
2
|
-
import { mergeStageStats } from '../merge-stage-stats.js';
|
|
3
|
-
import { renderGitLogStat, renderWorkingTreeStatus } from '../git-exec.js';
|
|
4
|
-
import { reviewFixGoalPrompt, MAX_GIT_LOG_BYTES } from '../goal-prompts.js';
|
|
5
|
-
import { HUMAN_LABEL } from '../stage-labels.js';
|
|
6
|
-
function tel(t0, costUSD, turns, stop) {
|
|
7
|
-
return {
|
|
8
|
-
stageLabel: 'review',
|
|
9
|
-
durationMs: Date.now() - t0,
|
|
10
|
-
costUSD,
|
|
11
|
-
turnsUsed: turns,
|
|
12
|
-
stopReason: stop,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
export async function reviewFixHandler(state) {
|
|
16
|
-
const t0 = Date.now();
|
|
17
|
-
const task = state.task;
|
|
18
|
-
const ctx = state.executionContext;
|
|
19
|
-
const goal = task?.goal;
|
|
20
|
-
if (!goal || !ctx) {
|
|
21
|
-
return { outcome: 'skip', payload: { ran: false, output: '' }, telemetry: tel(t0, null, 0, 'normal') };
|
|
22
|
-
}
|
|
23
|
-
const baseSha = state.goalBaseSha ?? state.preTaskHeadSha;
|
|
24
|
-
if (!baseSha) {
|
|
25
|
-
return { outcome: 'skip', comment: 'review-fix skipped: no baseSha', payload: { ran: false, output: '' }, telemetry: tel(t0, null, 0, 'normal') };
|
|
26
|
-
}
|
|
27
|
-
const phase2Tier = goal.phases[1]?.tier ?? 'complex';
|
|
28
|
-
try {
|
|
29
|
-
const { text: gitLog } = await renderGitLogStat(goal.cwd, baseSha, MAX_GIT_LOG_BYTES);
|
|
30
|
-
// Feed phase 2 the UNCOMMITTED working tree too, so it can see + commit work
|
|
31
|
-
// the implementer did but didn't commit (otherwise an empty log blinds it).
|
|
32
|
-
const workingTree = await renderWorkingTreeStatus(goal.cwd);
|
|
33
|
-
const prompt = reviewFixGoalPrompt(goal, gitLog, workingTree);
|
|
34
|
-
const session = ctx.getSession(phase2Tier);
|
|
35
|
-
const turn = await session.send(prompt, {
|
|
36
|
-
stageLabel: HUMAN_LABEL.review,
|
|
37
|
-
signal: ctx.stall.controller.signal,
|
|
38
|
-
});
|
|
39
|
-
const result = assembleRunResult(turn);
|
|
40
|
-
state.goalPhase2Output = result.output ?? '';
|
|
41
|
-
const costUSD = result.actualCostUSD
|
|
42
|
-
?? result.cost?.costUSD ?? null;
|
|
43
|
-
mergeStageStats(state, 'review', {
|
|
44
|
-
inputTokens: result.usage?.inputTokens ?? 0,
|
|
45
|
-
outputTokens: result.usage?.outputTokens ?? 0,
|
|
46
|
-
cachedReadTokens: result.usage?.cachedReadTokens ?? 0,
|
|
47
|
-
cachedNonReadTokens: result.usage?.cachedNonReadTokens ?? 0,
|
|
48
|
-
turnCount: result.turns ?? 0,
|
|
49
|
-
costUSD,
|
|
50
|
-
durationMs: result.durationMs ?? null,
|
|
51
|
-
filesWrittenCount: Array.isArray(result.filesWritten) ? result.filesWritten.length : 0,
|
|
52
|
-
}, {
|
|
53
|
-
tier: phase2Tier,
|
|
54
|
-
model: ctx.providers[phase2Tier]?.config?.model ?? null,
|
|
55
|
-
});
|
|
56
|
-
return {
|
|
57
|
-
outcome: 'advance',
|
|
58
|
-
payload: { ran: true, output: result.output ?? '' },
|
|
59
|
-
telemetry: tel(t0, costUSD, result.turns ?? 0, 'normal'),
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
catch (err) {
|
|
63
|
-
// Phase-2 failure never discards phase-1 commits; annotate marks
|
|
64
|
-
// done_with_concerns / phase2_incomplete from git state.
|
|
65
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
66
|
-
state.goalPhase2Error = msg;
|
|
67
|
-
return {
|
|
68
|
-
outcome: 'advance',
|
|
69
|
-
comment: `review-fix error: ${msg}`,
|
|
70
|
-
payload: { ran: true, output: '' },
|
|
71
|
-
telemetry: tel(t0, null, 0, 'transport_error'),
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
//# sourceMappingURL=review-fix-stage.js.map
|