@quickchatai/pi-quickreview 0.0.0-stage → 1.1.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 +1067 -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 +74 -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 +372 -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 +226 -0
- package/dist/src/engine/pisdk.d.ts.map +1 -0
- package/dist/src/engine/pisdk.js +552 -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 +32 -0
- package/dist/src/githubAuth.d.ts.map +1 -0
- package/dist/src/githubAuth.js +116 -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 +93 -0
- package/dist/src/guards.d.ts.map +1 -0
- package/dist/src/guards.js +306 -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/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/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 +39 -0
- package/dist/src/plugin/login.d.ts.map +1 -0
- package/dist/src/plugin/login.js +73 -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 +298 -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 +741 -0
- package/dist/src/reviewconfig.d.ts.map +1 -0
- package/dist/src/reviewconfig.js +797 -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 @@
|
|
|
1
|
+
{"version":3,"file":"heuristics.js","sourceRoot":"","sources":["../../src/heuristics.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { type LocatedProfile, type ProfilePlace } from "./profilelookup.js";
|
|
2
|
+
import { type CoreConfig } from "./reviewconfig.js";
|
|
3
|
+
export { assertPathSegment, EXAMPLE_PROFILES, PROFILES_DIR, type LocatedProfile, type ProfilePlace, type ProfileSource, } from "./profilelookup.js";
|
|
4
|
+
/** The slice of the environment the locator reads — nothing else. */
|
|
5
|
+
export interface InstallEnv {
|
|
6
|
+
QCR_CONFIG?: string;
|
|
7
|
+
/** A whole-home override (absolute paths only): the companion
|
|
8
|
+
* container sets these to its `/qcr-config` and `/qcr-state` mounts, so the
|
|
9
|
+
* locator in there resolves the same homes the host mounted, not the
|
|
10
|
+
* container user's own `~/.config` / `~/.local/state`. Unset on a normal
|
|
11
|
+
* host, where the XDG derivation below is the answer. */
|
|
12
|
+
QCR_CONFIG_HOME?: string;
|
|
13
|
+
QCR_STATE_HOME?: string;
|
|
14
|
+
/** A daemon container's secrets mount (absolute paths only): both
|
|
15
|
+
* entrypoints export their read-only `/opt/quickreview/secrets`. config.toml
|
|
16
|
+
* is shared with the host, so a set `[github] secrets_dir` names a HOST
|
|
17
|
+
* path the container cannot see; inside one, the mount is the answer.
|
|
18
|
+
* Unset on a host. */
|
|
19
|
+
QCR_SECRETS_MOUNT?: string;
|
|
20
|
+
QCR_INSTALL?: string;
|
|
21
|
+
XDG_CONFIG_HOME?: string;
|
|
22
|
+
XDG_STATE_HOME?: string;
|
|
23
|
+
HOME?: string;
|
|
24
|
+
}
|
|
25
|
+
export declare const DEFAULT_INSTALL = "default";
|
|
26
|
+
export declare const CONFIG_FILE = "config.toml";
|
|
27
|
+
export declare function installName(env: InstallEnv): string;
|
|
28
|
+
/** An XDG base dir: the variable when it is set AND absolute (the spec says a
|
|
29
|
+
* relative value is invalid and must be ignored), else `$HOME/<fallback>`. */
|
|
30
|
+
export declare function xdgBase(value: string | undefined, env: InstallEnv, fallback: string): string;
|
|
31
|
+
/** `$HOME`: the one base every derived path uses. The host fills it in. */
|
|
32
|
+
export declare function homeOf(env: InstallEnv): string;
|
|
33
|
+
/** `$XDG_CONFIG_HOME/qcr/<install>` — config.toml, profiles/, secrets/
|
|
34
|
+
* (or `$QCR_CONFIG_HOME` as given, see `InstallEnv`). */
|
|
35
|
+
export declare function configHome(env: InstallEnv): string;
|
|
36
|
+
/** `$XDG_STATE_HOME/qcr/<install>` — PC-only scan state, never shipped. */
|
|
37
|
+
export declare function stateHome(env: InstallEnv): string;
|
|
38
|
+
/**
|
|
39
|
+
* Where the live config came from:
|
|
40
|
+
* override — `$QCR_CONFIG`, taken as given (a missing file is the reader's
|
|
41
|
+
* error, never a reason to look elsewhere)
|
|
42
|
+
* home — the install's config home, whether or not the file exists yet
|
|
43
|
+
* (that is where a new config is written, and a missing one is
|
|
44
|
+
* the reader's error — never a reason to read the checkout's)
|
|
45
|
+
*/
|
|
46
|
+
export type ConfigSource = "override" | "home";
|
|
47
|
+
export interface LocatedConfig {
|
|
48
|
+
path: string;
|
|
49
|
+
source: ConfigSource;
|
|
50
|
+
/** The install's config home, whichever source won — where migrate moves to. */
|
|
51
|
+
home: string;
|
|
52
|
+
}
|
|
53
|
+
export interface LocateOptions {
|
|
54
|
+
env: InstallEnv;
|
|
55
|
+
}
|
|
56
|
+
export declare function locateConfig(opts: LocateOptions): LocatedConfig;
|
|
57
|
+
/**
|
|
58
|
+
* The checkout's own `config.toml` when it is still there and is not the
|
|
59
|
+
* located config — i.e. an install that has not run `qcr install migrate`.
|
|
60
|
+
* Nothing reads it; this only lets a not-found name the way out.
|
|
61
|
+
* Null when `$QCR_CONFIG` names that very file (the operator's choice).
|
|
62
|
+
*/
|
|
63
|
+
export declare function strandedCheckoutConfig(opts: {
|
|
64
|
+
root: string;
|
|
65
|
+
env: InstallEnv;
|
|
66
|
+
exists?: (path: string) => boolean;
|
|
67
|
+
}): string | null;
|
|
68
|
+
/** What a reader says when the located config is missing — one wording for
|
|
69
|
+
* every surface, naming `qcr install migrate` when the checkout strands one. */
|
|
70
|
+
export declare function missingConfigMessage(located: LocatedConfig, stranded: string | null): string;
|
|
71
|
+
/** The directory in the config home that holds the repo portrait's narrative
|
|
72
|
+
* — the companion's reading of the portrait facts, and the one it replaced
|
|
73
|
+
* (`src/setup/portrait.ts`). Config, not state: it is the operator's
|
|
74
|
+
* to read and keep (a config home that is a git repo versions it). Never
|
|
75
|
+
* shipped: deploy's filter admits the config file and `profiles/` only. */
|
|
76
|
+
export declare const PORTRAIT_DIR = "portrait";
|
|
77
|
+
/** The profile directories the install's homes provide, searched before the
|
|
78
|
+
* checkout's generic examples (packages/pi-plugin/src/profilelookup.ts):
|
|
79
|
+
* 1. the install's config home — `<home>/profiles/`
|
|
80
|
+
* 2. `profiles/` beside `$QCR_CONFIG`, when it is set */
|
|
81
|
+
export declare function homeProfilePlaces(env: InstallEnv): ProfilePlace[];
|
|
82
|
+
/** The profile loaders' lookup (packages/pi-plugin/src/profiles.ts `ProfileLookup`) for this
|
|
83
|
+
* install's homes. */
|
|
84
|
+
export declare function homeProfileLookup(env: InstallEnv): {
|
|
85
|
+
homes: ProfilePlace[];
|
|
86
|
+
};
|
|
87
|
+
/** The directories of search places 1 and 2 — every place a profile is read
|
|
88
|
+
* from outside the checkout. The exec boundary's integrity check watches
|
|
89
|
+
* exactly these (`locatedPolicyWatchPaths`). */
|
|
90
|
+
export declare function homeProfileDirs(env: InstallEnv): string[];
|
|
91
|
+
/** The directories of every search place, for a not-found to name. */
|
|
92
|
+
export declare function profileSearchDirs(opts: {
|
|
93
|
+
root: string;
|
|
94
|
+
env: InstallEnv;
|
|
95
|
+
}): string[];
|
|
96
|
+
/** Find the named profile in this install's homes, then the checkout's
|
|
97
|
+
* generic examples (packages/pi-plugin/src/profilelookup.ts `findProfile`). */
|
|
98
|
+
export declare function locateProfile(opts: {
|
|
99
|
+
root: string;
|
|
100
|
+
profile: string;
|
|
101
|
+
env: InstallEnv;
|
|
102
|
+
isDir?: (path: string) => boolean;
|
|
103
|
+
}): LocatedProfile | null;
|
|
104
|
+
/** The checkout's `profiles/<name>` when it is an install's own profile left
|
|
105
|
+
* there — stranded, never read (packages/pi-plugin/src/profilelookup.ts `strandedProfile`). */
|
|
106
|
+
export declare function strandedCheckoutProfile(opts: {
|
|
107
|
+
root: string;
|
|
108
|
+
profile: string;
|
|
109
|
+
env: InstallEnv;
|
|
110
|
+
}): string | null;
|
|
111
|
+
/** Every stranded checkout profile (see `strandedCheckoutProfile`), sorted. */
|
|
112
|
+
export declare function strandedCheckoutProfiles(opts: {
|
|
113
|
+
root: string;
|
|
114
|
+
env: InstallEnv;
|
|
115
|
+
}): string[];
|
|
116
|
+
export declare const SECRETS_SUBDIR = "secrets";
|
|
117
|
+
/** The legacy default spelling of `secrets_dir`. */
|
|
118
|
+
export declare const LEGACY_SECRETS_SPELLING = "~/.config/quickreview-bot";
|
|
119
|
+
export declare function expandHomeIn(path: string, env: InstallEnv): string;
|
|
120
|
+
/** `<config home>/secrets` — where an install's secrets belong. */
|
|
121
|
+
export declare function secretsHome(env: InstallEnv): string;
|
|
122
|
+
/** The legacy secrets dir, `$HOME/.config/quickreview-bot` (never XDG: it is
|
|
123
|
+
* spelled `~/.config/…`). Nothing reads it but migrate. */
|
|
124
|
+
export declare function legacySecretsDir(env: InstallEnv): string;
|
|
125
|
+
/** Is a configured `secrets_dir` just the legacy default? Then it names
|
|
126
|
+
* no choice the operator made, and the locator decides — the home, never the
|
|
127
|
+
* legacy dir itself. */
|
|
128
|
+
export declare function isLegacySecretsSpelling(value: string, env: InstallEnv): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* Where the secrets came from:
|
|
131
|
+
* mount — `$QCR_SECRETS_MOUNT`: inside a daemon container the mount is
|
|
132
|
+
* the only place the secrets are, whatever the shared config
|
|
133
|
+
* names (that is a host path)
|
|
134
|
+
* configured — `[github] secrets_dir`, set to something other than the legacy
|
|
135
|
+
* default: the operator named it, it is taken as given
|
|
136
|
+
* override — the caller's env override (`$QC_SECRETS_DIR`, the wizards')
|
|
137
|
+
* home — `<config home>/secrets`, whether or not it exists yet (that
|
|
138
|
+
* is where new secrets are written)
|
|
139
|
+
*/
|
|
140
|
+
export type SecretsSource = "mount" | "configured" | "override" | "home";
|
|
141
|
+
export interface LocatedSecrets {
|
|
142
|
+
path: string;
|
|
143
|
+
source: SecretsSource;
|
|
144
|
+
/** `<config home>/secrets`, whichever source won — where migrate moves to. */
|
|
145
|
+
home: string;
|
|
146
|
+
}
|
|
147
|
+
export interface LocateSecretsOptions {
|
|
148
|
+
/** `[github] secrets_dir` as written (unexpanded), or null/"" when unset. */
|
|
149
|
+
configured?: string | null;
|
|
150
|
+
/** A caller's env override (`$QC_SECRETS_DIR`), below a configured value. */
|
|
151
|
+
override?: string | null;
|
|
152
|
+
env: InstallEnv;
|
|
153
|
+
}
|
|
154
|
+
export declare function locateSecrets(opts: LocateSecretsOptions): LocatedSecrets;
|
|
155
|
+
/** The file that carries the shipped defaults, at the asset root: the values
|
|
156
|
+
* a review runs on when the install has no config of its own. */
|
|
157
|
+
export declare const SHIPPED_CONFIG_FILE = "config.example.toml";
|
|
158
|
+
/** The config a one-shot review runs on, and where it came from: `path` is
|
|
159
|
+
* the install's file, or null when the shipped defaults stood in. */
|
|
160
|
+
export interface OneShotConfig {
|
|
161
|
+
cfg: CoreConfig;
|
|
162
|
+
toml: string;
|
|
163
|
+
path: string | null;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* The config `qcr review` runs on: the located config.toml's review sections
|
|
167
|
+
* (packages/pi-plugin/src/reviewconfig.ts `parseCoreConfig`), with `[github] secrets_dir`
|
|
168
|
+
* located as the daemon locates it. Zero-config: when the install's config
|
|
169
|
+
* home holds no config, the shipped defaults (`<root>/config.example.toml`)
|
|
170
|
+
* stand in. A `$QCR_CONFIG` that names a missing file is still an error — it
|
|
171
|
+
* named that file — and so is a config stranded in the checkout. The daemon's loader (src/config.ts `loadConfig`) has no
|
|
172
|
+
* such fallback: it refuses to start without a config.
|
|
173
|
+
*/
|
|
174
|
+
export declare function loadOneShotConfig(opts: {
|
|
175
|
+
/** The asset root, where the shipped defaults live. */
|
|
176
|
+
root: string;
|
|
177
|
+
env: InstallEnv;
|
|
178
|
+
/** Hears each deprecated key the config still sets. */
|
|
179
|
+
warn?: (line: string) => void;
|
|
180
|
+
}): OneShotConfig;
|
|
181
|
+
//# sourceMappingURL=homes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homes.d.ts","sourceRoot":"","sources":["../../src/homes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
// The homes of a qcr install: where its config, profiles, secrets and state
|
|
2
|
+
// live. Pure over the environment a host hands in: nothing here reads the
|
|
3
|
+
// process's own env or home, so the CLI (src/homes.ts, which fills in
|
|
4
|
+
// `process.env` and the OS's home) and the pi plugin (its host entry) resolve
|
|
5
|
+
// the same homes the same way.
|
|
6
|
+
//
|
|
7
|
+
// Two homes, split by kind:
|
|
8
|
+
// config home $XDG_CONFIG_HOME/qcr/<install>/ config.toml, profiles/, secrets/,
|
|
9
|
+
// portrait/ (the portrait narrative)
|
|
10
|
+
// state home $XDG_STATE_HOME/qcr/<install>/ scan ledger, findings, portrait
|
|
11
|
+
// facts, one-shot review runs
|
|
12
|
+
//
|
|
13
|
+
// `<install>` is `$QCR_INSTALL`, default `default`. `$QCR_CONFIG` overrides
|
|
14
|
+
// the config FILE outright (not the home). `HOME` must be in the env given:
|
|
15
|
+
// the host resolves it.
|
|
16
|
+
import { existsSync, readdirSync, readFileSync } from "node:fs";
|
|
17
|
+
import { dirname, isAbsolute, join, resolve } from "node:path";
|
|
18
|
+
import { assertPathSegment, findProfile, isPathSegment, PROFILES_DIR, profileSearchPlaces, strandedProfile, } from "./profilelookup.js";
|
|
19
|
+
import { parseCoreConfig } from "./reviewconfig.js";
|
|
20
|
+
export { assertPathSegment, EXAMPLE_PROFILES, PROFILES_DIR, } from "./profilelookup.js";
|
|
21
|
+
export const DEFAULT_INSTALL = "default";
|
|
22
|
+
export const CONFIG_FILE = "config.toml";
|
|
23
|
+
export function installName(env) {
|
|
24
|
+
const raw = (env.QCR_INSTALL ?? "").trim();
|
|
25
|
+
return raw === "" ? DEFAULT_INSTALL : assertPathSegment("QCR_INSTALL", raw);
|
|
26
|
+
}
|
|
27
|
+
/** An XDG base dir: the variable when it is set AND absolute (the spec says a
|
|
28
|
+
* relative value is invalid and must be ignored), else `$HOME/<fallback>`. */
|
|
29
|
+
export function xdgBase(value, env, fallback) {
|
|
30
|
+
const v = (value ?? "").trim();
|
|
31
|
+
if (v !== "" && isAbsolute(v))
|
|
32
|
+
return v;
|
|
33
|
+
return join(homeOf(env), fallback);
|
|
34
|
+
}
|
|
35
|
+
/** `$HOME`: the one base every derived path uses. The host fills it in. */
|
|
36
|
+
export function homeOf(env) {
|
|
37
|
+
const home = (env.HOME ?? "").trim();
|
|
38
|
+
if (home === "")
|
|
39
|
+
throw new Error("HOME is not set: the host names the user's home");
|
|
40
|
+
return home;
|
|
41
|
+
}
|
|
42
|
+
/** A home override is taken only when it is set AND absolute — a relative
|
|
43
|
+
* value would resolve against whatever the cwd happens to be. Trailing
|
|
44
|
+
* slashes are dropped; nothing else is rewritten (the shell mirror,
|
|
45
|
+
* `scripts/install-locator.sh`, applies the same rule). */
|
|
46
|
+
function homeOverride(value) {
|
|
47
|
+
const v = (value ?? "").trim();
|
|
48
|
+
if (v === "" || !isAbsolute(v))
|
|
49
|
+
return undefined;
|
|
50
|
+
return v.replace(/\/+$/, "") || "/";
|
|
51
|
+
}
|
|
52
|
+
/** `$XDG_CONFIG_HOME/qcr/<install>` — config.toml, profiles/, secrets/
|
|
53
|
+
* (or `$QCR_CONFIG_HOME` as given, see `InstallEnv`). */
|
|
54
|
+
export function configHome(env) {
|
|
55
|
+
const override = homeOverride(env.QCR_CONFIG_HOME);
|
|
56
|
+
if (override !== undefined)
|
|
57
|
+
return override;
|
|
58
|
+
return join(xdgBase(env.XDG_CONFIG_HOME, env, ".config"), "qcr", installName(env));
|
|
59
|
+
}
|
|
60
|
+
/** `$XDG_STATE_HOME/qcr/<install>` — PC-only scan state, never shipped. */
|
|
61
|
+
export function stateHome(env) {
|
|
62
|
+
const override = homeOverride(env.QCR_STATE_HOME);
|
|
63
|
+
if (override !== undefined)
|
|
64
|
+
return override;
|
|
65
|
+
return join(xdgBase(env.XDG_STATE_HOME, env, join(".local", "state")), "qcr", installName(env));
|
|
66
|
+
}
|
|
67
|
+
export function locateConfig(opts) {
|
|
68
|
+
const env = opts.env;
|
|
69
|
+
const home = configHome(env);
|
|
70
|
+
const override = (env.QCR_CONFIG ?? "").trim();
|
|
71
|
+
if (override !== "")
|
|
72
|
+
return { path: resolve(override), source: "override", home };
|
|
73
|
+
return { path: join(home, CONFIG_FILE), source: "home", home };
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The checkout's own `config.toml` when it is still there and is not the
|
|
77
|
+
* located config — i.e. an install that has not run `qcr install migrate`.
|
|
78
|
+
* Nothing reads it; this only lets a not-found name the way out.
|
|
79
|
+
* Null when `$QCR_CONFIG` names that very file (the operator's choice).
|
|
80
|
+
*/
|
|
81
|
+
export function strandedCheckoutConfig(opts) {
|
|
82
|
+
const exists = opts.exists ?? existsSync;
|
|
83
|
+
const stranded = join(opts.root, CONFIG_FILE);
|
|
84
|
+
if (!exists(stranded))
|
|
85
|
+
return null;
|
|
86
|
+
return locateConfig(opts).path === resolve(stranded) ? null : stranded;
|
|
87
|
+
}
|
|
88
|
+
/** What a reader says when the located config is missing — one wording for
|
|
89
|
+
* every surface, naming `qcr install migrate` when the checkout strands one. */
|
|
90
|
+
export function missingConfigMessage(located, stranded) {
|
|
91
|
+
const base = located.source === "override"
|
|
92
|
+
? `no config at ${located.path} (named by QCR_CONFIG)`
|
|
93
|
+
: `no config at ${located.path} — the install's config home holds none (\`qcr onboard\` writes one)`;
|
|
94
|
+
return stranded === null
|
|
95
|
+
? base
|
|
96
|
+
: `${base}; ${stranded} is no longer read — move it into the config home with \`qcr install migrate\``;
|
|
97
|
+
}
|
|
98
|
+
// ---- repo profiles -----------------------------------------------------------
|
|
99
|
+
/** The directory in the config home that holds the repo portrait's narrative
|
|
100
|
+
* — the companion's reading of the portrait facts, and the one it replaced
|
|
101
|
+
* (`src/setup/portrait.ts`). Config, not state: it is the operator's
|
|
102
|
+
* to read and keep (a config home that is a git repo versions it). Never
|
|
103
|
+
* shipped: deploy's filter admits the config file and `profiles/` only. */
|
|
104
|
+
export const PORTRAIT_DIR = "portrait";
|
|
105
|
+
/** The profile directories the install's homes provide, searched before the
|
|
106
|
+
* checkout's generic examples (packages/pi-plugin/src/profilelookup.ts):
|
|
107
|
+
* 1. the install's config home — `<home>/profiles/`
|
|
108
|
+
* 2. `profiles/` beside `$QCR_CONFIG`, when it is set */
|
|
109
|
+
export function homeProfilePlaces(env) {
|
|
110
|
+
const places = [{ dir: join(configHome(env), PROFILES_DIR), source: "home" }];
|
|
111
|
+
const override = (env.QCR_CONFIG ?? "").trim();
|
|
112
|
+
if (override !== "")
|
|
113
|
+
places.push({ dir: join(dirname(resolve(override)), PROFILES_DIR), source: "override" });
|
|
114
|
+
return places;
|
|
115
|
+
}
|
|
116
|
+
/** The profile loaders' lookup (packages/pi-plugin/src/profiles.ts `ProfileLookup`) for this
|
|
117
|
+
* install's homes. */
|
|
118
|
+
export function homeProfileLookup(env) {
|
|
119
|
+
return { homes: homeProfilePlaces(env) };
|
|
120
|
+
}
|
|
121
|
+
/** The directories of search places 1 and 2 — every place a profile is read
|
|
122
|
+
* from outside the checkout. The exec boundary's integrity check watches
|
|
123
|
+
* exactly these (`locatedPolicyWatchPaths`). */
|
|
124
|
+
export function homeProfileDirs(env) {
|
|
125
|
+
return homeProfilePlaces(env).map((p) => p.dir);
|
|
126
|
+
}
|
|
127
|
+
/** The directories of every search place, for a not-found to name. */
|
|
128
|
+
export function profileSearchDirs(opts) {
|
|
129
|
+
return profileSearchPlaces(opts.root, homeProfilePlaces(opts.env)).map((p) => p.dir);
|
|
130
|
+
}
|
|
131
|
+
/** Find the named profile in this install's homes, then the checkout's
|
|
132
|
+
* generic examples (packages/pi-plugin/src/profilelookup.ts `findProfile`). */
|
|
133
|
+
export function locateProfile(opts) {
|
|
134
|
+
return findProfile({
|
|
135
|
+
root: opts.root,
|
|
136
|
+
profile: opts.profile,
|
|
137
|
+
homes: homeProfilePlaces(opts.env),
|
|
138
|
+
...(opts.isDir ? { isDir: opts.isDir } : {}),
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/** The checkout's `profiles/<name>` when it is an install's own profile left
|
|
142
|
+
* there — stranded, never read (packages/pi-plugin/src/profilelookup.ts `strandedProfile`). */
|
|
143
|
+
export function strandedCheckoutProfile(opts) {
|
|
144
|
+
return strandedProfile({
|
|
145
|
+
root: opts.root,
|
|
146
|
+
profile: opts.profile,
|
|
147
|
+
homes: homeProfilePlaces(opts.env),
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
/** Every stranded checkout profile (see `strandedCheckoutProfile`), sorted. */
|
|
151
|
+
export function strandedCheckoutProfiles(opts) {
|
|
152
|
+
let names;
|
|
153
|
+
try {
|
|
154
|
+
names = readdirSync(join(opts.root, PROFILES_DIR)).sort();
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
return names
|
|
160
|
+
.filter(isPathSegment)
|
|
161
|
+
.map((profile) => strandedCheckoutProfile({ ...opts, profile }))
|
|
162
|
+
.filter((dir) => dir !== null);
|
|
163
|
+
}
|
|
164
|
+
//
|
|
165
|
+
// The install's secrets live in `<config home>/secrets/` — one install, one
|
|
166
|
+
// directory. The legacy `~/.config/quickreview-bot/` is never read; only
|
|
167
|
+
// `qcr install migrate` opens it, to move what it still holds into the home.
|
|
168
|
+
//
|
|
169
|
+
// `[github] secrets_dir` names the dir outright when the operator set one.
|
|
170
|
+
// Empty — or the legacy default spelling — means "the locator decides", so a
|
|
171
|
+
// config that never touched the key reads the home, never the legacy dir it
|
|
172
|
+
// happens to spell.
|
|
173
|
+
export const SECRETS_SUBDIR = "secrets";
|
|
174
|
+
/** The legacy default spelling of `secrets_dir`. */
|
|
175
|
+
export const LEGACY_SECRETS_SPELLING = "~/.config/quickreview-bot";
|
|
176
|
+
export function expandHomeIn(path, env) {
|
|
177
|
+
if (path === "~")
|
|
178
|
+
return homeOf(env);
|
|
179
|
+
return path.startsWith("~/") ? join(homeOf(env), path.slice(2)) : path;
|
|
180
|
+
}
|
|
181
|
+
/** `<config home>/secrets` — where an install's secrets belong. */
|
|
182
|
+
export function secretsHome(env) {
|
|
183
|
+
return join(configHome(env), SECRETS_SUBDIR);
|
|
184
|
+
}
|
|
185
|
+
/** The legacy secrets dir, `$HOME/.config/quickreview-bot` (never XDG: it is
|
|
186
|
+
* spelled `~/.config/…`). Nothing reads it but migrate. */
|
|
187
|
+
export function legacySecretsDir(env) {
|
|
188
|
+
return join(homeOf(env), ".config", "quickreview-bot");
|
|
189
|
+
}
|
|
190
|
+
/** Is a configured `secrets_dir` just the legacy default? Then it names
|
|
191
|
+
* no choice the operator made, and the locator decides — the home, never the
|
|
192
|
+
* legacy dir itself. */
|
|
193
|
+
export function isLegacySecretsSpelling(value, env) {
|
|
194
|
+
const v = value.trim().replace(/\/+$/, "");
|
|
195
|
+
return v === LEGACY_SECRETS_SPELLING || expandHomeIn(v, env) === legacySecretsDir(env);
|
|
196
|
+
}
|
|
197
|
+
export function locateSecrets(opts) {
|
|
198
|
+
const env = opts.env;
|
|
199
|
+
const home = secretsHome(env);
|
|
200
|
+
const mount = (env.QCR_SECRETS_MOUNT ?? "").trim();
|
|
201
|
+
if (isAbsolute(mount))
|
|
202
|
+
return { path: mount, source: "mount", home };
|
|
203
|
+
const configured = (opts.configured ?? "").trim();
|
|
204
|
+
if (configured !== "" && !isLegacySecretsSpelling(configured, env))
|
|
205
|
+
return { path: expandHomeIn(configured, env), source: "configured", home };
|
|
206
|
+
const override = (opts.override ?? "").trim();
|
|
207
|
+
if (override !== "")
|
|
208
|
+
return { path: expandHomeIn(override, env), source: "override", home };
|
|
209
|
+
return { path: home, source: "home", home };
|
|
210
|
+
}
|
|
211
|
+
// ---- the one-shot review's config -------------------------------------------
|
|
212
|
+
/** The file that carries the shipped defaults, at the asset root: the values
|
|
213
|
+
* a review runs on when the install has no config of its own. */
|
|
214
|
+
export const SHIPPED_CONFIG_FILE = "config.example.toml";
|
|
215
|
+
/**
|
|
216
|
+
* The config `qcr review` runs on: the located config.toml's review sections
|
|
217
|
+
* (packages/pi-plugin/src/reviewconfig.ts `parseCoreConfig`), with `[github] secrets_dir`
|
|
218
|
+
* located as the daemon locates it. Zero-config: when the install's config
|
|
219
|
+
* home holds no config, the shipped defaults (`<root>/config.example.toml`)
|
|
220
|
+
* stand in. A `$QCR_CONFIG` that names a missing file is still an error — it
|
|
221
|
+
* named that file — and so is a config stranded in the checkout. The daemon's loader (src/config.ts `loadConfig`) has no
|
|
222
|
+
* such fallback: it refuses to start without a config.
|
|
223
|
+
*/
|
|
224
|
+
export function loadOneShotConfig(opts) {
|
|
225
|
+
const env = opts.env;
|
|
226
|
+
const located = locateConfig({ env });
|
|
227
|
+
const shipped = join(opts.root, SHIPPED_CONFIG_FILE);
|
|
228
|
+
const own = existsSync(located.path);
|
|
229
|
+
if (!own) {
|
|
230
|
+
// A checkout that strands a config is an install that has not migrated:
|
|
231
|
+
// say so rather than review on the defaults behind its back.
|
|
232
|
+
const stranded = strandedCheckoutConfig({ root: opts.root, env });
|
|
233
|
+
if (located.source === "override" || stranded !== null || !existsSync(shipped))
|
|
234
|
+
throw new Error(missingConfigMessage(located, stranded));
|
|
235
|
+
}
|
|
236
|
+
const path = own ? located.path : null;
|
|
237
|
+
const toml = readFileSync(path ?? shipped, "utf8");
|
|
238
|
+
const cfg = parseCoreConfig(toml, opts.warn ? { warn: opts.warn } : {});
|
|
239
|
+
cfg.github.secrets_dir = locateSecrets({ configured: cfg.github.secrets_dir, env }).path;
|
|
240
|
+
return { cfg, toml, path };
|
|
241
|
+
}
|
|
242
|
+
//# sourceMappingURL=homes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"homes.js","sourceRoot":"","sources":["../../src/homes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** One hunk header: each side's first line and line count (an omitted count
|
|
2
|
+
* is 1; a count of 0 is an empty side — a pure insertion or deletion). */
|
|
3
|
+
export interface HunkHeader {
|
|
4
|
+
old_start: number;
|
|
5
|
+
old_count: number;
|
|
6
|
+
new_start: number;
|
|
7
|
+
new_count: number;
|
|
8
|
+
}
|
|
9
|
+
/** The hunk header `line` starts with, or null when it is not one. */
|
|
10
|
+
export declare function parseHunkHeader(line: string): HunkHeader | null;
|
|
11
|
+
//# sourceMappingURL=hunkheader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hunkheader.d.ts","sourceRoot":"","sources":["../../src/hunkheader.ts"],"names":[],"mappings":"AAKA;0EAC0E;AAC1E,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,sEAAsE;AACtE,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAS/D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// The unified-diff hunk header, `@@ -a[,b] +c[,d] @@`, decoded once for every
|
|
2
|
+
// patch reader (outcome capture, the learner's recall scan, the follow-up
|
|
3
|
+
// delta and posting anchors). The readers keep their own body policies; the
|
|
4
|
+
// header grammar and its omitted-count rule live here. Pure: no I/O.
|
|
5
|
+
const HUNK_HEADER_RE = /^@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/;
|
|
6
|
+
/** The hunk header `line` starts with, or null when it is not one. */
|
|
7
|
+
export function parseHunkHeader(line) {
|
|
8
|
+
const m = HUNK_HEADER_RE.exec(line);
|
|
9
|
+
if (!m)
|
|
10
|
+
return null;
|
|
11
|
+
return {
|
|
12
|
+
old_start: Number(m[1]),
|
|
13
|
+
old_count: m[2] === undefined ? 1 : Number(m[2]),
|
|
14
|
+
new_start: Number(m[3]),
|
|
15
|
+
new_count: m[4] === undefined ? 1 : Number(m[4]),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=hunkheader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hunkheader.js","sourceRoot":"","sources":["../../src/hunkheader.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,0EAA0E;AAC1E,4EAA4E;AAC5E,qEAAqE;AAWrE,MAAM,cAAc,GAAG,6CAA6C,CAAC;AAErE,sEAAsE;AACtE,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChD,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACjD,CAAC;AACJ,CAAC"}
|