@zhixuan92/multi-model-agent-core 3.12.7 → 4.0.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 +135 -2
- package/dist/bounded-execution/activity-tracker-types.d.ts +77 -0
- package/dist/bounded-execution/activity-tracker-types.d.ts.map +1 -0
- package/dist/bounded-execution/activity-tracker-types.js +23 -0
- package/dist/bounded-execution/activity-tracker-types.js.map +1 -0
- package/dist/bounded-execution/activity-tracker.d.ts +67 -0
- package/dist/bounded-execution/activity-tracker.d.ts.map +1 -0
- package/dist/bounded-execution/activity-tracker.js +381 -0
- package/dist/bounded-execution/activity-tracker.js.map +1 -0
- package/dist/bounded-execution/cost-compute.d.ts +27 -0
- package/dist/bounded-execution/cost-compute.d.ts.map +1 -0
- package/dist/bounded-execution/cost-compute.js +72 -0
- package/dist/bounded-execution/cost-compute.js.map +1 -0
- package/dist/bounded-execution/cost-meter.d.ts +20 -0
- package/dist/bounded-execution/cost-meter.d.ts.map +1 -0
- package/dist/bounded-execution/cost-meter.js +21 -0
- package/dist/bounded-execution/cost-meter.js.map +1 -0
- package/dist/bounded-execution/cost-rollup.d.ts +17 -0
- package/dist/bounded-execution/cost-rollup.d.ts.map +1 -0
- package/dist/bounded-execution/cost-rollup.js +40 -0
- package/dist/bounded-execution/cost-rollup.js.map +1 -0
- package/dist/bounded-execution/error-classifier.d.ts +11 -0
- package/dist/bounded-execution/error-classifier.d.ts.map +1 -0
- package/dist/bounded-execution/error-classifier.js +23 -0
- package/dist/bounded-execution/error-classifier.js.map +1 -0
- package/dist/bounded-execution/file-artifact-check.d.ts.map +1 -0
- package/dist/bounded-execution/file-artifact-check.js.map +1 -0
- package/dist/bounded-execution/idle-guard.d.ts +8 -0
- package/dist/bounded-execution/idle-guard.d.ts.map +1 -0
- package/dist/bounded-execution/idle-guard.js +18 -0
- package/dist/bounded-execution/idle-guard.js.map +1 -0
- package/dist/bounded-execution/index.d.ts +7 -0
- package/dist/bounded-execution/index.d.ts.map +1 -0
- package/dist/bounded-execution/index.js +8 -0
- package/dist/bounded-execution/index.js.map +1 -0
- package/dist/bounded-execution/wall-clock-guard.d.ts +8 -0
- package/dist/bounded-execution/wall-clock-guard.d.ts.map +1 -0
- package/dist/bounded-execution/wall-clock-guard.js +27 -0
- package/dist/bounded-execution/wall-clock-guard.js.map +1 -0
- package/dist/cleanup/batch-retention-sweeper.d.ts +7 -0
- package/dist/cleanup/batch-retention-sweeper.d.ts.map +1 -0
- package/dist/cleanup/batch-retention-sweeper.js +10 -0
- package/dist/cleanup/batch-retention-sweeper.js.map +1 -0
- package/dist/cleanup/context-block-gc-sweeper.d.ts +8 -0
- package/dist/cleanup/context-block-gc-sweeper.d.ts.map +1 -0
- package/dist/cleanup/context-block-gc-sweeper.js +12 -0
- package/dist/cleanup/context-block-gc-sweeper.js.map +1 -0
- package/dist/cleanup/index.d.ts +5 -0
- package/dist/cleanup/index.d.ts.map +1 -0
- package/dist/cleanup/index.js +6 -0
- package/dist/cleanup/index.js.map +1 -0
- package/dist/cleanup/project-idle-cleanup.d.ts +7 -0
- package/dist/cleanup/project-idle-cleanup.d.ts.map +1 -0
- package/dist/cleanup/project-idle-cleanup.js +15 -0
- package/dist/cleanup/project-idle-cleanup.js.map +1 -0
- package/dist/cleanup/shutdown-coordinator.d.ts +7 -0
- package/dist/cleanup/shutdown-coordinator.d.ts.map +1 -0
- package/dist/cleanup/shutdown-coordinator.js +13 -0
- package/dist/cleanup/shutdown-coordinator.js.map +1 -0
- package/dist/config/canonical-model-identity.d.ts.map +1 -0
- package/dist/config/canonical-model-identity.js.map +1 -0
- package/dist/config/config-resolver.d.ts +47 -0
- package/dist/config/config-resolver.d.ts.map +1 -0
- package/dist/config/config-resolver.js +57 -0
- package/dist/config/config-resolver.js.map +1 -0
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +9 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/load.d.ts +2 -7
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +4 -16
- package/dist/config/load.js.map +1 -1
- package/dist/config/model-profile-registry.d.ts +121 -0
- package/dist/config/model-profile-registry.d.ts.map +1 -0
- package/dist/config/model-profile-registry.js +382 -0
- package/dist/config/model-profile-registry.js.map +1 -0
- package/dist/config/pricing-table.d.ts +16 -0
- package/dist/config/pricing-table.d.ts.map +1 -0
- package/dist/config/pricing-table.js +51 -0
- package/dist/config/pricing-table.js.map +1 -0
- package/dist/config/schema.d.ts +8 -72
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +8 -12
- package/dist/config/schema.js.map +1 -1
- package/dist/config/tier-policy-registry.d.ts +12 -0
- package/dist/config/tier-policy-registry.d.ts.map +1 -0
- package/dist/config/tier-policy-registry.js +13 -0
- package/dist/config/tier-policy-registry.js.map +1 -0
- package/dist/error-codes.d.ts +36 -1
- package/dist/error-codes.d.ts.map +1 -1
- package/dist/error-codes.js +52 -1
- package/dist/error-codes.js.map +1 -1
- package/dist/escalation/agent-resolver.d.ts +7 -0
- package/dist/escalation/agent-resolver.d.ts.map +1 -0
- package/dist/escalation/agent-resolver.js +16 -0
- package/dist/escalation/agent-resolver.js.map +1 -0
- package/dist/escalation/delegate-with-escalation.d.ts +28 -0
- package/dist/escalation/delegate-with-escalation.d.ts.map +1 -0
- package/dist/escalation/delegate-with-escalation.js +205 -0
- package/dist/escalation/delegate-with-escalation.js.map +1 -0
- package/dist/escalation/escalation-policy.d.ts +18 -0
- package/dist/escalation/escalation-policy.d.ts.map +1 -0
- package/dist/escalation/escalation-policy.js +34 -0
- package/dist/escalation/escalation-policy.js.map +1 -0
- package/dist/escalation/fallback-helpers.d.ts +22 -0
- package/dist/escalation/fallback-helpers.d.ts.map +1 -0
- package/dist/escalation/fallback-helpers.js +46 -0
- package/dist/escalation/fallback-helpers.js.map +1 -0
- package/dist/escalation/fallback-types.d.ts +60 -0
- package/dist/escalation/fallback-types.d.ts.map +1 -0
- package/dist/escalation/fallback-types.js +11 -0
- package/dist/escalation/fallback-types.js.map +1 -0
- package/dist/escalation/fallback.d.ts +3 -85
- package/dist/escalation/fallback.d.ts.map +1 -1
- package/dist/escalation/fallback.js +26 -130
- package/dist/escalation/fallback.js.map +1 -1
- package/dist/escalation/index.d.ts +3 -0
- package/dist/escalation/index.d.ts.map +1 -0
- package/dist/escalation/index.js +4 -0
- package/dist/escalation/index.js.map +1 -0
- package/dist/escalation/types.d.ts.map +1 -0
- package/dist/escalation/types.js.map +1 -0
- package/dist/events/caller-response-channel.d.ts +17 -0
- package/dist/events/caller-response-channel.d.ts.map +1 -0
- package/dist/events/caller-response-channel.js +10 -0
- package/dist/events/caller-response-channel.js.map +1 -0
- package/dist/events/clamp.d.ts.map +1 -0
- package/dist/events/clamp.js.map +1 -0
- package/dist/events/cloud-events.d.ts +114 -0
- package/dist/events/cloud-events.d.ts.map +1 -0
- package/dist/events/cloud-events.js +59 -0
- package/dist/events/cloud-events.js.map +1 -0
- package/dist/events/concern-classifier.d.ts +9 -0
- package/dist/events/concern-classifier.d.ts.map +1 -0
- package/dist/events/concern-classifier.js.map +1 -0
- package/dist/events/consent-rules.d.ts.map +1 -0
- package/dist/events/consent-rules.js.map +1 -0
- package/dist/events/diagnostics-types.d.ts +65 -0
- package/dist/events/diagnostics-types.d.ts.map +1 -0
- package/dist/events/diagnostics-types.js +2 -0
- package/dist/events/diagnostics-types.js.map +1 -0
- package/dist/events/event-base.d.ts +14 -0
- package/dist/events/event-base.d.ts.map +1 -0
- package/dist/events/event-base.js +24 -0
- package/dist/events/event-base.js.map +1 -0
- package/dist/events/event-builder.d.ts +20 -0
- package/dist/events/event-builder.d.ts.map +1 -0
- package/dist/events/event-builder.js +347 -0
- package/dist/events/event-builder.js.map +1 -0
- package/dist/events/event-emitter.d.ts +30 -0
- package/dist/events/event-emitter.d.ts.map +1 -0
- package/dist/events/event-emitter.js +58 -0
- package/dist/events/event-emitter.js.map +1 -0
- package/dist/events/http-server-log.d.ts +63 -0
- package/dist/events/http-server-log.d.ts.map +1 -0
- package/dist/events/http-server-log.js.map +1 -0
- package/dist/events/index.d.ts +6 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +7 -0
- package/dist/events/index.js.map +1 -0
- package/dist/events/jsonl-writer.d.ts.map +1 -0
- package/dist/events/jsonl-writer.js.map +1 -0
- package/dist/events/local-log-sink.d.ts +10 -0
- package/dist/events/local-log-sink.d.ts.map +1 -0
- package/dist/events/local-log-sink.js.map +1 -0
- package/dist/events/normalize.d.ts +18 -0
- package/dist/events/normalize.d.ts.map +1 -0
- package/dist/events/normalize.js +18 -0
- package/dist/events/normalize.js.map +1 -0
- package/dist/events/observability-events.d.ts +1196 -0
- package/dist/events/observability-events.d.ts.map +1 -0
- package/dist/events/observability-events.js +380 -0
- package/dist/events/observability-events.js.map +1 -0
- package/dist/events/privacy-filter.d.ts +2 -0
- package/dist/events/privacy-filter.d.ts.map +1 -0
- package/dist/events/privacy-filter.js +10 -0
- package/dist/events/privacy-filter.js.map +1 -0
- package/dist/events/request-spill.d.ts.map +1 -0
- package/dist/events/request-spill.js.map +1 -0
- package/dist/events/telemetry-channel.d.ts +9 -0
- package/dist/events/telemetry-channel.d.ts.map +1 -0
- package/dist/events/telemetry-channel.js +16 -0
- package/dist/events/telemetry-channel.js.map +1 -0
- package/dist/events/telemetry-sink.d.ts +12 -0
- package/dist/events/telemetry-sink.d.ts.map +1 -0
- package/dist/events/telemetry-sink.js +24 -0
- package/dist/events/telemetry-sink.js.map +1 -0
- package/dist/events/telemetry-types.d.ts +1509 -0
- package/dist/events/telemetry-types.d.ts.map +1 -0
- package/dist/events/telemetry-types.js +289 -0
- package/dist/events/telemetry-types.js.map +1 -0
- package/dist/events/verbose-line.d.ts.map +1 -0
- package/dist/events/verbose-line.js +99 -0
- package/dist/events/verbose-line.js.map +1 -0
- package/dist/events/verbose-log-channel.d.ts +9 -0
- package/dist/events/verbose-log-channel.d.ts.map +1 -0
- package/dist/events/verbose-log-channel.js +26 -0
- package/dist/events/verbose-log-channel.js.map +1 -0
- package/dist/identity/auth-token-store.d.ts +17 -0
- package/dist/identity/auth-token-store.d.ts.map +1 -0
- package/dist/identity/auth-token-store.js +67 -0
- package/dist/identity/auth-token-store.js.map +1 -0
- package/dist/identity/cwd-validator.d.ts +6 -0
- package/dist/identity/cwd-validator.d.ts.map +1 -0
- package/dist/identity/cwd-validator.js +16 -0
- package/dist/identity/cwd-validator.js.map +1 -0
- package/dist/identity/host-allowlist.d.ts +6 -0
- package/dist/identity/host-allowlist.d.ts.map +1 -0
- package/dist/identity/host-allowlist.js +11 -0
- package/dist/identity/host-allowlist.js.map +1 -0
- package/dist/identity/index.d.ts +6 -0
- package/dist/identity/index.d.ts.map +1 -0
- package/dist/identity/index.js +7 -0
- package/dist/identity/index.js.map +1 -0
- package/dist/identity/secret-redactor.d.ts +2 -0
- package/dist/identity/secret-redactor.d.ts.map +1 -0
- package/dist/identity/secret-redactor.js +35 -0
- package/dist/identity/secret-redactor.js.map +1 -0
- package/dist/identity/ssrf-guard.d.ts +4 -0
- package/dist/identity/ssrf-guard.d.ts.map +1 -0
- package/dist/identity/ssrf-guard.js +19 -0
- package/dist/identity/ssrf-guard.js.map +1 -0
- package/dist/index.d.ts +69 -46
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -30
- package/dist/index.js.map +1 -1
- package/dist/intake/brief-compiler-slots/audit.d.ts +23 -0
- package/dist/intake/brief-compiler-slots/audit.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/audit.js +61 -0
- package/dist/intake/brief-compiler-slots/audit.js.map +1 -0
- package/dist/intake/brief-compiler-slots/debug.d.ts +41 -0
- package/dist/intake/brief-compiler-slots/debug.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/debug.js +49 -0
- package/dist/intake/brief-compiler-slots/debug.js.map +1 -0
- package/dist/intake/brief-compiler-slots/delegate.d.ts +29 -0
- package/dist/intake/brief-compiler-slots/delegate.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/delegate.js +44 -0
- package/dist/intake/brief-compiler-slots/delegate.js.map +1 -0
- package/dist/intake/brief-compiler-slots/execute-plan.d.ts +49 -0
- package/dist/intake/brief-compiler-slots/execute-plan.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/execute-plan.js +146 -0
- package/dist/intake/brief-compiler-slots/execute-plan.js.map +1 -0
- package/dist/intake/brief-compiler-slots/explore.d.ts +43 -0
- package/dist/intake/brief-compiler-slots/explore.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/explore.js +116 -0
- package/dist/intake/brief-compiler-slots/explore.js.map +1 -0
- package/dist/intake/brief-compiler-slots/investigate.d.ts +26 -0
- package/dist/intake/brief-compiler-slots/investigate.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/investigate.js +42 -0
- package/dist/intake/brief-compiler-slots/investigate.js.map +1 -0
- package/dist/intake/brief-compiler-slots/register-context-block.d.ts +17 -0
- package/dist/intake/brief-compiler-slots/register-context-block.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/register-context-block.js +17 -0
- package/dist/intake/brief-compiler-slots/register-context-block.js.map +1 -0
- package/dist/intake/brief-compiler-slots/retry.d.ts +20 -0
- package/dist/intake/brief-compiler-slots/retry.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/retry.js +37 -0
- package/dist/intake/brief-compiler-slots/retry.js.map +1 -0
- package/dist/intake/brief-compiler-slots/review.d.ts +34 -0
- package/dist/intake/brief-compiler-slots/review.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/review.js +85 -0
- package/dist/intake/brief-compiler-slots/review.js.map +1 -0
- package/dist/intake/brief-compiler-slots/verify.d.ts +21 -0
- package/dist/intake/brief-compiler-slots/verify.d.ts.map +1 -0
- package/dist/intake/brief-compiler-slots/verify.js +62 -0
- package/dist/intake/brief-compiler-slots/verify.js.map +1 -0
- package/dist/intake/brief-compiler.d.ts +9 -0
- package/dist/intake/brief-compiler.d.ts.map +1 -0
- package/dist/intake/brief-compiler.js +8 -0
- package/dist/intake/brief-compiler.js.map +1 -0
- package/dist/intake/classify.d.ts.map +1 -1
- package/dist/intake/classify.js +3 -2
- package/dist/intake/classify.js.map +1 -1
- package/dist/intake/field-inferer.d.ts +10 -0
- package/dist/intake/field-inferer.d.ts.map +1 -0
- package/dist/intake/field-inferer.js +57 -0
- package/dist/intake/field-inferer.js.map +1 -0
- package/dist/intake/host-allowlist-builder.d.ts +25 -0
- package/dist/intake/host-allowlist-builder.d.ts.map +1 -0
- package/dist/intake/host-allowlist-builder.js +102 -0
- package/dist/intake/host-allowlist-builder.js.map +1 -0
- package/dist/intake/index.d.ts +5 -0
- package/dist/intake/index.d.ts.map +1 -0
- package/dist/intake/index.js +6 -0
- package/dist/intake/index.js.map +1 -0
- package/dist/intake/pipeline.d.ts +2 -2
- package/dist/intake/pipeline.d.ts.map +1 -1
- package/dist/intake/pipeline.js +7 -73
- package/dist/intake/pipeline.js.map +1 -1
- package/dist/intake/plan-extractor.d.ts +20 -0
- package/dist/intake/plan-extractor.d.ts.map +1 -0
- package/dist/intake/plan-extractor.js +87 -0
- package/dist/intake/plan-extractor.js.map +1 -0
- package/dist/intake/resolve.d.ts +2 -3
- package/dist/intake/resolve.d.ts.map +1 -1
- package/dist/intake/resolve.js +4 -12
- package/dist/intake/resolve.js.map +1 -1
- package/dist/intake/types.d.ts +3 -53
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/intake/verify-referenced-blocks.d.ts +5 -0
- package/dist/intake/verify-referenced-blocks.d.ts.map +1 -0
- package/dist/intake/verify-referenced-blocks.js +9 -0
- package/dist/intake/verify-referenced-blocks.js.map +1 -0
- package/dist/lifecycle/auto-commit.d.ts +18 -0
- package/dist/lifecycle/auto-commit.d.ts.map +1 -0
- package/dist/lifecycle/auto-commit.js.map +1 -0
- package/dist/lifecycle/auto-register-context-block.d.ts +11 -0
- package/dist/lifecycle/auto-register-context-block.d.ts.map +1 -0
- package/dist/lifecycle/auto-register-context-block.js +18 -0
- package/dist/lifecycle/auto-register-context-block.js.map +1 -0
- package/dist/lifecycle/executor-output-types.d.ts +51 -0
- package/dist/lifecycle/executor-output-types.d.ts.map +1 -0
- package/dist/lifecycle/executor-output-types.js +2 -0
- package/dist/lifecycle/executor-output-types.js.map +1 -0
- package/dist/lifecycle/fallback-report.d.ts.map +1 -0
- package/dist/lifecycle/fallback-report.js.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts +7 -0
- package/dist/lifecycle/handlers/baseline-handlers.d.ts.map +1 -0
- package/dist/lifecycle/handlers/baseline-handlers.js +193 -0
- package/dist/lifecycle/handlers/baseline-handlers.js.map +1 -0
- package/dist/lifecycle/handlers/commit-stage.d.ts +16 -0
- package/dist/lifecycle/handlers/commit-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/commit-stage.js +52 -0
- package/dist/lifecycle/handlers/commit-stage.js.map +1 -0
- package/dist/lifecycle/handlers/derive-terminal-status.d.ts +10 -0
- package/dist/lifecycle/handlers/derive-terminal-status.d.ts.map +1 -0
- package/dist/lifecycle/handlers/derive-terminal-status.js +35 -0
- package/dist/lifecycle/handlers/derive-terminal-status.js.map +1 -0
- package/dist/lifecycle/handlers/execution-context-builder.d.ts +5 -0
- package/dist/lifecycle/handlers/execution-context-builder.d.ts.map +1 -0
- package/dist/lifecycle/handlers/execution-context-builder.js +16 -0
- package/dist/lifecycle/handlers/execution-context-builder.js.map +1 -0
- package/dist/lifecycle/handlers/git-commit-handler.d.ts +19 -0
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/git-commit-handler.js +52 -0
- package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -0
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts +19 -0
- package/dist/lifecycle/handlers/prepare-execution-context-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js +38 -0
- package/dist/lifecycle/handlers/prepare-execution-context-handler.js.map +1 -0
- package/dist/lifecycle/handlers/quality-chain-handlers.d.ts +22 -0
- package/dist/lifecycle/handlers/quality-chain-handlers.d.ts.map +1 -0
- package/dist/lifecycle/handlers/quality-chain-handlers.js +189 -0
- package/dist/lifecycle/handlers/quality-chain-handlers.js.map +1 -0
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts +3 -0
- package/dist/lifecycle/handlers/register-context-block-handlers.d.ts.map +1 -0
- package/dist/lifecycle/handlers/register-context-block-handlers.js +18 -0
- package/dist/lifecycle/handlers/register-context-block-handlers.js.map +1 -0
- package/dist/lifecycle/handlers/review-diff-handler.d.ts +31 -0
- package/dist/lifecycle/handlers/review-diff-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/review-diff-handler.js +107 -0
- package/dist/lifecycle/handlers/review-diff-handler.js.map +1 -0
- package/dist/lifecycle/handlers/run-verify-command-handler.d.ts +25 -0
- package/dist/lifecycle/handlers/run-verify-command-handler.d.ts.map +1 -0
- package/dist/lifecycle/handlers/run-verify-command-handler.js +75 -0
- package/dist/lifecycle/handlers/run-verify-command-handler.js.map +1 -0
- package/dist/lifecycle/handlers/spec-chain-handlers.d.ts +21 -0
- package/dist/lifecycle/handlers/spec-chain-handlers.d.ts.map +1 -0
- package/dist/lifecycle/handlers/spec-chain-handlers.js +158 -0
- package/dist/lifecycle/handlers/spec-chain-handlers.js.map +1 -0
- package/dist/lifecycle/handlers/task-executor.d.ts +10 -0
- package/dist/lifecycle/handlers/task-executor.d.ts.map +1 -0
- package/dist/lifecycle/handlers/task-executor.js +16 -0
- package/dist/lifecycle/handlers/task-executor.js.map +1 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts +6 -0
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -0
- package/dist/lifecycle/handlers/terminal-handlers.js +106 -0
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -0
- package/dist/lifecycle/handlers/verify-stage.d.ts +37 -0
- package/dist/lifecycle/handlers/verify-stage.d.ts.map +1 -0
- package/dist/lifecycle/handlers/verify-stage.js +208 -0
- package/dist/lifecycle/handlers/verify-stage.js.map +1 -0
- package/dist/lifecycle/index.d.ts +3 -0
- package/dist/lifecycle/index.d.ts.map +1 -0
- package/dist/lifecycle/index.js +4 -0
- package/dist/lifecycle/index.js.map +1 -0
- package/dist/lifecycle/lifecycle-context.d.ts +98 -0
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-context.js +2 -0
- package/dist/lifecycle/lifecycle-context.js.map +1 -0
- package/dist/lifecycle/lifecycle-dispatcher.d.ts +36 -0
- package/dist/lifecycle/lifecycle-dispatcher.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-dispatcher.js +51 -0
- package/dist/lifecycle/lifecycle-dispatcher.js.map +1 -0
- package/dist/lifecycle/lifecycle-driver.d.ts +9 -0
- package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-driver.js +30 -0
- package/dist/lifecycle/lifecycle-driver.js.map +1 -0
- package/dist/lifecycle/metadata-repair.d.ts.map +1 -0
- package/dist/lifecycle/metadata-repair.js +33 -0
- package/dist/lifecycle/metadata-repair.js.map +1 -0
- package/dist/lifecycle/plan-extraction.d.ts.map +1 -0
- package/dist/lifecycle/plan-extraction.js.map +1 -0
- package/dist/lifecycle/shared-compute.d.ts +5 -0
- package/dist/lifecycle/shared-compute.d.ts.map +1 -0
- package/dist/lifecycle/shared-compute.js +19 -0
- package/dist/lifecycle/shared-compute.js.map +1 -0
- package/dist/lifecycle/stage-idle-tracker.d.ts.map +1 -0
- package/dist/lifecycle/stage-idle-tracker.js.map +1 -0
- package/dist/lifecycle/stage-plan-builder.d.ts +4 -0
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -0
- package/dist/lifecycle/stage-plan-builder.js +173 -0
- package/dist/lifecycle/stage-plan-builder.js.map +1 -0
- package/dist/lifecycle/stage-plan-types.d.ts +102 -0
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -0
- package/dist/lifecycle/stage-plan-types.js +2 -0
- package/dist/lifecycle/stage-plan-types.js.map +1 -0
- package/dist/lifecycle/stage-stats.d.ts +88 -0
- package/dist/lifecycle/stage-stats.d.ts.map +1 -0
- package/dist/lifecycle/stage-stats.js +156 -0
- package/dist/lifecycle/stage-stats.js.map +1 -0
- package/dist/lifecycle/task-completion-summary.d.ts.map +1 -0
- package/dist/lifecycle/task-completion-summary.js +93 -0
- package/dist/lifecycle/task-completion-summary.js.map +1 -0
- package/dist/lifecycle/task-executor.d.ts +24 -0
- package/dist/lifecycle/task-executor.d.ts.map +1 -0
- package/dist/lifecycle/task-executor.js +207 -0
- package/dist/lifecycle/task-executor.js.map +1 -0
- package/dist/lifecycle/task-runner.d.ts +79 -0
- package/dist/lifecycle/task-runner.d.ts.map +1 -0
- package/dist/lifecycle/task-runner.js +254 -0
- package/dist/lifecycle/task-runner.js.map +1 -0
- package/dist/lifecycle/tool-config-types.d.ts +27 -0
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -0
- package/dist/lifecycle/tool-config-types.js +2 -0
- package/dist/lifecycle/tool-config-types.js.map +1 -0
- package/dist/lifecycle/worker-status.d.ts +9 -0
- package/dist/lifecycle/worker-status.d.ts.map +1 -0
- package/dist/lifecycle/worker-status.js +19 -0
- package/dist/lifecycle/worker-status.js.map +1 -0
- package/dist/model-profiles.json +607 -125
- package/dist/providers/anthropic-messages-adapter.d.ts +18 -0
- package/dist/providers/anthropic-messages-adapter.d.ts.map +1 -0
- package/dist/providers/anthropic-messages-adapter.js +81 -0
- package/dist/providers/anthropic-messages-adapter.js.map +1 -0
- package/dist/providers/base/research-tools.d.ts.map +1 -0
- package/dist/providers/base/research-tools.js.map +1 -0
- package/dist/providers/base/result-builders.d.ts +82 -0
- package/dist/providers/base/result-builders.d.ts.map +1 -0
- package/dist/providers/base/result-builders.js +112 -0
- package/dist/providers/base/result-builders.js.map +1 -0
- package/dist/providers/base/time-check.d.ts.map +1 -0
- package/dist/providers/base/time-check.js.map +1 -0
- package/dist/providers/base/types.d.ts +53 -0
- package/dist/providers/base/types.d.ts.map +1 -0
- package/dist/providers/base/types.js.map +1 -0
- package/dist/providers/base/usage-accumulator.d.ts +9 -0
- package/dist/providers/base/usage-accumulator.d.ts.map +1 -0
- package/dist/providers/base/usage-accumulator.js +20 -0
- package/dist/providers/base/usage-accumulator.js.map +1 -0
- package/dist/providers/call-cache.d.ts.map +1 -0
- package/dist/providers/call-cache.js.map +1 -0
- package/dist/providers/error-classification.d.ts +49 -0
- package/dist/providers/error-classification.d.ts.map +1 -0
- package/dist/providers/error-classification.js +140 -0
- package/dist/providers/error-classification.js.map +1 -0
- package/dist/providers/file-tracker.d.ts +47 -0
- package/dist/providers/file-tracker.d.ts.map +1 -0
- package/dist/providers/file-tracker.js +71 -0
- package/dist/providers/file-tracker.js.map +1 -0
- package/dist/providers/index.d.ts +16 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +17 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/injection-type.d.ts.map +1 -0
- package/dist/providers/injection-type.js.map +1 -0
- package/dist/providers/make-runner-shell.d.ts +4 -0
- package/dist/providers/make-runner-shell.d.ts.map +1 -0
- package/dist/providers/make-runner-shell.js +69 -0
- package/dist/providers/make-runner-shell.js.map +1 -0
- package/dist/providers/openai-chat-adapter.d.ts +17 -0
- package/dist/providers/openai-chat-adapter.d.ts.map +1 -0
- package/dist/providers/openai-chat-adapter.js +87 -0
- package/dist/providers/openai-chat-adapter.js.map +1 -0
- package/dist/providers/openai-responses-adapter.d.ts +16 -0
- package/dist/providers/openai-responses-adapter.d.ts.map +1 -0
- package/dist/providers/openai-responses-adapter.js +109 -0
- package/dist/providers/openai-responses-adapter.js.map +1 -0
- package/dist/providers/openai-usage-interceptor.d.ts.map +1 -0
- package/dist/providers/openai-usage-interceptor.js +121 -0
- package/dist/providers/openai-usage-interceptor.js.map +1 -0
- package/dist/providers/prevention.d.ts.map +1 -0
- package/dist/providers/prevention.js +108 -0
- package/dist/providers/prevention.js.map +1 -0
- package/dist/providers/provider-factory.d.ts +13 -0
- package/dist/providers/provider-factory.d.ts.map +1 -0
- package/dist/providers/provider-factory.js +127 -0
- package/dist/providers/provider-factory.js.map +1 -0
- package/dist/providers/runner-adapter.d.ts +42 -0
- package/dist/providers/runner-adapter.d.ts.map +1 -0
- package/dist/providers/runner-adapter.js +2 -0
- package/dist/providers/runner-adapter.js.map +1 -0
- package/dist/providers/runner-shell-types.d.ts +37 -0
- package/dist/providers/runner-shell-types.d.ts.map +1 -0
- package/dist/providers/runner-shell-types.js +2 -0
- package/dist/providers/runner-shell-types.js.map +1 -0
- package/dist/providers/runner-shell.d.ts +8 -0
- package/dist/providers/runner-shell.d.ts.map +1 -0
- package/dist/providers/runner-shell.js +78 -0
- package/dist/providers/runner-shell.js.map +1 -0
- package/dist/providers/runner-types.d.ts +174 -0
- package/dist/providers/runner-types.d.ts.map +1 -0
- package/dist/providers/runner-types.js +2 -0
- package/dist/providers/runner-types.js.map +1 -0
- package/dist/providers/scratchpad-salvager.d.ts +19 -0
- package/dist/providers/scratchpad-salvager.d.ts.map +1 -0
- package/dist/providers/scratchpad-salvager.js +44 -0
- package/dist/providers/scratchpad-salvager.js.map +1 -0
- package/dist/providers/stall-detector.d.ts +22 -0
- package/dist/providers/stall-detector.d.ts.map +1 -0
- package/dist/providers/stall-detector.js +43 -0
- package/dist/providers/stall-detector.js.map +1 -0
- package/dist/providers/supervision.d.ts +108 -0
- package/dist/providers/supervision.d.ts.map +1 -0
- package/dist/providers/supervision.js +272 -0
- package/dist/providers/supervision.js.map +1 -0
- package/dist/providers/text-scratchpad.d.ts +28 -0
- package/dist/providers/text-scratchpad.d.ts.map +1 -0
- package/dist/providers/text-scratchpad.js +49 -0
- package/dist/providers/text-scratchpad.js.map +1 -0
- package/dist/providers/tool-definitions.d.ts +6 -0
- package/dist/providers/tool-definitions.d.ts.map +1 -0
- package/dist/providers/tool-definitions.js +236 -0
- package/dist/providers/tool-definitions.js.map +1 -0
- package/dist/providers/tool-implementations.d.ts +26 -0
- package/dist/providers/tool-implementations.d.ts.map +1 -0
- package/dist/providers/tool-implementations.js +221 -0
- package/dist/providers/tool-implementations.js.map +1 -0
- package/dist/providers/tool-tracker.d.ts +14 -0
- package/dist/providers/tool-tracker.d.ts.map +1 -0
- package/dist/providers/tool-tracker.js +13 -0
- package/dist/providers/tool-tracker.js.map +1 -0
- package/dist/reporting/batch-persister.d.ts +4 -0
- package/dist/reporting/batch-persister.d.ts.map +1 -0
- package/dist/reporting/batch-persister.js +11 -0
- package/dist/reporting/batch-persister.js.map +1 -0
- package/dist/reporting/commit-stage-runner.d.ts +12 -0
- package/dist/reporting/commit-stage-runner.d.ts.map +1 -0
- package/dist/reporting/commit-stage-runner.js +43 -0
- package/dist/reporting/commit-stage-runner.js.map +1 -0
- package/dist/reporting/compose-terminal-headline.d.ts +0 -1
- package/dist/reporting/compose-terminal-headline.d.ts.map +1 -1
- package/dist/reporting/compose-terminal-headline.js +2 -5
- package/dist/reporting/compose-terminal-headline.js.map +1 -1
- package/dist/reporting/derive-explore-status.d.ts +1 -1
- package/dist/reporting/derive-explore-status.d.ts.map +1 -1
- package/dist/reporting/derive-explore-status.js +2 -6
- package/dist/reporting/derive-explore-status.js.map +1 -1
- package/dist/reporting/derive-investigate-status.d.ts +2 -4
- package/dist/reporting/derive-investigate-status.d.ts.map +1 -1
- package/dist/reporting/derive-investigate-status.js +3 -10
- package/dist/reporting/derive-investigate-status.js.map +1 -1
- package/dist/reporting/headline-composer.d.ts +17 -0
- package/dist/reporting/headline-composer.d.ts.map +1 -0
- package/dist/reporting/headline-composer.js +10 -0
- package/dist/reporting/headline-composer.js.map +1 -0
- package/dist/reporting/headline-templates/audit.d.ts +3 -0
- package/dist/reporting/headline-templates/audit.d.ts.map +1 -0
- package/dist/reporting/headline-templates/audit.js +12 -0
- package/dist/reporting/headline-templates/audit.js.map +1 -0
- package/dist/reporting/headline-templates/debug.d.ts +8 -0
- package/dist/reporting/headline-templates/debug.d.ts.map +1 -0
- package/dist/reporting/headline-templates/debug.js +15 -0
- package/dist/reporting/headline-templates/debug.js.map +1 -0
- package/dist/reporting/headline-templates/delegate.d.ts +3 -0
- package/dist/reporting/headline-templates/delegate.d.ts.map +1 -0
- package/dist/reporting/headline-templates/delegate.js +12 -0
- package/dist/reporting/headline-templates/delegate.js.map +1 -0
- package/dist/reporting/headline-templates/execute-plan.d.ts +3 -0
- package/dist/reporting/headline-templates/execute-plan.d.ts.map +1 -0
- package/dist/reporting/headline-templates/execute-plan.js +14 -0
- package/dist/reporting/headline-templates/execute-plan.js.map +1 -0
- package/dist/reporting/headline-templates/explore.d.ts +3 -0
- package/dist/reporting/headline-templates/explore.d.ts.map +1 -0
- package/dist/reporting/headline-templates/explore.js +13 -0
- package/dist/reporting/headline-templates/explore.js.map +1 -0
- package/dist/reporting/headline-templates/investigate.d.ts +13 -0
- package/dist/reporting/headline-templates/investigate.d.ts.map +1 -0
- package/dist/reporting/headline-templates/investigate.js +53 -0
- package/dist/reporting/headline-templates/investigate.js.map +1 -0
- package/dist/reporting/headline-templates/register-context-block.d.ts +3 -0
- package/dist/reporting/headline-templates/register-context-block.d.ts.map +1 -0
- package/dist/reporting/headline-templates/register-context-block.js +6 -0
- package/dist/reporting/headline-templates/register-context-block.js.map +1 -0
- package/dist/reporting/headline-templates/retry.d.ts +3 -0
- package/dist/reporting/headline-templates/retry.d.ts.map +1 -0
- package/dist/reporting/headline-templates/retry.js +9 -0
- package/dist/reporting/headline-templates/retry.js.map +1 -0
- package/dist/reporting/headline-templates/review.d.ts +3 -0
- package/dist/reporting/headline-templates/review.d.ts.map +1 -0
- package/dist/reporting/headline-templates/review.js +15 -0
- package/dist/reporting/headline-templates/review.js.map +1 -0
- package/dist/reporting/headline-templates/verify.d.ts +3 -0
- package/dist/reporting/headline-templates/verify.d.ts.map +1 -0
- package/dist/reporting/headline-templates/verify.js +12 -0
- package/dist/reporting/headline-templates/verify.js.map +1 -0
- package/dist/reporting/index.d.ts +9 -0
- package/dist/reporting/index.d.ts.map +1 -0
- package/dist/reporting/index.js +10 -0
- package/dist/reporting/index.js.map +1 -0
- package/dist/reporting/report-parser-slots/audit-report.d.ts +13 -0
- package/dist/reporting/report-parser-slots/audit-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/audit-report.js +9 -0
- package/dist/reporting/report-parser-slots/audit-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/debug-report.d.ts +9 -0
- package/dist/reporting/report-parser-slots/debug-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/debug-report.js +9 -0
- package/dist/reporting/report-parser-slots/debug-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/delegate-report.d.ts +8 -0
- package/dist/reporting/report-parser-slots/delegate-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/delegate-report.js +19 -0
- package/dist/reporting/report-parser-slots/delegate-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts +11 -0
- package/dist/reporting/report-parser-slots/execute-plan-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/execute-plan-report.js +9 -0
- package/dist/reporting/report-parser-slots/execute-plan-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/explore-report.d.ts +17 -0
- package/dist/reporting/report-parser-slots/explore-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/explore-report.js +9 -0
- package/dist/reporting/report-parser-slots/explore-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/investigate-report.d.ts +46 -0
- package/dist/reporting/report-parser-slots/investigate-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/investigate-report.js +159 -0
- package/dist/reporting/report-parser-slots/investigate-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/register-context-block-report.d.ts +8 -0
- package/dist/reporting/report-parser-slots/register-context-block-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/register-context-block-report.js +9 -0
- package/dist/reporting/report-parser-slots/register-context-block-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/retry-report.d.ts +8 -0
- package/dist/reporting/report-parser-slots/retry-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/retry-report.js +9 -0
- package/dist/reporting/report-parser-slots/retry-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/review-report.d.ts +14 -0
- package/dist/reporting/report-parser-slots/review-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/review-report.js +9 -0
- package/dist/reporting/report-parser-slots/review-report.js.map +1 -0
- package/dist/reporting/report-parser-slots/verify-report.d.ts +10 -0
- package/dist/reporting/report-parser-slots/verify-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/verify-report.js +9 -0
- package/dist/reporting/report-parser-slots/verify-report.js.map +1 -0
- package/dist/reporting/response-envelope-builder.d.ts +32 -0
- package/dist/reporting/response-envelope-builder.d.ts.map +1 -0
- package/dist/reporting/response-envelope-builder.js +26 -0
- package/dist/reporting/response-envelope-builder.js.map +1 -0
- package/dist/reporting/structured-report-parser.d.ts +9 -0
- package/dist/reporting/structured-report-parser.d.ts.map +1 -0
- package/dist/reporting/structured-report-parser.js +8 -0
- package/dist/reporting/structured-report-parser.js.map +1 -0
- package/dist/reporting/structured-report.js +1 -1
- package/dist/reporting/terminal-block-registrar.d.ts +14 -0
- package/dist/reporting/terminal-block-registrar.d.ts.map +1 -0
- package/dist/reporting/terminal-block-registrar.js +17 -0
- package/dist/reporting/terminal-block-registrar.js.map +1 -0
- package/dist/reporting/terminal-status-deriver.d.ts +22 -0
- package/dist/reporting/terminal-status-deriver.d.ts.map +1 -0
- package/dist/reporting/terminal-status-deriver.js +38 -0
- package/dist/reporting/terminal-status-deriver.js.map +1 -0
- package/dist/reporting/verify-stage-runner.d.ts +21 -0
- package/dist/reporting/verify-stage-runner.d.ts.map +1 -0
- package/dist/reporting/verify-stage-runner.js +102 -0
- package/dist/reporting/verify-stage-runner.js.map +1 -0
- package/dist/research/explore-orchestrator.d.ts +14 -0
- package/dist/research/explore-orchestrator.d.ts.map +1 -0
- package/dist/research/explore-orchestrator.js +363 -0
- package/dist/research/explore-orchestrator.js.map +1 -0
- package/dist/research/index.d.ts +3 -0
- package/dist/research/index.d.ts.map +1 -0
- package/dist/research/index.js +4 -0
- package/dist/research/index.js.map +1 -0
- package/dist/research/web-fetch-helpers.d.ts +48 -0
- package/dist/research/web-fetch-helpers.d.ts.map +1 -0
- package/dist/research/web-fetch-helpers.js +225 -0
- package/dist/research/web-fetch-helpers.js.map +1 -0
- package/dist/research/web-fetch.d.ts.map +1 -1
- package/dist/research/web-fetch.js +1 -230
- package/dist/research/web-fetch.js.map +1 -1
- package/dist/review/annotator-engine.d.ts +30 -0
- package/dist/review/annotator-engine.d.ts.map +1 -0
- package/dist/review/annotator-engine.js +40 -0
- package/dist/review/annotator-engine.js.map +1 -0
- package/dist/review/annotator-output-parser.d.ts +13 -0
- package/dist/review/annotator-output-parser.d.ts.map +1 -0
- package/dist/review/annotator-output-parser.js +24 -0
- package/dist/review/annotator-output-parser.js.map +1 -0
- package/dist/review/annotator-prompt-builder.d.ts +9 -0
- package/dist/review/annotator-prompt-builder.d.ts.map +1 -0
- package/dist/review/annotator-prompt-builder.js +28 -0
- package/dist/review/annotator-prompt-builder.js.map +1 -0
- package/dist/review/default-engines.d.ts +5 -0
- package/dist/review/default-engines.d.ts.map +1 -0
- package/dist/review/default-engines.js +24 -0
- package/dist/review/default-engines.js.map +1 -0
- package/dist/review/index.d.ts +8 -0
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +9 -0
- package/dist/review/index.js.map +1 -0
- package/dist/review/review-types.d.ts +15 -0
- package/dist/review/review-types.d.ts.map +1 -0
- package/dist/review/review-types.js +3 -0
- package/dist/review/review-types.js.map +1 -0
- package/dist/review/review-verdict-aggregator.d.ts +17 -0
- package/dist/review/review-verdict-aggregator.d.ts.map +1 -0
- package/dist/review/review-verdict-aggregator.js +30 -0
- package/dist/review/review-verdict-aggregator.js.map +1 -0
- package/dist/review/review-verdict-mapping.d.ts +16 -0
- package/dist/review/review-verdict-mapping.d.ts.map +1 -0
- package/dist/review/review-verdict-mapping.js +24 -0
- package/dist/review/review-verdict-mapping.js.map +1 -0
- package/dist/review/reviewer-engine.d.ts +54 -0
- package/dist/review/reviewer-engine.d.ts.map +1 -0
- package/dist/review/reviewer-engine.js +58 -0
- package/dist/review/reviewer-engine.js.map +1 -0
- package/dist/review/reviewer-output-parser.d.ts +17 -0
- package/dist/review/reviewer-output-parser.d.ts.map +1 -0
- package/dist/review/reviewer-output-parser.js +62 -0
- package/dist/review/reviewer-output-parser.js.map +1 -0
- package/dist/review/reviewer-prompt-builder.d.ts +34 -0
- package/dist/review/reviewer-prompt-builder.d.ts.map +1 -0
- package/dist/review/reviewer-prompt-builder.js +28 -0
- package/dist/review/reviewer-prompt-builder.js.map +1 -0
- package/dist/review/templates/annotator-audit.d.ts +3 -0
- package/dist/review/templates/annotator-audit.d.ts.map +1 -0
- package/dist/review/templates/annotator-audit.js +5 -0
- package/dist/review/templates/annotator-audit.js.map +1 -0
- package/dist/review/templates/annotator-debug.d.ts +3 -0
- package/dist/review/templates/annotator-debug.d.ts.map +1 -0
- package/dist/review/templates/annotator-debug.js +5 -0
- package/dist/review/templates/annotator-debug.js.map +1 -0
- package/dist/review/templates/annotator-investigate.d.ts +3 -0
- package/dist/review/templates/annotator-investigate.d.ts.map +1 -0
- package/dist/review/templates/annotator-investigate.js +5 -0
- package/dist/review/templates/annotator-investigate.js.map +1 -0
- package/dist/review/templates/annotator-review.d.ts +3 -0
- package/dist/review/templates/annotator-review.d.ts.map +1 -0
- package/dist/review/templates/annotator-review.js +5 -0
- package/dist/review/templates/annotator-review.js.map +1 -0
- package/dist/review/templates/annotator-shared.d.ts +10 -0
- package/dist/review/templates/annotator-shared.d.ts.map +1 -0
- package/dist/review/templates/annotator-shared.js +62 -0
- package/dist/review/templates/annotator-shared.js.map +1 -0
- package/dist/review/templates/annotator-verify.d.ts +3 -0
- package/dist/review/templates/annotator-verify.d.ts.map +1 -0
- package/dist/review/templates/annotator-verify.js +5 -0
- package/dist/review/templates/annotator-verify.js.map +1 -0
- package/dist/review/templates/diff-review.d.ts +3 -0
- package/dist/review/templates/diff-review.d.ts.map +1 -0
- package/dist/review/templates/diff-review.js +7 -0
- package/dist/review/templates/diff-review.js.map +1 -0
- package/dist/review/templates/quality-review-artifact.d.ts +3 -0
- package/dist/review/templates/quality-review-artifact.d.ts.map +1 -0
- package/dist/review/templates/quality-review-artifact.js +8 -0
- package/dist/review/templates/quality-review-artifact.js.map +1 -0
- package/dist/review/templates/quality-review-audit.d.ts +3 -0
- package/dist/review/templates/quality-review-audit.d.ts.map +1 -0
- package/dist/review/templates/quality-review-audit.js +9 -0
- package/dist/review/templates/quality-review-audit.js.map +1 -0
- package/dist/review/templates/quality-review-debug.d.ts +3 -0
- package/dist/review/templates/quality-review-debug.d.ts.map +1 -0
- package/dist/review/templates/quality-review-debug.js +9 -0
- package/dist/review/templates/quality-review-debug.js.map +1 -0
- package/dist/review/templates/quality-review-investigate.d.ts +3 -0
- package/dist/review/templates/quality-review-investigate.d.ts.map +1 -0
- package/dist/review/templates/quality-review-investigate.js +9 -0
- package/dist/review/templates/quality-review-investigate.js.map +1 -0
- package/dist/review/templates/quality-review-review.d.ts +3 -0
- package/dist/review/templates/quality-review-review.d.ts.map +1 -0
- package/dist/review/templates/quality-review-review.js +9 -0
- package/dist/review/templates/quality-review-review.js.map +1 -0
- package/dist/review/templates/quality-review-verify.d.ts +3 -0
- package/dist/review/templates/quality-review-verify.d.ts.map +1 -0
- package/dist/review/templates/quality-review-verify.js +9 -0
- package/dist/review/templates/quality-review-verify.js.map +1 -0
- package/dist/review/templates/shared.d.ts +9 -0
- package/dist/review/templates/shared.d.ts.map +1 -0
- package/dist/review/templates/shared.js +2 -0
- package/dist/review/templates/shared.js.map +1 -0
- package/dist/review/templates/spec-review.d.ts +3 -0
- package/dist/review/templates/spec-review.d.ts.map +1 -0
- package/dist/review/templates/spec-review.js +8 -0
- package/dist/review/templates/spec-review.js.map +1 -0
- package/dist/stores/batch-cache.d.ts +29 -0
- package/dist/stores/batch-cache.d.ts.map +1 -0
- package/dist/stores/batch-cache.js +89 -0
- package/dist/stores/batch-cache.js.map +1 -0
- package/dist/stores/batch-registry.d.ts +101 -0
- package/dist/stores/batch-registry.d.ts.map +1 -0
- package/dist/stores/batch-registry.js +171 -0
- package/dist/stores/batch-registry.js.map +1 -0
- package/dist/stores/context-block-tool.d.ts +92 -0
- package/dist/stores/context-block-tool.d.ts.map +1 -0
- package/dist/stores/context-block-tool.js +137 -0
- package/dist/stores/context-block-tool.js.map +1 -0
- package/dist/stores/expand-context-blocks.d.ts +20 -0
- package/dist/stores/expand-context-blocks.d.ts.map +1 -0
- package/dist/stores/expand-context-blocks.js +46 -0
- package/dist/stores/expand-context-blocks.js.map +1 -0
- package/dist/stores/index.d.ts +4 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/index.js +5 -0
- package/dist/stores/index.js.map +1 -0
- package/dist/stores/project-context-registry.d.ts +17 -0
- package/dist/stores/project-context-registry.d.ts.map +1 -0
- package/dist/stores/project-context-registry.js +16 -0
- package/dist/stores/project-context-registry.js.map +1 -0
- package/dist/tool-surface/discover.d.ts +27 -0
- package/dist/tool-surface/discover.d.ts.map +1 -0
- package/dist/tool-surface/discover.js +87 -0
- package/dist/tool-surface/discover.js.map +1 -0
- package/dist/tool-surface/include-utils.d.ts +27 -0
- package/dist/tool-surface/include-utils.d.ts.map +1 -0
- package/dist/tool-surface/include-utils.js +90 -0
- package/dist/tool-surface/include-utils.js.map +1 -0
- package/dist/tool-surface/index.d.ts +6 -0
- package/dist/tool-surface/index.d.ts.map +1 -0
- package/dist/tool-surface/index.js +7 -0
- package/dist/tool-surface/index.js.map +1 -0
- package/dist/tool-surface/manifest.d.ts +94 -0
- package/dist/tool-surface/manifest.d.ts.map +1 -0
- package/dist/tool-surface/manifest.js +234 -0
- package/dist/tool-surface/manifest.js.map +1 -0
- package/dist/tool-surface/openapi-generator.d.ts +15 -0
- package/dist/tool-surface/openapi-generator.d.ts.map +1 -0
- package/dist/tool-surface/openapi-generator.js +261 -0
- package/dist/tool-surface/openapi-generator.js.map +1 -0
- package/dist/tool-surface/register-all-tools.d.ts +4 -0
- package/dist/tool-surface/register-all-tools.d.ts.map +1 -0
- package/dist/tool-surface/register-all-tools.js +33 -0
- package/dist/tool-surface/register-all-tools.js.map +1 -0
- package/dist/tool-surface/skill-installer-common.d.ts +48 -0
- package/dist/tool-surface/skill-installer-common.d.ts.map +1 -0
- package/dist/tool-surface/skill-installer-common.js +195 -0
- package/dist/tool-surface/skill-installer-common.js.map +1 -0
- package/dist/tool-surface/skill-installer.d.ts +10 -0
- package/dist/tool-surface/skill-installer.d.ts.map +1 -0
- package/dist/tool-surface/skill-installer.js +20 -0
- package/dist/tool-surface/skill-installer.js.map +1 -0
- package/dist/tool-surface/skill-installers/claude-code.d.ts +43 -0
- package/dist/tool-surface/skill-installers/claude-code.d.ts.map +1 -0
- package/dist/tool-surface/skill-installers/claude-code.js +65 -0
- package/dist/tool-surface/skill-installers/claude-code.js.map +1 -0
- package/dist/tool-surface/skill-installers/codex-cli.d.ts +27 -0
- package/dist/tool-surface/skill-installers/codex-cli.d.ts.map +1 -0
- package/dist/tool-surface/skill-installers/codex-cli.js +84 -0
- package/dist/tool-surface/skill-installers/codex-cli.js.map +1 -0
- package/dist/tool-surface/skill-installers/cursor.d.ts +72 -0
- package/dist/tool-surface/skill-installers/cursor.d.ts.map +1 -0
- package/dist/tool-surface/skill-installers/cursor.js +81 -0
- package/dist/tool-surface/skill-installers/cursor.js.map +1 -0
- package/dist/tool-surface/skill-installers/gemini-cli.d.ts +66 -0
- package/dist/tool-surface/skill-installers/gemini-cli.d.ts.map +1 -0
- package/dist/tool-surface/skill-installers/gemini-cli.js +111 -0
- package/dist/tool-surface/skill-installers/gemini-cli.js.map +1 -0
- package/dist/tool-surface/skill-manifest-sync.d.ts +11 -0
- package/dist/tool-surface/skill-manifest-sync.d.ts.map +1 -0
- package/dist/tool-surface/skill-manifest-sync.js +65 -0
- package/dist/tool-surface/skill-manifest-sync.js.map +1 -0
- package/dist/tool-surface/tool-surface-registry.d.ts +34 -0
- package/dist/tool-surface/tool-surface-registry.d.ts.map +1 -0
- package/dist/tool-surface/tool-surface-registry.js +23 -0
- package/dist/tool-surface/tool-surface-registry.js.map +1 -0
- package/dist/tools/audit/schema.d.ts +67 -0
- package/dist/tools/audit/schema.d.ts.map +1 -0
- package/dist/tools/audit/schema.js +19 -0
- package/dist/tools/audit/schema.js.map +1 -0
- package/dist/tools/audit/tool-config.d.ts +17 -0
- package/dist/tools/audit/tool-config.d.ts.map +1 -0
- package/dist/tools/audit/tool-config.js +144 -0
- package/dist/tools/audit/tool-config.js.map +1 -0
- package/dist/tools/debug/schema.d.ts +57 -0
- package/dist/tools/debug/schema.d.ts.map +1 -0
- package/dist/tools/debug/schema.js +16 -0
- package/dist/tools/debug/schema.js.map +1 -0
- package/dist/tools/debug/tool-config.d.ts +7 -0
- package/dist/tools/debug/tool-config.d.ts.map +1 -0
- package/dist/tools/debug/tool-config.js +79 -0
- package/dist/tools/debug/tool-config.js.map +1 -0
- package/dist/tools/delegate/schema.d.ts +70 -0
- package/dist/tools/delegate/schema.d.ts.map +1 -0
- package/dist/tools/delegate/schema.js +18 -0
- package/dist/tools/delegate/schema.js.map +1 -0
- package/dist/tools/delegate/tool-config.d.ts +17 -0
- package/dist/tools/delegate/tool-config.d.ts.map +1 -0
- package/dist/tools/delegate/tool-config.js +56 -0
- package/dist/tools/delegate/tool-config.js.map +1 -0
- package/dist/tools/execute-plan/schema.d.ts +66 -0
- package/dist/tools/execute-plan/schema.d.ts.map +1 -0
- package/dist/tools/execute-plan/schema.js +34 -0
- package/dist/tools/execute-plan/schema.js.map +1 -0
- package/dist/tools/execute-plan/tool-config.d.ts +21 -0
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -0
- package/dist/tools/execute-plan/tool-config.js +76 -0
- package/dist/tools/execute-plan/tool-config.js.map +1 -0
- package/dist/tools/explore/schema.d.ts +9 -0
- package/dist/tools/explore/schema.d.ts.map +1 -0
- package/dist/tools/explore/schema.js +64 -0
- package/dist/tools/explore/schema.js.map +1 -0
- package/dist/tools/explore/tool-config.d.ts +7 -0
- package/dist/tools/explore/tool-config.d.ts.map +1 -0
- package/dist/tools/explore/tool-config.js +36 -0
- package/dist/tools/explore/tool-config.js.map +1 -0
- package/dist/tools/index.d.ts +11 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +16 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/investigate/schema.d.ts +59 -0
- package/dist/tools/investigate/schema.d.ts.map +1 -0
- package/dist/tools/investigate/schema.js +12 -0
- package/dist/tools/investigate/schema.js.map +1 -0
- package/dist/tools/investigate/tool-config.d.ts +23 -0
- package/dist/tools/investigate/tool-config.d.ts.map +1 -0
- package/dist/tools/investigate/tool-config.js +93 -0
- package/dist/tools/investigate/tool-config.js.map +1 -0
- package/dist/tools/register-context-block/schema.d.ts +8 -0
- package/dist/tools/register-context-block/schema.d.ts.map +1 -0
- package/dist/tools/register-context-block/schema.js +7 -0
- package/dist/tools/register-context-block/schema.js.map +1 -0
- package/dist/tools/register-context-block/tool-config.d.ts +6 -0
- package/dist/tools/register-context-block/tool-config.d.ts.map +1 -0
- package/dist/tools/register-context-block/tool-config.js +38 -0
- package/dist/tools/register-context-block/tool-config.js.map +1 -0
- package/dist/tools/retry/schema.d.ts +54 -0
- package/dist/tools/retry/schema.d.ts.map +1 -0
- package/dist/tools/retry/schema.js +12 -0
- package/dist/tools/retry/schema.js.map +1 -0
- package/dist/tools/retry/tool-config.d.ts +11 -0
- package/dist/tools/retry/tool-config.d.ts.map +1 -0
- package/dist/tools/retry/tool-config.js +60 -0
- package/dist/tools/retry/tool-config.js.map +1 -0
- package/dist/tools/review/schema.d.ts +61 -0
- package/dist/tools/review/schema.d.ts.map +1 -0
- package/dist/tools/review/schema.js +16 -0
- package/dist/tools/review/schema.js.map +1 -0
- package/dist/tools/review/tool-config.d.ts +7 -0
- package/dist/tools/review/tool-config.d.ts.map +1 -0
- package/dist/tools/review/tool-config.js +85 -0
- package/dist/tools/review/tool-config.js.map +1 -0
- package/dist/tools/shared-output.d.ts +56 -0
- package/dist/tools/shared-output.d.ts.map +1 -0
- package/dist/tools/shared-output.js +33 -0
- package/dist/tools/shared-output.js.map +1 -0
- package/dist/tools/verify/schema.d.ts +56 -0
- package/dist/tools/verify/schema.d.ts.map +1 -0
- package/dist/tools/verify/schema.js +16 -0
- package/dist/tools/verify/schema.js.map +1 -0
- package/dist/tools/verify/tool-config.d.ts +14 -0
- package/dist/tools/verify/tool-config.d.ts.map +1 -0
- package/dist/tools/verify/tool-config.js +112 -0
- package/dist/tools/verify/tool-config.js.map +1 -0
- package/dist/transport/http-listener.d.ts +37 -0
- package/dist/transport/http-listener.d.ts.map +1 -0
- package/dist/transport/http-listener.js +50 -0
- package/dist/transport/http-listener.js.map +1 -0
- package/dist/transport/index.d.ts +4 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/index.js +4 -0
- package/dist/transport/index.js.map +1 -0
- package/dist/transport/loopback-enforcer.d.ts +29 -0
- package/dist/transport/loopback-enforcer.d.ts.map +1 -0
- package/dist/transport/loopback-enforcer.js +71 -0
- package/dist/transport/loopback-enforcer.js.map +1 -0
- package/dist/transport/route-dispatcher.d.ts +34 -0
- package/dist/transport/route-dispatcher.d.ts.map +1 -0
- package/dist/transport/route-dispatcher.js +62 -0
- package/dist/transport/route-dispatcher.js.map +1 -0
- package/dist/types/config.d.ts +138 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +2 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/enums.d.ts +168 -0
- package/dist/types/enums.d.ts.map +1 -0
- package/dist/types/enums.js +113 -0
- package/dist/types/enums.js.map +1 -0
- package/dist/types/run-result.d.ts +130 -0
- package/dist/types/run-result.d.ts.map +1 -0
- package/dist/types/run-result.js +2 -0
- package/dist/types/run-result.js.map +1 -0
- package/dist/types/stage-stats.d.ts +85 -0
- package/dist/types/stage-stats.d.ts.map +1 -0
- package/dist/types/stage-stats.js +6 -0
- package/dist/types/stage-stats.js.map +1 -0
- package/dist/types/task-spec.d.ts +48 -0
- package/dist/types/task-spec.d.ts.map +1 -0
- package/dist/types/task-spec.js +2 -0
- package/dist/types/task-spec.js.map +1 -0
- package/dist/types.d.ts +5 -405
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +5 -26
- package/dist/types.js.map +1 -1
- package/package.json +221 -204
- package/dist/auth/claude-oauth.d.ts +0 -6
- package/dist/auth/claude-oauth.d.ts.map +0 -1
- package/dist/auth/claude-oauth.js +0 -8
- package/dist/auth/claude-oauth.js.map +0 -1
- package/dist/auth/codex-oauth.d.ts +0 -6
- package/dist/auth/codex-oauth.d.ts.map +0 -1
- package/dist/auth/codex-oauth.js +0 -50
- package/dist/auth/codex-oauth.js.map +0 -1
- package/dist/auto-commit.d.ts +0 -18
- package/dist/auto-commit.d.ts.map +0 -1
- package/dist/auto-commit.js.map +0 -1
- package/dist/batch-cache.d.ts +0 -27
- package/dist/batch-cache.d.ts.map +0 -1
- package/dist/batch-cache.js +0 -71
- package/dist/batch-cache.js.map +0 -1
- package/dist/batch-registry.d.ts +0 -85
- package/dist/batch-registry.d.ts.map +0 -1
- package/dist/batch-registry.js +0 -170
- package/dist/batch-registry.js.map +0 -1
- package/dist/config/read-only-review-flag.d.ts +0 -8
- package/dist/config/read-only-review-flag.d.ts.map +0 -1
- package/dist/config/read-only-review-flag.js +0 -14
- package/dist/config/read-only-review-flag.js.map +0 -1
- package/dist/context/context-block-store.d.ts +0 -85
- package/dist/context/context-block-store.d.ts.map +0 -1
- package/dist/context/context-block-store.js +0 -114
- package/dist/context/context-block-store.js.map +0 -1
- package/dist/context/expand-context-blocks.d.ts +0 -20
- package/dist/context/expand-context-blocks.d.ts.map +0 -1
- package/dist/context/expand-context-blocks.js +0 -46
- package/dist/context/expand-context-blocks.js.map +0 -1
- package/dist/cost/compute.d.ts +0 -33
- package/dist/cost/compute.d.ts.map +0 -1
- package/dist/cost/compute.js +0 -67
- package/dist/cost/compute.js.map +0 -1
- package/dist/cost/cost-meter.d.ts +0 -13
- package/dist/cost/cost-meter.d.ts.map +0 -1
- package/dist/cost/cost-meter.js +0 -20
- package/dist/cost/cost-meter.js.map +0 -1
- package/dist/cost/rollup.d.ts +0 -18
- package/dist/cost/rollup.d.ts.map +0 -1
- package/dist/cost/rollup.js +0 -43
- package/dist/cost/rollup.js.map +0 -1
- package/dist/delegate-with-escalation.d.ts +0 -28
- package/dist/delegate-with-escalation.d.ts.map +0 -1
- package/dist/delegate-with-escalation.js +0 -205
- package/dist/delegate-with-escalation.js.map +0 -1
- package/dist/diagnostics/http-server-log.d.ts +0 -63
- package/dist/diagnostics/http-server-log.d.ts.map +0 -1
- package/dist/diagnostics/http-server-log.js.map +0 -1
- package/dist/diagnostics/jsonl-writer.d.ts.map +0 -1
- package/dist/diagnostics/jsonl-writer.js.map +0 -1
- package/dist/diagnostics/request-spill.d.ts.map +0 -1
- package/dist/diagnostics/request-spill.js.map +0 -1
- package/dist/diagnostics/types.d.ts +0 -65
- package/dist/diagnostics/types.d.ts.map +0 -1
- package/dist/diagnostics/types.js.map +0 -1
- package/dist/diagnostics/verbose-line.d.ts.map +0 -1
- package/dist/diagnostics/verbose-line.js +0 -99
- package/dist/diagnostics/verbose-line.js.map +0 -1
- package/dist/effort-inference.d.ts +0 -7
- package/dist/effort-inference.d.ts.map +0 -1
- package/dist/effort-inference.js +0 -22
- package/dist/effort-inference.js.map +0 -1
- package/dist/executors/_shared/findings-schema.d.ts +0 -103
- package/dist/executors/_shared/findings-schema.d.ts.map +0 -1
- package/dist/executors/_shared/findings-schema.js +0 -73
- package/dist/executors/_shared/findings-schema.js.map +0 -1
- package/dist/executors/_shared/review-verdict-mapping.d.ts +0 -16
- package/dist/executors/_shared/review-verdict-mapping.d.ts.map +0 -1
- package/dist/executors/_shared/review-verdict-mapping.js +0 -24
- package/dist/executors/_shared/review-verdict-mapping.js.map +0 -1
- package/dist/executors/audit.d.ts +0 -7
- package/dist/executors/audit.d.ts.map +0 -1
- package/dist/executors/audit.js +0 -181
- package/dist/executors/audit.js.map +0 -1
- package/dist/executors/debug.d.ts +0 -7
- package/dist/executors/debug.d.ts.map +0 -1
- package/dist/executors/debug.js +0 -88
- package/dist/executors/debug.js.map +0 -1
- package/dist/executors/delegate.d.ts +0 -40
- package/dist/executors/delegate.d.ts.map +0 -1
- package/dist/executors/delegate.js +0 -151
- package/dist/executors/delegate.js.map +0 -1
- package/dist/executors/execute-plan.d.ts +0 -11
- package/dist/executors/execute-plan.d.ts.map +0 -1
- package/dist/executors/execute-plan.js +0 -160
- package/dist/executors/execute-plan.js.map +0 -1
- package/dist/executors/execution-context.d.ts +0 -3
- package/dist/executors/execution-context.d.ts.map +0 -1
- package/dist/executors/execution-context.js +0 -25
- package/dist/executors/execution-context.js.map +0 -1
- package/dist/executors/explore.d.ts +0 -13
- package/dist/executors/explore.d.ts.map +0 -1
- package/dist/executors/explore.js +0 -352
- package/dist/executors/explore.js.map +0 -1
- package/dist/executors/index.d.ts +0 -10
- package/dist/executors/index.d.ts.map +0 -1
- package/dist/executors/index.js +0 -11
- package/dist/executors/index.js.map +0 -1
- package/dist/executors/investigate.d.ts +0 -11
- package/dist/executors/investigate.d.ts.map +0 -1
- package/dist/executors/investigate.js +0 -131
- package/dist/executors/investigate.js.map +0 -1
- package/dist/executors/retry.d.ts +0 -20
- package/dist/executors/retry.d.ts.map +0 -1
- package/dist/executors/retry.js +0 -99
- package/dist/executors/retry.js.map +0 -1
- package/dist/executors/review.d.ts +0 -7
- package/dist/executors/review.d.ts.map +0 -1
- package/dist/executors/review.js +0 -152
- package/dist/executors/review.js.map +0 -1
- package/dist/executors/shared-compute.d.ts +0 -5
- package/dist/executors/shared-compute.d.ts.map +0 -1
- package/dist/executors/shared-compute.js +0 -19
- package/dist/executors/shared-compute.js.map +0 -1
- package/dist/executors/types.d.ts +0 -129
- package/dist/executors/types.d.ts.map +0 -1
- package/dist/executors/types.js.map +0 -1
- package/dist/executors/verify.d.ts +0 -7
- package/dist/executors/verify.d.ts.map +0 -1
- package/dist/executors/verify.js +0 -163
- package/dist/executors/verify.js.map +0 -1
- package/dist/file-artifact-check.d.ts.map +0 -1
- package/dist/file-artifact-check.js.map +0 -1
- package/dist/heartbeat.d.ts +0 -139
- package/dist/heartbeat.d.ts.map +0 -1
- package/dist/heartbeat.js +0 -401
- package/dist/heartbeat.js.map +0 -1
- package/dist/intake/clarification-store.d.ts +0 -23
- package/dist/intake/clarification-store.d.ts.map +0 -1
- package/dist/intake/clarification-store.js +0 -106
- package/dist/intake/clarification-store.js.map +0 -1
- package/dist/intake/compilers/audit.d.ts +0 -8
- package/dist/intake/compilers/audit.d.ts.map +0 -1
- package/dist/intake/compilers/audit.js +0 -50
- package/dist/intake/compilers/audit.js.map +0 -1
- package/dist/intake/compilers/debug.d.ts +0 -9
- package/dist/intake/compilers/debug.d.ts.map +0 -1
- package/dist/intake/compilers/debug.js +0 -32
- package/dist/intake/compilers/debug.js.map +0 -1
- package/dist/intake/compilers/delegate.d.ts +0 -16
- package/dist/intake/compilers/delegate.d.ts.map +0 -1
- package/dist/intake/compilers/delegate.js +0 -32
- package/dist/intake/compilers/delegate.js.map +0 -1
- package/dist/intake/compilers/execute-plan.d.ts +0 -14
- package/dist/intake/compilers/execute-plan.d.ts.map +0 -1
- package/dist/intake/compilers/execute-plan.js +0 -49
- package/dist/intake/compilers/execute-plan.js.map +0 -1
- package/dist/intake/compilers/explore.d.ts +0 -29
- package/dist/intake/compilers/explore.d.ts.map +0 -1
- package/dist/intake/compilers/explore.js +0 -108
- package/dist/intake/compilers/explore.js.map +0 -1
- package/dist/intake/compilers/investigate.d.ts +0 -12
- package/dist/intake/compilers/investigate.d.ts.map +0 -1
- package/dist/intake/compilers/investigate.js +0 -34
- package/dist/intake/compilers/investigate.js.map +0 -1
- package/dist/intake/compilers/review.d.ts +0 -9
- package/dist/intake/compilers/review.d.ts.map +0 -1
- package/dist/intake/compilers/review.js +0 -51
- package/dist/intake/compilers/review.js.map +0 -1
- package/dist/intake/compilers/verify.d.ts +0 -8
- package/dist/intake/compilers/verify.d.ts.map +0 -1
- package/dist/intake/compilers/verify.js +0 -52
- package/dist/intake/compilers/verify.js.map +0 -1
- package/dist/intake/confirm.d.ts +0 -7
- package/dist/intake/confirm.d.ts.map +0 -1
- package/dist/intake/confirm.js +0 -109
- package/dist/intake/confirm.js.map +0 -1
- package/dist/intake/feature-flag.d.ts +0 -6
- package/dist/intake/feature-flag.d.ts.map +0 -1
- package/dist/intake/feature-flag.js +0 -13
- package/dist/intake/feature-flag.js.map +0 -1
- package/dist/intake/force-clarification.d.ts +0 -5
- package/dist/intake/force-clarification.d.ts.map +0 -1
- package/dist/intake/force-clarification.js +0 -44
- package/dist/intake/force-clarification.js.map +0 -1
- package/dist/intake/infer.d.ts +0 -3
- package/dist/intake/infer.d.ts.map +0 -1
- package/dist/intake/infer.js +0 -42
- package/dist/intake/infer.js.map +0 -1
- package/dist/observability/buckets.d.ts +0 -3
- package/dist/observability/buckets.d.ts.map +0 -1
- package/dist/observability/buckets.js +0 -21
- package/dist/observability/buckets.js.map +0 -1
- package/dist/observability/bus.d.ts +0 -11
- package/dist/observability/bus.d.ts.map +0 -1
- package/dist/observability/bus.js +0 -37
- package/dist/observability/bus.js.map +0 -1
- package/dist/observability/events.d.ts +0 -1276
- package/dist/observability/events.d.ts.map +0 -1
- package/dist/observability/events.js +0 -476
- package/dist/observability/events.js.map +0 -1
- package/dist/observability/local-log-sink.d.ts +0 -10
- package/dist/observability/local-log-sink.d.ts.map +0 -1
- package/dist/observability/local-log-sink.js.map +0 -1
- package/dist/observability/telemetry-sink.d.ts +0 -12
- package/dist/observability/telemetry-sink.d.ts.map +0 -1
- package/dist/observability/telemetry-sink.js +0 -24
- package/dist/observability/telemetry-sink.js.map +0 -1
- package/dist/project-context.d.ts +0 -19
- package/dist/project-context.d.ts.map +0 -1
- package/dist/project-context.js +0 -18
- package/dist/project-context.js.map +0 -1
- package/dist/provider.d.ts +0 -5
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js +0 -127
- package/dist/provider.js.map +0 -1
- package/dist/readiness/readiness.d.ts +0 -14
- package/dist/readiness/readiness.d.ts.map +0 -1
- package/dist/readiness/readiness.js +0 -162
- package/dist/readiness/readiness.js.map +0 -1
- package/dist/reporting/compose-investigate-headline.d.ts +0 -11
- package/dist/reporting/compose-investigate-headline.d.ts.map +0 -1
- package/dist/reporting/compose-investigate-headline.js +0 -29
- package/dist/reporting/compose-investigate-headline.js.map +0 -1
- package/dist/reporting/parse-investigation-report.d.ts +0 -39
- package/dist/reporting/parse-investigation-report.d.ts.map +0 -1
- package/dist/reporting/parse-investigation-report.js +0 -150
- package/dist/reporting/parse-investigation-report.js.map +0 -1
- package/dist/research/allowlist.d.ts +0 -25
- package/dist/research/allowlist.d.ts.map +0 -1
- package/dist/research/allowlist.js +0 -102
- package/dist/research/allowlist.js.map +0 -1
- package/dist/review/aggregate-result.d.ts +0 -5
- package/dist/review/aggregate-result.d.ts.map +0 -1
- package/dist/review/aggregate-result.js +0 -35
- package/dist/review/aggregate-result.js.map +0 -1
- package/dist/review/diff-review.d.ts +0 -46
- package/dist/review/diff-review.d.ts.map +0 -1
- package/dist/review/diff-review.js +0 -65
- package/dist/review/diff-review.js.map +0 -1
- package/dist/review/evidence.d.ts +0 -15
- package/dist/review/evidence.d.ts.map +0 -1
- package/dist/review/evidence.js +0 -26
- package/dist/review/evidence.js.map +0 -1
- package/dist/review/fallback-extraction.d.ts +0 -17
- package/dist/review/fallback-extraction.d.ts.map +0 -1
- package/dist/review/fallback-extraction.js +0 -189
- package/dist/review/fallback-extraction.js.map +0 -1
- package/dist/review/parse-reviewer-findings.d.ts +0 -26
- package/dist/review/parse-reviewer-findings.d.ts.map +0 -1
- package/dist/review/parse-reviewer-findings.js +0 -73
- package/dist/review/parse-reviewer-findings.js.map +0 -1
- package/dist/review/quality-only-prompts.d.ts +0 -33
- package/dist/review/quality-only-prompts.d.ts.map +0 -1
- package/dist/review/quality-only-prompts.js +0 -106
- package/dist/review/quality-only-prompts.js.map +0 -1
- package/dist/review/quality-reviewer.d.ts +0 -67
- package/dist/review/quality-reviewer.d.ts.map +0 -1
- package/dist/review/quality-reviewer.js +0 -200
- package/dist/review/quality-reviewer.js.map +0 -1
- package/dist/review/reviewer-prompt.d.ts +0 -14
- package/dist/review/reviewer-prompt.d.ts.map +0 -1
- package/dist/review/reviewer-prompt.js +0 -54
- package/dist/review/reviewer-prompt.js.map +0 -1
- package/dist/review/spec-reviewer.d.ts +0 -26
- package/dist/review/spec-reviewer.d.ts.map +0 -1
- package/dist/review/spec-reviewer.js +0 -85
- package/dist/review/spec-reviewer.js.map +0 -1
- package/dist/routing/canonical-model-identity.d.ts.map +0 -1
- package/dist/routing/canonical-model-identity.js.map +0 -1
- package/dist/routing/canonical-model.d.ts +0 -7
- package/dist/routing/canonical-model.d.ts.map +0 -1
- package/dist/routing/canonical-model.js +0 -11
- package/dist/routing/canonical-model.js.map +0 -1
- package/dist/routing/model-profiles.d.ts +0 -126
- package/dist/routing/model-profiles.d.ts.map +0 -1
- package/dist/routing/model-profiles.js +0 -393
- package/dist/routing/model-profiles.js.map +0 -1
- package/dist/routing/resolve-agent.d.ts +0 -8
- package/dist/routing/resolve-agent.d.ts.map +0 -1
- package/dist/routing/resolve-agent.js +0 -45
- package/dist/routing/resolve-agent.js.map +0 -1
- package/dist/routing/types.d.ts.map +0 -1
- package/dist/routing/types.js +0 -2
- package/dist/routing/types.js.map +0 -1
- package/dist/run-tasks/commit-stage.d.ts +0 -16
- package/dist/run-tasks/commit-stage.d.ts.map +0 -1
- package/dist/run-tasks/commit-stage.js +0 -52
- package/dist/run-tasks/commit-stage.js.map +0 -1
- package/dist/run-tasks/derive-terminal-status.d.ts +0 -4
- package/dist/run-tasks/derive-terminal-status.d.ts.map +0 -1
- package/dist/run-tasks/derive-terminal-status.js +0 -25
- package/dist/run-tasks/derive-terminal-status.js.map +0 -1
- package/dist/run-tasks/execute-task.d.ts +0 -20
- package/dist/run-tasks/execute-task.d.ts.map +0 -1
- package/dist/run-tasks/execute-task.js +0 -30
- package/dist/run-tasks/execute-task.js.map +0 -1
- package/dist/run-tasks/fallback-report.d.ts.map +0 -1
- package/dist/run-tasks/fallback-report.js.map +0 -1
- package/dist/run-tasks/index.d.ts +0 -59
- package/dist/run-tasks/index.d.ts.map +0 -1
- package/dist/run-tasks/index.js +0 -119
- package/dist/run-tasks/index.js.map +0 -1
- package/dist/run-tasks/metadata-repair.d.ts.map +0 -1
- package/dist/run-tasks/metadata-repair.js +0 -29
- package/dist/run-tasks/metadata-repair.js.map +0 -1
- package/dist/run-tasks/plan-extraction.d.ts.map +0 -1
- package/dist/run-tasks/plan-extraction.js.map +0 -1
- package/dist/run-tasks/reviewed-lifecycle.d.ts +0 -113
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +0 -1
- package/dist/run-tasks/reviewed-lifecycle.js +0 -1899
- package/dist/run-tasks/reviewed-lifecycle.js.map +0 -1
- package/dist/run-tasks/stage-idle-tracker.d.ts.map +0 -1
- package/dist/run-tasks/stage-idle-tracker.js.map +0 -1
- package/dist/run-tasks/task-completion-summary.d.ts.map +0 -1
- package/dist/run-tasks/task-completion-summary.js +0 -70
- package/dist/run-tasks/task-completion-summary.js.map +0 -1
- package/dist/run-tasks/verify-stage.d.ts +0 -25
- package/dist/run-tasks/verify-stage.d.ts.map +0 -1
- package/dist/run-tasks/verify-stage.js +0 -168
- package/dist/run-tasks/verify-stage.js.map +0 -1
- package/dist/run-tasks/worker-status.d.ts +0 -9
- package/dist/run-tasks/worker-status.d.ts.map +0 -1
- package/dist/run-tasks/worker-status.js +0 -19
- package/dist/run-tasks/worker-status.js.map +0 -1
- package/dist/runners/base/research-tools.d.ts.map +0 -1
- package/dist/runners/base/research-tools.js.map +0 -1
- package/dist/runners/base/result-builders.d.ts +0 -94
- package/dist/runners/base/result-builders.d.ts.map +0 -1
- package/dist/runners/base/result-builders.js +0 -134
- package/dist/runners/base/result-builders.js.map +0 -1
- package/dist/runners/base/time-check.d.ts.map +0 -1
- package/dist/runners/base/time-check.js.map +0 -1
- package/dist/runners/base/types.d.ts +0 -53
- package/dist/runners/base/types.d.ts.map +0 -1
- package/dist/runners/base/types.js +0 -2
- package/dist/runners/base/types.js.map +0 -1
- package/dist/runners/base/usage-accumulator.d.ts +0 -10
- package/dist/runners/base/usage-accumulator.d.ts.map +0 -1
- package/dist/runners/base/usage-accumulator.js +0 -22
- package/dist/runners/base/usage-accumulator.js.map +0 -1
- package/dist/runners/claude-runner.d.ts +0 -17
- package/dist/runners/claude-runner.d.ts.map +0 -1
- package/dist/runners/claude-runner.js +0 -962
- package/dist/runners/claude-runner.js.map +0 -1
- package/dist/runners/codex-runner.d.ts +0 -32
- package/dist/runners/codex-runner.d.ts.map +0 -1
- package/dist/runners/codex-runner.js +0 -992
- package/dist/runners/codex-runner.js.map +0 -1
- package/dist/runners/error-classification.d.ts +0 -49
- package/dist/runners/error-classification.d.ts.map +0 -1
- package/dist/runners/error-classification.js +0 -140
- package/dist/runners/error-classification.js.map +0 -1
- package/dist/runners/injection-type.d.ts.map +0 -1
- package/dist/runners/injection-type.js.map +0 -1
- package/dist/runners/openai-runner.d.ts +0 -74
- package/dist/runners/openai-runner.d.ts.map +0 -1
- package/dist/runners/openai-runner.js +0 -934
- package/dist/runners/openai-runner.js.map +0 -1
- package/dist/runners/openai-usage-interceptor.d.ts.map +0 -1
- package/dist/runners/openai-usage-interceptor.js +0 -121
- package/dist/runners/openai-usage-interceptor.js.map +0 -1
- package/dist/runners/prevention.d.ts.map +0 -1
- package/dist/runners/prevention.js +0 -108
- package/dist/runners/prevention.js.map +0 -1
- package/dist/runners/supervision.d.ts +0 -129
- package/dist/runners/supervision.d.ts.map +0 -1
- package/dist/runners/supervision.js +0 -310
- package/dist/runners/supervision.js.map +0 -1
- package/dist/runners/types.d.ts +0 -174
- package/dist/runners/types.d.ts.map +0 -1
- package/dist/runners/types.js +0 -2
- package/dist/runners/types.js.map +0 -1
- package/dist/telemetry/bucketing.d.ts +0 -13
- package/dist/telemetry/bucketing.d.ts.map +0 -1
- package/dist/telemetry/bucketing.js +0 -61
- package/dist/telemetry/bucketing.js.map +0 -1
- package/dist/telemetry/clamp.d.ts.map +0 -1
- package/dist/telemetry/clamp.js.map +0 -1
- package/dist/telemetry/concern-classifier.d.ts +0 -9
- package/dist/telemetry/concern-classifier.d.ts.map +0 -1
- package/dist/telemetry/concern-classifier.js.map +0 -1
- package/dist/telemetry/consent-rules.d.ts.map +0 -1
- package/dist/telemetry/consent-rules.js.map +0 -1
- package/dist/telemetry/event-builder.d.ts +0 -15
- package/dist/telemetry/event-builder.d.ts.map +0 -1
- package/dist/telemetry/event-builder.js +0 -327
- package/dist/telemetry/event-builder.js.map +0 -1
- package/dist/telemetry/field-coverage.d.ts +0 -17
- package/dist/telemetry/field-coverage.d.ts.map +0 -1
- package/dist/telemetry/field-coverage.js +0 -110
- package/dist/telemetry/field-coverage.js.map +0 -1
- package/dist/telemetry/normalize.d.ts +0 -18
- package/dist/telemetry/normalize.d.ts.map +0 -1
- package/dist/telemetry/normalize.js +0 -18
- package/dist/telemetry/normalize.js.map +0 -1
- package/dist/telemetry/types.d.ts +0 -1517
- package/dist/telemetry/types.d.ts.map +0 -1
- package/dist/telemetry/types.js +0 -320
- package/dist/telemetry/types.js.map +0 -1
- package/dist/tool-schemas/audit.d.ts +0 -71
- package/dist/tool-schemas/audit.d.ts.map +0 -1
- package/dist/tool-schemas/audit.js +0 -19
- package/dist/tool-schemas/audit.js.map +0 -1
- package/dist/tool-schemas/debug.d.ts +0 -61
- package/dist/tool-schemas/debug.d.ts.map +0 -1
- package/dist/tool-schemas/debug.js +0 -16
- package/dist/tool-schemas/debug.js.map +0 -1
- package/dist/tool-schemas/delegate.d.ts +0 -71
- package/dist/tool-schemas/delegate.d.ts.map +0 -1
- package/dist/tool-schemas/delegate.js +0 -21
- package/dist/tool-schemas/delegate.js.map +0 -1
- package/dist/tool-schemas/execute-plan.d.ts +0 -70
- package/dist/tool-schemas/execute-plan.d.ts.map +0 -1
- package/dist/tool-schemas/execute-plan.js +0 -34
- package/dist/tool-schemas/execute-plan.js.map +0 -1
- package/dist/tool-schemas/explore.d.ts +0 -9
- package/dist/tool-schemas/explore.d.ts.map +0 -1
- package/dist/tool-schemas/explore.js +0 -64
- package/dist/tool-schemas/explore.js.map +0 -1
- package/dist/tool-schemas/index.d.ts +0 -8
- package/dist/tool-schemas/index.d.ts.map +0 -1
- package/dist/tool-schemas/index.js +0 -9
- package/dist/tool-schemas/index.js.map +0 -1
- package/dist/tool-schemas/investigate.d.ts +0 -63
- package/dist/tool-schemas/investigate.d.ts.map +0 -1
- package/dist/tool-schemas/investigate.js +0 -12
- package/dist/tool-schemas/investigate.js.map +0 -1
- package/dist/tool-schemas/retry.d.ts +0 -58
- package/dist/tool-schemas/retry.d.ts.map +0 -1
- package/dist/tool-schemas/retry.js +0 -12
- package/dist/tool-schemas/retry.js.map +0 -1
- package/dist/tool-schemas/review.d.ts +0 -65
- package/dist/tool-schemas/review.d.ts.map +0 -1
- package/dist/tool-schemas/review.js +0 -16
- package/dist/tool-schemas/review.js.map +0 -1
- package/dist/tool-schemas/shared-output.d.ts +0 -60
- package/dist/tool-schemas/shared-output.d.ts.map +0 -1
- package/dist/tool-schemas/shared-output.js +0 -31
- package/dist/tool-schemas/shared-output.js.map +0 -1
- package/dist/tool-schemas/verify.d.ts +0 -60
- package/dist/tool-schemas/verify.d.ts.map +0 -1
- package/dist/tool-schemas/verify.js +0 -16
- package/dist/tool-schemas/verify.js.map +0 -1
- package/dist/tools/call-cache.d.ts.map +0 -1
- package/dist/tools/call-cache.js.map +0 -1
- package/dist/tools/claude-adapter.d.ts +0 -4
- package/dist/tools/claude-adapter.d.ts.map +0 -1
- package/dist/tools/claude-adapter.js +0 -63
- package/dist/tools/claude-adapter.js.map +0 -1
- package/dist/tools/definitions.d.ts +0 -26
- package/dist/tools/definitions.d.ts.map +0 -1
- package/dist/tools/definitions.js +0 -221
- package/dist/tools/definitions.js.map +0 -1
- package/dist/tools/openai-adapter.d.ts +0 -13
- package/dist/tools/openai-adapter.d.ts.map +0 -1
- package/dist/tools/openai-adapter.js +0 -100
- package/dist/tools/openai-adapter.js.map +0 -1
- package/dist/tools/scratchpad.d.ts +0 -28
- package/dist/tools/scratchpad.d.ts.map +0 -1
- package/dist/tools/scratchpad.js +0 -49
- package/dist/tools/scratchpad.js.map +0 -1
- package/dist/tools/tracker.d.ts +0 -47
- package/dist/tools/tracker.d.ts.map +0 -1
- package/dist/tools/tracker.js +0 -71
- package/dist/tools/tracker.js.map +0 -1
- /package/dist/{file-artifact-check.d.ts → bounded-execution/file-artifact-check.d.ts} +0 -0
- /package/dist/{file-artifact-check.js → bounded-execution/file-artifact-check.js} +0 -0
- /package/dist/{routing → config}/canonical-model-identity.d.ts +0 -0
- /package/dist/{routing → config}/canonical-model-identity.js +0 -0
- /package/dist/{routing → escalation}/types.d.ts +0 -0
- /package/dist/{diagnostics → escalation}/types.js +0 -0
- /package/dist/{telemetry → events}/clamp.d.ts +0 -0
- /package/dist/{telemetry → events}/clamp.js +0 -0
- /package/dist/{telemetry → events}/concern-classifier.js +0 -0
- /package/dist/{telemetry → events}/consent-rules.d.ts +0 -0
- /package/dist/{telemetry → events}/consent-rules.js +0 -0
- /package/dist/{diagnostics → events}/http-server-log.js +0 -0
- /package/dist/{diagnostics → events}/jsonl-writer.d.ts +0 -0
- /package/dist/{diagnostics → events}/jsonl-writer.js +0 -0
- /package/dist/{observability → events}/local-log-sink.js +0 -0
- /package/dist/{diagnostics → events}/request-spill.d.ts +0 -0
- /package/dist/{diagnostics → events}/request-spill.js +0 -0
- /package/dist/{diagnostics → events}/verbose-line.d.ts +0 -0
- /package/dist/{auto-commit.js → lifecycle/auto-commit.js} +0 -0
- /package/dist/{run-tasks → lifecycle}/fallback-report.d.ts +0 -0
- /package/dist/{run-tasks → lifecycle}/fallback-report.js +0 -0
- /package/dist/{run-tasks → lifecycle}/metadata-repair.d.ts +0 -0
- /package/dist/{run-tasks → lifecycle}/plan-extraction.d.ts +0 -0
- /package/dist/{run-tasks → lifecycle}/plan-extraction.js +0 -0
- /package/dist/{run-tasks → lifecycle}/stage-idle-tracker.d.ts +0 -0
- /package/dist/{run-tasks → lifecycle}/stage-idle-tracker.js +0 -0
- /package/dist/{run-tasks → lifecycle}/task-completion-summary.d.ts +0 -0
- /package/dist/{runners → providers}/base/research-tools.d.ts +0 -0
- /package/dist/{runners → providers}/base/research-tools.js +0 -0
- /package/dist/{runners → providers}/base/time-check.d.ts +0 -0
- /package/dist/{runners → providers}/base/time-check.js +0 -0
- /package/dist/{executors → providers/base}/types.js +0 -0
- /package/dist/{tools → providers}/call-cache.d.ts +0 -0
- /package/dist/{tools → providers}/call-cache.js +0 -0
- /package/dist/{runners → providers}/injection-type.d.ts +0 -0
- /package/dist/{runners → providers}/injection-type.js +0 -0
- /package/dist/{runners → providers}/openai-usage-interceptor.d.ts +0 -0
- /package/dist/{runners → providers}/prevention.d.ts +0 -0
|
@@ -1,962 +0,0 @@
|
|
|
1
|
-
import { query, tool, createSdkMcpServer } from '@anthropic-ai/claude-agent-sdk';
|
|
2
|
-
import { createHash } from 'node:crypto';
|
|
3
|
-
import { withTimeout, } from '../types.js';
|
|
4
|
-
import { priceTokens, resolveRateCard } from '../cost/compute.js';
|
|
5
|
-
import { FileTracker } from '../tools/tracker.js';
|
|
6
|
-
import { createToolImplementations } from '../tools/definitions.js';
|
|
7
|
-
import { createClaudeToolServer } from '../tools/claude-adapter.js';
|
|
8
|
-
import { TextScratchpad } from '../tools/scratchpad.js';
|
|
9
|
-
import { CostMeter } from '../cost/cost-meter.js';
|
|
10
|
-
import { CallCache } from '../tools/call-cache.js';
|
|
11
|
-
import { buildSystemPrompt, buildBudgetHint, buildReGroundingMessage, buildFormatConstraintSuffix, RE_GROUNDING_INTERVAL_TURNS, } from './prevention.js';
|
|
12
|
-
import { validateSubAgentOutput, buildRePrompt, sameDegenerateOutput, hasCompletedWork, MAX_DEGENERATE_RETRIES, } from './supervision.js';
|
|
13
|
-
import { injectionTypeFor } from './injection-type.js';
|
|
14
|
-
import { classifyError, isRateLimit } from './error-classification.js';
|
|
15
|
-
import { buildOkResult as sharedBuildOkResult, buildIncompleteResult as sharedBuildIncompleteResult, buildMaxTurnsExitResult as sharedBuildMaxTurnsExitResult, buildTimeCeilingResult as sharedBuildTimeCeilingResult, } from './base/result-builders.js';
|
|
16
|
-
import { checkTimeCeiling } from './base/time-check.js';
|
|
17
|
-
import { makeEmptyUsage, mergeUsage } from './base/usage-accumulator.js';
|
|
18
|
-
/**
|
|
19
|
-
* Minimal pushable async-iterable queue for feeding user messages to the
|
|
20
|
-
* claude-agent-sdk `query()` in streaming-input mode.
|
|
21
|
-
*
|
|
22
|
-
* The SDK's `query({ prompt: string | AsyncIterable<SDKUserMessage>, ... })`
|
|
23
|
-
* signature (see node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts L1879-1882)
|
|
24
|
-
* accepts an async iterable when we want multi-turn input — the intended
|
|
25
|
-
* pathway for "push a follow-up user message into the current query without
|
|
26
|
-
* restarting the CLI subprocess." The built-in `streamInput(...)` method on
|
|
27
|
-
* the returned `Query` object (sdk.d.ts L1862) is documented as "used
|
|
28
|
-
* internally for multi-turn conversations", and the only public way to
|
|
29
|
-
* drive multi-turn input is via this iterable.
|
|
30
|
-
*
|
|
31
|
-
* This class is deliberately small: `push(msg)` delivers a message to a
|
|
32
|
-
* waiting iterator (or buffers it if the iterator isn't waiting yet),
|
|
33
|
-
* `close()` signals end-of-stream, and `[Symbol.asyncIterator]()` returns
|
|
34
|
-
* a generator that yields buffered messages then awaits the next push.
|
|
35
|
-
*/
|
|
36
|
-
class PushableUserMessageQueue {
|
|
37
|
-
buffer = [];
|
|
38
|
-
resolvers = [];
|
|
39
|
-
closed = false;
|
|
40
|
-
push(msg) {
|
|
41
|
-
if (this.closed)
|
|
42
|
-
return;
|
|
43
|
-
const resolver = this.resolvers.shift();
|
|
44
|
-
if (resolver) {
|
|
45
|
-
resolver({ value: msg, done: false });
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
this.buffer.push(msg);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
close() {
|
|
52
|
-
if (this.closed)
|
|
53
|
-
return;
|
|
54
|
-
this.closed = true;
|
|
55
|
-
while (this.resolvers.length > 0) {
|
|
56
|
-
const resolver = this.resolvers.shift();
|
|
57
|
-
resolver({ value: undefined, done: true });
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
[Symbol.asyncIterator]() {
|
|
61
|
-
return {
|
|
62
|
-
next: () => {
|
|
63
|
-
if (this.buffer.length > 0) {
|
|
64
|
-
return Promise.resolve({ value: this.buffer.shift(), done: false });
|
|
65
|
-
}
|
|
66
|
-
if (this.closed) {
|
|
67
|
-
return Promise.resolve({ value: undefined, done: true });
|
|
68
|
-
}
|
|
69
|
-
return new Promise((resolve) => {
|
|
70
|
-
this.resolvers.push(resolve);
|
|
71
|
-
});
|
|
72
|
-
},
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Wrap a plain string in the SDKUserMessage envelope the SDK expects when
|
|
78
|
-
* using streaming input mode. Keeps the per-call sites tidy.
|
|
79
|
-
*/
|
|
80
|
-
function userMessage(text) {
|
|
81
|
-
return {
|
|
82
|
-
type: 'user',
|
|
83
|
-
message: { role: 'user', content: text },
|
|
84
|
-
parent_tool_use_id: null,
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* Detect whether a thrown error signals a provider-side context-window
|
|
89
|
-
* limit (prompt too long, context window exceeded). Used by the catch
|
|
90
|
-
* block to stamp `errorCode: 'provider_context_limit'`.
|
|
91
|
-
*/
|
|
92
|
-
function isContextLimit(err) {
|
|
93
|
-
// Collect all string-typed error surfaces from the thrown value —
|
|
94
|
-
// err.message, structured SDK error envelopes, and the stringified
|
|
95
|
-
// fallback of the whole value — so a plain string throw or a wrapped
|
|
96
|
-
// provider error is still classified as provider_context_limit.
|
|
97
|
-
const candidates = [];
|
|
98
|
-
if (err instanceof Error)
|
|
99
|
-
candidates.push(err.message);
|
|
100
|
-
if (typeof err === 'string')
|
|
101
|
-
candidates.push(err);
|
|
102
|
-
candidates.push(String(err ?? ''));
|
|
103
|
-
// Some SDKs wrap errors in { error: { message } } or { cause: { message } }
|
|
104
|
-
const e = (err ?? {});
|
|
105
|
-
if (e.error && typeof e.error?.message === 'string') {
|
|
106
|
-
candidates.push(e.error.message);
|
|
107
|
-
}
|
|
108
|
-
if (e.cause && typeof e.cause?.message === 'string') {
|
|
109
|
-
candidates.push(e.cause.message);
|
|
110
|
-
}
|
|
111
|
-
const status = typeof e.status === 'number' ? e.status : undefined;
|
|
112
|
-
const text = candidates.join(' ');
|
|
113
|
-
return (/context\s*window\s*exceeded/i.test(text) ||
|
|
114
|
-
/prompt is too long/i.test(text) ||
|
|
115
|
-
/400.*max_tokens/i.test(text) ||
|
|
116
|
-
(status === 400 && /max_tokens/i.test(text)));
|
|
117
|
-
}
|
|
118
|
-
export async function runClaude(prompt, options, providerConfig, defaults) {
|
|
119
|
-
const timeoutMs = options.timeoutMs ?? providerConfig.timeoutMs ?? defaults.timeoutMs;
|
|
120
|
-
const toolMode = options.tools ?? defaults.tools;
|
|
121
|
-
const cwd = options.cwd ?? process.cwd();
|
|
122
|
-
const effort = options.effort ?? providerConfig.effort;
|
|
123
|
-
const sandboxPolicy = options.sandboxPolicy ?? providerConfig.sandboxPolicy ?? 'cwd-only';
|
|
124
|
-
const abortController = new AbortController();
|
|
125
|
-
// --- Progress event emission (Task 10) ----------------------------------
|
|
126
|
-
//
|
|
127
|
-
// `onProgress` is already wrapped in `safeSink` by the orchestrator
|
|
128
|
-
// (Task 8), so any throw from the consumer callback is swallowed
|
|
129
|
-
// upstream and cannot corrupt this loop. We do not need to wrap it
|
|
130
|
-
// again here.
|
|
131
|
-
const onProgress = options.onProgress;
|
|
132
|
-
const emit = (event) => {
|
|
133
|
-
if (onProgress)
|
|
134
|
-
onProgress(event);
|
|
135
|
-
};
|
|
136
|
-
// Hoisted so the FileTracker callback (closed over below) can read the
|
|
137
|
-
// running turn count at callback firing time. Unlike openai-runner — where
|
|
138
|
-
// the turn counter comes from `currentResult?.state.usage.requests + 1`
|
|
139
|
-
// because the SDK only bumps the counter after the call completes — the
|
|
140
|
-
// claude-runner increments `turns` at the top of every `msg.type ===
|
|
141
|
-
// 'assistant'` branch, which is PROCESSED BEFORE the SDK fires any tool
|
|
142
|
-
// calls for that turn. That means `turns` already holds the current
|
|
143
|
-
// turn number when the tracker callback fires mid-tool-loop, so we
|
|
144
|
-
// attribute tool calls to `turns` directly (no +1 offset).
|
|
145
|
-
let usage = makeEmptyUsage();
|
|
146
|
-
let costUSD = null;
|
|
147
|
-
let turns = 0;
|
|
148
|
-
const tracker = new FileTracker((summary) => {
|
|
149
|
-
emit({ kind: 'tool_call', turn: turns, toolSummary: summary });
|
|
150
|
-
});
|
|
151
|
-
const toolImpls = createToolImplementations(tracker, cwd, sandboxPolicy, abortController.signal);
|
|
152
|
-
// --- Cost meter (Task 25) ------------------------------------------------
|
|
153
|
-
const costMeter = new CostMeter({ ceiling: options.maxCostUSD });
|
|
154
|
-
// --- Call cache (Task 25) ------------------------------------------------
|
|
155
|
-
const callCache = new CallCache();
|
|
156
|
-
const agentType = providerConfig.type ?? 'claude';
|
|
157
|
-
// Track last turn cost for estimating next turn cost
|
|
158
|
-
let lastTurnCostUSD = 0;
|
|
159
|
-
/**
|
|
160
|
-
* Check if we can afford the next turn based on previous turn cost estimate.
|
|
161
|
-
*/
|
|
162
|
-
function canAffordNextTurn() {
|
|
163
|
-
if (!costMeter.canProceed(lastTurnCostUSD > 0 ? lastTurnCostUSD : 0.001)) {
|
|
164
|
-
return false;
|
|
165
|
-
}
|
|
166
|
-
return true;
|
|
167
|
-
}
|
|
168
|
-
/**
|
|
169
|
-
* Resolve a RateCard from the runner's providerConfig, falling back to
|
|
170
|
-
* explicit config costs when the model profile is absent.
|
|
171
|
-
*/
|
|
172
|
-
function resolveConfigRateCard() {
|
|
173
|
-
return resolveRateCard(providerConfig.model, {
|
|
174
|
-
...(providerConfig.inputCostPerMTok !== undefined && { inputCostPerMTok: providerConfig.inputCostPerMTok }),
|
|
175
|
-
...(providerConfig.outputCostPerMTok !== undefined && { outputCostPerMTok: providerConfig.outputCostPerMTok }),
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Build a cost_exceeded result.
|
|
180
|
-
*/
|
|
181
|
-
function buildCostExceededResult() {
|
|
182
|
-
const finalRateCard = resolveConfigRateCard();
|
|
183
|
-
const finalTokens = {
|
|
184
|
-
inputTokens: usage.inputTokens,
|
|
185
|
-
outputTokens: usage.outputTokens,
|
|
186
|
-
cachedReadTokens: usage.cachedReadTokens ?? 0,
|
|
187
|
-
cachedCreationTokens: usage.cachedCreationTokens ?? 0,
|
|
188
|
-
reasoningTokens: usage.reasoningTokens ?? 0,
|
|
189
|
-
};
|
|
190
|
-
const finalCostUSD = finalRateCard ? priceTokens(finalTokens, finalRateCard) : null;
|
|
191
|
-
const parentCard = resolveRateCard(parentModel);
|
|
192
|
-
const parentEquivCostUSD = parentCard ? priceTokens(finalTokens, parentCard) : null;
|
|
193
|
-
const costDeltaVsParentUSD = (finalCostUSD === null || parentEquivCostUSD === null)
|
|
194
|
-
? null
|
|
195
|
-
: finalCostUSD - parentEquivCostUSD;
|
|
196
|
-
return {
|
|
197
|
-
output: `Cost ceiling exceeded: maxCostUSD=${options.maxCostUSD}`,
|
|
198
|
-
status: 'cost_exceeded',
|
|
199
|
-
usage: {
|
|
200
|
-
inputTokens: usage.inputTokens,
|
|
201
|
-
outputTokens: usage.outputTokens,
|
|
202
|
-
totalTokens: usage.inputTokens + usage.outputTokens,
|
|
203
|
-
costUSD: finalCostUSD,
|
|
204
|
-
costDeltaVsParentUSD,
|
|
205
|
-
cachedTokens: (usage.cachedReadTokens ?? 0) + (usage.cachedCreationTokens ?? 0) || null,
|
|
206
|
-
reasoningTokens: null,
|
|
207
|
-
},
|
|
208
|
-
turns,
|
|
209
|
-
filesRead: tracker.getReads(),
|
|
210
|
-
directoriesListed: tracker.getDirectoriesListed(),
|
|
211
|
-
filesWritten: tracker.getWrites(),
|
|
212
|
-
toolCalls: tracker.getToolCalls(),
|
|
213
|
-
outputIsDiagnostic: true,
|
|
214
|
-
escalationLog: [],
|
|
215
|
-
parsedFindings: null,
|
|
216
|
-
durationMs: Date.now() - taskStartMs,
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
// --- Prevention layer: system prompt + budget hint ---
|
|
220
|
-
//
|
|
221
|
-
// buildSystemPrompt() is deliberately static and parameter-free. We append
|
|
222
|
-
// our discipline rules onto the `claude_code` preset
|
|
223
|
-
// rather than REPLACING the default system prompt, because replacing it
|
|
224
|
-
// strips the SDK's tool-usage guidance. See
|
|
225
|
-
// node_modules/@anthropic-ai/claude-agent-sdk/sdk.d.ts L1460-1465 for the
|
|
226
|
-
// systemPrompt union type — `{ type: 'preset', preset: 'claude_code',
|
|
227
|
-
// append: string }` is the intended "add to defaults" shape.
|
|
228
|
-
const systemPrompt = buildSystemPrompt() + buildFormatConstraintSuffix(options.formatConstraints ?? {});
|
|
229
|
-
const instructions = options.instructionsSuffix
|
|
230
|
-
? `${systemPrompt}\n\n${options.instructionsSuffix}`
|
|
231
|
-
: systemPrompt;
|
|
232
|
-
const budgetHint = buildBudgetHint({ timeoutMs, maxCostUSD: options.maxCostUSD });
|
|
233
|
-
const promptWithBudgetHint = `${budgetHint}\n\n${prompt}`;
|
|
234
|
-
// --- onInitialRequest (Task 12) ----------------------------------------
|
|
235
|
-
//
|
|
236
|
-
// Fire once per attempt with the canonical orchestrator-side initial
|
|
237
|
-
// brief: `${systemPrompt}\n\n${promptWithBudgetHint}`. This is NOT the
|
|
238
|
-
// literal bytes the Anthropic SDK will send — the SDK wraps our
|
|
239
|
-
// systemPrompt in `{ type: 'preset', preset: 'claude_code', append: ... }`
|
|
240
|
-
// (see queryOptions.systemPrompt below), so the wire-level system prompt
|
|
241
|
-
// includes the claude_code preset bytes that precede ours. We hash the
|
|
242
|
-
// canonical form anyway for two reasons:
|
|
243
|
-
// 1. It matches openai-runner and codex-runner, which also don't hash
|
|
244
|
-
// literal wire bytes (they hash the same canonical form before the
|
|
245
|
-
// SDK wraps it in its own `messages` / Responses API structures).
|
|
246
|
-
// Cross-runner stability is the Task 12 design requirement.
|
|
247
|
-
// 2. It answers the "did the orchestrator send the same brief across
|
|
248
|
-
// retries?" question, which is the actual debugging use case — NOT
|
|
249
|
-
// "were the literal wire bytes identical?".
|
|
250
|
-
// See `AttemptRecord.initialPromptHash` in types.ts for the full caveat.
|
|
251
|
-
if (options.onInitialRequest) {
|
|
252
|
-
const canonicalInitialBrief = `${systemPrompt}\n\n${promptWithBudgetHint}`;
|
|
253
|
-
try {
|
|
254
|
-
options.onInitialRequest({
|
|
255
|
-
lengthChars: canonicalInitialBrief.length,
|
|
256
|
-
sha256: createHash('sha256').update(canonicalInitialBrief).digest('hex'),
|
|
257
|
-
});
|
|
258
|
-
}
|
|
259
|
-
catch {
|
|
260
|
-
// Swallow — a broken callback must not affect dispatch.
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
// `claude-compatible` agents target an Anthropic-format endpoint hosted by a
|
|
264
|
-
// third party (e.g. DeepSeek). claude-agent-sdk 0.2.113+ REPLACES process.env
|
|
265
|
-
// in the spawned subprocess with whatever is passed to Options.env (this is a
|
|
266
|
-
// breaking change from the pre-0.2.113 merge semantics). The `...process.env`
|
|
267
|
-
// spread below explicitly restores pre-0.2.113 inheritance for PATH, HOME,
|
|
268
|
-
// proxy vars, locale vars, etc., while the targeted overrides ensure a
|
|
269
|
-
// claude-compatible agent's endpoint and auth do not leak into a sibling
|
|
270
|
-
// `claude` agent on the same node.
|
|
271
|
-
let resolvedAuthToken;
|
|
272
|
-
let resolvedBaseUrl;
|
|
273
|
-
if (providerConfig.type === 'claude-compatible') {
|
|
274
|
-
resolvedBaseUrl = providerConfig.baseUrl;
|
|
275
|
-
if (providerConfig.apiKey) {
|
|
276
|
-
resolvedAuthToken = providerConfig.apiKey;
|
|
277
|
-
}
|
|
278
|
-
else if (providerConfig.apiKeyEnv) {
|
|
279
|
-
resolvedAuthToken = process.env[providerConfig.apiKeyEnv];
|
|
280
|
-
if (!resolvedAuthToken) {
|
|
281
|
-
throw new Error(`claude-compatible agent has apiKeyEnv=${providerConfig.apiKeyEnv}, ` +
|
|
282
|
-
`but ${providerConfig.apiKeyEnv} is not set in the environment`);
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
else {
|
|
286
|
-
throw new Error('claude-compatible agent requires apiKey or apiKeyEnv');
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
// Permission bypass is intentional for sub-agent use. File-system confinement
|
|
290
|
-
// is enforced by assertWithinCwd in tool definitions when sandboxPolicy is 'cwd-only'.
|
|
291
|
-
const queryOptions = {
|
|
292
|
-
model: providerConfig.model,
|
|
293
|
-
maxTurns: Number.MAX_SAFE_INTEGER,
|
|
294
|
-
cwd,
|
|
295
|
-
permissionMode: 'bypassPermissions',
|
|
296
|
-
allowDangerouslySkipPermissions: true,
|
|
297
|
-
persistSession: false,
|
|
298
|
-
abortController,
|
|
299
|
-
systemPrompt: {
|
|
300
|
-
type: 'preset',
|
|
301
|
-
preset: 'claude_code',
|
|
302
|
-
append: instructions,
|
|
303
|
-
...(options.cacheHints?.cacheableSystemPrompt && { excludeDynamicSections: true }),
|
|
304
|
-
},
|
|
305
|
-
...(resolvedBaseUrl && resolvedAuthToken && {
|
|
306
|
-
env: {
|
|
307
|
-
...process.env, // critical: 0.2.113+ replaces process.env, so spread it explicitly
|
|
308
|
-
ANTHROPIC_BASE_URL: resolvedBaseUrl,
|
|
309
|
-
ANTHROPIC_AUTH_TOKEN: resolvedAuthToken,
|
|
310
|
-
},
|
|
311
|
-
}),
|
|
312
|
-
};
|
|
313
|
-
if (toolMode !== 'none') {
|
|
314
|
-
const toolServer = createClaudeToolServer(toolImpls, sandboxPolicy, toolMode);
|
|
315
|
-
if (toolServer) {
|
|
316
|
-
queryOptions.mcpServers = { 'code-tools': toolServer };
|
|
317
|
-
}
|
|
318
|
-
// Enable Claude's built-in WebSearch and WebFetch alongside our MCP code
|
|
319
|
-
// tool server, so the capabilities matrix's claim that claude has
|
|
320
|
-
// web_search + web_fetch is actually true at runtime. Shell is NOT in
|
|
321
|
-
// this list — it stays behind the sandboxPolicy gate via our code-tools
|
|
322
|
-
// MCP server's runShell implementation.
|
|
323
|
-
queryOptions.tools = ['WebSearch', 'WebFetch'];
|
|
324
|
-
queryOptions.allowedTools = [
|
|
325
|
-
...(toolServer ? ['mcp__code-tools__*'] : []),
|
|
326
|
-
'WebSearch', 'WebFetch',
|
|
327
|
-
];
|
|
328
|
-
}
|
|
329
|
-
else {
|
|
330
|
-
queryOptions.tools = [];
|
|
331
|
-
}
|
|
332
|
-
// --- Custom toolset injection (explore executor, taskIndex=1) ---
|
|
333
|
-
if (options.customToolset && options.customToolset.length > 0) {
|
|
334
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
335
|
-
const customTools = options.customToolset.map(ct => tool(ct.name, ct.description, ct.inputSchema,
|
|
336
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
337
|
-
async (args) => {
|
|
338
|
-
const result = await ct.invoke(args);
|
|
339
|
-
const text = typeof result === 'string' ? result : JSON.stringify(result);
|
|
340
|
-
return { content: [{ type: 'text', text }] };
|
|
341
|
-
}));
|
|
342
|
-
const customServer = createSdkMcpServer({
|
|
343
|
-
name: 'custom-tools',
|
|
344
|
-
version: '1.0.0',
|
|
345
|
-
tools: customTools,
|
|
346
|
-
});
|
|
347
|
-
if (!queryOptions.mcpServers)
|
|
348
|
-
queryOptions.mcpServers = {};
|
|
349
|
-
queryOptions.mcpServers['custom-tools'] = customServer;
|
|
350
|
-
if (!queryOptions.allowedTools)
|
|
351
|
-
queryOptions.allowedTools = [];
|
|
352
|
-
queryOptions.allowedTools.push('mcp__custom-tools__*');
|
|
353
|
-
// Ensure tools array exists so the SDK knows about non-MCP tools
|
|
354
|
-
if (!queryOptions.tools || queryOptions.tools.length === 0) {
|
|
355
|
-
queryOptions.tools = [];
|
|
356
|
-
}
|
|
357
|
-
}
|
|
358
|
-
if (!effort || effort === 'none') {
|
|
359
|
-
queryOptions.thinking = { type: 'disabled' };
|
|
360
|
-
}
|
|
361
|
-
else {
|
|
362
|
-
queryOptions.thinking = { type: 'adaptive' };
|
|
363
|
-
// effort is typed as EffortLevel in Options; cast from string
|
|
364
|
-
queryOptions.effort = effort;
|
|
365
|
-
}
|
|
366
|
-
// --- Scratchpad: buffers every assistant text block we see streaming
|
|
367
|
-
// through the iterator. On any termination path (ok/incomplete/max_turns/
|
|
368
|
-
// error/timeout) we salvage `scratchpad.latest()` when the
|
|
369
|
-
// final `result.result` is empty or degenerate. ---
|
|
370
|
-
const scratchpad = new TextScratchpad();
|
|
371
|
-
// --- Task timing + parent model (Task 9) --------------------------------
|
|
372
|
-
const taskStartMs = Date.now();
|
|
373
|
-
const parentModel = options.parentModel;
|
|
374
|
-
const run = async () => {
|
|
375
|
-
let output = '';
|
|
376
|
-
// --- Supervision / watchdog bookkeeping ---
|
|
377
|
-
// Monitor model: only count degenerate retries when worker has NO tool calls.
|
|
378
|
-
let degenerateRetries = 0;
|
|
379
|
-
// Initialised to `null` (NOT ''): on the first turn there is no
|
|
380
|
-
// previous degenerate output to compare against, so the same-output
|
|
381
|
-
// early-out must be skipped. See openai-runner regression #5.
|
|
382
|
-
let lastDegenerateOutput = null;
|
|
383
|
-
// --- Completed-result sentinel. Every exit from the supervision
|
|
384
|
-
// state machine inside the `for await` iterator sets this to a fully-
|
|
385
|
-
// built RunResult and then `break`s. After the loop, the one explicit
|
|
386
|
-
// return on the happy path is `completedResult`. This gives every
|
|
387
|
-
// exit (ok / incomplete / max_turns) a single
|
|
388
|
-
// explicit owner, mirroring openai-runner's `while (true) + return`
|
|
389
|
-
// shape but compatible with the for-await iterator contract. ---
|
|
390
|
-
let completedResult = null;
|
|
391
|
-
// --- Streaming input queue. See PushableUserMessageQueue docstring:
|
|
392
|
-
// using an async iterable as the `prompt` enables mid-run user-message
|
|
393
|
-
// injection (supervision re-prompts and re-grounding) without
|
|
394
|
-
// restarting the CLI subprocess. ---
|
|
395
|
-
const messageQueue = new PushableUserMessageQueue();
|
|
396
|
-
messageQueue.push(userMessage(promptWithBudgetHint));
|
|
397
|
-
try {
|
|
398
|
-
for await (const msg of query({ prompt: messageQueue, options: queryOptions })) {
|
|
399
|
-
if (msg.type === 'assistant') {
|
|
400
|
-
turns++;
|
|
401
|
-
emit({ kind: 'turn_start', turn: turns, provider: providerConfig.type, model: providerConfig.model });
|
|
402
|
-
const timeCeilingMs = checkTimeCeiling(taskStartMs, timeoutMs);
|
|
403
|
-
if (timeCeilingMs !== null) {
|
|
404
|
-
const finalRateCard = resolveConfigRateCard();
|
|
405
|
-
const finalTokens = {
|
|
406
|
-
inputTokens: usage.inputTokens,
|
|
407
|
-
outputTokens: usage.outputTokens,
|
|
408
|
-
cachedReadTokens: usage.cachedReadTokens ?? 0,
|
|
409
|
-
cachedCreationTokens: usage.cachedCreationTokens ?? 0,
|
|
410
|
-
reasoningTokens: usage.reasoningTokens ?? 0,
|
|
411
|
-
};
|
|
412
|
-
const finalCostUSD = finalRateCard ? priceTokens(finalTokens, finalRateCard) : null;
|
|
413
|
-
const parentCard = resolveRateCard(parentModel);
|
|
414
|
-
const parentEquivCostUSD = parentCard ? priceTokens(finalTokens, parentCard) : null;
|
|
415
|
-
const costDeltaVsParentUSD = (finalCostUSD === null || parentEquivCostUSD === null)
|
|
416
|
-
? null
|
|
417
|
-
: finalCostUSD - parentEquivCostUSD;
|
|
418
|
-
completedResult = sharedBuildTimeCeilingResult({
|
|
419
|
-
usage: {
|
|
420
|
-
inputTokens: usage.inputTokens,
|
|
421
|
-
outputTokens: usage.outputTokens,
|
|
422
|
-
totalTokens: usage.inputTokens + usage.outputTokens,
|
|
423
|
-
costUSD: finalCostUSD,
|
|
424
|
-
costDeltaVsParentUSD,
|
|
425
|
-
cachedTokens: (usage.cachedReadTokens ?? 0) + (usage.cachedCreationTokens ?? 0) || null,
|
|
426
|
-
reasoningTokens: null,
|
|
427
|
-
},
|
|
428
|
-
turns,
|
|
429
|
-
tracker,
|
|
430
|
-
scratchpad,
|
|
431
|
-
wallClockMs: timeCeilingMs,
|
|
432
|
-
timeoutMs,
|
|
433
|
-
durationMs: Date.now() - taskStartMs,
|
|
434
|
-
});
|
|
435
|
-
messageQueue.close();
|
|
436
|
-
break;
|
|
437
|
-
}
|
|
438
|
-
// Capture every assistant text block as scratchpad fodder. The
|
|
439
|
-
// claude-agent-sdk's BetaMessage.content is an array of blocks:
|
|
440
|
-
// `{ type: 'text', text } | { type: 'tool_use', ... } |
|
|
441
|
-
// { type: 'thinking', ... } | ...`. We only want plain text;
|
|
442
|
-
// tool_use blocks have no salvage value (they're side-effects)
|
|
443
|
-
// and thinking blocks are stripped before the caller sees them.
|
|
444
|
-
if ('message' in msg && msg.message) {
|
|
445
|
-
// --- Per-turn usage capture (3.12.4) ---
|
|
446
|
-
// Anthropic API attaches a `usage` field to every assistant
|
|
447
|
-
// message. The claude-agent-sdk surfaces it on `msg.message.usage`.
|
|
448
|
-
// Pre-3.12.4 we only read usage from the terminal `result` message
|
|
449
|
-
// (line ~596 below), which meant any timeout / mid-stream error
|
|
450
|
-
// left the running `usage` accumulator at zero — even after 21+
|
|
451
|
-
// turns of real billable work. Capturing per-turn here means the
|
|
452
|
-
// timeout / error paths return real partial-usage instead of
|
|
453
|
-
// zeros. The `result`-message branch later REPLACES the
|
|
454
|
-
// accumulator with its cumulative number when present (it's the
|
|
455
|
-
// authoritative end-of-conversation total) — so successful runs
|
|
456
|
-
// are unaffected and we don't double-count.
|
|
457
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
458
|
-
const m = msg.message;
|
|
459
|
-
if (m.usage && typeof m.usage === 'object') {
|
|
460
|
-
const u = m.usage;
|
|
461
|
-
const perTurn = {
|
|
462
|
-
inputTokens: u.input_tokens ?? 0,
|
|
463
|
-
outputTokens: u.output_tokens ?? 0,
|
|
464
|
-
cachedReadTokens: u.cache_read_input_tokens ?? null,
|
|
465
|
-
cachedCreationTokens: u.cache_creation_input_tokens ?? null,
|
|
466
|
-
reasoningTokens: null,
|
|
467
|
-
};
|
|
468
|
-
usage = mergeUsage(usage, perTurn);
|
|
469
|
-
}
|
|
470
|
-
}
|
|
471
|
-
if ('message' in msg && msg.message && 'content' in msg.message) {
|
|
472
|
-
// The claude-agent-sdk's BetaMessage.content is typed as an
|
|
473
|
-
// array of content blocks — but historically the API sometimes
|
|
474
|
-
// delivers a bare string, so we defensively handle both. The
|
|
475
|
-
// string branch is narrow-typed to `never` by the SDK, so we
|
|
476
|
-
// cast through `unknown` to keep runtime safety without fighting
|
|
477
|
-
// the compiler.
|
|
478
|
-
const content = msg.message.content;
|
|
479
|
-
if (typeof content === 'string') {
|
|
480
|
-
scratchpad.append(turns, content);
|
|
481
|
-
if (content.length > 0) {
|
|
482
|
-
emit({
|
|
483
|
-
kind: 'text_emission',
|
|
484
|
-
turn: turns,
|
|
485
|
-
chars: content.length,
|
|
486
|
-
preview: content.slice(0, 200),
|
|
487
|
-
});
|
|
488
|
-
}
|
|
489
|
-
}
|
|
490
|
-
else if (Array.isArray(content)) {
|
|
491
|
-
const texts = content
|
|
492
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
493
|
-
.filter((c) => c && c.type === 'text' && typeof c.text === 'string')
|
|
494
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
495
|
-
.map((c) => c.text);
|
|
496
|
-
if (texts.length > 0) {
|
|
497
|
-
const joined = texts.join('\n');
|
|
498
|
-
scratchpad.append(turns, joined);
|
|
499
|
-
if (joined.length > 0) {
|
|
500
|
-
emit({
|
|
501
|
-
kind: 'text_emission',
|
|
502
|
-
turn: turns,
|
|
503
|
-
chars: joined.length,
|
|
504
|
-
preview: joined.slice(0, 200),
|
|
505
|
-
});
|
|
506
|
-
}
|
|
507
|
-
}
|
|
508
|
-
}
|
|
509
|
-
}
|
|
510
|
-
// --- Periodic re-grounding (best-effort in streaming-input
|
|
511
|
-
// mode): inject a reminder every RE_GROUNDING_INTERVAL_TURNS
|
|
512
|
-
// turns via the same queue. The iterator keeps reading until
|
|
513
|
-
// the CLI subprocess decides to emit a final result after it
|
|
514
|
-
// processes the new user message. ---
|
|
515
|
-
if (turns > 0 && turns % RE_GROUNDING_INTERVAL_TURNS === 0) {
|
|
516
|
-
if (!canAffordNextTurn()) {
|
|
517
|
-
completedResult = buildCostExceededResult();
|
|
518
|
-
messageQueue.close();
|
|
519
|
-
break;
|
|
520
|
-
}
|
|
521
|
-
const reground = buildReGroundingMessage({
|
|
522
|
-
originalPromptExcerpt: prompt,
|
|
523
|
-
elapsedMs: Date.now() - taskStartMs,
|
|
524
|
-
timeoutMs,
|
|
525
|
-
toolCallsSoFar: tracker.getToolCalls().length,
|
|
526
|
-
filesReadSoFar: tracker.getReads().length,
|
|
527
|
-
});
|
|
528
|
-
emit({
|
|
529
|
-
kind: 'injection',
|
|
530
|
-
injectionType: 'reground',
|
|
531
|
-
turn: turns,
|
|
532
|
-
contentLengthChars: reground.length,
|
|
533
|
-
});
|
|
534
|
-
messageQueue.push(userMessage(reground));
|
|
535
|
-
}
|
|
536
|
-
}
|
|
537
|
-
if (msg.type === 'result') {
|
|
538
|
-
if ('result' in msg) {
|
|
539
|
-
output = msg.result;
|
|
540
|
-
}
|
|
541
|
-
const hitMaxTurns = 'subtype' in msg && msg.subtype === 'error_max_turns';
|
|
542
|
-
// Extract usage from modelUsage or usage, then ACCUMULATE into
|
|
543
|
-
// the running CanonicalUsage accumulator. Supervision retries in
|
|
544
|
-
// streaming-input mode push a new user message into the queue
|
|
545
|
-
// and the SDK emits a fresh `result` message per top-level user
|
|
546
|
-
// turn — we want the cumulative usage across every result we
|
|
547
|
-
// see, not just the last one. Accumulation produces correct
|
|
548
|
-
// totals on any termination path.
|
|
549
|
-
let turnInputTokens = 0;
|
|
550
|
-
let turnOutputTokens = 0;
|
|
551
|
-
if ('modelUsage' in msg && msg.modelUsage) {
|
|
552
|
-
for (const model of Object.values(msg.modelUsage)) {
|
|
553
|
-
turnInputTokens += model.inputTokens ?? 0;
|
|
554
|
-
turnOutputTokens += model.outputTokens ?? 0;
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
else if ('usage' in msg && msg.usage) {
|
|
558
|
-
const u = msg.usage;
|
|
559
|
-
turnInputTokens = u['input_tokens'] ?? 0;
|
|
560
|
-
turnOutputTokens = u['output_tokens'] ?? 0;
|
|
561
|
-
}
|
|
562
|
-
// --- CanonicalUsage: extract claude-specific cache fields ---
|
|
563
|
-
// cache_read_input_tokens + cache_creation_input_tokens are
|
|
564
|
-
// Claude's per-request cache counters; we sum them into
|
|
565
|
-
// cachedTokens (nullable: null when the API exposes neither).
|
|
566
|
-
let cacheRead;
|
|
567
|
-
let cacheCreate;
|
|
568
|
-
if ('usage' in msg && msg.usage) {
|
|
569
|
-
const u = msg.usage;
|
|
570
|
-
cacheRead = u['cache_read_input_tokens'] ?? undefined;
|
|
571
|
-
cacheCreate = u['cache_creation_input_tokens'] ?? undefined;
|
|
572
|
-
}
|
|
573
|
-
// 3.12.4: result-message usage is the authoritative
|
|
574
|
-
// end-of-conversation cumulative. Per-turn capture above already
|
|
575
|
-
// filled `usage` from each assistant message, so REPLACE here
|
|
576
|
-
// (not merge) when result reports non-zero — this preserves the
|
|
577
|
-
// pre-3.12.4 contract that a successful run's final usage matches
|
|
578
|
-
// exactly what the SDK reported in its result envelope, and
|
|
579
|
-
// prevents double-counting (assistant per-turn + result cumulative).
|
|
580
|
-
// If the result message reports zero (some providers omit
|
|
581
|
-
// modelUsage on certain error subtypes), keep what we already
|
|
582
|
-
// have from the per-turn merges instead of clobbering.
|
|
583
|
-
if (turnInputTokens > 0 || turnOutputTokens > 0) {
|
|
584
|
-
usage = {
|
|
585
|
-
inputTokens: turnInputTokens,
|
|
586
|
-
outputTokens: turnOutputTokens,
|
|
587
|
-
cachedReadTokens: cacheRead ?? usage.cachedReadTokens,
|
|
588
|
-
cachedCreationTokens: cacheCreate ?? usage.cachedCreationTokens,
|
|
589
|
-
reasoningTokens: usage.reasoningTokens,
|
|
590
|
-
};
|
|
591
|
-
}
|
|
592
|
-
else if (cacheRead !== undefined || cacheCreate !== undefined) {
|
|
593
|
-
// Result reported cache fields but no input/output — preserve
|
|
594
|
-
// accumulator's tokens, fold in cache numbers.
|
|
595
|
-
usage = {
|
|
596
|
-
...usage,
|
|
597
|
-
cachedReadTokens: cacheRead ?? usage.cachedReadTokens,
|
|
598
|
-
cachedCreationTokens: cacheCreate ?? usage.cachedCreationTokens,
|
|
599
|
-
};
|
|
600
|
-
}
|
|
601
|
-
// else: result reported nothing useful — leave per-turn accumulator alone.
|
|
602
|
-
if ('total_cost_usd' in msg && typeof msg.total_cost_usd === 'number') {
|
|
603
|
-
costUSD = msg.total_cost_usd;
|
|
604
|
-
}
|
|
605
|
-
// --- turn_complete: one event per result message (which
|
|
606
|
-
// corresponds to one top-level assistant turn from the SDK's
|
|
607
|
-
// perspective). Fires after usage aggregation so the cumulative
|
|
608
|
-
// counters are up-to-date.
|
|
609
|
-
emit({
|
|
610
|
-
kind: 'turn_complete',
|
|
611
|
-
turn: turns,
|
|
612
|
-
cumulativeInputTokens: usage.inputTokens,
|
|
613
|
-
cumulativeOutputTokens: usage.outputTokens,
|
|
614
|
-
...(usage.cachedReadTokens != null && { cumulativeCachedReadTokens: usage.cachedReadTokens }),
|
|
615
|
-
...(usage.cachedCreationTokens != null && { cumulativeCachedCreationTokens: usage.cachedCreationTokens }),
|
|
616
|
-
...(usage.reasoningTokens != null && { cumulativeReasoningTokens: usage.reasoningTokens }),
|
|
617
|
-
});
|
|
618
|
-
// Track cost for this turn (Task 25)
|
|
619
|
-
const rateCard = resolveConfigRateCard();
|
|
620
|
-
const turnTokens = {
|
|
621
|
-
inputTokens: turnInputTokens,
|
|
622
|
-
outputTokens: turnOutputTokens,
|
|
623
|
-
cachedReadTokens: cacheRead ?? 0,
|
|
624
|
-
cachedCreationTokens: cacheCreate ?? 0,
|
|
625
|
-
reasoningTokens: 0,
|
|
626
|
-
};
|
|
627
|
-
const turnCost = rateCard ? priceTokens(turnTokens, rateCard) : null;
|
|
628
|
-
if (turnCost !== null) {
|
|
629
|
-
lastTurnCostUSD = turnCost;
|
|
630
|
-
costMeter.add(turnCost);
|
|
631
|
-
}
|
|
632
|
-
// --- Max-turns: don't supervise a max-turns termination,
|
|
633
|
-
// build the incomplete result directly and exit. ---
|
|
634
|
-
if (hitMaxTurns) {
|
|
635
|
-
completedResult = buildClaudeMaxTurnsExitResult({
|
|
636
|
-
tracker,
|
|
637
|
-
scratchpad,
|
|
638
|
-
providerConfig,
|
|
639
|
-
sdkCostUSD: costUSD,
|
|
640
|
-
usage,
|
|
641
|
-
turns,
|
|
642
|
-
lastOutput: output,
|
|
643
|
-
reason: `claude-agent-sdk signaled error_max_turns after ${turns} turns`,
|
|
644
|
-
durationMs: Date.now() - taskStartMs,
|
|
645
|
-
parentModel,
|
|
646
|
-
});
|
|
647
|
-
messageQueue.close();
|
|
648
|
-
break;
|
|
649
|
-
}
|
|
650
|
-
// --- Supervision: validate the captured output. Valid output
|
|
651
|
-
// is an immediate ok-exit. Degenerate output either re-prompts
|
|
652
|
-
// (and keeps reading the iterator) or — if the retry budget is
|
|
653
|
-
// spent / same-output early-out fires — exits as incomplete. ---
|
|
654
|
-
const validation = validateSubAgentOutput(output, {
|
|
655
|
-
expectedCoverage: options.expectedCoverage,
|
|
656
|
-
skipCompletionHeuristic: options.skipCompletionHeuristic,
|
|
657
|
-
hasCompletedWork: hasCompletedWork(tracker.getToolCalls()),
|
|
658
|
-
});
|
|
659
|
-
if (validation.valid) {
|
|
660
|
-
completedResult = buildClaudeOkResult({
|
|
661
|
-
tracker,
|
|
662
|
-
scratchpad,
|
|
663
|
-
providerConfig,
|
|
664
|
-
sdkCostUSD: costUSD,
|
|
665
|
-
usage,
|
|
666
|
-
turns,
|
|
667
|
-
output,
|
|
668
|
-
durationMs: Date.now() - taskStartMs,
|
|
669
|
-
parentModel,
|
|
670
|
-
});
|
|
671
|
-
messageQueue.close();
|
|
672
|
-
break;
|
|
673
|
-
}
|
|
674
|
-
// Same-output early-out: don't burn another retry on identical
|
|
675
|
-
// garbage. Compare only when we have a previous degenerate.
|
|
676
|
-
if (lastDegenerateOutput !== null &&
|
|
677
|
-
sameDegenerateOutput(output, lastDegenerateOutput)) {
|
|
678
|
-
completedResult = buildClaudeIncompleteResult({
|
|
679
|
-
tracker,
|
|
680
|
-
scratchpad,
|
|
681
|
-
providerConfig,
|
|
682
|
-
sdkCostUSD: costUSD,
|
|
683
|
-
usage,
|
|
684
|
-
turns,
|
|
685
|
-
reason: `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${validation.kind ?? 'unknown'})`,
|
|
686
|
-
durationMs: Date.now() - taskStartMs,
|
|
687
|
-
parentModel,
|
|
688
|
-
});
|
|
689
|
-
messageQueue.close();
|
|
690
|
-
break;
|
|
691
|
-
}
|
|
692
|
-
lastDegenerateOutput = output;
|
|
693
|
-
// Only count as degenerate when worker has NO tool calls this turn.
|
|
694
|
-
// If the worker is still calling tools, it's making progress.
|
|
695
|
-
if (!hasCompletedWork(tracker.getToolCalls())) {
|
|
696
|
-
degenerateRetries++;
|
|
697
|
-
if (degenerateRetries >= MAX_DEGENERATE_RETRIES) {
|
|
698
|
-
completedResult = buildClaudeIncompleteResult({
|
|
699
|
-
tracker,
|
|
700
|
-
scratchpad,
|
|
701
|
-
providerConfig,
|
|
702
|
-
sdkCostUSD: costUSD,
|
|
703
|
-
usage,
|
|
704
|
-
turns,
|
|
705
|
-
reason: `supervision loop exhausted after ${degenerateRetries} degenerate retries without tool calls (last kind: ${validation.kind ?? 'unknown'})`,
|
|
706
|
-
durationMs: Date.now() - taskStartMs,
|
|
707
|
-
parentModel,
|
|
708
|
-
});
|
|
709
|
-
messageQueue.close();
|
|
710
|
-
break;
|
|
711
|
-
}
|
|
712
|
-
}
|
|
713
|
-
// Push the re-prompt and continue reading the iterator.
|
|
714
|
-
if (!canAffordNextTurn()) {
|
|
715
|
-
completedResult = buildCostExceededResult();
|
|
716
|
-
messageQueue.close();
|
|
717
|
-
break;
|
|
718
|
-
}
|
|
719
|
-
const rePrompt = buildRePrompt(validation);
|
|
720
|
-
emit({
|
|
721
|
-
kind: 'injection',
|
|
722
|
-
injectionType: injectionTypeFor(validation.kind),
|
|
723
|
-
turn: turns,
|
|
724
|
-
contentLengthChars: rePrompt.length,
|
|
725
|
-
});
|
|
726
|
-
messageQueue.push(userMessage(rePrompt));
|
|
727
|
-
}
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
catch (err) {
|
|
731
|
-
// Preserve partial usage — the scratchpad may have buffered text
|
|
732
|
-
// from turns that ran before the throw. Route the thrown error
|
|
733
|
-
// through the shared classifier so the escalation orchestrator can
|
|
734
|
-
// distinguish abort / network / HTTP-error / generic failure modes.
|
|
735
|
-
const { status, reason } = classifyError(err);
|
|
736
|
-
const msg = err instanceof Error ? err.message : String(err);
|
|
737
|
-
const contextLimit = isContextLimit(err);
|
|
738
|
-
emit({ kind: 'done', status });
|
|
739
|
-
const hasSalvage = !scratchpad.isEmpty();
|
|
740
|
-
const finalRateCard = resolveConfigRateCard();
|
|
741
|
-
const finalTokens = {
|
|
742
|
-
inputTokens: usage.inputTokens,
|
|
743
|
-
outputTokens: usage.outputTokens,
|
|
744
|
-
cachedReadTokens: usage.cachedReadTokens ?? 0,
|
|
745
|
-
cachedCreationTokens: usage.cachedCreationTokens ?? 0,
|
|
746
|
-
reasoningTokens: usage.reasoningTokens ?? 0,
|
|
747
|
-
};
|
|
748
|
-
const finalCostUSD = finalRateCard ? priceTokens(finalTokens, finalRateCard) : null;
|
|
749
|
-
const parentCard = resolveRateCard(parentModel);
|
|
750
|
-
const parentEquivCostUSD = parentCard ? priceTokens(finalTokens, parentCard) : null;
|
|
751
|
-
const costDeltaVsParentUSD = (finalCostUSD === null || parentEquivCostUSD === null)
|
|
752
|
-
? null
|
|
753
|
-
: finalCostUSD - parentEquivCostUSD;
|
|
754
|
-
return {
|
|
755
|
-
output: hasSalvage ? scratchpad.latest() : `Sub-agent error: ${msg}`,
|
|
756
|
-
status,
|
|
757
|
-
usage: {
|
|
758
|
-
inputTokens: usage.inputTokens,
|
|
759
|
-
outputTokens: usage.outputTokens,
|
|
760
|
-
totalTokens: usage.inputTokens + usage.outputTokens,
|
|
761
|
-
costUSD: finalCostUSD,
|
|
762
|
-
costDeltaVsParentUSD,
|
|
763
|
-
cachedTokens: (usage.cachedReadTokens ?? 0) + (usage.cachedCreationTokens ?? 0) || null,
|
|
764
|
-
reasoningTokens: null,
|
|
765
|
-
},
|
|
766
|
-
turns,
|
|
767
|
-
filesRead: tracker.getReads(),
|
|
768
|
-
directoriesListed: tracker.getDirectoriesListed(),
|
|
769
|
-
filesWritten: tracker.getWrites(),
|
|
770
|
-
toolCalls: tracker.getToolCalls(),
|
|
771
|
-
outputIsDiagnostic: !hasSalvage,
|
|
772
|
-
escalationLog: [],
|
|
773
|
-
parsedFindings: null,
|
|
774
|
-
error: msg || reason,
|
|
775
|
-
durationMs: Date.now() - taskStartMs,
|
|
776
|
-
...(contextLimit && { errorCode: 'provider_context_limit' }),
|
|
777
|
-
...(isRateLimit(err) && {
|
|
778
|
-
structuredError: { code: 'rate_limit_exceeded', message: 'rate limited by provider', where: 'runner:claude' },
|
|
779
|
-
}),
|
|
780
|
-
};
|
|
781
|
-
}
|
|
782
|
-
// Every `break` inside the iterator above assigned `completedResult`
|
|
783
|
-
// before exiting. If the iterator drained without any break (e.g. the
|
|
784
|
-
// SDK closed the stream cleanly without ever emitting a final
|
|
785
|
-
// `result`), synthesize an incomplete result so the caller always
|
|
786
|
-
// gets a meaningful diagnostic instead of undefined.
|
|
787
|
-
if (completedResult) {
|
|
788
|
-
emit({ kind: 'done', status: completedResult.status });
|
|
789
|
-
return completedResult;
|
|
790
|
-
}
|
|
791
|
-
const drained = buildClaudeIncompleteResult({
|
|
792
|
-
tracker,
|
|
793
|
-
scratchpad,
|
|
794
|
-
providerConfig,
|
|
795
|
-
sdkCostUSD: costUSD,
|
|
796
|
-
usage,
|
|
797
|
-
turns,
|
|
798
|
-
durationMs: Date.now() - taskStartMs,
|
|
799
|
-
parentModel,
|
|
800
|
-
});
|
|
801
|
-
emit({ kind: 'done', status: drained.status });
|
|
802
|
-
return drained;
|
|
803
|
-
};
|
|
804
|
-
return withTimeout(run(), timeoutMs, () => {
|
|
805
|
-
emit({ kind: 'done', status: 'timeout' });
|
|
806
|
-
const hasSalvage = !scratchpad.isEmpty();
|
|
807
|
-
const finalRateCard = resolveConfigRateCard();
|
|
808
|
-
const finalTokens = {
|
|
809
|
-
inputTokens: usage.inputTokens,
|
|
810
|
-
outputTokens: usage.outputTokens,
|
|
811
|
-
cachedReadTokens: usage.cachedReadTokens ?? 0,
|
|
812
|
-
cachedCreationTokens: usage.cachedCreationTokens ?? 0,
|
|
813
|
-
reasoningTokens: usage.reasoningTokens ?? 0,
|
|
814
|
-
};
|
|
815
|
-
const finalCostUSD = finalRateCard ? priceTokens(finalTokens, finalRateCard) : null;
|
|
816
|
-
const parentCard = resolveRateCard(parentModel);
|
|
817
|
-
const parentEquivCostUSD = parentCard ? priceTokens(finalTokens, parentCard) : null;
|
|
818
|
-
const costDeltaVsParentUSD = (finalCostUSD === null || parentEquivCostUSD === null)
|
|
819
|
-
? null
|
|
820
|
-
: finalCostUSD - parentEquivCostUSD;
|
|
821
|
-
return {
|
|
822
|
-
output: hasSalvage ? scratchpad.latest() : `Agent timed out after ${timeoutMs}ms.`,
|
|
823
|
-
status: 'timeout',
|
|
824
|
-
filesRead: tracker.getReads(),
|
|
825
|
-
directoriesListed: tracker.getDirectoriesListed(),
|
|
826
|
-
filesWritten: tracker.getWrites(),
|
|
827
|
-
toolCalls: tracker.getToolCalls(),
|
|
828
|
-
usage: {
|
|
829
|
-
inputTokens: usage.inputTokens,
|
|
830
|
-
outputTokens: usage.outputTokens,
|
|
831
|
-
totalTokens: usage.inputTokens + usage.outputTokens,
|
|
832
|
-
costUSD: finalCostUSD,
|
|
833
|
-
costDeltaVsParentUSD,
|
|
834
|
-
cachedTokens: (usage.cachedReadTokens ?? 0) + (usage.cachedCreationTokens ?? 0) || null,
|
|
835
|
-
reasoningTokens: null,
|
|
836
|
-
},
|
|
837
|
-
turns,
|
|
838
|
-
outputIsDiagnostic: !hasSalvage,
|
|
839
|
-
escalationLog: [],
|
|
840
|
-
parsedFindings: null,
|
|
841
|
-
durationMs: Date.now() - taskStartMs,
|
|
842
|
-
};
|
|
843
|
-
}, abortController, options.abortSignal);
|
|
844
|
-
}
|
|
845
|
-
function effectiveClaudeCost(providerConfig, inputTokens, outputTokens, sdkCost, cachedReadTokens = 0, cachedCreationTokens = 0, reasoningTokens = 0) {
|
|
846
|
-
const rateCard = resolveRateCard(providerConfig.model, {
|
|
847
|
-
...(providerConfig.inputCostPerMTok !== undefined && { inputCostPerMTok: providerConfig.inputCostPerMTok }),
|
|
848
|
-
...(providerConfig.outputCostPerMTok !== undefined && { outputCostPerMTok: providerConfig.outputCostPerMTok }),
|
|
849
|
-
});
|
|
850
|
-
const computed = rateCard ? priceTokens({
|
|
851
|
-
inputTokens,
|
|
852
|
-
outputTokens,
|
|
853
|
-
cachedReadTokens,
|
|
854
|
-
cachedCreationTokens,
|
|
855
|
-
reasoningTokens,
|
|
856
|
-
}, rateCard) : null;
|
|
857
|
-
return computed ?? sdkCost;
|
|
858
|
-
}
|
|
859
|
-
function claudeUsage(args) {
|
|
860
|
-
const { providerConfig, usage, parentModel } = args;
|
|
861
|
-
const rateCard = resolveRateCard(providerConfig.model, {
|
|
862
|
-
...(providerConfig.inputCostPerMTok !== undefined && { inputCostPerMTok: providerConfig.inputCostPerMTok }),
|
|
863
|
-
...(providerConfig.outputCostPerMTok !== undefined && { outputCostPerMTok: providerConfig.outputCostPerMTok }),
|
|
864
|
-
});
|
|
865
|
-
const tokens = {
|
|
866
|
-
inputTokens: usage.inputTokens,
|
|
867
|
-
outputTokens: usage.outputTokens,
|
|
868
|
-
cachedReadTokens: usage.cachedReadTokens ?? 0,
|
|
869
|
-
cachedCreationTokens: usage.cachedCreationTokens ?? 0,
|
|
870
|
-
reasoningTokens: usage.reasoningTokens ?? 0,
|
|
871
|
-
};
|
|
872
|
-
const costUSD = rateCard ? priceTokens(tokens, rateCard) : null;
|
|
873
|
-
const parentCard = resolveRateCard(parentModel);
|
|
874
|
-
const parentEquivCostUSD = parentCard ? priceTokens(tokens, parentCard) : null;
|
|
875
|
-
const costDeltaVsParentUSD = (costUSD === null || parentEquivCostUSD === null)
|
|
876
|
-
? null
|
|
877
|
-
: costUSD - parentEquivCostUSD;
|
|
878
|
-
return {
|
|
879
|
-
inputTokens: usage.inputTokens,
|
|
880
|
-
outputTokens: usage.outputTokens,
|
|
881
|
-
totalTokens: usage.inputTokens + usage.outputTokens,
|
|
882
|
-
costUSD,
|
|
883
|
-
costDeltaVsParentUSD,
|
|
884
|
-
cachedTokens: (usage.cachedReadTokens ?? 0) + (usage.cachedCreationTokens ?? 0) || null,
|
|
885
|
-
cachedReadTokens: usage.cachedReadTokens,
|
|
886
|
-
cachedCreationTokens: usage.cachedCreationTokens,
|
|
887
|
-
reasoningTokens: usage.reasoningTokens,
|
|
888
|
-
};
|
|
889
|
-
}
|
|
890
|
-
function buildClaudeOkResult(args) {
|
|
891
|
-
return sharedBuildOkResult({
|
|
892
|
-
output: args.output,
|
|
893
|
-
usage: claudeUsage(args),
|
|
894
|
-
turns: args.turns,
|
|
895
|
-
tracker: args.tracker,
|
|
896
|
-
durationMs: args.durationMs,
|
|
897
|
-
});
|
|
898
|
-
}
|
|
899
|
-
/**
|
|
900
|
-
* Supervision-exhausted path: retry cap hit or same-output early-out. Prefer
|
|
901
|
-
* scratchpad salvage; fall back to the incomplete diagnostic.
|
|
902
|
-
*/
|
|
903
|
-
function buildClaudeIncompleteResult(args) {
|
|
904
|
-
return sharedBuildIncompleteResult({
|
|
905
|
-
usage: claudeUsage(args),
|
|
906
|
-
turns: args.turns,
|
|
907
|
-
tracker: args.tracker,
|
|
908
|
-
scratchpad: args.scratchpad,
|
|
909
|
-
buildDiagnostic: buildClaudeIncompleteDiagnostic,
|
|
910
|
-
durationMs: args.durationMs,
|
|
911
|
-
reason: args.reason,
|
|
912
|
-
});
|
|
913
|
-
}
|
|
914
|
-
function buildClaudeMaxTurnsExitResult(args) {
|
|
915
|
-
return sharedBuildMaxTurnsExitResult({
|
|
916
|
-
usage: claudeUsage(args),
|
|
917
|
-
turns: args.turns,
|
|
918
|
-
tracker: args.tracker,
|
|
919
|
-
scratchpad: args.scratchpad,
|
|
920
|
-
lastOutput: args.lastOutput,
|
|
921
|
-
reason: args.reason,
|
|
922
|
-
durationMs: args.durationMs,
|
|
923
|
-
});
|
|
924
|
-
}
|
|
925
|
-
function buildClaudeIncompleteDiagnostic(opts) {
|
|
926
|
-
const formatList = (files) => {
|
|
927
|
-
const MAX_SHOWN = 10;
|
|
928
|
-
if (files.length === 0)
|
|
929
|
-
return '';
|
|
930
|
-
if (files.length <= MAX_SHOWN)
|
|
931
|
-
return ` (${files.join(', ')})`;
|
|
932
|
-
return ` (${files.slice(0, MAX_SHOWN).join(', ')}, … ${files.length - MAX_SHOWN} more)`;
|
|
933
|
-
};
|
|
934
|
-
return [
|
|
935
|
-
'[claude sub-agent terminated without producing a final answer]',
|
|
936
|
-
'',
|
|
937
|
-
'The query stream ended without ever emitting a result message. This usually means ' +
|
|
938
|
-
'the agent loop exited prematurely or the SDK lost the final message.',
|
|
939
|
-
'',
|
|
940
|
-
`Turns used: ${opts.turns}`,
|
|
941
|
-
`Input tokens: ${opts.inputTokens}`,
|
|
942
|
-
`Output tokens: ${opts.outputTokens}`,
|
|
943
|
-
`Files read: ${opts.filesRead.length}${formatList(opts.filesRead)}`,
|
|
944
|
-
`Files written: ${opts.filesWritten.length}${formatList(opts.filesWritten)}`,
|
|
945
|
-
'',
|
|
946
|
-
'Recommended action: re-dispatch with a tighter brief, or check Claude Agent SDK logs.',
|
|
947
|
-
].join('\n');
|
|
948
|
-
}
|
|
949
|
-
/**
|
|
950
|
-
* Review-mode entry: routes `systemPrefix` into the system prompt append
|
|
951
|
-
* (with `excludeDynamicSections: true` when `cacheHints.cacheableSystemPrompt`
|
|
952
|
-
* so the SDK emits ephemeral cache_control on the prefix blocks). `userBody`
|
|
953
|
-
* becomes the first user message typed as implementer evidence.
|
|
954
|
-
*/
|
|
955
|
-
export async function runClaudeReview(parts, options, providerConfig, defaults) {
|
|
956
|
-
return runClaude(parts.userBody, {
|
|
957
|
-
...options,
|
|
958
|
-
instructionsSuffix: parts.systemPrefix,
|
|
959
|
-
cacheHints: options.cacheHints,
|
|
960
|
-
}, providerConfig, defaults);
|
|
961
|
-
}
|
|
962
|
-
//# sourceMappingURL=claude-runner.js.map
|