@quickchatai/pi-quickreview 0.0.0-stage → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +23 -0
- package/README.md +75 -2
- package/assets/agents/pass-abstraction.md +64 -0
- package/assets/agents/pass-ask-human.md +134 -0
- package/assets/agents/pass-backcompat.md +67 -0
- package/assets/agents/pass-baseline.md +61 -0
- package/assets/agents/pass-behaviour-delta.md +64 -0
- package/assets/agents/pass-bounds.md +36 -0
- package/assets/agents/pass-claims.md +31 -0
- package/assets/agents/pass-concurrency.md +168 -0
- package/assets/agents/pass-consistency.md +57 -0
- package/assets/agents/pass-contracts.md +30 -0
- package/assets/agents/pass-data-safety.md +54 -0
- package/assets/agents/pass-deferred.md +35 -0
- package/assets/agents/pass-delivery.md +37 -0
- package/assets/agents/pass-duplication.md +60 -0
- package/assets/agents/pass-intent.md +63 -0
- package/assets/agents/pass-lint-conformance.md +46 -0
- package/assets/agents/pass-maintainability.md +67 -0
- package/assets/agents/pass-placement.md +68 -0
- package/assets/agents/pass-prod-risk.md +24 -0
- package/assets/agents/pass-rollout.md +32 -0
- package/assets/agents/pass-roundtrip.md +46 -0
- package/assets/agents/pass-security.md +31 -0
- package/assets/agents/pass-simplicity.md +68 -0
- package/assets/agents/pass-statelessness.md +27 -0
- package/assets/agents/pass-style.md +37 -0
- package/assets/agents/pass-sweep.md +57 -0
- package/assets/agents/pass-tests.md +58 -0
- package/assets/agents/pass-ui.md +23 -0
- package/assets/agents/pass-validate.md +50 -0
- package/assets/agents/pass-widened.md +46 -0
- package/assets/agents/scan/pass-scan.md +86 -0
- package/assets/config.example.toml +1099 -0
- package/assets/deploy/reviewer/AGENTS.override.md +12 -0
- package/assets/profiles/default/README.md +21 -0
- package/assets/profiles/default/addenda/.gitkeep +0 -0
- package/assets/profiles/default/profile.toml +17 -0
- package/assets/profiles/example-django/README.md +21 -0
- package/assets/profiles/example-django/addenda/10-migration-discipline.md +13 -0
- package/assets/profiles/example-django/addenda/20-new-column-nullability.md +12 -0
- package/assets/profiles/example-django/addenda/30-test-doctrine.md +12 -0
- package/assets/profiles/example-django/addenda/40-orm-usage.md +19 -0
- package/assets/profiles/example-django/addenda/50-declared-shape.md +10 -0
- package/assets/profiles/example-django/addenda/60-config-placement.md +14 -0
- package/assets/profiles/example-django/heuristics.toml +24 -0
- package/assets/profiles/example-django/profile.toml +9 -0
- package/assets/profiles/fast/README.md +24 -0
- package/assets/profiles/fast/profile.toml +59 -0
- package/assets/profiles/minimal/README.md +17 -0
- package/assets/profiles/minimal/addenda/.gitkeep +0 -0
- package/assets/profiles/minimal/profile.toml +8 -0
- package/assets/profiles/snappy/README.md +24 -0
- package/assets/profiles/snappy/addenda/10-race-as-question.md +6 -0
- package/assets/profiles/snappy/profile.toml +46 -0
- package/assets/prompts/companion-day-open.md +46 -0
- package/assets/prompts/companion-first-run.md +104 -0
- package/assets/prompts/companion.md +821 -0
- package/assets/prompts/conversation-system.md +117 -0
- package/assets/prompts/eod-sweep.md +120 -0
- package/assets/prompts/onboarding.md +113 -0
- package/assets/prompts/pass-common.md +52 -0
- package/assets/prompts/pass-quality-common.md +22 -0
- package/assets/prompts/round-first.md +874 -0
- package/assets/prompts/round-follow-up.md +991 -0
- package/assets/prompts/round-re-review.md +889 -0
- package/assets/prompts/round-recheck.md +196 -0
- package/assets/prompts/round-staleness.md +856 -0
- package/assets/schemas/review-result.v1.json +391 -0
- package/assets/schemas/scan-result.v1.json +421 -0
- package/assets/schemas/version.v1.json +57 -0
- package/assets/seed-manifest.json +19 -0
- package/assets/seeds/agents/pass-baseline.md +61 -0
- package/assets/seeds/agents/pass-contracts.md +30 -0
- package/assets/seeds/agents/pass-data-safety.md +54 -0
- package/assets/seeds/agents/pass-delivery.md +37 -0
- package/assets/seeds/agents/pass-prod-risk.md +24 -0
- package/assets/seeds/agents/pass-security.md +31 -0
- package/assets/seeds/agents/pass-statelessness.md +27 -0
- package/assets/seeds/agents/pass-ui.md +23 -0
- package/assets/seeds/agents/pass-validate.md +50 -0
- package/assets/seeds/prompts/conversation-system.md +117 -0
- package/assets/seeds/prompts/eod-sweep.md +120 -0
- package/assets/seeds/prompts/pass-common.md +52 -0
- package/dist/extensions/bash-guard.d.ts +467 -0
- package/dist/extensions/bash-guard.d.ts.map +1 -0
- package/dist/extensions/bash-guard.js +3058 -0
- package/dist/extensions/bash-guard.js.map +1 -0
- package/dist/extensions/finding-clusters.d.ts +33 -0
- package/dist/extensions/finding-clusters.d.ts.map +1 -0
- package/dist/extensions/finding-clusters.js +218 -0
- package/dist/extensions/finding-clusters.js.map +1 -0
- package/dist/extensions/ledger-pin.d.ts +76 -0
- package/dist/extensions/ledger-pin.d.ts.map +1 -0
- package/dist/extensions/ledger-pin.js +331 -0
- package/dist/extensions/ledger-pin.js.map +1 -0
- package/dist/extensions/lens.d.ts +43 -0
- package/dist/extensions/lens.d.ts.map +1 -0
- package/dist/extensions/lens.js +150 -0
- package/dist/extensions/lens.js.map +1 -0
- package/dist/extensions/pi-tool.d.ts +22 -0
- package/dist/extensions/pi-tool.d.ts.map +1 -0
- package/dist/extensions/pi-tool.js +20 -0
- package/dist/extensions/pi-tool.js.map +1 -0
- package/dist/extensions/quickreview.d.ts +21 -0
- package/dist/extensions/quickreview.d.ts.map +1 -0
- package/dist/extensions/quickreview.js +132 -0
- package/dist/extensions/quickreview.js.map +1 -0
- package/dist/src/anchors.d.ts +54 -0
- package/dist/src/anchors.d.ts.map +1 -0
- package/dist/src/anchors.js +127 -0
- package/dist/src/anchors.js.map +1 -0
- package/dist/src/assetroot.d.ts +16 -0
- package/dist/src/assetroot.d.ts.map +1 -0
- package/dist/src/assetroot.js +77 -0
- package/dist/src/assetroot.js.map +1 -0
- package/dist/src/authwatch.d.ts +61 -0
- package/dist/src/authwatch.d.ts.map +1 -0
- package/dist/src/authwatch.js +210 -0
- package/dist/src/authwatch.js.map +1 -0
- package/dist/src/budget.d.ts +15 -0
- package/dist/src/budget.d.ts.map +1 -0
- package/dist/src/budget.js +32 -0
- package/dist/src/budget.js.map +1 -0
- package/dist/src/casebudget.d.ts +3 -0
- package/dist/src/casebudget.d.ts.map +1 -0
- package/dist/src/casebudget.js +3 -0
- package/dist/src/casebudget.js.map +1 -0
- package/dist/src/cigate.d.ts +116 -0
- package/dist/src/cigate.d.ts.map +1 -0
- package/dist/src/cigate.js +176 -0
- package/dist/src/cigate.js.map +1 -0
- package/dist/src/codespan.d.ts +46 -0
- package/dist/src/codespan.d.ts.map +1 -0
- package/dist/src/codespan.js +75 -0
- package/dist/src/codespan.js.map +1 -0
- package/dist/src/contextpack.d.ts +56 -0
- package/dist/src/contextpack.d.ts.map +1 -0
- package/dist/src/contextpack.js +195 -0
- package/dist/src/contextpack.js.map +1 -0
- package/dist/src/contract.d.ts +8 -0
- package/dist/src/contract.d.ts.map +1 -0
- package/dist/src/contract.js +21 -0
- package/dist/src/contract.js.map +1 -0
- package/dist/src/coverage.d.ts +32 -0
- package/dist/src/coverage.d.ts.map +1 -0
- package/dist/src/coverage.js +85 -0
- package/dist/src/coverage.js.map +1 -0
- package/dist/src/datafence.d.ts +19 -0
- package/dist/src/datafence.d.ts.map +1 -0
- package/dist/src/datafence.js +60 -0
- package/dist/src/datafence.js.map +1 -0
- package/dist/src/dedup.d.ts +65 -0
- package/dist/src/dedup.d.ts.map +1 -0
- package/dist/src/dedup.js +459 -0
- package/dist/src/dedup.js.map +1 -0
- package/dist/src/depsources.d.ts +304 -0
- package/dist/src/depsources.d.ts.map +1 -0
- package/dist/src/depsources.js +3367 -0
- package/dist/src/depsources.js.map +1 -0
- package/dist/src/diffinput.d.ts +10 -0
- package/dist/src/diffinput.d.ts.map +1 -0
- package/dist/src/diffinput.js +172 -0
- package/dist/src/diffinput.js.map +1 -0
- package/dist/src/doubtwords.d.ts +10 -0
- package/dist/src/doubtwords.d.ts.map +1 -0
- package/dist/src/doubtwords.js +13 -0
- package/dist/src/doubtwords.js.map +1 -0
- package/dist/src/ecosystem.d.ts +148 -0
- package/dist/src/ecosystem.d.ts.map +1 -0
- package/dist/src/ecosystem.js +338 -0
- package/dist/src/ecosystem.js.map +1 -0
- package/dist/src/engine/agentdir.d.ts +5 -0
- package/dist/src/engine/agentdir.d.ts.map +1 -0
- package/dist/src/engine/agentdir.js +21 -0
- package/dist/src/engine/agentdir.js.map +1 -0
- package/dist/src/engine/auth.d.ts +214 -0
- package/dist/src/engine/auth.d.ts.map +1 -0
- package/dist/src/engine/auth.js +374 -0
- package/dist/src/engine/auth.js.map +1 -0
- package/dist/src/engine/budget.d.ts +60 -0
- package/dist/src/engine/budget.d.ts.map +1 -0
- package/dist/src/engine/budget.js +113 -0
- package/dist/src/engine/budget.js.map +1 -0
- package/dist/src/engine/capfd.d.ts +6 -0
- package/dist/src/engine/capfd.d.ts.map +1 -0
- package/dist/src/engine/capfd.js +21 -0
- package/dist/src/engine/capfd.js.map +1 -0
- package/dist/src/engine/caseout.d.ts +66 -0
- package/dist/src/engine/caseout.d.ts.map +1 -0
- package/dist/src/engine/caseout.js +107 -0
- package/dist/src/engine/caseout.js.map +1 -0
- package/dist/src/engine/context.d.ts +57 -0
- package/dist/src/engine/context.d.ts.map +1 -0
- package/dist/src/engine/context.js +212 -0
- package/dist/src/engine/context.js.map +1 -0
- package/dist/src/engine/envmap.d.ts +13 -0
- package/dist/src/engine/envmap.d.ts.map +1 -0
- package/dist/src/engine/envmap.js +377 -0
- package/dist/src/engine/envmap.js.map +1 -0
- package/dist/src/engine/extfiles.d.ts +7 -0
- package/dist/src/engine/extfiles.d.ts.map +1 -0
- package/dist/src/engine/extfiles.js +23 -0
- package/dist/src/engine/extfiles.js.map +1 -0
- package/dist/src/engine/keyroute.d.ts +21 -0
- package/dist/src/engine/keyroute.d.ts.map +1 -0
- package/dist/src/engine/keyroute.js +58 -0
- package/dist/src/engine/keyroute.js.map +1 -0
- package/dist/src/engine/lens/cache-group.d.ts +20 -0
- package/dist/src/engine/lens/cache-group.d.ts.map +1 -0
- package/dist/src/engine/lens/cache-group.js +31 -0
- package/dist/src/engine/lens/cache-group.js.map +1 -0
- package/dist/src/engine/lens/cache-run.d.ts +65 -0
- package/dist/src/engine/lens/cache-run.d.ts.map +1 -0
- package/dist/src/engine/lens/cache-run.js +159 -0
- package/dist/src/engine/lens/cache-run.js.map +1 -0
- package/dist/src/engine/lens/deadline.d.ts +54 -0
- package/dist/src/engine/lens/deadline.d.ts.map +1 -0
- package/dist/src/engine/lens/deadline.js +111 -0
- package/dist/src/engine/lens/deadline.js.map +1 -0
- package/dist/src/engine/lens/engine-tools.d.ts +13 -0
- package/dist/src/engine/lens/engine-tools.d.ts.map +1 -0
- package/dist/src/engine/lens/engine-tools.js +37 -0
- package/dist/src/engine/lens/engine-tools.js.map +1 -0
- package/dist/src/engine/lens/env.d.ts +23 -0
- package/dist/src/engine/lens/env.d.ts.map +1 -0
- package/dist/src/engine/lens/env.js +42 -0
- package/dist/src/engine/lens/env.js.map +1 -0
- package/dist/src/engine/lens/launch-plan.d.ts +63 -0
- package/dist/src/engine/lens/launch-plan.d.ts.map +1 -0
- package/dist/src/engine/lens/launch-plan.js +203 -0
- package/dist/src/engine/lens/launch-plan.js.map +1 -0
- package/dist/src/engine/lens/leaf-cache.d.ts +22 -0
- package/dist/src/engine/lens/leaf-cache.d.ts.map +1 -0
- package/dist/src/engine/lens/leaf-cache.js +115 -0
- package/dist/src/engine/lens/leaf-cache.js.map +1 -0
- package/dist/src/engine/lens/permits.d.ts +14 -0
- package/dist/src/engine/lens/permits.d.ts.map +1 -0
- package/dist/src/engine/lens/permits.js +18 -0
- package/dist/src/engine/lens/permits.js.map +1 -0
- package/dist/src/engine/lens/registry.d.ts +55 -0
- package/dist/src/engine/lens/registry.d.ts.map +1 -0
- package/dist/src/engine/lens/registry.js +140 -0
- package/dist/src/engine/lens/registry.js.map +1 -0
- package/dist/src/engine/lens/round-lens.d.ts +16 -0
- package/dist/src/engine/lens/round-lens.d.ts.map +1 -0
- package/dist/src/engine/lens/round-lens.js +46 -0
- package/dist/src/engine/lens/round-lens.js.map +1 -0
- package/dist/src/engine/lens/runlens.d.ts +103 -0
- package/dist/src/engine/lens/runlens.d.ts.map +1 -0
- package/dist/src/engine/lens/runlens.js +538 -0
- package/dist/src/engine/lens/runlens.js.map +1 -0
- package/dist/src/engine/lens/section.d.ts +19 -0
- package/dist/src/engine/lens/section.d.ts.map +1 -0
- package/dist/src/engine/lens/section.js +40 -0
- package/dist/src/engine/lens/section.js.map +1 -0
- package/dist/src/engine/lens/semaphore.d.ts +13 -0
- package/dist/src/engine/lens/semaphore.d.ts.map +1 -0
- package/dist/src/engine/lens/semaphore.js +44 -0
- package/dist/src/engine/lens/semaphore.js.map +1 -0
- package/dist/src/engine/lens/tool.d.ts +34 -0
- package/dist/src/engine/lens/tool.d.ts.map +1 -0
- package/dist/src/engine/lens/tool.js +345 -0
- package/dist/src/engine/lens/tool.js.map +1 -0
- package/dist/src/engine/lens/wave.d.ts +63 -0
- package/dist/src/engine/lens/wave.d.ts.map +1 -0
- package/dist/src/engine/lens/wave.js +95 -0
- package/dist/src/engine/lens/wave.js.map +1 -0
- package/dist/src/engine/livesessions.d.ts +21 -0
- package/dist/src/engine/livesessions.d.ts.map +1 -0
- package/dist/src/engine/livesessions.js +57 -0
- package/dist/src/engine/livesessions.js.map +1 -0
- package/dist/src/engine/livewire.d.ts +18 -0
- package/dist/src/engine/livewire.d.ts.map +1 -0
- package/dist/src/engine/livewire.js +31 -0
- package/dist/src/engine/livewire.js.map +1 -0
- package/dist/src/engine/openable.d.ts +37 -0
- package/dist/src/engine/openable.d.ts.map +1 -0
- package/dist/src/engine/openable.js +120 -0
- package/dist/src/engine/openable.js.map +1 -0
- package/dist/src/engine/pisdk.d.ts +235 -0
- package/dist/src/engine/pisdk.d.ts.map +1 -0
- package/dist/src/engine/pisdk.js +577 -0
- package/dist/src/engine/pisdk.js.map +1 -0
- package/dist/src/engine/port.d.ts +144 -0
- package/dist/src/engine/port.d.ts.map +1 -0
- package/dist/src/engine/port.js +16 -0
- package/dist/src/engine/port.js.map +1 -0
- package/dist/src/engine/prompts.d.ts +159 -0
- package/dist/src/engine/prompts.d.ts.map +1 -0
- package/dist/src/engine/prompts.js +339 -0
- package/dist/src/engine/prompts.js.map +1 -0
- package/dist/src/engine/render.d.ts +10 -0
- package/dist/src/engine/render.d.ts.map +1 -0
- package/dist/src/engine/render.js +23 -0
- package/dist/src/engine/render.js.map +1 -0
- package/dist/src/engine/reviewruntime.d.ts +13 -0
- package/dist/src/engine/reviewruntime.d.ts.map +1 -0
- package/dist/src/engine/reviewruntime.js +35 -0
- package/dist/src/engine/reviewruntime.js.map +1 -0
- package/dist/src/engine/reviewsdk.d.ts +75 -0
- package/dist/src/engine/reviewsdk.d.ts.map +1 -0
- package/dist/src/engine/reviewsdk.js +180 -0
- package/dist/src/engine/reviewsdk.js.map +1 -0
- package/dist/src/engine/round.d.ts +166 -0
- package/dist/src/engine/round.d.ts.map +1 -0
- package/dist/src/engine/round.js +543 -0
- package/dist/src/engine/round.js.map +1 -0
- package/dist/src/engine/roundagents.d.ts +17 -0
- package/dist/src/engine/roundagents.d.ts.map +1 -0
- package/dist/src/engine/roundagents.js +49 -0
- package/dist/src/engine/roundagents.js.map +1 -0
- package/dist/src/engine/roundevents.d.ts +110 -0
- package/dist/src/engine/roundevents.d.ts.map +1 -0
- package/dist/src/engine/roundevents.js +276 -0
- package/dist/src/engine/roundevents.js.map +1 -0
- package/dist/src/engine/roundsdk.d.ts +33 -0
- package/dist/src/engine/roundsdk.d.ts.map +1 -0
- package/dist/src/engine/roundsdk.js +76 -0
- package/dist/src/engine/roundsdk.js.map +1 -0
- package/dist/src/engine/sdkruntime.d.ts +23 -0
- package/dist/src/engine/sdkruntime.d.ts.map +1 -0
- package/dist/src/engine/sdkruntime.js +340 -0
- package/dist/src/engine/sdkruntime.js.map +1 -0
- package/dist/src/engine/select.d.ts +16 -0
- package/dist/src/engine/select.d.ts.map +1 -0
- package/dist/src/engine/select.js +32 -0
- package/dist/src/engine/select.js.map +1 -0
- package/dist/src/engine/sessionwrap.d.ts +4 -0
- package/dist/src/engine/sessionwrap.d.ts.map +1 -0
- package/dist/src/engine/sessionwrap.js +31 -0
- package/dist/src/engine/sessionwrap.js.map +1 -0
- package/dist/src/engine/toolfence.d.ts +90 -0
- package/dist/src/engine/toolfence.d.ts.map +1 -0
- package/dist/src/engine/toolfence.js +378 -0
- package/dist/src/engine/toolfence.js.map +1 -0
- package/dist/src/engine/tooluid.d.ts +128 -0
- package/dist/src/engine/tooluid.d.ts.map +1 -0
- package/dist/src/engine/tooluid.js +401 -0
- package/dist/src/engine/tooluid.js.map +1 -0
- package/dist/src/envstrip.d.ts +10 -0
- package/dist/src/envstrip.d.ts.map +1 -0
- package/dist/src/envstrip.js +15 -0
- package/dist/src/envstrip.js.map +1 -0
- package/dist/src/escalationprompt.d.ts +22 -0
- package/dist/src/escalationprompt.d.ts.map +1 -0
- package/dist/src/escalationprompt.js +54 -0
- package/dist/src/escalationprompt.js.map +1 -0
- package/dist/src/execfn.d.ts +29 -0
- package/dist/src/execfn.d.ts.map +1 -0
- package/dist/src/execfn.js +55 -0
- package/dist/src/execfn.js.map +1 -0
- package/dist/src/finding-chain.d.ts +40 -0
- package/dist/src/finding-chain.d.ts.map +1 -0
- package/dist/src/finding-chain.js +76 -0
- package/dist/src/finding-chain.js.map +1 -0
- package/dist/src/finding-row.d.ts +24 -0
- package/dist/src/finding-row.d.ts.map +1 -0
- package/dist/src/finding-row.js +26 -0
- package/dist/src/finding-row.js.map +1 -0
- package/dist/src/findingkey.d.ts +99 -0
- package/dist/src/findingkey.d.ts.map +1 -0
- package/dist/src/findingkey.js +210 -0
- package/dist/src/findingkey.js.map +1 -0
- package/dist/src/findingsrecord.d.ts +175 -0
- package/dist/src/findingsrecord.d.ts.map +1 -0
- package/dist/src/findingsrecord.js +410 -0
- package/dist/src/findingsrecord.js.map +1 -0
- package/dist/src/followup-mode.d.ts +4 -0
- package/dist/src/followup-mode.d.ts.map +1 -0
- package/dist/src/followup-mode.js +6 -0
- package/dist/src/followup-mode.js.map +1 -0
- package/dist/src/gate.d.ts +199 -0
- package/dist/src/gate.d.ts.map +1 -0
- package/dist/src/gate.js +315 -0
- package/dist/src/gate.js.map +1 -0
- package/dist/src/ghcred.d.ts +58 -0
- package/dist/src/ghcred.d.ts.map +1 -0
- package/dist/src/ghcred.js +139 -0
- package/dist/src/ghcred.js.map +1 -0
- package/dist/src/githubAuth.d.ts +70 -0
- package/dist/src/githubAuth.d.ts.map +1 -0
- package/dist/src/githubAuth.js +183 -0
- package/dist/src/githubAuth.js.map +1 -0
- package/dist/src/githubcore.d.ts +20 -0
- package/dist/src/githubcore.d.ts.map +1 -0
- package/dist/src/githubcore.js +20 -0
- package/dist/src/githubcore.js.map +1 -0
- package/dist/src/glob.d.ts +11 -0
- package/dist/src/glob.d.ts.map +1 -0
- package/dist/src/glob.js +69 -0
- package/dist/src/glob.js.map +1 -0
- package/dist/src/guards.d.ts +106 -0
- package/dist/src/guards.d.ts.map +1 -0
- package/dist/src/guards.js +365 -0
- package/dist/src/guards.js.map +1 -0
- package/dist/src/heartbeat.d.ts +29 -0
- package/dist/src/heartbeat.d.ts.map +1 -0
- package/dist/src/heartbeat.js +87 -0
- package/dist/src/heartbeat.js.map +1 -0
- package/dist/src/heuristics.d.ts +247 -0
- package/dist/src/heuristics.d.ts.map +1 -0
- package/dist/src/heuristics.js +927 -0
- package/dist/src/heuristics.js.map +1 -0
- package/dist/src/homes.d.ts +181 -0
- package/dist/src/homes.d.ts.map +1 -0
- package/dist/src/homes.js +242 -0
- package/dist/src/homes.js.map +1 -0
- package/dist/src/hunkheader.d.ts +11 -0
- package/dist/src/hunkheader.d.ts.map +1 -0
- package/dist/src/hunkheader.js +18 -0
- package/dist/src/hunkheader.js.map +1 -0
- package/dist/src/identity.d.ts +34 -0
- package/dist/src/identity.d.ts.map +1 -0
- package/dist/src/identity.js +67 -0
- package/dist/src/identity.js.map +1 -0
- package/dist/src/include.d.ts +435 -0
- package/dist/src/include.d.ts.map +1 -0
- package/dist/src/include.js +1692 -0
- package/dist/src/include.js.map +1 -0
- package/dist/src/launchvocab.d.ts +36 -0
- package/dist/src/launchvocab.d.ts.map +1 -0
- package/dist/src/launchvocab.js +59 -0
- package/dist/src/launchvocab.js.map +1 -0
- package/dist/src/ledgercarry.d.ts +24 -0
- package/dist/src/ledgercarry.d.ts.map +1 -0
- package/dist/src/ledgercarry.js +109 -0
- package/dist/src/ledgercarry.js.map +1 -0
- package/dist/src/lensids.d.ts +7 -0
- package/dist/src/lensids.d.ts.map +1 -0
- package/dist/src/lensids.js +53 -0
- package/dist/src/lensids.js.map +1 -0
- package/dist/src/lensplanning.d.ts +8 -0
- package/dist/src/lensplanning.d.ts.map +1 -0
- package/dist/src/lensplanning.js +126 -0
- package/dist/src/lensplanning.js.map +1 -0
- package/dist/src/lensresult.d.ts +94 -0
- package/dist/src/lensresult.d.ts.map +1 -0
- package/dist/src/lensresult.js +162 -0
- package/dist/src/lensresult.js.map +1 -0
- package/dist/src/lenstuning.d.ts +97 -0
- package/dist/src/lenstuning.d.ts.map +1 -0
- package/dist/src/lenstuning.js +326 -0
- package/dist/src/lenstuning.js.map +1 -0
- package/dist/src/lintconfig.d.ts +31 -0
- package/dist/src/lintconfig.d.ts.map +1 -0
- package/dist/src/lintconfig.js +543 -0
- package/dist/src/lintconfig.js.map +1 -0
- package/dist/src/live/events.d.ts +188 -0
- package/dist/src/live/events.d.ts.map +1 -0
- package/dist/src/live/events.js +136 -0
- package/dist/src/live/events.js.map +1 -0
- package/dist/src/live/writer.d.ts +54 -0
- package/dist/src/live/writer.d.ts.map +1 -0
- package/dist/src/live/writer.js +516 -0
- package/dist/src/live/writer.js.map +1 -0
- package/dist/src/localreview.d.ts +128 -0
- package/dist/src/localreview.d.ts.map +1 -0
- package/dist/src/localreview.js +426 -0
- package/dist/src/localreview.js.map +1 -0
- package/dist/src/loosenedtests.d.ts +13 -0
- package/dist/src/loosenedtests.d.ts.map +1 -0
- package/dist/src/loosenedtests.js +188 -0
- package/dist/src/loosenedtests.js.map +1 -0
- package/dist/src/memoryport.d.ts +264 -0
- package/dist/src/memoryport.d.ts.map +1 -0
- package/dist/src/memoryport.js +445 -0
- package/dist/src/memoryport.js.map +1 -0
- package/dist/src/migrations.d.ts +106 -0
- package/dist/src/migrations.d.ts.map +1 -0
- package/dist/src/migrations.js +373 -0
- package/dist/src/migrations.js.map +1 -0
- package/dist/src/modelroute.d.ts +38 -0
- package/dist/src/modelroute.d.ts.map +1 -0
- package/dist/src/modelroute.js +105 -0
- package/dist/src/modelroute.js.map +1 -0
- package/dist/src/oneshot.d.ts +12 -0
- package/dist/src/oneshot.d.ts.map +1 -0
- package/dist/src/oneshot.js +8 -0
- package/dist/src/oneshot.js.map +1 -0
- package/dist/src/packing.d.ts +11 -0
- package/dist/src/packing.d.ts.map +1 -0
- package/dist/src/packing.js +31 -0
- package/dist/src/packing.js.map +1 -0
- package/dist/src/passes.d.ts +16 -0
- package/dist/src/passes.d.ts.map +1 -0
- package/dist/src/passes.js +104 -0
- package/dist/src/passes.js.map +1 -0
- package/dist/src/passtasks.d.ts +68 -0
- package/dist/src/passtasks.d.ts.map +1 -0
- package/dist/src/passtasks.js +360 -0
- package/dist/src/passtasks.js.map +1 -0
- package/dist/src/pathinside.d.ts +5 -0
- package/dist/src/pathinside.d.ts.map +1 -0
- package/dist/src/pathinside.js +9 -0
- package/dist/src/pathinside.js.map +1 -0
- package/dist/src/pibuiltins.d.ts +36 -0
- package/dist/src/pibuiltins.d.ts.map +1 -0
- package/dist/src/pibuiltins.js +83 -0
- package/dist/src/pibuiltins.js.map +1 -0
- package/dist/src/plankey.d.ts +4 -0
- package/dist/src/plankey.d.ts.map +1 -0
- package/dist/src/plankey.js +10 -0
- package/dist/src/plankey.js.map +1 -0
- package/dist/src/planner.d.ts +375 -0
- package/dist/src/planner.d.ts.map +1 -0
- package/dist/src/planner.js +722 -0
- package/dist/src/planner.js.map +1 -0
- package/dist/src/plugin/args.d.ts +19 -0
- package/dist/src/plugin/args.d.ts.map +1 -0
- package/dist/src/plugin/args.js +107 -0
- package/dist/src/plugin/args.js.map +1 -0
- package/dist/src/plugin/index.d.ts +3 -0
- package/dist/src/plugin/index.d.ts.map +1 -0
- package/dist/src/plugin/index.js +14 -0
- package/dist/src/plugin/index.js.map +1 -0
- package/dist/src/plugin/login.d.ts +42 -0
- package/dist/src/plugin/login.d.ts.map +1 -0
- package/dist/src/plugin/login.js +82 -0
- package/dist/src/plugin/login.js.map +1 -0
- package/dist/src/plugin/review.d.ts +27 -0
- package/dist/src/plugin/review.d.ts.map +1 -0
- package/dist/src/plugin/review.js +302 -0
- package/dist/src/plugin/review.js.map +1 -0
- package/dist/src/plugin/runner.d.ts +6 -0
- package/dist/src/plugin/runner.d.ts.map +1 -0
- package/dist/src/plugin/runner.js +65 -0
- package/dist/src/plugin/runner.js.map +1 -0
- package/dist/src/plugin/scan.d.ts +79 -0
- package/dist/src/plugin/scan.d.ts.map +1 -0
- package/dist/src/plugin/scan.js +348 -0
- package/dist/src/plugin/scan.js.map +1 -0
- package/dist/src/plugin/session.d.ts +56 -0
- package/dist/src/plugin/session.d.ts.map +1 -0
- package/dist/src/plugin/session.js +2 -0
- package/dist/src/plugin/session.js.map +1 -0
- package/dist/src/plugin/setup.d.ts +19 -0
- package/dist/src/plugin/setup.d.ts.map +1 -0
- package/dist/src/plugin/setup.js +142 -0
- package/dist/src/plugin/setup.js.map +1 -0
- package/dist/src/plugin/versiongate.d.ts +26 -0
- package/dist/src/plugin/versiongate.d.ts.map +1 -0
- package/dist/src/plugin/versiongate.js +83 -0
- package/dist/src/plugin/versiongate.js.map +1 -0
- package/dist/src/postingkey.d.ts +8 -0
- package/dist/src/postingkey.d.ts.map +1 -0
- package/dist/src/postingkey.js +25 -0
- package/dist/src/postingkey.js.map +1 -0
- package/dist/src/postingpolicy.d.ts +108 -0
- package/dist/src/postingpolicy.d.ts.map +1 -0
- package/dist/src/postingpolicy.js +341 -0
- package/dist/src/postingpolicy.js.map +1 -0
- package/dist/src/pr-identity.d.ts +3 -0
- package/dist/src/pr-identity.d.ts.map +1 -0
- package/dist/src/pr-identity.js +9 -0
- package/dist/src/pr-identity.js.map +1 -0
- package/dist/src/prdelta.d.ts +181 -0
- package/dist/src/prdelta.d.ts.map +1 -0
- package/dist/src/prdelta.js +501 -0
- package/dist/src/prdelta.js.map +1 -0
- package/dist/src/pricing.d.ts +94 -0
- package/dist/src/pricing.d.ts.map +1 -0
- package/dist/src/pricing.js +209 -0
- package/dist/src/pricing.js.map +1 -0
- package/dist/src/priorfindings.d.ts +167 -0
- package/dist/src/priorfindings.d.ts.map +1 -0
- package/dist/src/priorfindings.js +445 -0
- package/dist/src/priorfindings.js.map +1 -0
- package/dist/src/priortasks.d.ts +31 -0
- package/dist/src/priortasks.d.ts.map +1 -0
- package/dist/src/priortasks.js +119 -0
- package/dist/src/priortasks.js.map +1 -0
- package/dist/src/profilelookup.d.ts +59 -0
- package/dist/src/profilelookup.d.ts.map +1 -0
- package/dist/src/profilelookup.js +98 -0
- package/dist/src/profilelookup.js.map +1 -0
- package/dist/src/profileoverrides.d.ts +91 -0
- package/dist/src/profileoverrides.d.ts.map +1 -0
- package/dist/src/profileoverrides.js +313 -0
- package/dist/src/profileoverrides.js.map +1 -0
- package/dist/src/profiles.d.ts +144 -0
- package/dist/src/profiles.d.ts.map +1 -0
- package/dist/src/profiles.js +604 -0
- package/dist/src/profiles.js.map +1 -0
- package/dist/src/promptdoc.d.ts +3 -0
- package/dist/src/promptdoc.d.ts.map +1 -0
- package/dist/src/promptdoc.js +18 -0
- package/dist/src/promptdoc.js.map +1 -0
- package/dist/src/prtarget.d.ts +70 -0
- package/dist/src/prtarget.d.ts.map +1 -0
- package/dist/src/prtarget.js +181 -0
- package/dist/src/prtarget.js.map +1 -0
- package/dist/src/recheckorder.d.ts +32 -0
- package/dist/src/recheckorder.d.ts.map +1 -0
- package/dist/src/recheckorder.js +5 -0
- package/dist/src/recheckorder.js.map +1 -0
- package/dist/src/reviewapi.d.ts +207 -0
- package/dist/src/reviewapi.d.ts.map +1 -0
- package/dist/src/reviewapi.js +939 -0
- package/dist/src/reviewapi.js.map +1 -0
- package/dist/src/reviewbotfindings.d.ts +33 -0
- package/dist/src/reviewbotfindings.d.ts.map +1 -0
- package/dist/src/reviewbotfindings.js +80 -0
- package/dist/src/reviewbotfindings.js.map +1 -0
- package/dist/src/reviewconfig.d.ts +753 -0
- package/dist/src/reviewconfig.d.ts.map +1 -0
- package/dist/src/reviewconfig.js +805 -0
- package/dist/src/reviewconfig.js.map +1 -0
- package/dist/src/reviewdelta.d.ts +51 -0
- package/dist/src/reviewdelta.d.ts.map +1 -0
- package/dist/src/reviewdelta.js +119 -0
- package/dist/src/reviewdelta.js.map +1 -0
- package/dist/src/reviewdest.d.ts +86 -0
- package/dist/src/reviewdest.d.ts.map +1 -0
- package/dist/src/reviewdest.js +142 -0
- package/dist/src/reviewdest.js.map +1 -0
- package/dist/src/reviewerstub.d.ts +12 -0
- package/dist/src/reviewerstub.d.ts.map +1 -0
- package/dist/src/reviewerstub.js +28 -0
- package/dist/src/reviewerstub.js.map +1 -0
- package/dist/src/reviewhost.d.ts +58 -0
- package/dist/src/reviewhost.d.ts.map +1 -0
- package/dist/src/reviewhost.js +135 -0
- package/dist/src/reviewhost.js.map +1 -0
- package/dist/src/reviewpost.d.ts +79 -0
- package/dist/src/reviewpost.d.ts.map +1 -0
- package/dist/src/reviewpost.js +233 -0
- package/dist/src/reviewpost.js.map +1 -0
- package/dist/src/reviewrender.d.ts +154 -0
- package/dist/src/reviewrender.d.ts.map +1 -0
- package/dist/src/reviewrender.js +480 -0
- package/dist/src/reviewrender.js.map +1 -0
- package/dist/src/reviewstate.d.ts +62 -0
- package/dist/src/reviewstate.d.ts.map +1 -0
- package/dist/src/reviewstate.js +167 -0
- package/dist/src/reviewstate.js.map +1 -0
- package/dist/src/reviewstore.d.ts +17 -0
- package/dist/src/reviewstore.d.ts.map +1 -0
- package/dist/src/reviewstore.js +105 -0
- package/dist/src/reviewstore.js.map +1 -0
- package/dist/src/round-progress.d.ts +120 -0
- package/dist/src/round-progress.d.ts.map +1 -0
- package/dist/src/round-progress.js +172 -0
- package/dist/src/round-progress.js.map +1 -0
- package/dist/src/round-stage-deadlines.d.ts +12 -0
- package/dist/src/round-stage-deadlines.d.ts.map +1 -0
- package/dist/src/round-stage-deadlines.js +10 -0
- package/dist/src/round-stage-deadlines.js.map +1 -0
- package/dist/src/session-command.d.ts +19 -0
- package/dist/src/session-command.d.ts.map +1 -0
- package/dist/src/session-command.js +20 -0
- package/dist/src/session-command.js.map +1 -0
- package/dist/src/settledread.d.ts +61 -0
- package/dist/src/settledread.d.ts.map +1 -0
- package/dist/src/settledread.js +135 -0
- package/dist/src/settledread.js.map +1 -0
- package/dist/src/severity.d.ts +167 -0
- package/dist/src/severity.d.ts.map +1 -0
- package/dist/src/severity.js +364 -0
- package/dist/src/severity.js.map +1 -0
- package/dist/src/severityrank.d.ts +8 -0
- package/dist/src/severityrank.d.ts.map +1 -0
- package/dist/src/severityrank.js +16 -0
- package/dist/src/severityrank.js.map +1 -0
- package/dist/src/standing-review.d.ts +45 -0
- package/dist/src/standing-review.d.ts.map +1 -0
- package/dist/src/standing-review.js +43 -0
- package/dist/src/standing-review.js.map +1 -0
- package/dist/src/storerows.d.ts +225 -0
- package/dist/src/storerows.d.ts.map +1 -0
- package/dist/src/storerows.js +7 -0
- package/dist/src/storerows.js.map +1 -0
- package/dist/src/styleguide.d.ts +25 -0
- package/dist/src/styleguide.d.ts.map +1 -0
- package/dist/src/styleguide.js +272 -0
- package/dist/src/styleguide.js.map +1 -0
- package/dist/src/sweepstatus.d.ts +42 -0
- package/dist/src/sweepstatus.d.ts.map +1 -0
- package/dist/src/sweepstatus.js +97 -0
- package/dist/src/sweepstatus.js.map +1 -0
- package/dist/src/templates.d.ts +243 -0
- package/dist/src/templates.d.ts.map +1 -0
- package/dist/src/templates.js +847 -0
- package/dist/src/templates.js.map +1 -0
- package/dist/src/types.d.ts +639 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +90 -0
- package/dist/src/types.js.map +1 -0
- package/dist/src/unifieddiff.d.ts +22 -0
- package/dist/src/unifieddiff.d.ts.map +1 -0
- package/dist/src/unifieddiff.js +176 -0
- package/dist/src/unifieddiff.js.map +1 -0
- package/dist/src/yieldloop.d.ts +2 -0
- package/dist/src/yieldloop.d.ts.map +1 -0
- package/dist/src/yieldloop.js +14 -0
- package/dist/src/yieldloop.js.map +1 -0
- package/package.json +60 -4
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
// The runtime `qcr review` hosts its main session on when `[engine] runtime =
|
|
2
|
+
// "sdk"`: the round's session as an in-process SDK session, with the pieces the
|
|
3
|
+
// `pi` child gets as files handed over as data (packages/pi-plugin/src/engine/roundsdk.ts).
|
|
4
|
+
//
|
|
5
|
+
// The route prepares a private agent dir for the run (src/hostroute.ts
|
|
6
|
+
// prepareHostRun: a refresh-blanked copy of the owner's login, the model list,
|
|
7
|
+
// settings.json), and the round's spec names it (`PI_CODING_AGENT_DIR`). This
|
|
8
|
+
// runtime builds its host on that dir when the first session is asked for:
|
|
9
|
+
//
|
|
10
|
+
// login read from the dir's auth.json by engineCredentials: an
|
|
11
|
+
// in-memory, read-only copy, refused up front when the token would
|
|
12
|
+
// expire inside the turn. An API key in the spec's env (the key
|
|
13
|
+
// route) is given to the runtime in memory.
|
|
14
|
+
// settings the dir's settings.json supplies what the process route's pi
|
|
15
|
+
// reads from it: the durable retry and the HTTP idle timeout.
|
|
16
|
+
// dispatcher pi's HTTP dispatcher is installed when the route owns its
|
|
17
|
+
// process (`qcr review`); inside a running pi (the plugin's
|
|
18
|
+
// /review, `hostPi`) pi's own is reused.
|
|
19
|
+
// lens tool the engine's own (`lens`, `lens_wave`: engineLensTools,
|
|
20
|
+
// packages/pi-plugin/src/engine/lens/engine-tools.ts), through the `lens` option, or,
|
|
21
|
+
// with the `engine` option, over a runner this module builds on
|
|
22
|
+
// the host: the passes are SDK sessions of this process, not `pi`
|
|
23
|
+
// children, so the process env is never changed. A route that
|
|
24
|
+
// hands neither has no lens tool and gets no session. The
|
|
25
|
+
// `engine` option carries the round's `engineLens` (wave.ts),
|
|
26
|
+
// which the round reads: its board and runner, and whether the
|
|
27
|
+
// engine starts the planned wave (`[pi] engine_wave`).
|
|
28
|
+
//
|
|
29
|
+
// Stopping: every session is in the live registry (livesessions.ts), which the
|
|
30
|
+
// detached driver's signal handler aborts and disposes before it exits.
|
|
31
|
+
//
|
|
32
|
+
// One runtime hosts one review at a time: its lens board and its lens runner
|
|
33
|
+
// are the run's (the round clears the board when it starts), so a caller that
|
|
34
|
+
// runs reviews side by side builds a runtime per run (packages/pi-plugin/src/reviewapi.ts asks
|
|
35
|
+
// for one per run) and disposes it after.
|
|
36
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
37
|
+
import { dirname, isAbsolute, join } from "node:path";
|
|
38
|
+
import { lensRunConfigFromEnv } from "../../extensions/lens.js";
|
|
39
|
+
import { CONTEXT_PACK_FILE } from "../contextpack.js";
|
|
40
|
+
import { agentDirSettings } from "./agentdir.js";
|
|
41
|
+
import { applyEnvApiKeys, engineCredentials } from "./auth.js";
|
|
42
|
+
import { engineLensTools } from "./lens/engine-tools.js";
|
|
43
|
+
import { LensWave } from "./lens/wave.js";
|
|
44
|
+
import { PiHost } from "./pisdk.js";
|
|
45
|
+
import { credentialPaths, loginSourceDirs } from "./toolfence.js";
|
|
46
|
+
import { checkToolUid, toolIdsOf } from "./tooluid.js";
|
|
47
|
+
import { BASH_ENV_ALLOW, reviewerStub, roundSdkExtras } from "./roundsdk.js";
|
|
48
|
+
import { sdkRuntime } from "./sdkruntime.js";
|
|
49
|
+
/** The lens runner's config on the review route's host: the passes read the agent
|
|
50
|
+
* dir's agents, carry the reviewer stub and the same bash env allowlist as
|
|
51
|
+
* the main session, and (with a context pack beside the round's ledger) warm
|
|
52
|
+
* their cache groups with it. */
|
|
53
|
+
export function engineLensConfig(host, spec) {
|
|
54
|
+
const base = lensRunConfigFromEnv(spec.env, host, spec.cwd);
|
|
55
|
+
const root = spec.env["QCR_SANDBOX_ROOT"];
|
|
56
|
+
if (root === undefined)
|
|
57
|
+
throw new Error("a round's spec names its production tree (QCR_SANDBOX_ROOT)");
|
|
58
|
+
const ledger = spec.env["QCR_LEDGER_FILE"];
|
|
59
|
+
const packPath = ledger === undefined ? undefined : join(dirname(ledger), CONTEXT_PACK_FILE);
|
|
60
|
+
const pack = packPath !== undefined && existsSync(packPath) ? readFileSync(packPath, "utf8") : "";
|
|
61
|
+
return {
|
|
62
|
+
...base,
|
|
63
|
+
agentsFiles: [reviewerStub(root, spec.cwd)],
|
|
64
|
+
bashEnv: { allow: BASH_ENV_ALLOW },
|
|
65
|
+
...(base.cache && pack ? { cache: { ...base.cache, pack } } : {}),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/** `SessionSpec.env` names this dir: the run's private pi agent dir. */
|
|
69
|
+
const AGENT_DIR_ENV = "PI_CODING_AGENT_DIR";
|
|
70
|
+
/**
|
|
71
|
+
* The review route's SDK runtime. One host per agent dir, built lazily at the
|
|
72
|
+
* first session; no session, no host, no network and no env change.
|
|
73
|
+
*/
|
|
74
|
+
export function reviewSdkRuntime(options = {}) {
|
|
75
|
+
const procEnv = options.processEnv ?? process.env;
|
|
76
|
+
const hosts = new Map();
|
|
77
|
+
const engine = options.engine;
|
|
78
|
+
const wave = engine?.wave ?? new LensWave();
|
|
79
|
+
// The tools of the host built last: one agent dir per review, so one.
|
|
80
|
+
let lens;
|
|
81
|
+
/** The runner's config with the host's warn sink, unless it has its own. */
|
|
82
|
+
function withWarn(config) {
|
|
83
|
+
const warn = options.warn;
|
|
84
|
+
return config.warn || !warn ? config : { ...config, warn: (m) => warn(`[lens] ${m}`) };
|
|
85
|
+
}
|
|
86
|
+
function lensOf(spec, host) {
|
|
87
|
+
if (options.lens === undefined)
|
|
88
|
+
throw new Error("the review runtime has no lens tool: pass `engine`, `lens` or `extras`");
|
|
89
|
+
return options.lens(spec, host);
|
|
90
|
+
}
|
|
91
|
+
async function runtimeFor(spec) {
|
|
92
|
+
const agentDir = spec.env[AGENT_DIR_ENV];
|
|
93
|
+
if (agentDir === undefined || !isAbsolute(agentDir))
|
|
94
|
+
throw new Error(`the review's spec names no absolute ${AGENT_DIR_ENV}: ${String(agentDir)}`);
|
|
95
|
+
let built = hosts.get(agentDir);
|
|
96
|
+
if (built === undefined) {
|
|
97
|
+
built = (async () => {
|
|
98
|
+
const auth = engineCredentials({
|
|
99
|
+
srcDir: agentDir,
|
|
100
|
+
needMs: spec.limits.timeoutMs,
|
|
101
|
+
...(options.authMarginMs !== undefined ? { marginMs: options.authMarginMs } : {}),
|
|
102
|
+
});
|
|
103
|
+
const ids = toolIdsOf(procEnv);
|
|
104
|
+
const hostPi = options.hostPi === true;
|
|
105
|
+
const hostOptions = {
|
|
106
|
+
agentDir,
|
|
107
|
+
ownsProcess: !hostPi && options.ownsProcess !== false,
|
|
108
|
+
...(hostPi ? { hostPi: true } : {}),
|
|
109
|
+
...(options.homeDir !== undefined ? { homeDir: options.homeDir } : {}),
|
|
110
|
+
// The model's bash and every lens session's, as the tool uid.
|
|
111
|
+
...(ids !== null && !("refused" in ids) ? { toolUid: ids } : {}),
|
|
112
|
+
// The round's agent dir is a copy: the login it was copied from (the
|
|
113
|
+
// wrapper's /qcr-login, group-readable by this uid) is fenced too.
|
|
114
|
+
fenceDirs: [
|
|
115
|
+
...loginSourceDirs(procEnv),
|
|
116
|
+
...credentialPaths(procEnv, spec.env),
|
|
117
|
+
...(options.fenceDirs ?? []),
|
|
118
|
+
],
|
|
119
|
+
credentials: auth.credentials,
|
|
120
|
+
settings: agentDirSettings(agentDir),
|
|
121
|
+
configureModels: async (runtime) => {
|
|
122
|
+
await applyEnvApiKeys(runtime, spec.env);
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
const host = await (options.makeHost ?? PiHost.create)(hostOptions);
|
|
126
|
+
const tools = engine
|
|
127
|
+
? engineLensTools(withWarn((engine.config ?? engineLensConfig)(host, spec)), wave)
|
|
128
|
+
: undefined;
|
|
129
|
+
if (tools)
|
|
130
|
+
lens = tools;
|
|
131
|
+
const rt = sdkRuntime(host, {
|
|
132
|
+
extras: options.extras ??
|
|
133
|
+
((s) => roundSdkExtras({
|
|
134
|
+
lens: tools ?? lensOf(s, host),
|
|
135
|
+
...(options.warn ? { log: options.warn } : {}),
|
|
136
|
+
})(s)),
|
|
137
|
+
...(options.backstop ? { backstop: options.backstop } : {}),
|
|
138
|
+
});
|
|
139
|
+
return { rt, host };
|
|
140
|
+
})();
|
|
141
|
+
// A host that failed to build is not kept: the next ask tries again.
|
|
142
|
+
built.catch(() => hosts.delete(agentDir));
|
|
143
|
+
hosts.set(agentDir, built);
|
|
144
|
+
}
|
|
145
|
+
return (await built).rt;
|
|
146
|
+
}
|
|
147
|
+
async function dispose() {
|
|
148
|
+
const all = [...hosts.values()];
|
|
149
|
+
hosts.clear();
|
|
150
|
+
lens = undefined;
|
|
151
|
+
for (const b of await Promise.allSettled(all))
|
|
152
|
+
if (b.status === "fulfilled")
|
|
153
|
+
b.value.host.dispose();
|
|
154
|
+
}
|
|
155
|
+
async function open(spec, start) {
|
|
156
|
+
// Every session is ours and runs its tools as the tool uid.
|
|
157
|
+
checkToolUid(procEnv, { what: "the SDK runtime", instead: "", isolated: true });
|
|
158
|
+
const rt = await runtimeFor(spec);
|
|
159
|
+
return start(rt);
|
|
160
|
+
}
|
|
161
|
+
const route = engine && {
|
|
162
|
+
wave,
|
|
163
|
+
// Built with the host, which the round's session has by the time it launches.
|
|
164
|
+
runner: {
|
|
165
|
+
run: (request) => {
|
|
166
|
+
if (lens === undefined)
|
|
167
|
+
return Promise.reject(new Error("the lens runner is not built: no session was created"));
|
|
168
|
+
return lens.runner.run(request);
|
|
169
|
+
},
|
|
170
|
+
},
|
|
171
|
+
plannedWave: engine.plannedWave,
|
|
172
|
+
};
|
|
173
|
+
return {
|
|
174
|
+
create: (spec) => open(spec, (rt) => rt.create(spec)),
|
|
175
|
+
resume: (file, spec) => open(spec, (rt) => rt.resume(file, spec)),
|
|
176
|
+
dispose,
|
|
177
|
+
...(route ? { engineLens: route } : {}),
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=reviewsdk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reviewsdk.js","sourceRoot":"","sources":["../../../src/engine/reviewsdk.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { CoreConfig } from "../reviewconfig.js";
|
|
2
|
+
import type { Ecosystem } from "../ecosystem.js";
|
|
3
|
+
import type { PrFileEntry } from "../githubcore.js";
|
|
4
|
+
import type { RoundMemory } from "../memoryport.js";
|
|
5
|
+
import { usageFromEvents, type ModelErrors, type Stages } from "./roundevents.js";
|
|
6
|
+
import { type BenchPostingReport } from "./caseout.js";
|
|
7
|
+
import { type AuthRejected, type EngineAuth } from "./auth.js";
|
|
8
|
+
import type { PiRun, Runtime } from "./port.js";
|
|
9
|
+
import { type RoundLive } from "./livewire.js";
|
|
10
|
+
import { type LaunchUnit } from "./lens/launch-plan.js";
|
|
11
|
+
import { type EngineRoute } from "./lens/wave.js";
|
|
12
|
+
import { type OneShotPrompts, type OneShotTarget } from "./prompts.js";
|
|
13
|
+
import { type CoreExtension } from "./extfiles.js";
|
|
14
|
+
/** The extensions a round's main session runs with, in load order: the
|
|
15
|
+
* command guard, the ledger pin, and the live PR session's `cluster_findings`
|
|
16
|
+
* tool (the same grouping code on both routes). */
|
|
17
|
+
export declare const ROUND_EXTENSIONS: readonly CoreExtension[];
|
|
18
|
+
export type { PiRun };
|
|
19
|
+
export declare function readJson(path: string): unknown;
|
|
20
|
+
/** Why a session's JSON output file cannot be used: `undefined` when it parses,
|
|
21
|
+
* `"missing"` when absent, otherwise the parser's message. */
|
|
22
|
+
export declare function jsonProblem(path: string): string | undefined;
|
|
23
|
+
/** The scored BENCHMARK MODE files the session wrote that do not parse. A
|
|
24
|
+
* missing file is not listed here (`missingOutputs` lists it). */
|
|
25
|
+
export declare function unparseableOutputs(caseDir: string, renderOutputs: boolean): string[];
|
|
26
|
+
/** The scored BENCHMARK MODE files the session has not written. */
|
|
27
|
+
export declare function missingOutputs(caseDir: string, renderOutputs: boolean): string[];
|
|
28
|
+
/** The session's event stream and stderr in a case dir. */
|
|
29
|
+
export declare const PI_RUN_FILES: readonly ["pi-events.jsonl", "pi-stderr.log"];
|
|
30
|
+
export interface RoundSpec {
|
|
31
|
+
/** The production tree (prompts/, extensions/, agents/). Where the session
|
|
32
|
+
* runs unless `cwd` says otherwise (the bench: its project-scope lens
|
|
33
|
+
* agents live under it). */
|
|
34
|
+
root: string;
|
|
35
|
+
/** Where pi runs, and so which context file, project settings and project
|
|
36
|
+
* agents it discovers. Omitted: `root`. The host route (`qcr review`) passes
|
|
37
|
+
* the run's own dir outside every checkout, holding the reviewer stub, so a
|
|
38
|
+
* checkout never carries a context file of ours (src/hostroute.ts). */
|
|
39
|
+
cwd?: string;
|
|
40
|
+
/** Which lens agents the session resolves: "project" (the nearest
|
|
41
|
+
* `.pi/agents` above the cwd, the bench's) or "user" (`<agentDir>/agents`,
|
|
42
|
+
* the host route's). Omitted: "project". */
|
|
43
|
+
agentScope?: "project" | "user";
|
|
44
|
+
/** pi's agent dir for this run (its login). */
|
|
45
|
+
agentDir: string;
|
|
46
|
+
/** The prepared checkout of the target, at its head. */
|
|
47
|
+
tree: string;
|
|
48
|
+
/** The files the target changes. */
|
|
49
|
+
files: PrFileEntry[];
|
|
50
|
+
target: OneShotTarget;
|
|
51
|
+
/** Where the session's files, the event stream and the rendered review go. */
|
|
52
|
+
outDir: string;
|
|
53
|
+
cfg: CoreConfig;
|
|
54
|
+
ecosystem: Ecosystem;
|
|
55
|
+
timeoutMs: number;
|
|
56
|
+
/** The login the run will use, as the engine's auth module read it
|
|
57
|
+
* (packages/pi-plugin/src/engine/auth.ts). Given, the round refuses before it writes anything
|
|
58
|
+
* when the token would expire inside `timeoutMs` (`AuthExpiring`). */
|
|
59
|
+
auth?: Pick<EngineAuth, "expiresAt" | "provider">;
|
|
60
|
+
/** pi's spill dir. Omitted: `<outDir>/tmp`, removed when the run ends. A
|
|
61
|
+
* given dir is emptied here (what an earlier attempt left is not this
|
|
62
|
+
* attempt's) and is the caller's to remove. */
|
|
63
|
+
tmpDir?: string;
|
|
64
|
+
/** Prompts rendered by the caller (a bench follow-up). Omitted: the first
|
|
65
|
+
* round's, rendered here. On an engine lens route the round appends the
|
|
66
|
+
* engine-only section to their order (`result.prompts` carries the sent one). */
|
|
67
|
+
prompts?: OneShotPrompts;
|
|
68
|
+
dependencyNote?: string;
|
|
69
|
+
/** The memory seed for the first round's prompt (ignored with `prompts`). */
|
|
70
|
+
memory?: RoundMemory;
|
|
71
|
+
/** Names the run in log lines (default `repo#number`). */
|
|
72
|
+
label?: string;
|
|
73
|
+
/** The session name pi is given (default `oneshot-<number>`). */
|
|
74
|
+
sessionName?: string;
|
|
75
|
+
/** When the caller's clock started, so the continuation's budget counts
|
|
76
|
+
* work done before the runner (default: now). */
|
|
77
|
+
startedAt?: number;
|
|
78
|
+
/** Hard stop in dollars: the session (lens children with it) is killed once
|
|
79
|
+
* pi's own price for the round reaches this. The result says `capped`. */
|
|
80
|
+
capUsd?: number;
|
|
81
|
+
/** Where the round's LiveEvent log goes (src/live/). Omitted: none is written. */
|
|
82
|
+
live?: RoundLive;
|
|
83
|
+
log?: (line: string) => void;
|
|
84
|
+
/** Stops the round: an abort before the session exists starts none, and one
|
|
85
|
+
* during a turn aborts it (lens children with it) and skips the
|
|
86
|
+
* continuation. The round then settles what was written, as after any stop. */
|
|
87
|
+
signal?: AbortSignal;
|
|
88
|
+
}
|
|
89
|
+
export interface RoundResult {
|
|
90
|
+
prompts: OneShotPrompts;
|
|
91
|
+
plannedLenses: string[];
|
|
92
|
+
piRun: PiRun;
|
|
93
|
+
/** The one `--continue` ran. */
|
|
94
|
+
continued: boolean;
|
|
95
|
+
/** The round was stopped at `capUsd` before it finished. */
|
|
96
|
+
capped: boolean;
|
|
97
|
+
/** Why the round could not be read: no session to continue, or the output
|
|
98
|
+
* stream failed. */
|
|
99
|
+
error?: string;
|
|
100
|
+
/** Distinct warning lines from pi's stderr, then usage and render problems. */
|
|
101
|
+
warnings: string[];
|
|
102
|
+
/** The provider refused the login mid-round (authwatch's signature in pi's
|
|
103
|
+
* output). The round's own `error` names it too when nothing else does. */
|
|
104
|
+
authError?: AuthRejected;
|
|
105
|
+
/** Absent when the event stream could not be read. */
|
|
106
|
+
usage?: ReturnType<typeof usageFromEvents>;
|
|
107
|
+
modelErrors?: ModelErrors;
|
|
108
|
+
stages?: Stages["phases"];
|
|
109
|
+
/** pi's own price for the whole round (every lens child included). */
|
|
110
|
+
costUsd: number | null;
|
|
111
|
+
/** outcome.json: verdict, passes, summary. */
|
|
112
|
+
outcome?: Record<string, unknown>;
|
|
113
|
+
/** The findings record, after the production post-checks. */
|
|
114
|
+
findings?: unknown;
|
|
115
|
+
/** The rendered review body (review.md); null when nothing was rendered. */
|
|
116
|
+
review: string | null;
|
|
117
|
+
/** The rendered inline comments (comments.json). */
|
|
118
|
+
comments?: unknown[];
|
|
119
|
+
/** `[posting]` policy applied inside the render step (non-default only). */
|
|
120
|
+
renderedPosting?: BenchPostingReport;
|
|
121
|
+
}
|
|
122
|
+
/** What a round writes before its session starts, and what the session is
|
|
123
|
+
* started with. `runRound` hosts the session on a runtime; the debug round
|
|
124
|
+
* (src/engine/debugpi.ts) hands the same things to an interactive pi. */
|
|
125
|
+
export interface PreparedRound {
|
|
126
|
+
/** The order, the engine-only section included on an engine route. */
|
|
127
|
+
prompts: OneShotPrompts;
|
|
128
|
+
/** The system prompt file the round wrote. */
|
|
129
|
+
sysPath: string;
|
|
130
|
+
/** The environment the session's tools see (no GitHub token). */
|
|
131
|
+
env: NodeJS.ProcessEnv;
|
|
132
|
+
sessionName: string;
|
|
133
|
+
/** Where the main session's JSONL goes (kept per round). */
|
|
134
|
+
sessionDir: string;
|
|
135
|
+
/** The session's event stream and stderr files. */
|
|
136
|
+
events: string;
|
|
137
|
+
stderr: string;
|
|
138
|
+
/** The planned discovery wave (engine route with `plannedWave` only). */
|
|
139
|
+
waveUnits: LaunchUnit[];
|
|
140
|
+
startWarnings: string[];
|
|
141
|
+
tmpDir: string;
|
|
142
|
+
/** `tmpDir` is the round's own: removed when it ends. */
|
|
143
|
+
ownTmp: boolean;
|
|
144
|
+
}
|
|
145
|
+
/** Write the round's files into `i.outDir` and work out the session's env, order
|
|
146
|
+
* and wave. `route` is the engine route the round runs on, if any. Throws only
|
|
147
|
+
* for an unwritable output dir or a login that cannot cover the run (`auth`). */
|
|
148
|
+
export declare function prepareRound(i: RoundSpec, route: Pick<EngineRoute, "plannedWave"> | undefined): PreparedRound;
|
|
149
|
+
/** Run one review round on `runtime`. A round that fails is a returned outcome
|
|
150
|
+
* (`error`, absent `outcome`), never a throw; only an unwritable output dir, a
|
|
151
|
+
* login that cannot cover the run (`auth`), or a runtime that cannot create the
|
|
152
|
+
* session (`runtime.create` rejects) throws.
|
|
153
|
+
*
|
|
154
|
+
* A runtime that hosts the engine's lens tools (`runtime.engineLens`, wave.ts)
|
|
155
|
+
* makes this an engine lens route: the order gains the engine-only section
|
|
156
|
+
* (prompts.ts engineLensSection), and with `plannedWave` the round starts the
|
|
157
|
+
* planned discovery wave itself, from the round's `tasks/` (never pass-validate),
|
|
158
|
+
* after the main session exists and before its first prompt; the session joins it
|
|
159
|
+
* through `lens_wave` (rule 9). Everything else stays the session's. */
|
|
160
|
+
export declare function runRound(i: RoundSpec, runtime: Runtime): Promise<RoundResult>;
|
|
161
|
+
/** Read what a finished round left in `outDir`: warnings from pi's stderr, the
|
|
162
|
+
* refused login, usage and stages, the price, and the outcome, findings and
|
|
163
|
+
* rendered review. `r` is the last turn; `metered` is what the session's budget
|
|
164
|
+
* counted, the price when the stream cannot be priced. */
|
|
165
|
+
export declare function settleRound(i: RoundSpec, prep: Pick<PreparedRound, "events" | "stderr" | "startWarnings">, result: RoundResult, r: PiRun, metered: number): RoundResult;
|
|
166
|
+
//# sourceMappingURL=round.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"round.d.ts","sourceRoot":"","sources":["../../../src/engine/round.ts"],"names":[],"mappings":"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"}
|