@allocator-one/rcl 4.4.19
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/LICENSE +21 -0
- package/README.md +1415 -0
- package/dist/ci.d.ts +16 -0
- package/dist/ci.js +42 -0
- package/dist/ci.js.map +1 -0
- package/dist/config/data-dir.d.ts +6 -0
- package/dist/config/data-dir.js +12 -0
- package/dist/config/data-dir.js.map +1 -0
- package/dist/config/defaults.d.ts +82 -0
- package/dist/config/defaults.js +89 -0
- package/dist/config/defaults.js.map +1 -0
- package/dist/config/harness.d.ts +40 -0
- package/dist/config/harness.js +151 -0
- package/dist/config/harness.js.map +1 -0
- package/dist/config/loader.d.ts +13 -0
- package/dist/config/loader.js +131 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/provider-concurrency.d.ts +4 -0
- package/dist/config/provider-concurrency.js +6 -0
- package/dist/config/provider-concurrency.js.map +1 -0
- package/dist/config/providers.d.ts +3 -0
- package/dist/config/providers.js +9 -0
- package/dist/config/providers.js.map +1 -0
- package/dist/config/schema.d.ts +179 -0
- package/dist/config/schema.js +115 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/consensus/claim-contract.d.ts +9 -0
- package/dist/consensus/claim-contract.js +307 -0
- package/dist/consensus/claim-contract.js.map +1 -0
- package/dist/consensus/claim-identity.d.ts +5 -0
- package/dist/consensus/claim-identity.js +39 -0
- package/dist/consensus/claim-identity.js.map +1 -0
- package/dist/consensus/deduper.d.ts +43 -0
- package/dist/consensus/deduper.js +1052 -0
- package/dist/consensus/deduper.js.map +1 -0
- package/dist/consensus/finding-identity.d.ts +20 -0
- package/dist/consensus/finding-identity.js +49 -0
- package/dist/consensus/finding-identity.js.map +1 -0
- package/dist/consensus/gating.d.ts +215 -0
- package/dist/consensus/gating.js +699 -0
- package/dist/consensus/gating.js.map +1 -0
- package/dist/consensus/parser.d.ts +22 -0
- package/dist/consensus/parser.js +255 -0
- package/dist/consensus/parser.js.map +1 -0
- package/dist/consensus/semantic-deduper.d.ts +10 -0
- package/dist/consensus/semantic-deduper.js +70 -0
- package/dist/consensus/semantic-deduper.js.map +1 -0
- package/dist/consensus/types.d.ts +196 -0
- package/dist/consensus/types.js +2 -0
- package/dist/consensus/types.js.map +1 -0
- package/dist/consensus/verification-contract.d.ts +8 -0
- package/dist/consensus/verification-contract.js +95 -0
- package/dist/consensus/verification-contract.js.map +1 -0
- package/dist/consensus/voter.d.ts +29 -0
- package/dist/consensus/voter.js +394 -0
- package/dist/consensus/voter.js.map +1 -0
- package/dist/converge/attempt-budget.d.ts +88 -0
- package/dist/converge/attempt-budget.js +717 -0
- package/dist/converge/attempt-budget.js.map +1 -0
- package/dist/converge/bound-fix-recovery-source.d.ts +24 -0
- package/dist/converge/bound-fix-recovery-source.js +25 -0
- package/dist/converge/bound-fix-recovery-source.js.map +1 -0
- package/dist/converge/bound-fix-recovery.d.ts +15 -0
- package/dist/converge/bound-fix-recovery.js +65 -0
- package/dist/converge/bound-fix-recovery.js.map +1 -0
- package/dist/converge/correction-anchors.d.ts +1 -0
- package/dist/converge/correction-anchors.js +2 -0
- package/dist/converge/correction-anchors.js.map +1 -0
- package/dist/converge/cycle-remote.d.ts +6 -0
- package/dist/converge/cycle-remote.js +41 -0
- package/dist/converge/cycle-remote.js.map +1 -0
- package/dist/converge/delivery-reconciliation.d.ts +17 -0
- package/dist/converge/delivery-reconciliation.js +53 -0
- package/dist/converge/delivery-reconciliation.js.map +1 -0
- package/dist/converge/finding-identity.d.ts +6 -0
- package/dist/converge/finding-identity.js +7 -0
- package/dist/converge/finding-identity.js.map +1 -0
- package/dist/converge/fresh-review.d.ts +37 -0
- package/dist/converge/fresh-review.js +351 -0
- package/dist/converge/fresh-review.js.map +1 -0
- package/dist/converge/launch-guard.d.ts +55 -0
- package/dist/converge/launch-guard.js +363 -0
- package/dist/converge/launch-guard.js.map +1 -0
- package/dist/converge/launch-preflight.d.ts +5 -0
- package/dist/converge/launch-preflight.js +41 -0
- package/dist/converge/launch-preflight.js.map +1 -0
- package/dist/converge/launch-record.d.ts +136 -0
- package/dist/converge/launch-record.js +86 -0
- package/dist/converge/launch-record.js.map +1 -0
- package/dist/converge/legacy-launch-health.d.ts +311 -0
- package/dist/converge/legacy-launch-health.js +159 -0
- package/dist/converge/legacy-launch-health.js.map +1 -0
- package/dist/converge/legacy-roster.d.ts +29 -0
- package/dist/converge/legacy-roster.js +268 -0
- package/dist/converge/legacy-roster.js.map +1 -0
- package/dist/converge/native-lock.d.ts +18 -0
- package/dist/converge/native-lock.js +122 -0
- package/dist/converge/native-lock.js.map +1 -0
- package/dist/converge/ordinary-pending-export.d.ts +67 -0
- package/dist/converge/ordinary-pending-export.js +175 -0
- package/dist/converge/ordinary-pending-export.js.map +1 -0
- package/dist/converge/ordinary-pending-package.d.ts +28 -0
- package/dist/converge/ordinary-pending-package.js +36 -0
- package/dist/converge/ordinary-pending-package.js.map +1 -0
- package/dist/converge/pending-legacy-resume.d.ts +119 -0
- package/dist/converge/pending-legacy-resume.js +720 -0
- package/dist/converge/pending-legacy-resume.js.map +1 -0
- package/dist/converge/pending-recovery-source.d.ts +131 -0
- package/dist/converge/pending-recovery-source.js +71 -0
- package/dist/converge/pending-recovery-source.js.map +1 -0
- package/dist/converge/recovery-launch.d.ts +66 -0
- package/dist/converge/recovery-launch.js +518 -0
- package/dist/converge/recovery-launch.js.map +1 -0
- package/dist/converge/retained-report.d.ts +29 -0
- package/dist/converge/retained-report.js +218 -0
- package/dist/converge/retained-report.js.map +1 -0
- package/dist/converge/retry-source.d.ts +25 -0
- package/dist/converge/retry-source.js +13 -0
- package/dist/converge/retry-source.js.map +1 -0
- package/dist/converge/review-cycle.d.ts +49 -0
- package/dist/converge/review-cycle.js +26 -0
- package/dist/converge/review-cycle.js.map +1 -0
- package/dist/converge/round-gap-schema.d.ts +66 -0
- package/dist/converge/round-gap-schema.js +51 -0
- package/dist/converge/round-gap-schema.js.map +1 -0
- package/dist/converge/round-gap.d.ts +38 -0
- package/dist/converge/round-gap.js +334 -0
- package/dist/converge/round-gap.js.map +1 -0
- package/dist/converge/run-state.d.ts +224 -0
- package/dist/converge/run-state.js +564 -0
- package/dist/converge/run-state.js.map +1 -0
- package/dist/converge/stale-report-schema.d.ts +42 -0
- package/dist/converge/stale-report-schema.js +79 -0
- package/dist/converge/stale-report-schema.js.map +1 -0
- package/dist/converge/stale-report-storage.d.ts +47 -0
- package/dist/converge/stale-report-storage.js +172 -0
- package/dist/converge/stale-report-storage.js.map +1 -0
- package/dist/converge/stale-report.d.ts +14 -0
- package/dist/converge/stale-report.js +213 -0
- package/dist/converge/stale-report.js.map +1 -0
- package/dist/converge/target-ownership.d.ts +29 -0
- package/dist/converge/target-ownership.js +95 -0
- package/dist/converge/target-ownership.js.map +1 -0
- package/dist/converge/terminal-rejection-schema.d.ts +42 -0
- package/dist/converge/terminal-rejection-schema.js +39 -0
- package/dist/converge/terminal-rejection-schema.js.map +1 -0
- package/dist/converge/terminal-rejection.d.ts +13 -0
- package/dist/converge/terminal-rejection.js +275 -0
- package/dist/converge/terminal-rejection.js.map +1 -0
- package/dist/coordination/registry-lock.d.ts +82 -0
- package/dist/coordination/registry-lock.js +498 -0
- package/dist/coordination/registry-lock.js.map +1 -0
- package/dist/discuss.d.ts +53 -0
- package/dist/discuss.js +112 -0
- package/dist/discuss.js.map +1 -0
- package/dist/dispatch/adapter.d.ts +32 -0
- package/dist/dispatch/adapter.js +2 -0
- package/dist/dispatch/adapter.js.map +1 -0
- package/dist/dispatch/anthropic.d.ts +10 -0
- package/dist/dispatch/anthropic.js +235 -0
- package/dist/dispatch/anthropic.js.map +1 -0
- package/dist/dispatch/async-lane.d.ts +127 -0
- package/dist/dispatch/async-lane.js +414 -0
- package/dist/dispatch/async-lane.js.map +1 -0
- package/dist/dispatch/capture-council.d.ts +63 -0
- package/dist/dispatch/capture-council.js +137 -0
- package/dist/dispatch/capture-council.js.map +1 -0
- package/dist/dispatch/captured-async.d.ts +67 -0
- package/dist/dispatch/captured-async.js +40 -0
- package/dist/dispatch/captured-async.js.map +1 -0
- package/dist/dispatch/captured-inputs.d.ts +50 -0
- package/dist/dispatch/captured-inputs.js +190 -0
- package/dist/dispatch/captured-inputs.js.map +1 -0
- package/dist/dispatch/checkpoint-async-context.d.ts +27 -0
- package/dist/dispatch/checkpoint-async-context.js +51 -0
- package/dist/dispatch/checkpoint-async-context.js.map +1 -0
- package/dist/dispatch/checkpoint-async-execution.d.ts +22 -0
- package/dist/dispatch/checkpoint-async-execution.js +130 -0
- package/dist/dispatch/checkpoint-async-execution.js.map +1 -0
- package/dist/dispatch/checkpoint-async-store.d.ts +134 -0
- package/dist/dispatch/checkpoint-async-store.js +534 -0
- package/dist/dispatch/checkpoint-async-store.js.map +1 -0
- package/dist/dispatch/checkpoint-async-unknown.d.ts +19 -0
- package/dist/dispatch/checkpoint-async-unknown.js +46 -0
- package/dist/dispatch/checkpoint-async-unknown.js.map +1 -0
- package/dist/dispatch/checkpoint-async.d.ts +252 -0
- package/dist/dispatch/checkpoint-async.js +270 -0
- package/dist/dispatch/checkpoint-async.js.map +1 -0
- package/dist/dispatch/checkpoint-gating-execution.d.ts +26 -0
- package/dist/dispatch/checkpoint-gating-execution.js +84 -0
- package/dist/dispatch/checkpoint-gating-execution.js.map +1 -0
- package/dist/dispatch/checkpoint-phase-limits.d.ts +5 -0
- package/dist/dispatch/checkpoint-phase-limits.js +11 -0
- package/dist/dispatch/checkpoint-phase-limits.js.map +1 -0
- package/dist/dispatch/checkpoint-verification-context.d.ts +15 -0
- package/dist/dispatch/checkpoint-verification-context.js +48 -0
- package/dist/dispatch/checkpoint-verification-context.js.map +1 -0
- package/dist/dispatch/checkpoint-verification.d.ts +213 -0
- package/dist/dispatch/checkpoint-verification.js +381 -0
- package/dist/dispatch/checkpoint-verification.js.map +1 -0
- package/dist/dispatch/checkpoint.d.ts +329 -0
- package/dist/dispatch/checkpoint.js +1418 -0
- package/dist/dispatch/checkpoint.js.map +1 -0
- package/dist/dispatch/google.d.ts +10 -0
- package/dist/dispatch/google.js +158 -0
- package/dist/dispatch/google.js.map +1 -0
- package/dist/dispatch/late-audit.d.ts +23 -0
- package/dist/dispatch/late-audit.js +133 -0
- package/dist/dispatch/late-audit.js.map +1 -0
- package/dist/dispatch/merge.d.ts +29 -0
- package/dist/dispatch/merge.js +112 -0
- package/dist/dispatch/merge.js.map +1 -0
- package/dist/dispatch/openai-compat.d.ts +30 -0
- package/dist/dispatch/openai-compat.js +166 -0
- package/dist/dispatch/openai-compat.js.map +1 -0
- package/dist/dispatch/openai.d.ts +10 -0
- package/dist/dispatch/openai.js +159 -0
- package/dist/dispatch/openai.js.map +1 -0
- package/dist/dispatch/original-execution.d.ts +30 -0
- package/dist/dispatch/original-execution.js +91 -0
- package/dist/dispatch/original-execution.js.map +1 -0
- package/dist/dispatch/original-launch.d.ts +37 -0
- package/dist/dispatch/original-launch.js +117 -0
- package/dist/dispatch/original-launch.js.map +1 -0
- package/dist/dispatch/quorum.d.ts +15 -0
- package/dist/dispatch/quorum.js +33 -0
- package/dist/dispatch/quorum.js.map +1 -0
- package/dist/dispatch/recovery-operation.d.ts +44 -0
- package/dist/dispatch/recovery-operation.js +146 -0
- package/dist/dispatch/recovery-operation.js.map +1 -0
- package/dist/dispatch/recovery-policy.d.ts +54 -0
- package/dist/dispatch/recovery-policy.js +157 -0
- package/dist/dispatch/recovery-policy.js.map +1 -0
- package/dist/dispatch/recovery.d.ts +78 -0
- package/dist/dispatch/recovery.js +299 -0
- package/dist/dispatch/recovery.js.map +1 -0
- package/dist/dispatch/retained-async.d.ts +13 -0
- package/dist/dispatch/retained-async.js +101 -0
- package/dist/dispatch/retained-async.js.map +1 -0
- package/dist/dispatch/reviewer-identity.d.ts +10 -0
- package/dist/dispatch/reviewer-identity.js +19 -0
- package/dist/dispatch/reviewer-identity.js.map +1 -0
- package/dist/dispatch/runner.d.ts +76 -0
- package/dist/dispatch/runner.js +415 -0
- package/dist/dispatch/runner.js.map +1 -0
- package/dist/dispatch/utils.d.ts +159 -0
- package/dist/dispatch/utils.js +381 -0
- package/dist/dispatch/utils.js.map +1 -0
- package/dist/dispatch/verification-execution.d.ts +48 -0
- package/dist/dispatch/verification-execution.js +252 -0
- package/dist/dispatch/verification-execution.js.map +1 -0
- package/dist/dispatch/verification-late-audit.d.ts +17 -0
- package/dist/dispatch/verification-late-audit.js +117 -0
- package/dist/dispatch/verification-late-audit.js.map +1 -0
- package/dist/evidence/claim-recovery/authenticated-carrier-projection.d.ts +30 -0
- package/dist/evidence/claim-recovery/authenticated-carrier-projection.js +100 -0
- package/dist/evidence/claim-recovery/authenticated-carrier-projection.js.map +1 -0
- package/dist/evidence/claim-recovery/authenticated-receipts.d.ts +46 -0
- package/dist/evidence/claim-recovery/authenticated-receipts.js +120 -0
- package/dist/evidence/claim-recovery/authenticated-receipts.js.map +1 -0
- package/dist/evidence/claim-recovery/carrier-inventory.d.ts +49 -0
- package/dist/evidence/claim-recovery/carrier-inventory.js +340 -0
- package/dist/evidence/claim-recovery/carrier-inventory.js.map +1 -0
- package/dist/evidence/claim-recovery/claim-index.d.ts +12 -0
- package/dist/evidence/claim-recovery/claim-index.js +56 -0
- package/dist/evidence/claim-recovery/claim-index.js.map +1 -0
- package/dist/evidence/claim-recovery/confirmation.d.ts +53 -0
- package/dist/evidence/claim-recovery/confirmation.js +151 -0
- package/dist/evidence/claim-recovery/confirmation.js.map +1 -0
- package/dist/evidence/claim-recovery/context.d.ts +15 -0
- package/dist/evidence/claim-recovery/context.js +40 -0
- package/dist/evidence/claim-recovery/context.js.map +1 -0
- package/dist/evidence/claim-recovery/proof-storage.d.ts +6 -0
- package/dist/evidence/claim-recovery/proof-storage.js +97 -0
- package/dist/evidence/claim-recovery/proof-storage.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/anchors.d.ts +20 -0
- package/dist/evidence/claim-recovery/validation/anchors.js +22 -0
- package/dist/evidence/claim-recovery/validation/anchors.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/carrier-projection.d.ts +9 -0
- package/dist/evidence/claim-recovery/validation/carrier-projection.js +364 -0
- package/dist/evidence/claim-recovery/validation/carrier-projection.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/carrier-types.d.ts +83 -0
- package/dist/evidence/claim-recovery/validation/carrier-types.js +2 -0
- package/dist/evidence/claim-recovery/validation/carrier-types.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/claim-split.d.ts +57 -0
- package/dist/evidence/claim-recovery/validation/claim-split.js +209 -0
- package/dist/evidence/claim-recovery/validation/claim-split.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/claims.d.ts +20 -0
- package/dist/evidence/claim-recovery/validation/claims.js +108 -0
- package/dist/evidence/claim-recovery/validation/claims.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/current-projection.d.ts +36 -0
- package/dist/evidence/claim-recovery/validation/current-projection.js +424 -0
- package/dist/evidence/claim-recovery/validation/current-projection.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/lexical.d.ts +18 -0
- package/dist/evidence/claim-recovery/validation/lexical.js +91 -0
- package/dist/evidence/claim-recovery/validation/lexical.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/materials.d.ts +19 -0
- package/dist/evidence/claim-recovery/validation/materials.js +160 -0
- package/dist/evidence/claim-recovery/validation/materials.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/native-material.d.ts +27 -0
- package/dist/evidence/claim-recovery/validation/native-material.js +35 -0
- package/dist/evidence/claim-recovery/validation/native-material.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/native-occurrences.d.ts +79 -0
- package/dist/evidence/claim-recovery/validation/native-occurrences.js +187 -0
- package/dist/evidence/claim-recovery/validation/native-occurrences.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/native-state.d.ts +45 -0
- package/dist/evidence/claim-recovery/validation/native-state.js +385 -0
- package/dist/evidence/claim-recovery/validation/native-state.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/obligations.d.ts +15 -0
- package/dist/evidence/claim-recovery/validation/obligations.js +65 -0
- package/dist/evidence/claim-recovery/validation/obligations.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/occurrence-source.d.ts +45 -0
- package/dist/evidence/claim-recovery/validation/occurrence-source.js +208 -0
- package/dist/evidence/claim-recovery/validation/occurrence-source.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/occurrence-types.d.ts +101 -0
- package/dist/evidence/claim-recovery/validation/occurrence-types.js +2 -0
- package/dist/evidence/claim-recovery/validation/occurrence-types.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/occurrence.d.ts +30 -0
- package/dist/evidence/claim-recovery/validation/occurrence.js +227 -0
- package/dist/evidence/claim-recovery/validation/occurrence.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/primitives.d.ts +11 -0
- package/dist/evidence/claim-recovery/validation/primitives.js +41 -0
- package/dist/evidence/claim-recovery/validation/primitives.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/receipts.d.ts +37 -0
- package/dist/evidence/claim-recovery/validation/receipts.js +83 -0
- package/dist/evidence/claim-recovery/validation/receipts.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/recovery-json.d.ts +8 -0
- package/dist/evidence/claim-recovery/validation/recovery-json.js +42 -0
- package/dist/evidence/claim-recovery/validation/recovery-json.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/semantic-cache.d.ts +3 -0
- package/dist/evidence/claim-recovery/validation/semantic-cache.js +22 -0
- package/dist/evidence/claim-recovery/validation/semantic-cache.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/semantic-validation.d.ts +9 -0
- package/dist/evidence/claim-recovery/validation/semantic-validation.js +347 -0
- package/dist/evidence/claim-recovery/validation/semantic-validation.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/sighting.d.ts +2 -0
- package/dist/evidence/claim-recovery/validation/sighting.js +15 -0
- package/dist/evidence/claim-recovery/validation/sighting.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/sources.d.ts +15 -0
- package/dist/evidence/claim-recovery/validation/sources.js +2 -0
- package/dist/evidence/claim-recovery/validation/sources.js.map +1 -0
- package/dist/evidence/claim-recovery/validation/types.d.ts +126 -0
- package/dist/evidence/claim-recovery/validation/types.js +2 -0
- package/dist/evidence/claim-recovery/validation/types.js.map +1 -0
- package/dist/evidence/claim-split.d.ts +1 -0
- package/dist/evidence/claim-split.js +2 -0
- package/dist/evidence/claim-split.js.map +1 -0
- package/dist/evidence/event-receipts.d.ts +16 -0
- package/dist/evidence/event-receipts.js +41 -0
- package/dist/evidence/event-receipts.js.map +1 -0
- package/dist/evidence/finding-recovery.d.ts +23 -0
- package/dist/evidence/finding-recovery.js +74 -0
- package/dist/evidence/finding-recovery.js.map +1 -0
- package/dist/evidence/finding-retriage.d.ts +14 -0
- package/dist/evidence/finding-retriage.js +57 -0
- package/dist/evidence/finding-retriage.js.map +1 -0
- package/dist/evidence/format.d.ts +18 -0
- package/dist/evidence/format.js +152 -0
- package/dist/evidence/format.js.map +1 -0
- package/dist/evidence/original-run/decode.d.ts +30 -0
- package/dist/evidence/original-run/decode.js +208 -0
- package/dist/evidence/original-run/decode.js.map +1 -0
- package/dist/evidence/original-run/journal.d.ts +31 -0
- package/dist/evidence/original-run/journal.js +157 -0
- package/dist/evidence/original-run/journal.js.map +1 -0
- package/dist/evidence/original-run/lock-path.d.ts +17 -0
- package/dist/evidence/original-run/lock-path.js +116 -0
- package/dist/evidence/original-run/lock-path.js.map +1 -0
- package/dist/evidence/original-run/lock-scope.d.ts +21 -0
- package/dist/evidence/original-run/lock-scope.js +61 -0
- package/dist/evidence/original-run/lock-scope.js.map +1 -0
- package/dist/evidence/original-run/lock.d.ts +33 -0
- package/dist/evidence/original-run/lock.js +259 -0
- package/dist/evidence/original-run/lock.js.map +1 -0
- package/dist/evidence/original-run/remote.d.ts +23 -0
- package/dist/evidence/original-run/remote.js +110 -0
- package/dist/evidence/original-run/remote.js.map +1 -0
- package/dist/evidence/original-run/source.d.ts +61 -0
- package/dist/evidence/original-run/source.js +267 -0
- package/dist/evidence/original-run/source.js.map +1 -0
- package/dist/evidence/reads.d.ts +11 -0
- package/dist/evidence/reads.js +16 -0
- package/dist/evidence/reads.js.map +1 -0
- package/dist/evidence/recover-finding.d.ts +17 -0
- package/dist/evidence/recover-finding.js +65 -0
- package/dist/evidence/recover-finding.js.map +1 -0
- package/dist/evidence/recover-run.d.ts +26 -0
- package/dist/evidence/recover-run.js +180 -0
- package/dist/evidence/recover-run.js.map +1 -0
- package/dist/evidence/retained-time-budget.d.ts +9 -0
- package/dist/evidence/retained-time-budget.js +14 -0
- package/dist/evidence/retained-time-budget.js.map +1 -0
- package/dist/evidence/retriage-finding.d.ts +12 -0
- package/dist/evidence/retriage-finding.js +67 -0
- package/dist/evidence/retriage-finding.js.map +1 -0
- package/dist/evidence/reviewer-lineage.d.ts +35 -0
- package/dist/evidence/reviewer-lineage.js +293 -0
- package/dist/evidence/reviewer-lineage.js.map +1 -0
- package/dist/evidence/reviewer-original.d.ts +67 -0
- package/dist/evidence/reviewer-original.js +148 -0
- package/dist/evidence/reviewer-original.js.map +1 -0
- package/dist/evidence/reviewer-recovery.d.ts +74 -0
- package/dist/evidence/reviewer-recovery.js +179 -0
- package/dist/evidence/reviewer-recovery.js.map +1 -0
- package/dist/evidence/reviewer-status.d.ts +145 -0
- package/dist/evidence/reviewer-status.js +302 -0
- package/dist/evidence/reviewer-status.js.map +1 -0
- package/dist/evidence/show.d.ts +10 -0
- package/dist/evidence/show.js +41 -0
- package/dist/evidence/show.js.map +1 -0
- package/dist/evidence/status.d.ts +38 -0
- package/dist/evidence/status.js +73 -0
- package/dist/evidence/status.js.map +1 -0
- package/dist/evidence/target.d.ts +17 -0
- package/dist/evidence/target.js +74 -0
- package/dist/evidence/target.js.map +1 -0
- package/dist/evidence/types.d.ts +176 -0
- package/dist/evidence/types.js +109 -0
- package/dist/evidence/types.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2688 -0
- package/dist/index.js.map +1 -0
- package/dist/models/seed.d.ts +44 -0
- package/dist/models/seed.js +175 -0
- package/dist/models/seed.js.map +1 -0
- package/dist/models/server-stats.d.ts +80 -0
- package/dist/models/server-stats.js +109 -0
- package/dist/models/server-stats.js.map +1 -0
- package/dist/models/stats-store.d.ts +84 -0
- package/dist/models/stats-store.js +572 -0
- package/dist/models/stats-store.js.map +1 -0
- package/dist/output/artifacts.d.ts +16 -0
- package/dist/output/artifacts.js +29 -0
- package/dist/output/artifacts.js.map +1 -0
- package/dist/output/assembly-refusal.d.ts +8 -0
- package/dist/output/assembly-refusal.js +14 -0
- package/dist/output/assembly-refusal.js.map +1 -0
- package/dist/output/github.d.ts +12 -0
- package/dist/output/github.js +214 -0
- package/dist/output/github.js.map +1 -0
- package/dist/output/json.d.ts +3 -0
- package/dist/output/json.js +8 -0
- package/dist/output/json.js.map +1 -0
- package/dist/output/markdown.d.ts +3 -0
- package/dist/output/markdown.js +281 -0
- package/dist/output/markdown.js.map +1 -0
- package/dist/output/progress.d.ts +55 -0
- package/dist/output/progress.js +180 -0
- package/dist/output/progress.js.map +1 -0
- package/dist/output/sanitize.d.ts +18 -0
- package/dist/output/sanitize.js +46 -0
- package/dist/output/sanitize.js.map +1 -0
- package/dist/output/terminal.d.ts +2 -0
- package/dist/output/terminal.js +172 -0
- package/dist/output/terminal.js.map +1 -0
- package/dist/prepare/chunker.d.ts +18 -0
- package/dist/prepare/chunker.js +325 -0
- package/dist/prepare/chunker.js.map +1 -0
- package/dist/prepare/language.d.ts +1 -0
- package/dist/prepare/language.js +99 -0
- package/dist/prepare/language.js.map +1 -0
- package/dist/prepare/prompt-builder.d.ts +44 -0
- package/dist/prepare/prompt-builder.js +102 -0
- package/dist/prepare/prompt-builder.js.map +1 -0
- package/dist/prepare/unified-diff.d.ts +40 -0
- package/dist/prepare/unified-diff.js +135 -0
- package/dist/prepare/unified-diff.js.map +1 -0
- package/dist/prompts/base.d.ts +3 -0
- package/dist/prompts/base.js +53 -0
- package/dist/prompts/base.js.map +1 -0
- package/dist/prompts/hardening.d.ts +19 -0
- package/dist/prompts/hardening.js +67 -0
- package/dist/prompts/hardening.js.map +1 -0
- package/dist/prompts/languages/elixir.d.ts +1 -0
- package/dist/prompts/languages/elixir.js +13 -0
- package/dist/prompts/languages/elixir.js.map +1 -0
- package/dist/prompts/languages/generic.d.ts +1 -0
- package/dist/prompts/languages/generic.js +11 -0
- package/dist/prompts/languages/generic.js.map +1 -0
- package/dist/prompts/languages/python.d.ts +1 -0
- package/dist/prompts/languages/python.js +14 -0
- package/dist/prompts/languages/python.js.map +1 -0
- package/dist/prompts/languages/typescript.d.ts +1 -0
- package/dist/prompts/languages/typescript.js +13 -0
- package/dist/prompts/languages/typescript.js.map +1 -0
- package/dist/prompts/plan.d.ts +15 -0
- package/dist/prompts/plan.js +55 -0
- package/dist/prompts/plan.js.map +1 -0
- package/dist/report/aggregation-inputs.d.ts +52 -0
- package/dist/report/aggregation-inputs.js +114 -0
- package/dist/report/aggregation-inputs.js.map +1 -0
- package/dist/report/assembly.d.ts +43 -0
- package/dist/report/assembly.js +133 -0
- package/dist/report/assembly.js.map +1 -0
- package/dist/report/blocking-health.d.ts +64 -0
- package/dist/report/blocking-health.js +156 -0
- package/dist/report/blocking-health.js.map +1 -0
- package/dist/report/checkpoint-assembly.d.ts +10 -0
- package/dist/report/checkpoint-assembly.js +17 -0
- package/dist/report/checkpoint-assembly.js.map +1 -0
- package/dist/report/checkpoint-consensus.d.ts +59 -0
- package/dist/report/checkpoint-consensus.js +197 -0
- package/dist/report/checkpoint-consensus.js.map +1 -0
- package/dist/report/checkpoint-gating.d.ts +36 -0
- package/dist/report/checkpoint-gating.js +110 -0
- package/dist/report/checkpoint-gating.js.map +1 -0
- package/dist/report/checkpoint-projection.d.ts +76 -0
- package/dist/report/checkpoint-projection.js +122 -0
- package/dist/report/checkpoint-projection.js.map +1 -0
- package/dist/report/consensus-assembly.d.ts +37 -0
- package/dist/report/consensus-assembly.js +33 -0
- package/dist/report/consensus-assembly.js.map +1 -0
- package/dist/report/recovery-source.d.ts +7 -0
- package/dist/report/recovery-source.js +7 -0
- package/dist/report/recovery-source.js.map +1 -0
- package/dist/report/reviewer-artifact.d.ts +118 -0
- package/dist/report/reviewer-artifact.js +381 -0
- package/dist/report/reviewer-artifact.js.map +1 -0
- package/dist/report/reviewer-evidence-schema.d.ts +42 -0
- package/dist/report/reviewer-evidence-schema.js +28 -0
- package/dist/report/reviewer-evidence-schema.js.map +1 -0
- package/dist/report/reviewer-evidence.d.ts +54 -0
- package/dist/report/reviewer-evidence.js +229 -0
- package/dist/report/reviewer-evidence.js.map +1 -0
- package/dist/report/reviewer-health.d.ts +62 -0
- package/dist/report/reviewer-health.js +105 -0
- package/dist/report/reviewer-health.js.map +1 -0
- package/dist/report/run-header.d.ts +219 -0
- package/dist/report/run-header.js +307 -0
- package/dist/report/run-header.js.map +1 -0
- package/dist/report/supplemental-async.d.ts +19 -0
- package/dist/report/supplemental-async.js +85 -0
- package/dist/report/supplemental-async.js.map +1 -0
- package/dist/report/uuid.d.ts +16 -0
- package/dist/report/uuid.js +41 -0
- package/dist/report/uuid.js.map +1 -0
- package/dist/resolver/git.d.ts +16 -0
- package/dist/resolver/git.js +77 -0
- package/dist/resolver/git.js.map +1 -0
- package/dist/resolver/github-client.d.ts +82 -0
- package/dist/resolver/github-client.js +27 -0
- package/dist/resolver/github-client.js.map +1 -0
- package/dist/resolver/github.d.ts +29 -0
- package/dist/resolver/github.js +166 -0
- package/dist/resolver/github.js.map +1 -0
- package/dist/resolver/local.d.ts +3 -0
- package/dist/resolver/local.js +75 -0
- package/dist/resolver/local.js.map +1 -0
- package/dist/resolver/plan.d.ts +8 -0
- package/dist/resolver/plan.js +44 -0
- package/dist/resolver/plan.js.map +1 -0
- package/dist/resolver/target.d.ts +35 -0
- package/dist/resolver/target.js +112 -0
- package/dist/resolver/target.js.map +1 -0
- package/dist/resolver/types.d.ts +43 -0
- package/dist/resolver/types.js +2 -0
- package/dist/resolver/types.js.map +1 -0
- package/dist/roles/builtin.d.ts +4 -0
- package/dist/roles/builtin.js +282 -0
- package/dist/roles/builtin.js.map +1 -0
- package/dist/roles/dispatcher.d.ts +26 -0
- package/dist/roles/dispatcher.js +96 -0
- package/dist/roles/dispatcher.js.map +1 -0
- package/dist/roles/legacy-4.1.10.d.ts +2 -0
- package/dist/roles/legacy-4.1.10.js +320 -0
- package/dist/roles/legacy-4.1.10.js.map +1 -0
- package/dist/roles/legacy-4.4.9.d.ts +4 -0
- package/dist/roles/legacy-4.4.9.js +282 -0
- package/dist/roles/legacy-4.4.9.js.map +1 -0
- package/dist/roles/loader.d.ts +10 -0
- package/dist/roles/loader.js +104 -0
- package/dist/roles/loader.js.map +1 -0
- package/dist/roles/types.d.ts +13 -0
- package/dist/roles/types.js +2 -0
- package/dist/roles/types.js.map +1 -0
- package/dist/telemetry/abort-signal.d.ts +13 -0
- package/dist/telemetry/abort-signal.js +40 -0
- package/dist/telemetry/abort-signal.js.map +1 -0
- package/dist/telemetry/attest.d.ts +98 -0
- package/dist/telemetry/attest.js +331 -0
- package/dist/telemetry/attest.js.map +1 -0
- package/dist/telemetry/attested-retry.d.ts +79 -0
- package/dist/telemetry/attested-retry.js +195 -0
- package/dist/telemetry/attested-retry.js.map +1 -0
- package/dist/telemetry/attested-reviewer-delivery.d.ts +58 -0
- package/dist/telemetry/attested-reviewer-delivery.js +238 -0
- package/dist/telemetry/attested-reviewer-delivery.js.map +1 -0
- package/dist/telemetry/backfill.d.ts +95 -0
- package/dist/telemetry/backfill.js +460 -0
- package/dist/telemetry/backfill.js.map +1 -0
- package/dist/telemetry/credentials.d.ts +44 -0
- package/dist/telemetry/credentials.js +87 -0
- package/dist/telemetry/credentials.js.map +1 -0
- package/dist/telemetry/deliver.d.ts +152 -0
- package/dist/telemetry/deliver.js +662 -0
- package/dist/telemetry/deliver.js.map +1 -0
- package/dist/telemetry/envelope-validation.d.ts +13 -0
- package/dist/telemetry/envelope-validation.js +196 -0
- package/dist/telemetry/envelope-validation.js.map +1 -0
- package/dist/telemetry/envelope.d.ts +159 -0
- package/dist/telemetry/envelope.js +288 -0
- package/dist/telemetry/envelope.js.map +1 -0
- package/dist/telemetry/events.d.ts +68 -0
- package/dist/telemetry/events.js +79 -0
- package/dist/telemetry/events.js.map +1 -0
- package/dist/telemetry/notice.d.ts +15 -0
- package/dist/telemetry/notice.js +67 -0
- package/dist/telemetry/notice.js.map +1 -0
- package/dist/telemetry/outbox.d.ts +166 -0
- package/dist/telemetry/outbox.js +741 -0
- package/dist/telemetry/outbox.js.map +1 -0
- package/dist/telemetry/quarantine.d.ts +105 -0
- package/dist/telemetry/quarantine.js +224 -0
- package/dist/telemetry/quarantine.js.map +1 -0
- package/dist/telemetry/read-sink.d.ts +31 -0
- package/dist/telemetry/read-sink.js +25 -0
- package/dist/telemetry/read-sink.js.map +1 -0
- package/dist/telemetry/recovery/command.d.ts +16 -0
- package/dist/telemetry/recovery/command.js +70 -0
- package/dist/telemetry/recovery/command.js.map +1 -0
- package/dist/telemetry/recovery/discovery.d.ts +8 -0
- package/dist/telemetry/recovery/discovery.js +277 -0
- package/dist/telemetry/recovery/discovery.js.map +1 -0
- package/dist/telemetry/recovery/files.d.ts +20 -0
- package/dist/telemetry/recovery/files.js +123 -0
- package/dist/telemetry/recovery/files.js.map +1 -0
- package/dist/telemetry/recovery/plan.d.ts +10 -0
- package/dist/telemetry/recovery/plan.js +325 -0
- package/dist/telemetry/recovery/plan.js.map +1 -0
- package/dist/telemetry/recovery/source.d.ts +328 -0
- package/dist/telemetry/recovery/source.js +253 -0
- package/dist/telemetry/recovery/source.js.map +1 -0
- package/dist/telemetry/recovery/types.d.ts +100 -0
- package/dist/telemetry/recovery/types.js +2 -0
- package/dist/telemetry/recovery/types.js.map +1 -0
- package/dist/telemetry/recovery-request-budget.d.ts +39 -0
- package/dist/telemetry/recovery-request-budget.js +102 -0
- package/dist/telemetry/recovery-request-budget.js.map +1 -0
- package/dist/telemetry/report-consistency.d.ts +11 -0
- package/dist/telemetry/report-consistency.js +111 -0
- package/dist/telemetry/report-consistency.js.map +1 -0
- package/dist/telemetry/reviewer-delivery.d.ts +39 -0
- package/dist/telemetry/reviewer-delivery.js +279 -0
- package/dist/telemetry/reviewer-delivery.js.map +1 -0
- package/dist/telemetry/reviewer-preflight.d.ts +13 -0
- package/dist/telemetry/reviewer-preflight.js +56 -0
- package/dist/telemetry/reviewer-preflight.js.map +1 -0
- package/dist/telemetry/scrub.d.ts +53 -0
- package/dist/telemetry/scrub.js +205 -0
- package/dist/telemetry/scrub.js.map +1 -0
- package/dist/telemetry/sink.d.ts +212 -0
- package/dist/telemetry/sink.js +813 -0
- package/dist/telemetry/sink.js.map +1 -0
- package/dist/telemetry/terminal-reviewer-delivery.d.ts +18 -0
- package/dist/telemetry/terminal-reviewer-delivery.js +27 -0
- package/dist/telemetry/terminal-reviewer-delivery.js.map +1 -0
- package/dist/telemetry/transient-input.d.ts +2 -0
- package/dist/telemetry/transient-input.js +37 -0
- package/dist/telemetry/transient-input.js.map +1 -0
- package/dist/telemetry/verification.d.ts +9 -0
- package/dist/telemetry/verification.js +12 -0
- package/dist/telemetry/verification.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import type { ParseResult } from '../consensus/parser.js';
|
|
2
|
+
import type { ModelReview, TokenUsage } from '../consensus/types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Anthropic bills prompt-cache reads and writes separately from
|
|
5
|
+
* `input_tokens`; all three are prompt tokens the call processed, so they
|
|
6
|
+
* are summed into `inputTokens`. Thinking is already inside `output_tokens`
|
|
7
|
+
* and is not broken out.
|
|
8
|
+
*/
|
|
9
|
+
export declare function usageFromAnthropic(usage: {
|
|
10
|
+
input_tokens?: number | null;
|
|
11
|
+
output_tokens?: number | null;
|
|
12
|
+
cache_read_input_tokens?: number | null;
|
|
13
|
+
cache_creation_input_tokens?: number | null;
|
|
14
|
+
} | null | undefined): TokenUsage | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* OpenAI Chat Completions shape; OpenRouter passes the same block through.
|
|
17
|
+
* `completion_tokens` already contains the reasoning tokens, so
|
|
18
|
+
* `outputTokens` is the total and `reasoningTokens` its subset.
|
|
19
|
+
*/
|
|
20
|
+
export declare function usageFromOpenAI(usage: {
|
|
21
|
+
prompt_tokens?: number | null;
|
|
22
|
+
completion_tokens?: number | null;
|
|
23
|
+
completion_tokens_details?: {
|
|
24
|
+
reasoning_tokens?: number | null;
|
|
25
|
+
} | null;
|
|
26
|
+
} | null | undefined): TokenUsage | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Google reports answer tokens (`candidatesTokenCount`) and thinking tokens
|
|
29
|
+
* (`thoughtsTokenCount`) disjointly. `outputTokens` is their sum so it means
|
|
30
|
+
* the same thing as for every other provider — everything generated — and
|
|
31
|
+
* `reasoningTokens` is the thinking subset.
|
|
32
|
+
*/
|
|
33
|
+
export declare function usageFromGoogle(usage: {
|
|
34
|
+
promptTokenCount?: number | null;
|
|
35
|
+
candidatesTokenCount?: number | null;
|
|
36
|
+
thoughtsTokenCount?: number | null;
|
|
37
|
+
} | null | undefined): TokenUsage | undefined;
|
|
38
|
+
/**
|
|
39
|
+
* Strip a known provider prefix from a model name.
|
|
40
|
+
* Only removes anthropic/, openai/, google/, openrouter/, or openai-compat/
|
|
41
|
+
* prefixes. Returns the model name unchanged if no known prefix is found.
|
|
42
|
+
* Note: openrouter/ models keep their vendor segment — stripping
|
|
43
|
+
* "openrouter/moonshotai/kimi-k3" yields "moonshotai/kimi-k3", which is the
|
|
44
|
+
* model id OpenRouter expects on the wire.
|
|
45
|
+
*/
|
|
46
|
+
export declare function stripKnownProviderPrefix(model: string): string;
|
|
47
|
+
/**
|
|
48
|
+
* A completed HTTP call that produced no reviewable output is a FAILED
|
|
49
|
+
* review, not a clean one. Providers decline requests in-band — Claude
|
|
50
|
+
* answers 200 with `stop_reason: "refusal"`, OpenAI-compatible endpoints
|
|
51
|
+
* with `finish_reason: "content_filter"` — and refusals cluster on exactly
|
|
52
|
+
* the security-relevant diffs a council is most valuable for.
|
|
53
|
+
*
|
|
54
|
+
* Reporting those as `success` with zero findings is worse than losing the
|
|
55
|
+
* reviewer: the run still counts it toward `successfulReviews` (so the CI
|
|
56
|
+
* "nothing was reviewed" guard stays quiet), and consensus counts it as a
|
|
57
|
+
* relevant reviewer that looked and found nothing — which *lowers* the
|
|
58
|
+
* confidence of a real finding the other models did catch.
|
|
59
|
+
*/
|
|
60
|
+
export declare function failedReview(opts: {
|
|
61
|
+
model: string;
|
|
62
|
+
role: string;
|
|
63
|
+
provider: string;
|
|
64
|
+
startedAt: number;
|
|
65
|
+
error: string;
|
|
66
|
+
status?: 'error' | 'timeout';
|
|
67
|
+
/** Tokens the failed attempt still consumed (a truncated answer is billed). */
|
|
68
|
+
usage?: TokenUsage;
|
|
69
|
+
}): ModelReview;
|
|
70
|
+
/**
|
|
71
|
+
* The provider-agnostic backstop: a 200 with an empty body reviewed nothing.
|
|
72
|
+
* Catches refusal shapes we don't yet enumerate, and plain provider hiccups,
|
|
73
|
+
* without each adapter having to guess why the body was empty.
|
|
74
|
+
*/
|
|
75
|
+
export declare function isBlankOutput(rawOutput: string): boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Turn a parsed response into a ModelReview, shared by every adapter so the
|
|
78
|
+
* degraded cases are classified the same way everywhere.
|
|
79
|
+
*
|
|
80
|
+
* The case that matters: the model answered, but every finding it produced
|
|
81
|
+
* failed schema validation. `findings: []` with `dropped > 0` is NOT a clean
|
|
82
|
+
* review — reporting it as one silently drops a whole reviewer (and, in a
|
|
83
|
+
* council, a whole role) while the report claims the round was complete.
|
|
84
|
+
* Warnings ride along so a consumer reading the JSON can see degraded
|
|
85
|
+
* coverage without scraping stdout, which the skills explicitly tell people
|
|
86
|
+
* not to read.
|
|
87
|
+
*/
|
|
88
|
+
export declare function reviewFromParse(opts: {
|
|
89
|
+
model: string;
|
|
90
|
+
role: string;
|
|
91
|
+
provider: string;
|
|
92
|
+
startedAt: number;
|
|
93
|
+
parsed: ParseResult;
|
|
94
|
+
usage?: TokenUsage;
|
|
95
|
+
}): ModelReview;
|
|
96
|
+
/**
|
|
97
|
+
* Chain an external cancellation signal (quorum round closure) onto an
|
|
98
|
+
* adapter's internal timeout controller, so canceled calls abort their
|
|
99
|
+
* in-flight request instead of holding sockets (and the process) open.
|
|
100
|
+
* Returns an unlink function for the adapter's cleanup path.
|
|
101
|
+
*/
|
|
102
|
+
export declare function linkAbortSignal(controller: AbortController, external: AbortSignal | undefined, onAbort?: () => void): () => void;
|
|
103
|
+
/**
|
|
104
|
+
* Output budget for `ask/4` — the single-shot path behind the verification
|
|
105
|
+
* lane and `discuss`.
|
|
106
|
+
*
|
|
107
|
+
* The verifier answers one JSON entry per candidate finding, so its answer
|
|
108
|
+
* grows with the review, and a thinking model spends this budget on reasoning
|
|
109
|
+
* before emitting any of it. The old 4k/8k ceilings covered roughly ten
|
|
110
|
+
* findings; past that the answer was cut off, parsed to nothing, and every
|
|
111
|
+
* candidate was recorded "unavailable" — silently gating findings the verifier
|
|
112
|
+
* would have refuted (RCL-60). This matches the review path's budget.
|
|
113
|
+
*/
|
|
114
|
+
export declare const ASK_MAX_OUTPUT_TOKENS = 16384;
|
|
115
|
+
/**
|
|
116
|
+
* A provider stopped at its output ceiling. Thrown from an `ask` attempt so a
|
|
117
|
+
* truncated answer fails loudly instead of arriving as a short success whose
|
|
118
|
+
* missing content is indistinguishable from a model with nothing to say.
|
|
119
|
+
*/
|
|
120
|
+
export declare class TruncatedAnswerError extends Error {
|
|
121
|
+
constructor(provider: string);
|
|
122
|
+
}
|
|
123
|
+
export declare const RETRY_DELAYS: readonly [1000, 2000, 4000];
|
|
124
|
+
/**
|
|
125
|
+
* Whether an HTTP status from a provider API warrants a retry.
|
|
126
|
+
* Covers rate limits (429), transient server errors (500/502/503/504),
|
|
127
|
+
* and Anthropic's overloaded_error (529).
|
|
128
|
+
*/
|
|
129
|
+
export declare function isRetryableStatus(status: number | undefined): boolean;
|
|
130
|
+
/**
|
|
131
|
+
* Recognize bounded transport causes without guessing from error prose. An
|
|
132
|
+
* SDK connection-error class may omit its cause; arbitrary errors may not.
|
|
133
|
+
* Unknown coded causes (including TLS, DNS configuration and invalid URLs),
|
|
134
|
+
* aborts, cycles and over-depth chains remain terminal.
|
|
135
|
+
*/
|
|
136
|
+
export declare function isRetryableConnectionError(error: unknown, knownConnectionError?: boolean): boolean;
|
|
137
|
+
export declare function retryDelay(attempt: number): number;
|
|
138
|
+
export declare function sleep(ms: number): Promise<void>;
|
|
139
|
+
export type AttemptOutcome<T> = {
|
|
140
|
+
ok: true;
|
|
141
|
+
value: T;
|
|
142
|
+
} | {
|
|
143
|
+
ok: false;
|
|
144
|
+
timedOut: boolean;
|
|
145
|
+
error: string;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Shared timeout-owning retry skeleton for review and one-off adapter calls.
|
|
149
|
+
* The AbortController is the sole owner of timeout classification — the
|
|
150
|
+
* caller's SDK timeout must be set above `timeoutMs` (same convention as the
|
|
151
|
+
* review paths).
|
|
152
|
+
*/
|
|
153
|
+
export declare function attemptWithRetries<T>(opts: {
|
|
154
|
+
timeoutMs: number;
|
|
155
|
+
maxRetries: number;
|
|
156
|
+
signal?: AbortSignal;
|
|
157
|
+
isRetryable: (err: unknown) => boolean;
|
|
158
|
+
attempt: (signal: AbortSignal) => Promise<T>;
|
|
159
|
+
}): Promise<AttemptOutcome<T>>;
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Token usage extractors — one per SDK response shape (IO-12475 section
|
|
3
|
+
* 8.3). Each returns undefined when the provider sent no usage block, so a
|
|
4
|
+
* review never carries an empty `usage: {}`; non-numeric fields are dropped
|
|
5
|
+
* rather than coerced.
|
|
6
|
+
*/
|
|
7
|
+
function compactUsage(usage) {
|
|
8
|
+
const out = {};
|
|
9
|
+
if (typeof usage.inputTokens === 'number')
|
|
10
|
+
out.inputTokens = usage.inputTokens;
|
|
11
|
+
if (typeof usage.outputTokens === 'number')
|
|
12
|
+
out.outputTokens = usage.outputTokens;
|
|
13
|
+
if (typeof usage.reasoningTokens === 'number')
|
|
14
|
+
out.reasoningTokens = usage.reasoningTokens;
|
|
15
|
+
return Object.keys(out).length > 0 ? out : undefined;
|
|
16
|
+
}
|
|
17
|
+
function sumPresent(...values) {
|
|
18
|
+
const present = values.filter((v) => typeof v === 'number');
|
|
19
|
+
return present.length > 0 ? present.reduce((sum, v) => sum + v, 0) : undefined;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Anthropic bills prompt-cache reads and writes separately from
|
|
23
|
+
* `input_tokens`; all three are prompt tokens the call processed, so they
|
|
24
|
+
* are summed into `inputTokens`. Thinking is already inside `output_tokens`
|
|
25
|
+
* and is not broken out.
|
|
26
|
+
*/
|
|
27
|
+
export function usageFromAnthropic(usage) {
|
|
28
|
+
if (!usage)
|
|
29
|
+
return undefined;
|
|
30
|
+
return compactUsage({
|
|
31
|
+
inputTokens: sumPresent(usage.input_tokens, usage.cache_read_input_tokens, usage.cache_creation_input_tokens),
|
|
32
|
+
outputTokens: usage.output_tokens ?? undefined,
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* OpenAI Chat Completions shape; OpenRouter passes the same block through.
|
|
37
|
+
* `completion_tokens` already contains the reasoning tokens, so
|
|
38
|
+
* `outputTokens` is the total and `reasoningTokens` its subset.
|
|
39
|
+
*/
|
|
40
|
+
export function usageFromOpenAI(usage) {
|
|
41
|
+
if (!usage)
|
|
42
|
+
return undefined;
|
|
43
|
+
return compactUsage({
|
|
44
|
+
inputTokens: usage.prompt_tokens ?? undefined,
|
|
45
|
+
outputTokens: usage.completion_tokens ?? undefined,
|
|
46
|
+
reasoningTokens: usage.completion_tokens_details?.reasoning_tokens ?? undefined,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Google reports answer tokens (`candidatesTokenCount`) and thinking tokens
|
|
51
|
+
* (`thoughtsTokenCount`) disjointly. `outputTokens` is their sum so it means
|
|
52
|
+
* the same thing as for every other provider — everything generated — and
|
|
53
|
+
* `reasoningTokens` is the thinking subset.
|
|
54
|
+
*/
|
|
55
|
+
export function usageFromGoogle(usage) {
|
|
56
|
+
if (!usage)
|
|
57
|
+
return undefined;
|
|
58
|
+
return compactUsage({
|
|
59
|
+
inputTokens: usage.promptTokenCount ?? undefined,
|
|
60
|
+
outputTokens: sumPresent(usage.candidatesTokenCount, usage.thoughtsTokenCount),
|
|
61
|
+
reasoningTokens: usage.thoughtsTokenCount ?? undefined,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
const KNOWN_PROVIDER_PREFIXES = [
|
|
65
|
+
'anthropic/',
|
|
66
|
+
'openai/',
|
|
67
|
+
'google/',
|
|
68
|
+
'openrouter/',
|
|
69
|
+
'openai-compat/',
|
|
70
|
+
];
|
|
71
|
+
/**
|
|
72
|
+
* Strip a known provider prefix from a model name.
|
|
73
|
+
* Only removes anthropic/, openai/, google/, openrouter/, or openai-compat/
|
|
74
|
+
* prefixes. Returns the model name unchanged if no known prefix is found.
|
|
75
|
+
* Note: openrouter/ models keep their vendor segment — stripping
|
|
76
|
+
* "openrouter/moonshotai/kimi-k3" yields "moonshotai/kimi-k3", which is the
|
|
77
|
+
* model id OpenRouter expects on the wire.
|
|
78
|
+
*/
|
|
79
|
+
export function stripKnownProviderPrefix(model) {
|
|
80
|
+
for (const prefix of KNOWN_PROVIDER_PREFIXES) {
|
|
81
|
+
if (model.startsWith(prefix)) {
|
|
82
|
+
return model.slice(prefix.length);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return model;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* A completed HTTP call that produced no reviewable output is a FAILED
|
|
89
|
+
* review, not a clean one. Providers decline requests in-band — Claude
|
|
90
|
+
* answers 200 with `stop_reason: "refusal"`, OpenAI-compatible endpoints
|
|
91
|
+
* with `finish_reason: "content_filter"` — and refusals cluster on exactly
|
|
92
|
+
* the security-relevant diffs a council is most valuable for.
|
|
93
|
+
*
|
|
94
|
+
* Reporting those as `success` with zero findings is worse than losing the
|
|
95
|
+
* reviewer: the run still counts it toward `successfulReviews` (so the CI
|
|
96
|
+
* "nothing was reviewed" guard stays quiet), and consensus counts it as a
|
|
97
|
+
* relevant reviewer that looked and found nothing — which *lowers* the
|
|
98
|
+
* confidence of a real finding the other models did catch.
|
|
99
|
+
*/
|
|
100
|
+
export function failedReview(opts) {
|
|
101
|
+
return {
|
|
102
|
+
model: opts.model,
|
|
103
|
+
role: opts.role,
|
|
104
|
+
provider: opts.provider,
|
|
105
|
+
findings: [],
|
|
106
|
+
durationMs: Date.now() - opts.startedAt,
|
|
107
|
+
status: opts.status ?? 'error',
|
|
108
|
+
error: opts.error,
|
|
109
|
+
...(opts.usage ? { usage: opts.usage } : {}),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The provider-agnostic backstop: a 200 with an empty body reviewed nothing.
|
|
114
|
+
* Catches refusal shapes we don't yet enumerate, and plain provider hiccups,
|
|
115
|
+
* without each adapter having to guess why the body was empty.
|
|
116
|
+
*/
|
|
117
|
+
export function isBlankOutput(rawOutput) {
|
|
118
|
+
return rawOutput.trim().length === 0;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Turn a parsed response into a ModelReview, shared by every adapter so the
|
|
122
|
+
* degraded cases are classified the same way everywhere.
|
|
123
|
+
*
|
|
124
|
+
* The case that matters: the model answered, but every finding it produced
|
|
125
|
+
* failed schema validation. `findings: []` with `dropped > 0` is NOT a clean
|
|
126
|
+
* review — reporting it as one silently drops a whole reviewer (and, in a
|
|
127
|
+
* council, a whole role) while the report claims the round was complete.
|
|
128
|
+
* Warnings ride along so a consumer reading the JSON can see degraded
|
|
129
|
+
* coverage without scraping stdout, which the skills explicitly tell people
|
|
130
|
+
* not to read.
|
|
131
|
+
*/
|
|
132
|
+
export function reviewFromParse(opts) {
|
|
133
|
+
const { findings, warnings, dropped, unusable } = opts.parsed;
|
|
134
|
+
const base = {
|
|
135
|
+
model: opts.model,
|
|
136
|
+
role: opts.role,
|
|
137
|
+
provider: opts.provider,
|
|
138
|
+
findings,
|
|
139
|
+
durationMs: Date.now() - opts.startedAt,
|
|
140
|
+
...(opts.usage ? { usage: opts.usage } : {}),
|
|
141
|
+
...(dropped > 0 ? { droppedFindings: dropped } : {}),
|
|
142
|
+
...(warnings.length > 0 ? { warnings } : {}),
|
|
143
|
+
};
|
|
144
|
+
// Gate on the parser's explicit verdict, not on the dropped counter: the
|
|
145
|
+
// counter only moves inside the salvage loop, which never runs when the
|
|
146
|
+
// response has no findings array at all — so a truncated or prose-only
|
|
147
|
+
// answer used to fall through to `success` (RCL-15).
|
|
148
|
+
if (unusable) {
|
|
149
|
+
return {
|
|
150
|
+
...base,
|
|
151
|
+
status: 'parse_failed',
|
|
152
|
+
error: dropped > 0
|
|
153
|
+
? `All ${dropped} finding(s) failed schema validation; this reviewer's output was lost`
|
|
154
|
+
: "Response was not a usable review; this reviewer's output was lost",
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
return { ...base, status: 'success' };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Chain an external cancellation signal (quorum round closure) onto an
|
|
161
|
+
* adapter's internal timeout controller, so canceled calls abort their
|
|
162
|
+
* in-flight request instead of holding sockets (and the process) open.
|
|
163
|
+
* Returns an unlink function for the adapter's cleanup path.
|
|
164
|
+
*/
|
|
165
|
+
export function linkAbortSignal(controller, external, onAbort = () => { }) {
|
|
166
|
+
if (!external)
|
|
167
|
+
return () => { };
|
|
168
|
+
if (external.aborted) {
|
|
169
|
+
onAbort();
|
|
170
|
+
controller.abort();
|
|
171
|
+
return () => { };
|
|
172
|
+
}
|
|
173
|
+
const abort = () => {
|
|
174
|
+
onAbort();
|
|
175
|
+
controller.abort();
|
|
176
|
+
};
|
|
177
|
+
external.addEventListener('abort', abort, { once: true });
|
|
178
|
+
return () => external.removeEventListener('abort', abort);
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Output budget for `ask/4` — the single-shot path behind the verification
|
|
182
|
+
* lane and `discuss`.
|
|
183
|
+
*
|
|
184
|
+
* The verifier answers one JSON entry per candidate finding, so its answer
|
|
185
|
+
* grows with the review, and a thinking model spends this budget on reasoning
|
|
186
|
+
* before emitting any of it. The old 4k/8k ceilings covered roughly ten
|
|
187
|
+
* findings; past that the answer was cut off, parsed to nothing, and every
|
|
188
|
+
* candidate was recorded "unavailable" — silently gating findings the verifier
|
|
189
|
+
* would have refuted (RCL-60). This matches the review path's budget.
|
|
190
|
+
*/
|
|
191
|
+
export const ASK_MAX_OUTPUT_TOKENS = 16_384;
|
|
192
|
+
/**
|
|
193
|
+
* A provider stopped at its output ceiling. Thrown from an `ask` attempt so a
|
|
194
|
+
* truncated answer fails loudly instead of arriving as a short success whose
|
|
195
|
+
* missing content is indistinguishable from a model with nothing to say.
|
|
196
|
+
*/
|
|
197
|
+
export class TruncatedAnswerError extends Error {
|
|
198
|
+
constructor(provider) {
|
|
199
|
+
super(`${provider}: answer truncated at the output limit; the response would be incomplete`);
|
|
200
|
+
this.name = 'TruncatedAnswerError';
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
export const RETRY_DELAYS = [1000, 2000, 4000];
|
|
204
|
+
const RETRYABLE_STATUSES = new Set([429, 500, 502, 503, 504, 529]);
|
|
205
|
+
/**
|
|
206
|
+
* Whether an HTTP status from a provider API warrants a retry.
|
|
207
|
+
* Covers rate limits (429), transient server errors (500/502/503/504),
|
|
208
|
+
* and Anthropic's overloaded_error (529).
|
|
209
|
+
*/
|
|
210
|
+
export function isRetryableStatus(status) {
|
|
211
|
+
return status !== undefined && RETRYABLE_STATUSES.has(status);
|
|
212
|
+
}
|
|
213
|
+
const TRANSIENT_CONNECTION_CODES = new Set([
|
|
214
|
+
'ECONNRESET', 'ECONNREFUSED', 'ETIMEDOUT', 'EPIPE', 'EAI_AGAIN',
|
|
215
|
+
'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT', 'UND_ERR_BODY_TIMEOUT', 'UND_ERR_SOCKET',
|
|
216
|
+
]);
|
|
217
|
+
/**
|
|
218
|
+
* Recognize bounded transport causes without guessing from error prose. An
|
|
219
|
+
* SDK connection-error class may omit its cause; arbitrary errors may not.
|
|
220
|
+
* Unknown coded causes (including TLS, DNS configuration and invalid URLs),
|
|
221
|
+
* aborts, cycles and over-depth chains remain terminal.
|
|
222
|
+
*/
|
|
223
|
+
export function isRetryableConnectionError(error, knownConnectionError = false) {
|
|
224
|
+
const seen = new Set();
|
|
225
|
+
const pending = [{ error, depth: 0, transient: false }];
|
|
226
|
+
let hasTransientBranch = false;
|
|
227
|
+
let knownConnectionRoot = false;
|
|
228
|
+
let inspected = 0;
|
|
229
|
+
while (pending.length > 0) {
|
|
230
|
+
const { error: current, depth, transient: branchTransient } = pending.pop();
|
|
231
|
+
if (depth >= 8 || ++inspected > 32)
|
|
232
|
+
return false;
|
|
233
|
+
if (current === null || typeof current !== 'object' || seen.has(current))
|
|
234
|
+
return false;
|
|
235
|
+
seen.add(current);
|
|
236
|
+
const cause = current;
|
|
237
|
+
if (cause.name === 'AbortError' || cause.name === 'APIUserAbortError' || cause.status !== undefined)
|
|
238
|
+
return false;
|
|
239
|
+
let transient = branchTransient;
|
|
240
|
+
if (cause.code !== undefined) {
|
|
241
|
+
if (typeof cause.code !== 'string' || !TRANSIENT_CONNECTION_CODES.has(cause.code))
|
|
242
|
+
return false;
|
|
243
|
+
transient = true;
|
|
244
|
+
}
|
|
245
|
+
const children = [];
|
|
246
|
+
if (current instanceof AggregateError) {
|
|
247
|
+
const members = current.errors;
|
|
248
|
+
if (!Array.isArray(members))
|
|
249
|
+
return false;
|
|
250
|
+
const count = members.length;
|
|
251
|
+
if (count > 32 - inspected - pending.length - Number(cause.cause !== undefined))
|
|
252
|
+
return false;
|
|
253
|
+
for (let index = 0; index < count; index += 1)
|
|
254
|
+
children.push(members[index]);
|
|
255
|
+
}
|
|
256
|
+
if (cause.cause !== undefined)
|
|
257
|
+
children.push(cause.cause);
|
|
258
|
+
if (children.length === 0) {
|
|
259
|
+
if (!transient && !(knownConnectionError && seen.size === 1))
|
|
260
|
+
return false;
|
|
261
|
+
hasTransientBranch ||= transient;
|
|
262
|
+
knownConnectionRoot ||= knownConnectionError && depth === 0;
|
|
263
|
+
continue;
|
|
264
|
+
}
|
|
265
|
+
for (const child of children)
|
|
266
|
+
pending.push({ error: child, depth: depth + 1, transient });
|
|
267
|
+
}
|
|
268
|
+
return hasTransientBranch || knownConnectionRoot;
|
|
269
|
+
}
|
|
270
|
+
export function retryDelay(attempt) {
|
|
271
|
+
return RETRY_DELAYS[attempt] ?? RETRY_DELAYS[RETRY_DELAYS.length - 1];
|
|
272
|
+
}
|
|
273
|
+
export function sleep(ms) {
|
|
274
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
275
|
+
}
|
|
276
|
+
function sleepUntilRetry(ms, signal) {
|
|
277
|
+
if (signal.aborted)
|
|
278
|
+
return Promise.resolve();
|
|
279
|
+
return new Promise((resolve) => {
|
|
280
|
+
let timeoutHandle;
|
|
281
|
+
const finish = () => {
|
|
282
|
+
if (timeoutHandle !== undefined)
|
|
283
|
+
clearTimeout(timeoutHandle);
|
|
284
|
+
signal.removeEventListener('abort', finish);
|
|
285
|
+
resolve();
|
|
286
|
+
};
|
|
287
|
+
signal.addEventListener('abort', finish, { once: true });
|
|
288
|
+
if (signal.aborted) {
|
|
289
|
+
finish();
|
|
290
|
+
return;
|
|
291
|
+
}
|
|
292
|
+
timeoutHandle = setTimeout(finish, ms);
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
const ATTEMPT_ABORTED = Symbol('attempt aborted');
|
|
296
|
+
function awaitAttempt(attempt, signal) {
|
|
297
|
+
return new Promise((resolve, reject) => {
|
|
298
|
+
let settled = false;
|
|
299
|
+
const finish = (outcome, value) => {
|
|
300
|
+
if (settled)
|
|
301
|
+
return;
|
|
302
|
+
settled = true;
|
|
303
|
+
signal.removeEventListener('abort', onAbort);
|
|
304
|
+
if (outcome === 'resolve')
|
|
305
|
+
resolve(value);
|
|
306
|
+
else
|
|
307
|
+
reject(value);
|
|
308
|
+
};
|
|
309
|
+
const onAbort = () => finish('reject', ATTEMPT_ABORTED);
|
|
310
|
+
signal.addEventListener('abort', onAbort, { once: true });
|
|
311
|
+
if (signal.aborted) {
|
|
312
|
+
onAbort();
|
|
313
|
+
}
|
|
314
|
+
attempt.then((value) => finish('resolve', value), (error) => finish('reject', error));
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Shared timeout-owning retry skeleton for review and one-off adapter calls.
|
|
319
|
+
* The AbortController is the sole owner of timeout classification — the
|
|
320
|
+
* caller's SDK timeout must be set above `timeoutMs` (same convention as the
|
|
321
|
+
* review paths).
|
|
322
|
+
*/
|
|
323
|
+
export async function attemptWithRetries(opts) {
|
|
324
|
+
const controller = new AbortController();
|
|
325
|
+
let abortCause;
|
|
326
|
+
const timeoutHandle = setTimeout(() => {
|
|
327
|
+
if (controller.signal.aborted)
|
|
328
|
+
return;
|
|
329
|
+
abortCause = 'timeout';
|
|
330
|
+
controller.abort();
|
|
331
|
+
}, opts.timeoutMs);
|
|
332
|
+
const unlinkAbort = linkAbortSignal(controller, opts.signal, () => {
|
|
333
|
+
abortCause ??= 'cancelled';
|
|
334
|
+
});
|
|
335
|
+
let lastErr = new Error('no attempts made');
|
|
336
|
+
const abortOutcome = () => {
|
|
337
|
+
const timedOut = abortCause === 'timeout';
|
|
338
|
+
return {
|
|
339
|
+
ok: false,
|
|
340
|
+
timedOut,
|
|
341
|
+
error: timedOut ? 'Request timed out' : 'Request cancelled',
|
|
342
|
+
};
|
|
343
|
+
};
|
|
344
|
+
if (controller.signal.aborted) {
|
|
345
|
+
clearTimeout(timeoutHandle);
|
|
346
|
+
unlinkAbort();
|
|
347
|
+
return abortOutcome();
|
|
348
|
+
}
|
|
349
|
+
if (opts.timeoutMs <= 0) {
|
|
350
|
+
clearTimeout(timeoutHandle);
|
|
351
|
+
unlinkAbort();
|
|
352
|
+
return { ok: false, timedOut: true, error: 'Request timed out' };
|
|
353
|
+
}
|
|
354
|
+
try {
|
|
355
|
+
for (let attempt = 0; attempt <= opts.maxRetries; attempt++) {
|
|
356
|
+
try {
|
|
357
|
+
const value = await awaitAttempt(opts.attempt(controller.signal), controller.signal);
|
|
358
|
+
return controller.signal.aborted ? abortOutcome() : { ok: true, value };
|
|
359
|
+
}
|
|
360
|
+
catch (err) {
|
|
361
|
+
lastErr = err;
|
|
362
|
+
if (controller.signal.aborted)
|
|
363
|
+
return abortOutcome();
|
|
364
|
+
if (opts.isRetryable(err) && attempt < opts.maxRetries) {
|
|
365
|
+
await sleepUntilRetry(retryDelay(attempt), controller.signal);
|
|
366
|
+
if (controller.signal.aborted)
|
|
367
|
+
return abortOutcome();
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
break;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
finally {
|
|
375
|
+
clearTimeout(timeoutHandle);
|
|
376
|
+
unlinkAbort();
|
|
377
|
+
}
|
|
378
|
+
const error = lastErr instanceof Error ? `${lastErr.name}: ${lastErr.message}` : String(lastErr);
|
|
379
|
+
return { ok: false, timedOut: false, error };
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/dispatch/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { replayGating, type AskFn, type GatingPlan } from '../consensus/gating.js';
|
|
2
|
+
import { type NativeTargetOwnership } from '../converge/target-ownership.js';
|
|
3
|
+
import type { CheckpointJournal } from './checkpoint.js';
|
|
4
|
+
import { type VerificationPlanInput, type VerificationResult } from './checkpoint-verification.js';
|
|
5
|
+
export interface VerificationExecutionOptions {
|
|
6
|
+
commonDir: string;
|
|
7
|
+
ownership: NativeTargetOwnership;
|
|
8
|
+
journal: CheckpointJournal;
|
|
9
|
+
/** Independently regenerated from validated captured consensus/config/diff, never an uploaded plan. */
|
|
10
|
+
regeneratedPlan: GatingPlan;
|
|
11
|
+
/** Existing phase on resume; first launch is bounded by the original operation expiry. */
|
|
12
|
+
retainedPlan: VerificationPlanInput;
|
|
13
|
+
/** Other calls charged to this run (e.g. new async launches), excluding checkpoint and verifier intents. */
|
|
14
|
+
otherPhysicalCalls: number;
|
|
15
|
+
askFactory: () => AskFn;
|
|
16
|
+
/** Caller establishes source/principal/producer authority before any new physical intent. */
|
|
17
|
+
beforeLaunch: () => Promise<void>;
|
|
18
|
+
signal?: AbortSignal;
|
|
19
|
+
/** Optional stricter runtime cutoff; never changes the persisted phase plan. */
|
|
20
|
+
executionExpiresAtMs?: number;
|
|
21
|
+
nowMs?: () => number;
|
|
22
|
+
monotonicNow?: () => number;
|
|
23
|
+
/** Caller buffers until sealing and retains with its original ownership; never alters the phase proof. */
|
|
24
|
+
auditLateAnswer: (result: VerificationResult) => Promise<void>;
|
|
25
|
+
/** Register each provider continuation synchronously so caller-owned drain cannot miss a later answer. */
|
|
26
|
+
registerLateAudit: (operation: Promise<void>, batchIndex: number) => void;
|
|
27
|
+
onLateAuditError: (error: unknown, batchIndex: number) => void;
|
|
28
|
+
}
|
|
29
|
+
export type VerificationExecutionResult = ({
|
|
30
|
+
ok: true;
|
|
31
|
+
} & ReturnType<typeof replayGating> | {
|
|
32
|
+
ok: false;
|
|
33
|
+
findings: GatingPlan['findings'];
|
|
34
|
+
failure: Error;
|
|
35
|
+
}) & {
|
|
36
|
+
proof: {
|
|
37
|
+
bytes: string;
|
|
38
|
+
digest: string;
|
|
39
|
+
};
|
|
40
|
+
newPhysicalCalls: number;
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Execute one already-authorized verifier phase. This is a request engine, not
|
|
44
|
+
* source authentication or report admission. The caller regenerates the plan,
|
|
45
|
+
* accounts for non-checkpoint calls and holds original ownership through late
|
|
46
|
+
* audit flush/drain. Unknown paid intents are never retried. SDK retries are off.
|
|
47
|
+
*/
|
|
48
|
+
export declare function executeVerification(input: VerificationExecutionOptions): Promise<VerificationExecutionResult>;
|