codebaseiq 0.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/CHANGELOG.md +481 -0
- package/LICENSE +202 -0
- package/README.md +349 -0
- package/dist/augment-vue-worker.js +2 -0
- package/dist/call-graph-evidence-gNsxjCW8.d.ts +16 -0
- package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
- package/dist/chunk-2Q2LW5JW.js +14 -0
- package/dist/chunk-2X7V4HS4.js +88 -0
- package/dist/chunk-34WBMAYK.js +2 -0
- package/dist/chunk-35NLDRZC.js +2 -0
- package/dist/chunk-362QOSFD.js +3 -0
- package/dist/chunk-3IER7Q6H.js +12 -0
- package/dist/chunk-3JSXXYTZ.js +345 -0
- package/dist/chunk-3LCDIREB.js +4 -0
- package/dist/chunk-476NR5B7.js +2 -0
- package/dist/chunk-4FC325IF.js +30 -0
- package/dist/chunk-4WKDMDEW.js +9 -0
- package/dist/chunk-4XTAUQFD.js +2 -0
- package/dist/chunk-5PUWMSDU.js +26 -0
- package/dist/chunk-5VKBFZZU.js +3 -0
- package/dist/chunk-6BQ3DSPK.js +2 -0
- package/dist/chunk-6CS3UQTN.js +3 -0
- package/dist/chunk-6MUIJMVL.js +6 -0
- package/dist/chunk-6NW7MU72.js +40 -0
- package/dist/chunk-6OAHRI2D.js +6 -0
- package/dist/chunk-6YTSKJJ3.js +2 -0
- package/dist/chunk-7FND7D7N.js +2 -0
- package/dist/chunk-7MGU3HPH.js +2 -0
- package/dist/chunk-7NVGT435.js +2 -0
- package/dist/chunk-7XAN6GKB.js +2 -0
- package/dist/chunk-AAQQPKCU.js +2 -0
- package/dist/chunk-ADTBPVUZ.js +21 -0
- package/dist/chunk-AKB7V7TV.js +2 -0
- package/dist/chunk-ANFVSJWQ.js +11 -0
- package/dist/chunk-B2OB55RR.js +3 -0
- package/dist/chunk-B3UYV66Z.js +4 -0
- package/dist/chunk-B75HZHUP.js +2 -0
- package/dist/chunk-BFFZDZQV.js +2 -0
- package/dist/chunk-BGBBVSH4.js +2 -0
- package/dist/chunk-BH5F2Q4O.js +2 -0
- package/dist/chunk-BJ6SQAEN.js +2 -0
- package/dist/chunk-BMYOV5GP.js +77 -0
- package/dist/chunk-BVAJLC5A.js +7 -0
- package/dist/chunk-C6SBF2WH.js +4 -0
- package/dist/chunk-C74PPYLA.js +3 -0
- package/dist/chunk-C7QOQX32.js +8 -0
- package/dist/chunk-CAUCPUOF.js +7 -0
- package/dist/chunk-CO5R3UNA.js +2 -0
- package/dist/chunk-CQP3THUZ.js +7 -0
- package/dist/chunk-CVYSU6BX.js +16 -0
- package/dist/chunk-CWONGW6P.js +3 -0
- package/dist/chunk-DDZ7VHWV.js +20 -0
- package/dist/chunk-DGXRDLV5.js +2 -0
- package/dist/chunk-DO6WQD2T.js +3 -0
- package/dist/chunk-DQMDCD24.js +2 -0
- package/dist/chunk-DR2LURYU.js +3 -0
- package/dist/chunk-DRENNWRG.js +2 -0
- package/dist/chunk-ECQBG7PW.js +564 -0
- package/dist/chunk-EF2R3WNQ.js +2 -0
- package/dist/chunk-ELNRLMC5.js +29 -0
- package/dist/chunk-EMNIHCRB.js +18 -0
- package/dist/chunk-ENCCHKM6.js +5 -0
- package/dist/chunk-EZNMUY67.js +5 -0
- package/dist/chunk-FAJQ7LWY.js +3 -0
- package/dist/chunk-FDGD5AB5.js +2 -0
- package/dist/chunk-FETNQCFO.js +117 -0
- package/dist/chunk-FM5BPL4V.js +60 -0
- package/dist/chunk-FQKZWM4L.js +49 -0
- package/dist/chunk-FW53T7EB.js +2 -0
- package/dist/chunk-G6XFR4ZL.js +4 -0
- package/dist/chunk-GCHRX4YW.js +4 -0
- package/dist/chunk-GTIYTDRE.js +562 -0
- package/dist/chunk-GTXSJDCO.js +2 -0
- package/dist/chunk-GW6Z3WGY.js +2 -0
- package/dist/chunk-H3LGFZVK.js +2 -0
- package/dist/chunk-HKQUXIFO.js +2 -0
- package/dist/chunk-HOA5YGOH.js +3 -0
- package/dist/chunk-HPJRBHVT.js +3 -0
- package/dist/chunk-HRWGYWRJ.js +49 -0
- package/dist/chunk-I2T2LLK2.js +4 -0
- package/dist/chunk-ICFDQHAM.js +3 -0
- package/dist/chunk-ID63777H.js +4 -0
- package/dist/chunk-IJ4HMYBE.js +3 -0
- package/dist/chunk-ILMHV3KM.js +2 -0
- package/dist/chunk-IOP6FWIM.js +2 -0
- package/dist/chunk-IRQOAM5G.js +2 -0
- package/dist/chunk-J77SU6VA.js +38 -0
- package/dist/chunk-JE3WZ6II.js +2 -0
- package/dist/chunk-JEJLSICM.js +4 -0
- package/dist/chunk-JOIRNPPY.js +2 -0
- package/dist/chunk-JSOYNVWH.js +3 -0
- package/dist/chunk-KMITESMT.js +2 -0
- package/dist/chunk-KUW32IRO.js +2 -0
- package/dist/chunk-KWVHSKHK.js +31 -0
- package/dist/chunk-L4NRUAGJ.js +18 -0
- package/dist/chunk-L57ZKWVG.js +6 -0
- package/dist/chunk-LTA3BRZX.js +2 -0
- package/dist/chunk-LU3BMVH2.js +10 -0
- package/dist/chunk-LZYFLFEH.js +2 -0
- package/dist/chunk-MOVBWNIP.js +16 -0
- package/dist/chunk-MVB3DAEY.js +3 -0
- package/dist/chunk-N3IQCBCF.js +29 -0
- package/dist/chunk-NAUD7LCA.js +2 -0
- package/dist/chunk-NCZUNH3E.js +109 -0
- package/dist/chunk-NE6IU5ZD.js +5 -0
- package/dist/chunk-NEDP5RFQ.js +60 -0
- package/dist/chunk-NMTSZXCL.js +2 -0
- package/dist/chunk-NNJ2KZZG.js +4 -0
- package/dist/chunk-NNO6A2PO.js +2 -0
- package/dist/chunk-NNOKTMZT.js +20 -0
- package/dist/chunk-O6QTXQPJ.js +13 -0
- package/dist/chunk-OANDYLJQ.js +2 -0
- package/dist/chunk-OFBE4NGP.js +2 -0
- package/dist/chunk-OGTFJ3XD.js +2 -0
- package/dist/chunk-OL6KJP3N.js +16 -0
- package/dist/chunk-OLF4MA5W.js +8 -0
- package/dist/chunk-OTOKVOJ3.js +2 -0
- package/dist/chunk-OVTS4DKB.js +2 -0
- package/dist/chunk-OZYRSMSH.js +3 -0
- package/dist/chunk-P5XHIJHI.js +2 -0
- package/dist/chunk-PBI2LFKH.js +2 -0
- package/dist/chunk-PIOMTC27.js +2 -0
- package/dist/chunk-PTAWHLVJ.js +6 -0
- package/dist/chunk-PX4RYAAK.js +2 -0
- package/dist/chunk-PYAB5SM6.js +7 -0
- package/dist/chunk-Q5ELPRKQ.js +2 -0
- package/dist/chunk-Q65CQ4XL.js +2 -0
- package/dist/chunk-Q72QSKXC.js +308 -0
- package/dist/chunk-QCN62RTF.js +3 -0
- package/dist/chunk-QDCCHMVZ.js +2 -0
- package/dist/chunk-QHRNXP3C.js +3 -0
- package/dist/chunk-QKPLA6IC.js +2 -0
- package/dist/chunk-QOKYJ33H.js +2 -0
- package/dist/chunk-QW7EP6WI.js +21 -0
- package/dist/chunk-R2NOK63J.js +4 -0
- package/dist/chunk-RBAS5ZHI.js +2 -0
- package/dist/chunk-RDBI2RXU.js +9 -0
- package/dist/chunk-RKEJ6VTF.js +73 -0
- package/dist/chunk-RR7SX44N.js +35 -0
- package/dist/chunk-RU65DDUP.js +215 -0
- package/dist/chunk-SELM5MER.js +2 -0
- package/dist/chunk-SGX43S2L.js +2 -0
- package/dist/chunk-SMRBZ6EC.js +2 -0
- package/dist/chunk-SNNWPCN7.js +4 -0
- package/dist/chunk-ST7V3SKN.js +2 -0
- package/dist/chunk-SWHMHUKF.js +2 -0
- package/dist/chunk-SYDJMPES.js +2 -0
- package/dist/chunk-SZD2KF7Q.js +2 -0
- package/dist/chunk-T3DGWPXM.js +3 -0
- package/dist/chunk-TFZB6XTM.js +239 -0
- package/dist/chunk-TIIC3ZE7.js +2 -0
- package/dist/chunk-TRRC4ZJ7.js +2 -0
- package/dist/chunk-TXXOEMZJ.js +2 -0
- package/dist/chunk-UBGWN7I4.js +2 -0
- package/dist/chunk-UCD3H3UZ.js +5 -0
- package/dist/chunk-UDS562V4.js +5 -0
- package/dist/chunk-UNBY47BC.js +3 -0
- package/dist/chunk-UP3BUZR5.js +74 -0
- package/dist/chunk-UXM43C7T.js +3 -0
- package/dist/chunk-UZGZB3VB.js +3 -0
- package/dist/chunk-VE5AVNMP.js +2 -0
- package/dist/chunk-VEXUL62T.js +2 -0
- package/dist/chunk-VFY6Y2H6.js +61 -0
- package/dist/chunk-VUIYB2V3.js +2 -0
- package/dist/chunk-VXYS3FZD.js +23 -0
- package/dist/chunk-WE5RZHZ7.js +5 -0
- package/dist/chunk-WMPRTGH2.js +2 -0
- package/dist/chunk-WOQBZPIF.js +2 -0
- package/dist/chunk-XLQ3GLWZ.js +2 -0
- package/dist/chunk-XME3HPXZ.js +2 -0
- package/dist/chunk-XMQ23E27.js +2 -0
- package/dist/chunk-XWUOUWYI.js +2 -0
- package/dist/chunk-XZEE23VG.js +5 -0
- package/dist/chunk-Y6KHROC3.js +7 -0
- package/dist/chunk-YESXMKX3.js +3 -0
- package/dist/chunk-YMGZZEW4.js +2 -0
- package/dist/chunk-YSNONTJ2.js +2 -0
- package/dist/chunk-YUKYB54I.js +1 -0
- package/dist/chunk-YVCIMIOC.js +12 -0
- package/dist/chunk-Z54RD7VL.js +3 -0
- package/dist/chunk-ZKX2FRS6.js +15 -0
- package/dist/chunk-ZMI2JSX2.js +2 -0
- package/dist/chunk-ZV3JV5G5.js +8 -0
- package/dist/chunk-ZZ3MWF33.js +4 -0
- package/dist/chunk-ZZXSWSN6.js +2 -0
- package/dist/cli-context-3SNLDYBM.js +3 -0
- package/dist/cli-context-T3B7W6GG.js +2 -0
- package/dist/cli-program-YNOXO72B.js +7 -0
- package/dist/cli.js +3 -0
- package/dist/code-DlqpBDd0.d.ts +121 -0
- package/dist/command-descriptors-6AOUKWW7.js +346 -0
- package/dist/command-descriptors-ZFKJSRUP.js +344 -0
- package/dist/command-panels-SZONPMLJ.js +3 -0
- package/dist/config-types-BNoC96J3.d.ts +560 -0
- package/dist/db-D7sauVFH.d.ts +95 -0
- package/dist/direct-navigation-DP4LVMRX.js +3 -0
- package/dist/direct-navigation-FLUS3BT6.js +2 -0
- package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
- package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
- package/dist/file-kind-BKCVMNUf.d.ts +10 -0
- package/dist/frontend-behavior-evidence-EfM4_9bc.d.ts +4 -0
- package/dist/git-history-ChNHbfZQ.d.ts +13 -0
- package/dist/graph-evidence-BIFqyisO.d.ts +131 -0
- package/dist/health-DJaZXg8I.d.ts +340 -0
- package/dist/index.d.ts +183 -0
- package/dist/index.js +2 -0
- package/dist/invocation-command-descriptors-QT2JMY5J.js +3 -0
- package/dist/invocation-command-descriptors-YN4QJEAX.js +2 -0
- package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
- package/dist/output-continuation-command-2V2SL4TD.js +2 -0
- package/dist/output-continuation-command-65J5IP3O.js +3 -0
- package/dist/postinstall.js +3 -0
- package/dist/project-reindex-5JOKXAXT.js +2 -0
- package/dist/project-reindex-UQBIKO4M.js +3 -0
- package/dist/queries/affected.d.ts +40 -0
- package/dist/queries/affected.js +2 -0
- package/dist/queries/anchors.d.ts +123 -0
- package/dist/queries/anchors.js +2 -0
- package/dist/queries/architecture.d.ts +166 -0
- package/dist/queries/architecture.js +2 -0
- package/dist/queries/bottlenecks.d.ts +68 -0
- package/dist/queries/bottlenecks.js +2 -0
- package/dist/queries/by-kind.d.ts +27 -0
- package/dist/queries/by-kind.js +2 -0
- package/dist/queries/call-graph.d.ts +52 -0
- package/dist/queries/call-graph.js +2 -0
- package/dist/queries/change-surface.d.ts +55 -0
- package/dist/queries/change-surface.js +2 -0
- package/dist/queries/cleanup-plan.d.ts +66 -0
- package/dist/queries/cleanup-plan.js +2 -0
- package/dist/queries/co-change.d.ts +90 -0
- package/dist/queries/co-change.js +2 -0
- package/dist/queries/code.d.ts +6 -0
- package/dist/queries/code.js +2 -0
- package/dist/queries/complexity-hotspots.d.ts +61 -0
- package/dist/queries/complexity-hotspots.js +2 -0
- package/dist/queries/complexity.d.ts +74 -0
- package/dist/queries/complexity.js +2 -0
- package/dist/queries/context.d.ts +146 -0
- package/dist/queries/context.js +2 -0
- package/dist/queries/convergence.d.ts +33 -0
- package/dist/queries/convergence.js +2 -0
- package/dist/queries/coupling.d.ts +32 -0
- package/dist/queries/coupling.js +2 -0
- package/dist/queries/cycles.d.ts +66 -0
- package/dist/queries/cycles.js +2 -0
- package/dist/queries/dataflow.d.ts +77 -0
- package/dist/queries/dataflow.js +2 -0
- package/dist/queries/dead.d.ts +58 -0
- package/dist/queries/dead.js +2 -0
- package/dist/queries/decorative-checkers.d.ts +34 -0
- package/dist/queries/decorative-checkers.js +2 -0
- package/dist/queries/deep-chains.d.ts +5 -0
- package/dist/queries/deep-chains.js +2 -0
- package/dist/queries/dependence-slice.d.ts +46 -0
- package/dist/queries/dependence-slice.js +2 -0
- package/dist/queries/dependency-depth.d.ts +49 -0
- package/dist/queries/dependency-depth.js +2 -0
- package/dist/queries/deps.d.ts +15 -0
- package/dist/queries/deps.js +2 -0
- package/dist/queries/diff-impact.d.ts +165 -0
- package/dist/queries/diff-impact.js +2 -0
- package/dist/queries/doc-drift.d.ts +115 -0
- package/dist/queries/doc-drift.js +2 -0
- package/dist/queries/drift.d.ts +79 -0
- package/dist/queries/drift.js +2 -0
- package/dist/queries/duplicate-bodies.d.ts +55 -0
- package/dist/queries/duplicate-bodies.js +2 -0
- package/dist/queries/entry-map.d.ts +121 -0
- package/dist/queries/entry-map.js +2 -0
- package/dist/queries/evidence.d.ts +70 -0
- package/dist/queries/evidence.js +2 -0
- package/dist/queries/extract-candidates.d.ts +52 -0
- package/dist/queries/extract-candidates.js +2 -0
- package/dist/queries/fan.d.ts +53 -0
- package/dist/queries/fan.js +2 -0
- package/dist/queries/files.d.ts +20 -0
- package/dist/queries/files.js +2 -0
- package/dist/queries/health.d.ts +8 -0
- package/dist/queries/health.js +2 -0
- package/dist/queries/hierarchy.d.ts +21 -0
- package/dist/queries/hierarchy.js +2 -0
- package/dist/queries/hotspots.d.ts +42 -0
- package/dist/queries/hotspots.js +2 -0
- package/dist/queries/imports.d.ts +34 -0
- package/dist/queries/imports.js +2 -0
- package/dist/queries/incomplete-migration.d.ts +90 -0
- package/dist/queries/incomplete-migration.js +2 -0
- package/dist/queries/index.d.ts +180 -0
- package/dist/queries/index.js +2 -0
- package/dist/queries/isolated.d.ts +24 -0
- package/dist/queries/isolated.js +2 -0
- package/dist/queries/locality-candidates.d.ts +51 -0
- package/dist/queries/locality-candidates.js +2 -0
- package/dist/queries/members.d.ts +21 -0
- package/dist/queries/members.js +2 -0
- package/dist/queries/methods.d.ts +43 -0
- package/dist/queries/methods.js +2 -0
- package/dist/queries/not-implemented.d.ts +33 -0
- package/dist/queries/not-implemented.js +2 -0
- package/dist/queries/outline.d.ts +22 -0
- package/dist/queries/outline.js +2 -0
- package/dist/queries/passthrough-candidates.d.ts +41 -0
- package/dist/queries/passthrough-candidates.js +2 -0
- package/dist/queries/plan-context.d.ts +33 -0
- package/dist/queries/plan-context.js +2 -0
- package/dist/queries/react-component-duplicates.d.ts +39 -0
- package/dist/queries/react-component-duplicates.js +2 -0
- package/dist/queries/react-hook-candidates.d.ts +44 -0
- package/dist/queries/react-hook-candidates.js +2 -0
- package/dist/queries/react-large-component-pressure.d.ts +34 -0
- package/dist/queries/react-large-component-pressure.js +2 -0
- package/dist/queries/recent-duplicates.d.ts +79 -0
- package/dist/queries/recent-duplicates.js +2 -0
- package/dist/queries/redundant-reexports.d.ts +37 -0
- package/dist/queries/redundant-reexports.js +2 -0
- package/dist/queries/reference-neighborhood.d.ts +4 -0
- package/dist/queries/reference-neighborhood.js +2 -0
- package/dist/queries/reference-reachability.d.ts +48 -0
- package/dist/queries/reference-reachability.js +2 -0
- package/dist/queries/refs.d.ts +13 -0
- package/dist/queries/refs.js +2 -0
- package/dist/queries/self-audit.d.ts +65 -0
- package/dist/queries/self-audit.js +2 -0
- package/dist/queries/similar-chains.d.ts +48 -0
- package/dist/queries/similar-chains.js +2 -0
- package/dist/queries/similar-files.d.ts +35 -0
- package/dist/queries/similar-files.js +2 -0
- package/dist/queries/similar-signatures.d.ts +46 -0
- package/dist/queries/similar-signatures.js +2 -0
- package/dist/queries/similar.d.ts +187 -0
- package/dist/queries/similar.js +2 -0
- package/dist/queries/slice.d.ts +4 -0
- package/dist/queries/slice.js +2 -0
- package/dist/queries/source-inspection.d.ts +209 -0
- package/dist/queries/source-inspection.js +2 -0
- package/dist/queries/source-search.d.ts +85 -0
- package/dist/queries/source-search.js +2 -0
- package/dist/queries/stale-abstractions.d.ts +72 -0
- package/dist/queries/stale-abstractions.js +2 -0
- package/dist/queries/stats.d.ts +15 -0
- package/dist/queries/stats.js +2 -0
- package/dist/queries/surface.d.ts +22 -0
- package/dist/queries/surface.js +2 -0
- package/dist/queries/symbols.d.ts +14 -0
- package/dist/queries/symbols.js +2 -0
- package/dist/queries/system-map.d.ts +449 -0
- package/dist/queries/system-map.js +2 -0
- package/dist/queries/system.d.ts +21 -0
- package/dist/queries/system.js +2 -0
- package/dist/queries/test-quality.d.ts +56 -0
- package/dist/queries/test-quality.js +2 -0
- package/dist/queries/trace.d.ts +68 -0
- package/dist/queries/trace.js +2 -0
- package/dist/queries/twin-ab.d.ts +66 -0
- package/dist/queries/twin-ab.js +2 -0
- package/dist/queries/twin-drift.d.ts +119 -0
- package/dist/queries/twin-drift.js +2 -0
- package/dist/queries/unused-imports.d.ts +4 -0
- package/dist/queries/unused-imports.js +2 -0
- package/dist/queries/unused-params.d.ts +38 -0
- package/dist/queries/unused-params.js +2 -0
- package/dist/queries/value-flow.d.ts +42 -0
- package/dist/queries/value-flow.js +2 -0
- package/dist/queries/vue-component-duplicates.d.ts +43 -0
- package/dist/queries/vue-component-duplicates.js +2 -0
- package/dist/queries/vue-composable-candidates.d.ts +44 -0
- package/dist/queries/vue-composable-candidates.js +2 -0
- package/dist/queries/vue-large-view-pressure.d.ts +41 -0
- package/dist/queries/vue-large-view-pressure.js +2 -0
- package/dist/queries/wrapper-candidates.d.ts +34 -0
- package/dist/queries/wrapper-candidates.js +2 -0
- package/dist/reindex-worker.js +3 -0
- package/dist/reindex.d.ts +254 -0
- package/dist/reindex.js +298 -0
- package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
- package/dist/runtime.d.ts +555 -0
- package/dist/runtime.js +4 -0
- package/dist/rust-semantic-session-server.js +2 -0
- package/dist/rust-semantic-session-worker.js +2 -0
- package/dist/rust-semantic-worker.js +2 -0
- package/dist/scip-cli-B7N3haxa.d.ts +67 -0
- package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
- package/dist/symbol-types-BIQwfoAx.d.ts +74 -0
- package/dist/typescript-mailbox-worker.js +2 -0
- package/dist/watch-server.js +8 -0
- package/docs/AGENT_GUIDE.md +148 -0
- package/docs/AI_FAILURE_MODES.md +43 -0
- package/docs/API.md +40 -0
- package/docs/API_EVOLUTION.md +77 -0
- package/docs/CLI_JSON_OUTPUT.md +389 -0
- package/docs/COMMAND_REFERENCE.md +294 -0
- package/docs/CONFIGURATION_WRITE_SAFETY.md +131 -0
- package/docs/DETECTOR_GUIDE.md +46 -0
- package/docs/DURABILITY.md +159 -0
- package/docs/INDEX_GENERATIONS.md +167 -0
- package/docs/LOCK_PROTOCOL.md +133 -0
- package/docs/MAILBOX_LIFECYCLE.md +224 -0
- package/docs/REGEX_POLICY.md +36 -0
- package/docs/REINDEX_METADATA_COMPATIBILITY.md +104 -0
- package/docs/RUST_DURABLE_SESSION_PROTOCOL.md +126 -0
- package/docs/SECURITY_MODEL.md +125 -0
- package/docs/TELEMETRY_RETENTION.md +84 -0
- package/docs/TIME_SEMANTICS.md +77 -0
- package/docs/WATCH_REFRESH_REQUESTS.md +123 -0
- package/docs/WINDOWS_SIDECAR_RELEASE.md +424 -0
- package/docs/accuracy-audit-checklist.md +304 -0
- package/docs/accuracy-hardening-goal.md +500 -0
- package/docs/analyzer-inventory.md +78 -0
- package/docs/analyzer-validation-protocol.md +84 -0
- package/docs/architecture-coherence-vision.md +254 -0
- package/docs/assets/codebaseiq-logo-dark.svg +21 -0
- package/docs/assets/codebaseiq-logo.svg +24 -0
- package/docs/locality-analyzer-design.md +193 -0
- package/docs/schemas/cli-json-envelope.schema.json +237 -0
- package/docs/schemas/cli-output-page.schema.json +104 -0
- package/docs/schemas/npm-release-state.schema.json +146 -0
- package/docs/schemas/observation-receipt.schema.json +164 -0
- package/docs/schemas/project-config.schema.json +318 -0
- package/docs/schemas/suppression-record.schema.json +79 -0
- package/docs/schemas/windows-sidecar-provenance.schema.json +137 -0
- package/package.json +482 -0
- package/scripts/build-codebaseiq-windows.mjs +197 -0
- package/scripts/codebaseiq-windows-provenance.mjs +364 -0
- package/scripts/evidence-product-contract.mjs +197 -0
- package/scripts/verify-codebaseiq-windows.mjs +29 -0
- package/skills/codebaseiq/SKILL.md +75 -0
- package/skills/codebaseiq/agents/openai.yaml +4 -0
- package/skills/codebaseiq-explore/SKILL.md +34 -0
- package/skills/codebaseiq-explore/agents/openai.yaml +4 -0
- package/skills/concrete-plan/SKILL.md +79 -0
- package/skills/concrete-plan/agents/openai.yaml +4 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
type SourceSemanticFreshnessState = 'aligned' | 'stale' | 'unavailable';
|
|
2
|
+
/**
|
|
3
|
+
* Freshness of one source observation. Exact text is read from the current
|
|
4
|
+
* worktree; semantic alignment compares those bytes with the indexed input
|
|
5
|
+
* fingerprint when the file has compiler facts.
|
|
6
|
+
*/
|
|
7
|
+
interface SourceObservationFreshness {
|
|
8
|
+
exactText: {
|
|
9
|
+
state: 'current';
|
|
10
|
+
basis: 'working-tree-read';
|
|
11
|
+
sha256: string;
|
|
12
|
+
};
|
|
13
|
+
semantic: {
|
|
14
|
+
state: SourceSemanticFreshnessState;
|
|
15
|
+
basis: 'indexed-input-fingerprint' | 'no-compiler-document' | 'fingerprint-unavailable';
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type { SourceObservationFreshness as S, SourceSemanticFreshnessState as a };
|
|
@@ -0,0 +1,555 @@
|
|
|
1
|
+
import { P as ProjectConfig, W as WatchConfig, a as WatchResourceBudgetConfig, S as SupportedLanguage, T as TypeScriptProjectMode, D as DerivedObservationStateAuthority, O as ObservationSourceKind, b as ObservationReceipt } from './config-types-BNoC96J3.js';
|
|
2
|
+
export { c as DecodedObservationReceipt, L as LEGACY_OBSERVATION_RECEIPT_SCHEMA_VERSION, d as OBSERVATION_IDENTITY_CANONICALIZATION_VERSION, e as OBSERVATION_IDENTITY_HASH_ALGORITHM, f as OBSERVATION_IDENTITY_SCHEMA_VERSION, g as OBSERVATION_RECEIPT_SCHEMA_VERSION, h as OBSERVATION_STATE_AUTHORITY_POLICY_VERSION, i as ObservationAuthorityKind, j as ObservationComparedFact, k as ObservationComparisonReason, l as ObservationIdentity, m as ObservationReceiptComparison, n as ObservationReceiptV1, o as ObservationReceiptV2, p as ObservationRelationshipJudgment, q as ObservationRelationshipState, r as ObservationSourceFact, s as ObservationStabilityProof, t as ObservationStabilityProofKind, u as ObservationStateAuthority, R as RelevantInputIdentity, v as RelevantInputRelationshipJudgment, w as compareObservationReceipts, x as createObservationIdentity, y as decodeObservationReceipt, z as deriveObservationStateAuthority, A as isObservationReceipt, B as observationReceiptGenerationIdentity, E as observationReceiptStabilityLabel, F as observationReceiptWorkspaceIdentity } from './config-types-BNoC96J3.js';
|
|
3
|
+
import { watch } from 'chokidar';
|
|
4
|
+
import { R as RefreshTrigger, W as WatcherStatus } from './scip-cli-B7N3haxa.js';
|
|
5
|
+
export { g as getScipVersion, i as isScipInstalled, p as printScipInstallInstructions } from './scip-cli-B7N3haxa.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* One operating-system process instance. A PID alone names a reusable slot;
|
|
9
|
+
* the start token distinguishes successive processes that occupy that slot.
|
|
10
|
+
*/
|
|
11
|
+
interface ProcessIdentity {
|
|
12
|
+
version: 1;
|
|
13
|
+
pid: number;
|
|
14
|
+
platform: NodeJS.Platform;
|
|
15
|
+
startToken: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
declare function resolveIndexStoragePaths(projectRoot: string, config?: ProjectConfig): {
|
|
19
|
+
cacheDir: string;
|
|
20
|
+
dbPath: string;
|
|
21
|
+
indexPath: string;
|
|
22
|
+
metaPath: string;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
type ResolvedWatchConfig = Omit<Required<WatchConfig>, 'resourceBudget'> & {
|
|
26
|
+
resourceBudget: Required<WatchResourceBudgetConfig>;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Load project config from .codebaseiq.json in the project root.
|
|
31
|
+
* Returns defaults for anything not specified.
|
|
32
|
+
*/
|
|
33
|
+
declare function loadProjectConfig(projectRoot: string): ProjectConfig;
|
|
34
|
+
/**
|
|
35
|
+
* Scaffold a default .codebaseiq.json in the project root.
|
|
36
|
+
* Does not overwrite an existing config.
|
|
37
|
+
*/
|
|
38
|
+
declare function initProjectConfig(projectRoot: string, languages: string[]): string;
|
|
39
|
+
|
|
40
|
+
interface GitReader {
|
|
41
|
+
run(projectRoot: string, args: readonly string[]): string | undefined;
|
|
42
|
+
runResult(projectRoot: string, args: readonly string[]): GitCommandResult;
|
|
43
|
+
}
|
|
44
|
+
type GitCommandResult = {
|
|
45
|
+
kind: 'success';
|
|
46
|
+
output: string;
|
|
47
|
+
} | {
|
|
48
|
+
kind: 'not-repository';
|
|
49
|
+
} | {
|
|
50
|
+
kind: 'error';
|
|
51
|
+
message: string;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
type ReindexActivityBudgetDecision = {
|
|
55
|
+
state: 'allowed';
|
|
56
|
+
rebuilt: number;
|
|
57
|
+
estimatedWriteBytes: number;
|
|
58
|
+
} | {
|
|
59
|
+
state: 'paused';
|
|
60
|
+
reason: 'rebuild-count' | 'estimated-write-bytes' | 'activity-evidence';
|
|
61
|
+
until: number;
|
|
62
|
+
rebuilt: number;
|
|
63
|
+
estimatedWriteBytes: number;
|
|
64
|
+
detail: string;
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
interface WatcherOptions {
|
|
68
|
+
projectRoot: string;
|
|
69
|
+
config: ProjectConfig;
|
|
70
|
+
languages?: SupportedLanguage[];
|
|
71
|
+
reindexRunner?: ReindexRunner;
|
|
72
|
+
subscriptionFactory?: WatchSubscriptionFactory;
|
|
73
|
+
budgetInspector?: WatchBudgetInspector;
|
|
74
|
+
gitReader?: GitReader;
|
|
75
|
+
outputDb?: string;
|
|
76
|
+
clock?: WatchClock;
|
|
77
|
+
stopTimeoutMs?: number;
|
|
78
|
+
onStatus?: (status: WatcherStatus) => void;
|
|
79
|
+
onReindexComplete?: (durationMs: number, trigger: RefreshTrigger) => boolean | void;
|
|
80
|
+
onReindexError?: (error: Error, trigger: RefreshTrigger) => void;
|
|
81
|
+
onRefreshSuppressed?: (trigger: RefreshTrigger) => void;
|
|
82
|
+
onError?: (error: Error) => void;
|
|
83
|
+
}
|
|
84
|
+
type WatchBudgetInspector = (outputDb: string, config: ResolvedWatchConfig['resourceBudget'], now: Date) => ReindexActivityBudgetDecision;
|
|
85
|
+
interface ReindexRunRequest {
|
|
86
|
+
projectRoot: string;
|
|
87
|
+
config: ProjectConfig;
|
|
88
|
+
languages?: SupportedLanguage[];
|
|
89
|
+
pnpmWorkspaces: boolean;
|
|
90
|
+
typescriptProjectMode?: TypeScriptProjectMode;
|
|
91
|
+
typescriptProjects?: string[];
|
|
92
|
+
clojureConfigPath?: string;
|
|
93
|
+
indexerConcurrency?: number;
|
|
94
|
+
trigger: RefreshTrigger;
|
|
95
|
+
}
|
|
96
|
+
interface ReindexWorkerLaunch {
|
|
97
|
+
workerPath: string;
|
|
98
|
+
env: NodeJS.ProcessEnv;
|
|
99
|
+
}
|
|
100
|
+
interface ReindexRunner {
|
|
101
|
+
start(request: ReindexRunRequest): ReindexOperation;
|
|
102
|
+
}
|
|
103
|
+
interface ReindexDiagnostics {
|
|
104
|
+
stdoutTail: string;
|
|
105
|
+
stderrTail: string;
|
|
106
|
+
stdoutTruncated: boolean;
|
|
107
|
+
stderrTruncated: boolean;
|
|
108
|
+
}
|
|
109
|
+
type ReindexCancellationResult = {
|
|
110
|
+
state: 'exited';
|
|
111
|
+
diagnostics: ReindexDiagnostics;
|
|
112
|
+
} | {
|
|
113
|
+
state: 'degraded';
|
|
114
|
+
reason: string;
|
|
115
|
+
diagnostics: ReindexDiagnostics;
|
|
116
|
+
};
|
|
117
|
+
interface ReindexOperation {
|
|
118
|
+
completion: Promise<number>;
|
|
119
|
+
cancel(): Promise<ReindexCancellationResult>;
|
|
120
|
+
diagnostics(): ReindexDiagnostics;
|
|
121
|
+
}
|
|
122
|
+
type WatcherStopResult = {
|
|
123
|
+
state: 'stopped';
|
|
124
|
+
} | {
|
|
125
|
+
state: 'degraded';
|
|
126
|
+
reasons: string[];
|
|
127
|
+
};
|
|
128
|
+
interface ReindexRunnerOptions {
|
|
129
|
+
timeoutMs?: number;
|
|
130
|
+
terminationGraceMs?: number;
|
|
131
|
+
maxOutputBytes?: number;
|
|
132
|
+
resolveLaunch?: (request: ReindexRunRequest) => ReindexWorkerLaunch;
|
|
133
|
+
}
|
|
134
|
+
interface WatchSubscription {
|
|
135
|
+
on(event: 'all', listener: (eventName: string, path: string) => void): WatchSubscription;
|
|
136
|
+
on(event: 'error', listener: (error: unknown) => void): WatchSubscription;
|
|
137
|
+
close(): void | Promise<void>;
|
|
138
|
+
}
|
|
139
|
+
type WatchSubscriptionOptions = NonNullable<Parameters<typeof watch>[1]>;
|
|
140
|
+
type WatchSubscriptionFactory = (projectRoot: string, options: WatchSubscriptionOptions) => WatchSubscription;
|
|
141
|
+
type WatchTimer = ReturnType<typeof setTimeout>;
|
|
142
|
+
interface WatchClock {
|
|
143
|
+
/** Process-local elapsed clock used for debounce/cooldown control. */
|
|
144
|
+
now(): number;
|
|
145
|
+
/** Civil clock used only in externally visible status timestamps. */
|
|
146
|
+
wallNow?(): number;
|
|
147
|
+
setTimeout(callback: () => void, delayMs: number): WatchTimer;
|
|
148
|
+
clearTimeout(timer: WatchTimer): void;
|
|
149
|
+
setInterval(callback: () => void, intervalMs: number): WatchTimer;
|
|
150
|
+
clearInterval(timer: WatchTimer): void;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* File watcher that triggers single-flight background reindexing.
|
|
154
|
+
*
|
|
155
|
+
* Design:
|
|
156
|
+
* - Debounce: waits for a configurable quiet period after the last file change
|
|
157
|
+
* - Single-flight: only one reindex runs at a time, never queued
|
|
158
|
+
* - Dirty flag: changes during reindex schedule ONE follow-up
|
|
159
|
+
* - Cooldown: minimum interval between reindex completions
|
|
160
|
+
* - Atomic publish: the reindexer writes temp artifacts, then promotes them
|
|
161
|
+
*/
|
|
162
|
+
declare class Watcher {
|
|
163
|
+
private projectRoot;
|
|
164
|
+
private config;
|
|
165
|
+
private watchConfig;
|
|
166
|
+
private outputDb;
|
|
167
|
+
private languages?;
|
|
168
|
+
private pnpmWorkspaces;
|
|
169
|
+
private typescriptProjectMode?;
|
|
170
|
+
private typescriptProjects?;
|
|
171
|
+
private clojureConfigPath?;
|
|
172
|
+
private indexerConcurrency?;
|
|
173
|
+
private onStatus;
|
|
174
|
+
private onReindexComplete;
|
|
175
|
+
private onReindexError;
|
|
176
|
+
private onRefreshSuppressed;
|
|
177
|
+
private onError;
|
|
178
|
+
private reindexRunner;
|
|
179
|
+
private subscriptionFactory;
|
|
180
|
+
private budgetInspector;
|
|
181
|
+
private clock;
|
|
182
|
+
private activeOperation;
|
|
183
|
+
private stopPromise;
|
|
184
|
+
private stopInProgress;
|
|
185
|
+
private status;
|
|
186
|
+
private debounceTimer;
|
|
187
|
+
private cooldownTimer;
|
|
188
|
+
private budgetTimer;
|
|
189
|
+
private dirty;
|
|
190
|
+
private changedFiles;
|
|
191
|
+
private pendingTrigger;
|
|
192
|
+
private reindexInFlight;
|
|
193
|
+
private lastReindexEnd;
|
|
194
|
+
private fsWatchers;
|
|
195
|
+
private sourcePollingFallbackStarted;
|
|
196
|
+
private gitPollTimer;
|
|
197
|
+
private lastGitState;
|
|
198
|
+
private gitignoreFilter;
|
|
199
|
+
private extraIgnore;
|
|
200
|
+
private stopped;
|
|
201
|
+
private observationEpoch;
|
|
202
|
+
private changeSequence;
|
|
203
|
+
constructor(opts: WatcherOptions);
|
|
204
|
+
/** Start watching for file changes */
|
|
205
|
+
start(): void;
|
|
206
|
+
/** Stop watching and clean up */
|
|
207
|
+
stop(): Promise<WatcherStopResult>;
|
|
208
|
+
/**
|
|
209
|
+
* Continuous-observation counters. A consumer records these beside a
|
|
210
|
+
* published generation and re-reads them later: equal values mean this
|
|
211
|
+
* watcher saw everything in between and saw nothing change.
|
|
212
|
+
*/
|
|
213
|
+
observation(): {
|
|
214
|
+
epoch: number;
|
|
215
|
+
changeSequence: number;
|
|
216
|
+
};
|
|
217
|
+
/** Request a refresh through the same single-flight/coalescing state machine used by file events. */
|
|
218
|
+
requestRefresh(trigger: RefreshTrigger, opts?: {
|
|
219
|
+
immediate?: boolean;
|
|
220
|
+
}): void;
|
|
221
|
+
private startSourceWatcher;
|
|
222
|
+
private handleSourceWatcherError;
|
|
223
|
+
private isIgnoredWatchPath;
|
|
224
|
+
private handleFileChange;
|
|
225
|
+
private relativeWatchPath;
|
|
226
|
+
private scheduleReindex;
|
|
227
|
+
private triggerReindex;
|
|
228
|
+
private finishStop;
|
|
229
|
+
private wallNow;
|
|
230
|
+
private inspectBudget;
|
|
231
|
+
private reindexRequest;
|
|
232
|
+
private setStatus;
|
|
233
|
+
private clearDebounceTimer;
|
|
234
|
+
private clearCooldownTimer;
|
|
235
|
+
private clearBudgetTimer;
|
|
236
|
+
private startGitStatePolling;
|
|
237
|
+
/**
|
|
238
|
+
* A cheap stand-in for "has git done anything". Git cannot change HEAD, a
|
|
239
|
+
* ref, or the index without writing one of these paths, so when none of
|
|
240
|
+
* them has moved the poll can skip its subprocesses entirely.
|
|
241
|
+
*
|
|
242
|
+
* This matters because the poll runs on the service thread: each
|
|
243
|
+
* `git rev-parse` is a synchronous spawn, and on Windows a few of them per
|
|
244
|
+
* interval is enough to keep the event loop permanently inside
|
|
245
|
+
* `execFileSync`, which starves the query lane it shares the process with.
|
|
246
|
+
*/
|
|
247
|
+
/**
|
|
248
|
+
* Resolved once: a repository's directory layout does not move while the
|
|
249
|
+
* watcher runs, so the gate itself must never spawn git.
|
|
250
|
+
*/
|
|
251
|
+
private resolveGitSignalPaths;
|
|
252
|
+
private gitActivitySignal;
|
|
253
|
+
private pollGitState;
|
|
254
|
+
private readGitState;
|
|
255
|
+
private clearGitPollTimer;
|
|
256
|
+
}
|
|
257
|
+
declare function resolveReindexWorkerLaunch(request: ReindexRunRequest, resolveParentIdentity?: (pid: number) => ProcessIdentity | null): ReindexWorkerLaunch;
|
|
258
|
+
declare function createReindexRunner(options?: ReindexRunnerOptions): ReindexRunner;
|
|
259
|
+
|
|
260
|
+
interface InstallSkillsResult {
|
|
261
|
+
installed: string[];
|
|
262
|
+
skipped: string[];
|
|
263
|
+
alreadyLinked: string[];
|
|
264
|
+
pruned: string[];
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Install codebaseiq skills into Claude Code (~/.claude/skills/),
|
|
268
|
+
* Codex (~/.codex/skills/), and the shared agents skill root (~/.agents/skills/).
|
|
269
|
+
* Uses symlinks (junctions on Windows)
|
|
270
|
+
* so skills auto-update when the package updates.
|
|
271
|
+
*/
|
|
272
|
+
declare function installSkills(opts?: {
|
|
273
|
+
quiet?: boolean;
|
|
274
|
+
}): InstallSkillsResult;
|
|
275
|
+
|
|
276
|
+
/**
|
|
277
|
+
* What one parsed command invocation does to or learns about the world.
|
|
278
|
+
*
|
|
279
|
+
* A command name is not sufficient: one command can preview in one mode and
|
|
280
|
+
* mutate in another. The selected role follows the invocation's observable
|
|
281
|
+
* effect, not the subsystem that implements it.
|
|
282
|
+
*/
|
|
283
|
+
declare const COMMAND_OPERATION_ROLES: readonly ["repository-observation", "repository-preview", "mutation", "composite", "environment-observation", "tool-information"];
|
|
284
|
+
type CommandOperationRole = (typeof COMMAND_OPERATION_ROLES)[number];
|
|
285
|
+
type CommandOperationRuleCondition = {
|
|
286
|
+
kind: 'argument';
|
|
287
|
+
index: number;
|
|
288
|
+
equals: string | number | boolean;
|
|
289
|
+
} | {
|
|
290
|
+
kind: 'option';
|
|
291
|
+
name: string;
|
|
292
|
+
equals: string | number | boolean;
|
|
293
|
+
} | {
|
|
294
|
+
kind: 'option-present';
|
|
295
|
+
name: string;
|
|
296
|
+
};
|
|
297
|
+
interface CommandOperationRule {
|
|
298
|
+
when: CommandOperationRuleCondition;
|
|
299
|
+
role: CommandOperationRole;
|
|
300
|
+
}
|
|
301
|
+
/**
|
|
302
|
+
* Declarative rather than executable so descriptors, docs, validation, and
|
|
303
|
+
* runtime selection all inspect one finite contract.
|
|
304
|
+
*/
|
|
305
|
+
interface CommandOperationSelector {
|
|
306
|
+
defaultRole: CommandOperationRole;
|
|
307
|
+
rules?: readonly CommandOperationRule[];
|
|
308
|
+
}
|
|
309
|
+
interface CommandOperationInvocation {
|
|
310
|
+
args: readonly unknown[];
|
|
311
|
+
options: Readonly<Record<string, unknown>>;
|
|
312
|
+
}
|
|
313
|
+
declare function commandOperation(defaultRole: CommandOperationRole, rules?: readonly CommandOperationRule[]): CommandOperationSelector;
|
|
314
|
+
declare function resolveCommandOperationRole(selector: CommandOperationSelector, invocation: CommandOperationInvocation): CommandOperationRole;
|
|
315
|
+
declare function commandOperationRoles(selector: CommandOperationSelector): CommandOperationRole[];
|
|
316
|
+
declare function isCommandOperationRole(value: unknown): value is CommandOperationRole;
|
|
317
|
+
declare function operationObservesRepository(role: CommandOperationRole): boolean;
|
|
318
|
+
|
|
319
|
+
declare const CLAIM_QUALIFICATION_SCHEMA_VERSION: 1;
|
|
320
|
+
declare const CLAIM_ACTION_POLICY_VERSION: 1;
|
|
321
|
+
declare const CLAIM_ORIGINS: readonly ["compiler-graph", "semantic-analysis", "repository-source", "change-history", "runtime-measurement", "heuristic", "mixed", "unknown"];
|
|
322
|
+
type ClaimOrigin = (typeof CLAIM_ORIGINS)[number];
|
|
323
|
+
declare const CLAIM_COVERAGE_STATES: readonly ["complete", "partial", "unknown"];
|
|
324
|
+
type ClaimCoverageState = (typeof CLAIM_COVERAGE_STATES)[number];
|
|
325
|
+
declare const PRODUCER_VALIDATION_STATUSES: readonly ["validated", "failed", "not-evaluated", "not-applicable"];
|
|
326
|
+
type ProducerValidationStatus = (typeof PRODUCER_VALIDATION_STATUSES)[number];
|
|
327
|
+
declare const CLAIM_ACTION_PERMISSIONS: readonly ["observe", "advise", "require-adjudication", "block", "not-established"];
|
|
328
|
+
type ClaimActionPermission = (typeof CLAIM_ACTION_PERMISSIONS)[number];
|
|
329
|
+
/**
|
|
330
|
+
* A producer validation reports how one evidence-producing method performed
|
|
331
|
+
* against a named, versioned corpus. A successful status without that
|
|
332
|
+
* referent would be an assertion about the producer rather than checkable
|
|
333
|
+
* validation evidence.
|
|
334
|
+
*/
|
|
335
|
+
type ProducerValidation = {
|
|
336
|
+
status: 'validated' | 'failed';
|
|
337
|
+
certification: {
|
|
338
|
+
id: string;
|
|
339
|
+
version: number;
|
|
340
|
+
corpus: string;
|
|
341
|
+
};
|
|
342
|
+
} | {
|
|
343
|
+
status: 'not-evaluated' | 'not-applicable';
|
|
344
|
+
certification?: never;
|
|
345
|
+
};
|
|
346
|
+
/**
|
|
347
|
+
* One result family is a stable set of result values that share an evidence
|
|
348
|
+
* origin. A fixed binding applies one origin to the selected family. A
|
|
349
|
+
* result-field binding maps the producer's existing per-row provenance field
|
|
350
|
+
* into the public origin vocabulary without copying or flattening the rows.
|
|
351
|
+
*/
|
|
352
|
+
type ClaimFamilyOriginBinding = {
|
|
353
|
+
kind: 'fixed';
|
|
354
|
+
origin: Exclude<ClaimOrigin, 'mixed'>;
|
|
355
|
+
} | {
|
|
356
|
+
kind: 'result-field';
|
|
357
|
+
field: string;
|
|
358
|
+
values: Readonly<Record<string, Exclude<ClaimOrigin, 'mixed'>>>;
|
|
359
|
+
};
|
|
360
|
+
interface ClaimFamilyContract {
|
|
361
|
+
id: string;
|
|
362
|
+
/** Repository-relative JSON path rooted at the command-owned result. */
|
|
363
|
+
selector: string;
|
|
364
|
+
origin: ClaimFamilyOriginBinding;
|
|
365
|
+
}
|
|
366
|
+
/**
|
|
367
|
+
* The descriptor-owned facts about a command's evidence producer. These facts
|
|
368
|
+
* identify production and input sources; they do not grant state authority or
|
|
369
|
+
* repository-policy permission.
|
|
370
|
+
*/
|
|
371
|
+
interface CommandClaimContract {
|
|
372
|
+
origin: ClaimOrigin;
|
|
373
|
+
observedSources: readonly ObservationSourceKind[];
|
|
374
|
+
producerValidation: ProducerValidation;
|
|
375
|
+
families?: readonly ClaimFamilyContract[];
|
|
376
|
+
}
|
|
377
|
+
interface ClaimCoverage {
|
|
378
|
+
state: ClaimCoverageState;
|
|
379
|
+
returned: number;
|
|
380
|
+
totalKnown: boolean;
|
|
381
|
+
total?: number;
|
|
382
|
+
omitted?: number;
|
|
383
|
+
}
|
|
384
|
+
interface RepositoryPolicyAction {
|
|
385
|
+
policyId: string;
|
|
386
|
+
policyVersion: typeof CLAIM_ACTION_POLICY_VERSION;
|
|
387
|
+
permission: ClaimActionPermission;
|
|
388
|
+
reasons: readonly string[];
|
|
389
|
+
}
|
|
390
|
+
/**
|
|
391
|
+
* A claim qualification is a set of independent facts that determine what one
|
|
392
|
+
* command result can support. Its real referents are the result's production
|
|
393
|
+
* method, enumeration extent, producer validation, observed repository state,
|
|
394
|
+
* and policy-permitted response. Keeping them independent is what prevents a
|
|
395
|
+
* strong fact in one dimension from silently strengthening another.
|
|
396
|
+
*/
|
|
397
|
+
interface ClaimQualificationV1 {
|
|
398
|
+
schemaVersion: typeof CLAIM_QUALIFICATION_SCHEMA_VERSION;
|
|
399
|
+
origin: ClaimOrigin;
|
|
400
|
+
coverage: ClaimCoverage;
|
|
401
|
+
producerValidation: ProducerValidation;
|
|
402
|
+
stateAuthority: DerivedObservationStateAuthority;
|
|
403
|
+
repositoryPolicy: RepositoryPolicyAction;
|
|
404
|
+
families?: readonly ClaimFamilyContract[];
|
|
405
|
+
}
|
|
406
|
+
interface ClaimCoverageInput {
|
|
407
|
+
complete: boolean | null;
|
|
408
|
+
totalKnown: boolean;
|
|
409
|
+
returned: number;
|
|
410
|
+
total?: number;
|
|
411
|
+
omitted?: number;
|
|
412
|
+
}
|
|
413
|
+
interface DeriveClaimQualificationInput {
|
|
414
|
+
contract: CommandClaimContract;
|
|
415
|
+
receipt: ObservationReceipt;
|
|
416
|
+
coverage?: ClaimCoverageInput;
|
|
417
|
+
repositoryPolicy?: RepositoryPolicyAction;
|
|
418
|
+
}
|
|
419
|
+
declare const DEFAULT_REPOSITORY_POLICY_ACTION: RepositoryPolicyAction;
|
|
420
|
+
declare function deriveClaimQualification(input: DeriveClaimQualificationInput): ClaimQualificationV1;
|
|
421
|
+
declare function deriveClaimCoverage(coverage: ClaimCoverageInput | undefined): ClaimCoverage;
|
|
422
|
+
interface ClaimQualificationRequirements {
|
|
423
|
+
origins?: readonly ClaimOrigin[];
|
|
424
|
+
coverage?: readonly ClaimCoverageState[];
|
|
425
|
+
producerValidation?: readonly ProducerValidationStatus[];
|
|
426
|
+
stateAuthority?: readonly DerivedObservationStateAuthority['authority'][];
|
|
427
|
+
actionPermission?: readonly ClaimActionPermission[];
|
|
428
|
+
}
|
|
429
|
+
type ClaimQualificationPredicate = 'origin' | 'coverage' | 'producer-validation' | 'state-authority' | 'action-permission';
|
|
430
|
+
interface ClaimQualificationPredicateResult {
|
|
431
|
+
predicate: ClaimQualificationPredicate;
|
|
432
|
+
satisfied: boolean;
|
|
433
|
+
required: readonly string[];
|
|
434
|
+
actual: string;
|
|
435
|
+
}
|
|
436
|
+
interface ClaimQualificationEvaluation {
|
|
437
|
+
satisfied: boolean;
|
|
438
|
+
predicates: readonly ClaimQualificationPredicateResult[];
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Evaluate only predicates named by the consumer. This is the consumer-side
|
|
442
|
+
* contract: an omitted requirement grants nothing and a satisfied predicate
|
|
443
|
+
* cannot compensate for an unsatisfied one.
|
|
444
|
+
*/
|
|
445
|
+
declare function evaluateClaimQualification(qualification: ClaimQualificationV1, requirements: ClaimQualificationRequirements): ClaimQualificationEvaluation;
|
|
446
|
+
declare function isClaimQualificationV1(value: unknown): value is ClaimQualificationV1;
|
|
447
|
+
|
|
448
|
+
declare const CLI_JSON_ENVELOPE_KIND: "codebaseiq-result";
|
|
449
|
+
declare const LEGACY_CLI_JSON_ENVELOPE_SCHEMA_VERSION: 0;
|
|
450
|
+
declare const CURRENT_CLI_JSON_ENVELOPE_SCHEMA_VERSION: 1;
|
|
451
|
+
declare const CLI_EVIDENCE_CONTEXT_SCHEMA_VERSION: 1;
|
|
452
|
+
declare const CLI_ANALYSIS_MANIFEST_SCHEMA_VERSION: 1;
|
|
453
|
+
interface CliJsonProducer {
|
|
454
|
+
name: 'codebaseiq';
|
|
455
|
+
version: string;
|
|
456
|
+
}
|
|
457
|
+
/**
|
|
458
|
+
* How one CLI result was produced and how much of the possible answer the
|
|
459
|
+
* invocation examined. These fields remain separate from the receipt because
|
|
460
|
+
* changing an analysis budget does not change which repository state was
|
|
461
|
+
* observed.
|
|
462
|
+
*/
|
|
463
|
+
interface CliAnalysisManifestV1 {
|
|
464
|
+
schemaVersion: typeof CLI_ANALYSIS_MANIFEST_SCHEMA_VERSION;
|
|
465
|
+
evidence?: 'graph-fact' | 'heuristic' | 'mixed';
|
|
466
|
+
analysisBudget?: unknown;
|
|
467
|
+
coverage?: unknown;
|
|
468
|
+
claimQualification?: ClaimQualificationV1;
|
|
469
|
+
}
|
|
470
|
+
/**
|
|
471
|
+
* The self-contained evidence carried by one repository-observation result.
|
|
472
|
+
* A version-1 receipt supplies local provenance; it does not by itself claim
|
|
473
|
+
* the fixed-snapshot and content relationships required for final completion.
|
|
474
|
+
*/
|
|
475
|
+
interface CliEvidenceContextV1 {
|
|
476
|
+
schemaVersion: typeof CLI_EVIDENCE_CONTEXT_SCHEMA_VERSION;
|
|
477
|
+
/** Optional only so evidence contexts written before operation roles remain readable. */
|
|
478
|
+
operationRole?: CommandOperationRole;
|
|
479
|
+
receipt: ObservationReceipt;
|
|
480
|
+
analysisManifest: CliAnalysisManifestV1;
|
|
481
|
+
}
|
|
482
|
+
/**
|
|
483
|
+
* One public machine-readable CLI response. The envelope is the stable
|
|
484
|
+
* transport contract; `result` remains the command-owned payload whose schema
|
|
485
|
+
* can advance independently through `resultSchemaVersion`.
|
|
486
|
+
*/
|
|
487
|
+
interface CliJsonEnvelopeV1<Result = unknown> {
|
|
488
|
+
kind: typeof CLI_JSON_ENVELOPE_KIND;
|
|
489
|
+
schemaVersion: typeof CURRENT_CLI_JSON_ENVELOPE_SCHEMA_VERSION;
|
|
490
|
+
producer: CliJsonProducer;
|
|
491
|
+
command: string;
|
|
492
|
+
/** Optional only for additive compatibility with envelopes written before this field existed. */
|
|
493
|
+
operationRole?: CommandOperationRole;
|
|
494
|
+
resultSchemaVersion: number;
|
|
495
|
+
evidence?: 'graph-fact' | 'heuristic' | 'mixed';
|
|
496
|
+
analysisBudget?: unknown;
|
|
497
|
+
args: readonly unknown[];
|
|
498
|
+
options: Readonly<Record<string, unknown>>;
|
|
499
|
+
result: Result;
|
|
500
|
+
coverage?: unknown;
|
|
501
|
+
agentResult?: unknown;
|
|
502
|
+
evidenceContext?: CliEvidenceContextV1;
|
|
503
|
+
}
|
|
504
|
+
interface LegacyCliJsonEnvelope<Result = unknown> {
|
|
505
|
+
command: string;
|
|
506
|
+
args: readonly unknown[];
|
|
507
|
+
options: Readonly<Record<string, unknown>>;
|
|
508
|
+
result: Result;
|
|
509
|
+
evidence?: 'graph-fact' | 'heuristic' | 'mixed';
|
|
510
|
+
analysisBudget?: unknown;
|
|
511
|
+
coverage?: unknown;
|
|
512
|
+
agentResult?: unknown;
|
|
513
|
+
}
|
|
514
|
+
type CompatibleCliJsonEnvelope<Result = unknown> = {
|
|
515
|
+
kind: 'legacy';
|
|
516
|
+
schemaVersion: typeof LEGACY_CLI_JSON_ENVELOPE_SCHEMA_VERSION;
|
|
517
|
+
envelope: LegacyCliJsonEnvelope<Result>;
|
|
518
|
+
} | {
|
|
519
|
+
kind: 'supported';
|
|
520
|
+
schemaVersion: typeof CURRENT_CLI_JSON_ENVELOPE_SCHEMA_VERSION;
|
|
521
|
+
envelope: CliJsonEnvelopeV1<Result>;
|
|
522
|
+
};
|
|
523
|
+
type DecodedCliJsonEnvelope<Result = unknown> = CompatibleCliJsonEnvelope<Result> | {
|
|
524
|
+
kind: 'unsupported';
|
|
525
|
+
schemaVersion: number;
|
|
526
|
+
direction: 'older' | 'future';
|
|
527
|
+
producer?: {
|
|
528
|
+
name: string;
|
|
529
|
+
version: string;
|
|
530
|
+
};
|
|
531
|
+
} | {
|
|
532
|
+
kind: 'unsupported-result';
|
|
533
|
+
schemaVersion: typeof CURRENT_CLI_JSON_ENVELOPE_SCHEMA_VERSION;
|
|
534
|
+
command: string;
|
|
535
|
+
resultSchemaVersion: number;
|
|
536
|
+
supportedResultSchemaVersions: readonly number[];
|
|
537
|
+
} | {
|
|
538
|
+
kind: 'malformed';
|
|
539
|
+
reason: string;
|
|
540
|
+
};
|
|
541
|
+
/**
|
|
542
|
+
* Decodes the current envelope and the immediately preceding unversioned
|
|
543
|
+
* shape. Unknown additive fields are deliberately preserved on the returned
|
|
544
|
+
* object and ignored by compatibility checks.
|
|
545
|
+
*/
|
|
546
|
+
declare function decodeCliJsonEnvelope<Result = unknown>(input: unknown): DecodedCliJsonEnvelope<Result>;
|
|
547
|
+
declare function requireCompatibleCliJsonEnvelope<Result = unknown>(input: unknown): CompatibleCliJsonEnvelope<Result>;
|
|
548
|
+
/**
|
|
549
|
+
* Result schemas start at v1. A command that advances independently adds its
|
|
550
|
+
* supported transition window here without forcing unrelated commands to
|
|
551
|
+
* change their payload contract.
|
|
552
|
+
*/
|
|
553
|
+
declare function supportedCliResultSchemaVersions(command: string): readonly number[];
|
|
554
|
+
|
|
555
|
+
export { CLAIM_ACTION_PERMISSIONS, CLAIM_ACTION_POLICY_VERSION, CLAIM_COVERAGE_STATES, CLAIM_ORIGINS, CLAIM_QUALIFICATION_SCHEMA_VERSION, CLI_ANALYSIS_MANIFEST_SCHEMA_VERSION, CLI_EVIDENCE_CONTEXT_SCHEMA_VERSION, CLI_JSON_ENVELOPE_KIND, COMMAND_OPERATION_ROLES, CURRENT_CLI_JSON_ENVELOPE_SCHEMA_VERSION, type ClaimActionPermission, type ClaimCoverage, type ClaimCoverageInput, type ClaimCoverageState, type ClaimFamilyContract, type ClaimFamilyOriginBinding, type ClaimOrigin, type ClaimQualificationEvaluation, type ClaimQualificationPredicate, type ClaimQualificationPredicateResult, type ClaimQualificationRequirements, type ClaimQualificationV1, type CliAnalysisManifestV1, type CliEvidenceContextV1, type CliJsonEnvelopeV1, type CliJsonProducer, type CommandClaimContract, type CommandOperationInvocation, type CommandOperationRole, type CommandOperationRule, type CommandOperationRuleCondition, type CommandOperationSelector, type CompatibleCliJsonEnvelope, DEFAULT_REPOSITORY_POLICY_ACTION, type DecodedCliJsonEnvelope, type DeriveClaimQualificationInput, DerivedObservationStateAuthority, LEGACY_CLI_JSON_ENVELOPE_SCHEMA_VERSION, type LegacyCliJsonEnvelope, ObservationReceipt, ObservationSourceKind, PRODUCER_VALIDATION_STATUSES, type ProducerValidation, type ProducerValidationStatus, type ReindexCancellationResult, type ReindexDiagnostics, type ReindexOperation, type ReindexRunRequest, type ReindexRunner, type ReindexRunnerOptions, type ReindexWorkerLaunch, type RepositoryPolicyAction, type WatchClock, type WatchSubscription, type WatchSubscriptionFactory, type WatchSubscriptionOptions, Watcher, type WatcherOptions, type WatcherStopResult, commandOperation, commandOperationRoles, createReindexRunner, decodeCliJsonEnvelope, deriveClaimCoverage, deriveClaimQualification, evaluateClaimQualification, initProjectConfig, installSkills, isClaimQualificationV1, isCommandOperationRole, loadProjectConfig, operationObservesRepository, requireCompatibleCliJsonEnvelope, resolveCommandOperationRole, resolveIndexStoragePaths, resolveReindexWorkerLaunch, supportedCliResultSchemaVersions };
|