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,90 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { C as CoChangeCommitScope, a as CoChangeRecency, b as CoChangeSubjectContext, G as GitHistoryMode } from '../git-history-ChNHbfZQ.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
type CoChangePartnerClass = 'doc-code' | 'config-code' | 'schema-script' | 'model-view' | 'test-code' | 'same-feature' | 'unknown';
|
|
7
|
+
interface CoChangePartnerClassification {
|
|
8
|
+
partnerClass: CoChangePartnerClass;
|
|
9
|
+
reasons: string[];
|
|
10
|
+
}
|
|
11
|
+
interface DeclaredCouplingSuggestion {
|
|
12
|
+
name: string;
|
|
13
|
+
files: string[];
|
|
14
|
+
reason: string;
|
|
15
|
+
}
|
|
16
|
+
interface CoChangePairEvidence {
|
|
17
|
+
fileA: string;
|
|
18
|
+
fileB: string;
|
|
19
|
+
together: number;
|
|
20
|
+
confidence: number;
|
|
21
|
+
commitScope?: CoChangeCommitScope;
|
|
22
|
+
recency?: CoChangeRecency;
|
|
23
|
+
subjectContext?: CoChangeSubjectContext;
|
|
24
|
+
}
|
|
25
|
+
interface CoChangeFinding {
|
|
26
|
+
fileA: string;
|
|
27
|
+
fileB: string;
|
|
28
|
+
/** Commits in the analyzed window where both files changed. */
|
|
29
|
+
together: number;
|
|
30
|
+
/** max(P(B|A), P(A|B)) over the analyzed window. */
|
|
31
|
+
confidence: number;
|
|
32
|
+
changesA: number;
|
|
33
|
+
changesB: number;
|
|
34
|
+
focusedTogether: number;
|
|
35
|
+
broadTogether: number;
|
|
36
|
+
broadCommitRatio: number;
|
|
37
|
+
lastTogetherAt: number;
|
|
38
|
+
recentTogether: number;
|
|
39
|
+
commitScope: CoChangeCommitScope;
|
|
40
|
+
recency: CoChangeRecency;
|
|
41
|
+
subjectContext: CoChangeSubjectContext;
|
|
42
|
+
/** True when a dependency edge or declared coupling already explains the pair. */
|
|
43
|
+
structurallyLinked: boolean;
|
|
44
|
+
partnerClass: CoChangePartnerClass;
|
|
45
|
+
partnerClassReasons: string[];
|
|
46
|
+
declaredCouplingSuggestion?: DeclaredCouplingSuggestion;
|
|
47
|
+
}
|
|
48
|
+
interface CoChangeResult {
|
|
49
|
+
/** False when git history is unavailable (not a repo, git missing). */
|
|
50
|
+
available: boolean;
|
|
51
|
+
commitsAnalyzed: number;
|
|
52
|
+
findings: CoChangeFinding[];
|
|
53
|
+
}
|
|
54
|
+
declare function isCoChangeNoiseFile(file: string): boolean;
|
|
55
|
+
/**
|
|
56
|
+
* Hidden coupling from the change graph: file pairs that repeatedly change
|
|
57
|
+
* in the same commits but have no structural link between them.
|
|
58
|
+
*
|
|
59
|
+
* The reference graph cannot see that two mechanisms implement one concept —
|
|
60
|
+
* a config list and the test that checks it share no symbols. The commit
|
|
61
|
+
* history can: if editing one reliably means editing the other, a maintainer
|
|
62
|
+
* who edits only one is probably introducing drift. With a `file` argument,
|
|
63
|
+
* reports that file's co-change partners instead (including structurally
|
|
64
|
+
* linked ones — exploration mode).
|
|
65
|
+
*/
|
|
66
|
+
declare function coChange(db: ScipDatabase, file?: string, opts?: {
|
|
67
|
+
minTogether?: number;
|
|
68
|
+
minConfidence?: number;
|
|
69
|
+
limit?: number;
|
|
70
|
+
includeLinked?: boolean;
|
|
71
|
+
maxFilesPerCommit?: number;
|
|
72
|
+
historyMode?: GitHistoryMode;
|
|
73
|
+
/** Already-resolved invocation HEAD for snapshot-consistent Git evidence without another subprocess. */
|
|
74
|
+
head?: string;
|
|
75
|
+
/**
|
|
76
|
+
* Caps how many of the (already together-count-sorted) candidate pairs
|
|
77
|
+
* get classified — the per-pair loop below does filesystem/graph lookups
|
|
78
|
+
* so its cost scales with candidate count on a large repo history. Set
|
|
79
|
+
* by the CLI's analysis-budget disclosure on large indexes; honoring it
|
|
80
|
+
* for real (rather than only disclosing it) keeps the disclosed budget
|
|
81
|
+
* truthful. Highest-`together` pairs are kept first since `coChangePairs`
|
|
82
|
+
* returns them pre-sorted by priority.
|
|
83
|
+
*/
|
|
84
|
+
scanLimit?: number;
|
|
85
|
+
}): CoChangeResult;
|
|
86
|
+
declare function classifyCoChangePartner(fileA: string, fileB: string): CoChangePartnerClassification;
|
|
87
|
+
declare function declaredCouplingSuggestionForPair(pair: CoChangePairEvidence, classification: CoChangePartnerClassification, structurallyLinked: boolean): DeclaredCouplingSuggestion | undefined;
|
|
88
|
+
declare function coChangeStructuralLinkChecker(db: ScipDatabase, graph?: Map<string, Set<string>>, declaredCouplings?: ReadonlySet<string>[]): (fileA: string, fileB: string) => boolean;
|
|
89
|
+
|
|
90
|
+
export { type CoChangeFinding, type CoChangePairEvidence, type CoChangePartnerClass, type CoChangePartnerClassification, type CoChangeResult, type DeclaredCouplingSuggestion, classifyCoChangePartner, coChange, coChangeStructuralLinkChecker, declaredCouplingSuggestionForPair, isCoChangeNoiseFile };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d,e}from"../chunk-SWHMHUKF.js";import"../chunk-4WKDMDEW.js";import"../chunk-P5XHIJHI.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{c as classifyCoChangePartner,b as coChange,e as coChangeStructuralLinkChecker,d as declaredCouplingSuggestionForPair,a as isCoChangeNoiseFile};
|
|
2
|
+
//# sourceMappingURL=co-change.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { S as SourceObservationFreshness, a as SourceSemanticFreshnessState } from '../repository-text-C0Q8VYdN.js';
|
|
2
|
+
import '../db-D7sauVFH.js';
|
|
3
|
+
export { b as CodeBatchEntry, c as CodeBatchResult, d as CodeFileCoverage, e as CodeFileDefinitionLedgerEntry, f as CodeFileMemberMode, g as CodeRangeCoverage, h as CodeResolutionCandidate, C as CodeResult, i as CodeSelectorKind, j as CodeSelectorStatus, l as code, m as codeBatch } from '../code-DlqpBDd0.js';
|
|
4
|
+
import './outline.js';
|
|
5
|
+
import 'better-sqlite3';
|
|
6
|
+
import '../config-types-BNoC96J3.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as a,e as b}from"../chunk-Y6KHROC3.js";import"../chunk-PTAWHLVJ.js";import"../chunk-ST7V3SKN.js";import"../chunk-YSNONTJ2.js";import"../chunk-QHRNXP3C.js";import"../chunk-GTXSJDCO.js";import"../chunk-XLQ3GLWZ.js";import"../chunk-JEJLSICM.js";import"../chunk-VE5AVNMP.js";import"../chunk-J77SU6VA.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as code,b as codeBatch};
|
|
2
|
+
//# sourceMappingURL=code.js.map
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { BranchEstimateBasis } from './complexity.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
import '../symbol-types-BIQwfoAx.js';
|
|
6
|
+
|
|
7
|
+
interface ComplexityHotspot {
|
|
8
|
+
symbol: string;
|
|
9
|
+
shortName: string;
|
|
10
|
+
file: string;
|
|
11
|
+
startLine: number;
|
|
12
|
+
endLine: number;
|
|
13
|
+
loc: number;
|
|
14
|
+
fanIn: number;
|
|
15
|
+
fanOut: number;
|
|
16
|
+
calleeCount: number;
|
|
17
|
+
branches: number;
|
|
18
|
+
estimateBasis: BranchEstimateBasis;
|
|
19
|
+
score: number;
|
|
20
|
+
}
|
|
21
|
+
type ComplexitySemanticEvidenceStatus = 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
|
|
22
|
+
interface ComplexityHotspotCoverage {
|
|
23
|
+
semanticEvidence: {
|
|
24
|
+
enabled: boolean;
|
|
25
|
+
status: ComplexitySemanticEvidenceStatus;
|
|
26
|
+
incompleteSymbolCount: number;
|
|
27
|
+
unavailableSymbolCount: number;
|
|
28
|
+
excludedSymbolCount: number;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
interface ComplexityHotspotsEvidenceResult {
|
|
32
|
+
rows: ComplexityHotspot[];
|
|
33
|
+
coverage: ComplexityHotspotCoverage;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Find complexity hotspots: symbols with a composite score based on
|
|
37
|
+
* LOC, fan-in, fan-out, and callee count.
|
|
38
|
+
*
|
|
39
|
+
* Score = (loc / 50) * (fanIn / 5) * max(fanOut / 5, 1) * max(cyclomatic / 5, 1)
|
|
40
|
+
*
|
|
41
|
+
* Bulk fan-in/out via caller evidence + buildCalleeMap so we pay
|
|
42
|
+
* one SQL pass per kind regardless of how many definitions we score —
|
|
43
|
+
* replaces the previous per-symbol getCaller/CalleeRowsForSymbol calls
|
|
44
|
+
* that were O(symbols × files) on large indexes.
|
|
45
|
+
*/
|
|
46
|
+
declare function complexityHotspots(db: ScipDatabase, opts?: {
|
|
47
|
+
scope?: string;
|
|
48
|
+
minLoc?: number;
|
|
49
|
+
limit?: number;
|
|
50
|
+
scanLimit?: number;
|
|
51
|
+
semantic?: boolean;
|
|
52
|
+
}): ComplexityHotspot[];
|
|
53
|
+
declare function complexityHotspotsEvidence(db: ScipDatabase, opts?: {
|
|
54
|
+
scope?: string;
|
|
55
|
+
minLoc?: number;
|
|
56
|
+
limit?: number;
|
|
57
|
+
scanLimit?: number;
|
|
58
|
+
semantic?: boolean;
|
|
59
|
+
}): ComplexityHotspotsEvidenceResult;
|
|
60
|
+
|
|
61
|
+
export { type ComplexityHotspot, type ComplexityHotspotCoverage, type ComplexityHotspotsEvidenceResult, type ComplexitySemanticEvidenceStatus, complexityHotspots, complexityHotspotsEvidence };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-C6SBF2WH.js";import"../chunk-DGXRDLV5.js";import"../chunk-OL6KJP3N.js";import"../chunk-B75HZHUP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as complexityHotspots,b as complexityHotspotsEvidence};
|
|
2
|
+
//# sourceMappingURL=complexity-hotspots.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { S as SymbolMatch } from '../symbol-types-BIQwfoAx.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
interface SyntaxNode {
|
|
7
|
+
type: string;
|
|
8
|
+
text: string;
|
|
9
|
+
startPosition: {
|
|
10
|
+
row: number;
|
|
11
|
+
column: number;
|
|
12
|
+
};
|
|
13
|
+
endPosition: {
|
|
14
|
+
row: number;
|
|
15
|
+
column: number;
|
|
16
|
+
};
|
|
17
|
+
startIndex: number;
|
|
18
|
+
endIndex: number;
|
|
19
|
+
childCount: number;
|
|
20
|
+
namedChildCount: number;
|
|
21
|
+
children: SyntaxNode[];
|
|
22
|
+
namedChildren: SyntaxNode[];
|
|
23
|
+
parent: SyntaxNode | null;
|
|
24
|
+
child(index: number): SyntaxNode | null;
|
|
25
|
+
namedChild(index: number): SyntaxNode | null;
|
|
26
|
+
childForFieldName(name: string): SyntaxNode | null;
|
|
27
|
+
descendantsOfType(type: string | string[]): SyntaxNode[];
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
interface ComplexityResult {
|
|
31
|
+
symbol: string;
|
|
32
|
+
shortName: string;
|
|
33
|
+
relativePath: string;
|
|
34
|
+
startLine: number;
|
|
35
|
+
endLine: number;
|
|
36
|
+
loc: number;
|
|
37
|
+
/** Branch count from AST when available, otherwise source-level regex fallback. */
|
|
38
|
+
branches: number;
|
|
39
|
+
estimateBasis: BranchEstimateBasis;
|
|
40
|
+
/** Cyclomatic complexity estimate: branches + 1 */
|
|
41
|
+
cyclomaticEstimate: number;
|
|
42
|
+
/** Number of distinct callees within the definition */
|
|
43
|
+
calleeCount: number | null;
|
|
44
|
+
fanIn: number;
|
|
45
|
+
fanOut: number | null;
|
|
46
|
+
coverage: {
|
|
47
|
+
semanticEvidence: 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
type BranchEstimateBasis = 'ast' | 'regex-fallback';
|
|
51
|
+
interface BranchEstimate {
|
|
52
|
+
branches: number;
|
|
53
|
+
estimateBasis: BranchEstimateBasis;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Per-symbol complexity analysis combining source-level branch counting
|
|
57
|
+
* with index-level metrics (fan-in, fan-out, callee count).
|
|
58
|
+
*
|
|
59
|
+
* Branch counting uses language-aware regex. The language is read from
|
|
60
|
+
* the SCIP documents table, so it works for any indexed language.
|
|
61
|
+
*/
|
|
62
|
+
declare function complexity(db: ScipDatabase, symbolPattern: string, opts?: {
|
|
63
|
+
semantic?: boolean;
|
|
64
|
+
}): ComplexityResult | null;
|
|
65
|
+
declare function branchEstimateForDefinition(db: ScipDatabase, definition: SymbolMatch): BranchEstimate;
|
|
66
|
+
declare function branchEstimatesForDefinitions(db: ScipDatabase, definitions: ReadonlyArray<SymbolMatch>): Map<number, BranchEstimate>;
|
|
67
|
+
/**
|
|
68
|
+
* Count branch points in a parsed AST. The count follows the same practical
|
|
69
|
+
* McCabe approximation as the command output: decision nodes plus boolean
|
|
70
|
+
* decision operators.
|
|
71
|
+
*/
|
|
72
|
+
declare function countBranchesFromAst(node: SyntaxNode): number;
|
|
73
|
+
|
|
74
|
+
export { type BranchEstimate, type BranchEstimateBasis, type ComplexityResult, branchEstimateForDefinition, branchEstimatesForDefinitions, complexity, countBranchesFromAst };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d}from"../chunk-OL6KJP3N.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{b as branchEstimateForDefinition,c as branchEstimatesForDefinitions,a as complexity,d as countBranchesFromAst};
|
|
2
|
+
//# sourceMappingURL=complexity.js.map
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { b as CoChangeSubjectContext } from '../git-history-ChNHbfZQ.js';
|
|
3
|
+
import { AffectedResult, PossibleImpactCoverage } from './affected.js';
|
|
4
|
+
import { CallGraphResult } from './call-graph.js';
|
|
5
|
+
import { ChangeSurfaceResult } from './change-surface.js';
|
|
6
|
+
import { SimilarSymbolResult } from './similar.js';
|
|
7
|
+
import { ComplexityResult } from './complexity.js';
|
|
8
|
+
import { DataflowResult } from './dataflow.js';
|
|
9
|
+
import { DepResult } from './deps.js';
|
|
10
|
+
import { SliceResult } from './reference-reachability.js';
|
|
11
|
+
import { SurfaceResult } from './surface.js';
|
|
12
|
+
import { SystemResult } from './system.js';
|
|
13
|
+
import { TraceResult } from './trace.js';
|
|
14
|
+
import 'better-sqlite3';
|
|
15
|
+
import '../config-types-BNoC96J3.js';
|
|
16
|
+
import '../symbol-types-BIQwfoAx.js';
|
|
17
|
+
import './symbols.js';
|
|
18
|
+
|
|
19
|
+
interface RepositoryContextOptions {
|
|
20
|
+
semantic?: boolean;
|
|
21
|
+
impactDepth?: number;
|
|
22
|
+
sliceDepth?: number;
|
|
23
|
+
scope?: string;
|
|
24
|
+
/** Already-resolved invocation HEAD for snapshot-consistent history evidence. */
|
|
25
|
+
gitHead?: string;
|
|
26
|
+
}
|
|
27
|
+
/** Decision-time history risk for the target's file, from the change graph. */
|
|
28
|
+
interface RepositoryContextHistory {
|
|
29
|
+
/** False when git history is unavailable or no file could be resolved. */
|
|
30
|
+
available: boolean;
|
|
31
|
+
file: string | null;
|
|
32
|
+
churn: {
|
|
33
|
+
changes: number;
|
|
34
|
+
fixChanges: number;
|
|
35
|
+
lastChangedAt: number;
|
|
36
|
+
} | null;
|
|
37
|
+
/** Files that usually change together with this one — edit checklist. */
|
|
38
|
+
coChangePartners: Array<{
|
|
39
|
+
file: string;
|
|
40
|
+
together: number;
|
|
41
|
+
confidence: number;
|
|
42
|
+
subjectContext: CoChangeSubjectContext;
|
|
43
|
+
}>;
|
|
44
|
+
/** Detector suppressions present in the file — known accepted findings. */
|
|
45
|
+
suppressionsInFile: number;
|
|
46
|
+
}
|
|
47
|
+
interface RepositoryContextAffectedConsumer {
|
|
48
|
+
symbol: string;
|
|
49
|
+
shortName: string;
|
|
50
|
+
file: string;
|
|
51
|
+
referenceCount: number;
|
|
52
|
+
}
|
|
53
|
+
interface RepositoryContextConsumerReuseCandidate {
|
|
54
|
+
/** Similarity evidence between one affected consumer and this possible existing owner. */
|
|
55
|
+
candidate: SimilarSymbolResult;
|
|
56
|
+
/** Affected consumers whose bounded similarity scan produced this same possible owner. */
|
|
57
|
+
consumers: RepositoryContextAffectedConsumer[];
|
|
58
|
+
}
|
|
59
|
+
interface RepositoryContextConsumerReuseCoverage {
|
|
60
|
+
totalConsumers: number;
|
|
61
|
+
analyzedConsumers: number;
|
|
62
|
+
omittedConsumers: number;
|
|
63
|
+
perConsumerSearchLimit: number;
|
|
64
|
+
perConsumerCandidateLimit: number;
|
|
65
|
+
candidateLimit: number;
|
|
66
|
+
returnedCandidates: number;
|
|
67
|
+
}
|
|
68
|
+
interface RepositoryContextConsumerReuse {
|
|
69
|
+
candidates: RepositoryContextConsumerReuseCandidate[];
|
|
70
|
+
coverage: RepositoryContextConsumerReuseCoverage;
|
|
71
|
+
}
|
|
72
|
+
interface RepositoryContextPrimaryCallable {
|
|
73
|
+
symbol: string;
|
|
74
|
+
shortName: string;
|
|
75
|
+
file: string;
|
|
76
|
+
}
|
|
77
|
+
interface RepositoryContextSourceSlice extends RepositoryContextPrimaryCallable {
|
|
78
|
+
role: 'target' | 'consumer' | 'reuse-candidate';
|
|
79
|
+
startLine: number;
|
|
80
|
+
endLine: number;
|
|
81
|
+
source: string;
|
|
82
|
+
omittedLines: number;
|
|
83
|
+
/** Exact reference lines inside a consumer-centered source window. */
|
|
84
|
+
focusLines?: number[];
|
|
85
|
+
}
|
|
86
|
+
interface RepositoryContextSourcePacket {
|
|
87
|
+
slices: RepositoryContextSourceSlice[];
|
|
88
|
+
candidateSlices: number;
|
|
89
|
+
omittedSlices: number;
|
|
90
|
+
maxSlices: number;
|
|
91
|
+
maxLinesPerSlice: number;
|
|
92
|
+
maxTotalLines: number;
|
|
93
|
+
targetLineLimit?: number;
|
|
94
|
+
consumerContextLines?: number;
|
|
95
|
+
reuseLineLimit?: number;
|
|
96
|
+
}
|
|
97
|
+
interface RepositoryContextResult {
|
|
98
|
+
target: string;
|
|
99
|
+
/** One callable selected from a file target only when the choice is unambiguous. */
|
|
100
|
+
primaryCallable?: RepositoryContextPrimaryCallable;
|
|
101
|
+
matched: {
|
|
102
|
+
symbol: boolean;
|
|
103
|
+
file: boolean;
|
|
104
|
+
module: boolean;
|
|
105
|
+
};
|
|
106
|
+
history: RepositoryContextHistory;
|
|
107
|
+
trace: TraceResult;
|
|
108
|
+
callGraph: CallGraphResult | null;
|
|
109
|
+
complexity: ComplexityResult | null;
|
|
110
|
+
dataflow: DataflowResult | null;
|
|
111
|
+
backwardSlice: SliceResult | null;
|
|
112
|
+
forwardSlice: SliceResult | null;
|
|
113
|
+
affected: AffectedResult[];
|
|
114
|
+
affectedCoverage: PossibleImpactCoverage | null;
|
|
115
|
+
changeSurface: ChangeSurfaceResult | null;
|
|
116
|
+
deps: DepResult[];
|
|
117
|
+
rdeps: DepResult[];
|
|
118
|
+
system: SystemResult;
|
|
119
|
+
surface: SurfaceResult[];
|
|
120
|
+
/** Bounded existing symbols whose implementation evidence may support reuse. */
|
|
121
|
+
reuseCandidates?: SimilarSymbolResult[];
|
|
122
|
+
/**
|
|
123
|
+
* Bounded possible owners found by comparing functions that directly use
|
|
124
|
+
* the target. Kept separate because this is surrounding-behavior evidence,
|
|
125
|
+
* not evidence that the owner can replace the target itself.
|
|
126
|
+
*/
|
|
127
|
+
affectedConsumerReuse?: RepositoryContextConsumerReuse;
|
|
128
|
+
/** Bounded source slices for the target, its direct consumers, and possible owners. */
|
|
129
|
+
sourcePacket?: RepositoryContextSourcePacket;
|
|
130
|
+
warnings: string[];
|
|
131
|
+
}
|
|
132
|
+
declare function repositoryContext(db: ScipDatabase, target: string, opts?: RepositoryContextOptions): RepositoryContextResult;
|
|
133
|
+
interface AffectedConsumerReuseLimits {
|
|
134
|
+
consumerLimit?: number;
|
|
135
|
+
perConsumerSearchLimit?: number;
|
|
136
|
+
perConsumerCandidateLimit?: number;
|
|
137
|
+
candidateLimit?: number;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Turn compiler-resolved target references into a bounded search for existing
|
|
141
|
+
* owners of the surrounding consumer behavior. Exported for a pure contract
|
|
142
|
+
* test; production supplies `similar` as the evidence source.
|
|
143
|
+
*/
|
|
144
|
+
declare function discoverAffectedConsumerReuse(traceResult: Pick<TraceResult, 'referencedBy'>, targetSymbol: string | null, findSimilar: (consumerSymbol: string) => SimilarSymbolResult[], limits?: AffectedConsumerReuseLimits): RepositoryContextConsumerReuse;
|
|
145
|
+
|
|
146
|
+
export { type RepositoryContextAffectedConsumer, type RepositoryContextConsumerReuse, type RepositoryContextConsumerReuseCandidate, type RepositoryContextConsumerReuseCoverage, type RepositoryContextHistory, type RepositoryContextOptions, type RepositoryContextPrimaryCallable, type RepositoryContextResult, type RepositoryContextSourcePacket, type RepositoryContextSourceSlice, discoverAffectedConsumerReuse, repositoryContext };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-6MUIJMVL.js";import"../chunk-N3IQCBCF.js";import"../chunk-GCHRX4YW.js";import"../chunk-XME3HPXZ.js";import"../chunk-BFFZDZQV.js";import"../chunk-ID63777H.js";import"../chunk-AKB7V7TV.js";import"../chunk-GW6Z3WGY.js";import"../chunk-LZYFLFEH.js";import"../chunk-T3DGWPXM.js";import"../chunk-KMITESMT.js";import"../chunk-ANFVSJWQ.js";import"../chunk-SWHMHUKF.js";import"../chunk-4WKDMDEW.js";import"../chunk-PTAWHLVJ.js";import"../chunk-YSNONTJ2.js";import"../chunk-GTXSJDCO.js";import"../chunk-OL6KJP3N.js";import"../chunk-UDS562V4.js";import"../chunk-NMTSZXCL.js";import"../chunk-LU3BMVH2.js";import"../chunk-JEJLSICM.js";import"../chunk-B75HZHUP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{b as discoverAffectedConsumerReuse,a as repositoryContext};
|
|
2
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface ConvergenceResult {
|
|
6
|
+
symbolA: {
|
|
7
|
+
symbol: string;
|
|
8
|
+
shortName: string;
|
|
9
|
+
file: string;
|
|
10
|
+
loc: number;
|
|
11
|
+
};
|
|
12
|
+
symbolB: {
|
|
13
|
+
symbol: string;
|
|
14
|
+
shortName: string;
|
|
15
|
+
file: string;
|
|
16
|
+
loc: number;
|
|
17
|
+
};
|
|
18
|
+
similarity: number;
|
|
19
|
+
sharedCallees: string[];
|
|
20
|
+
uniqueToA: string[];
|
|
21
|
+
uniqueToB: string[];
|
|
22
|
+
consolidationStrategy: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Given two similar symbols, show what a consolidated version would look like.
|
|
26
|
+
* The shared callee set becomes the common body. The unique callees become
|
|
27
|
+
* the parameterization points.
|
|
28
|
+
*/
|
|
29
|
+
declare function convergence(db: ScipDatabase, symbolPatternA: string, symbolPatternB: string, opts?: {
|
|
30
|
+
semantic?: boolean;
|
|
31
|
+
}): ConvergenceResult | null;
|
|
32
|
+
|
|
33
|
+
export { type ConvergenceResult, convergence };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-BH5F2Q4O.js";import"../chunk-UDS562V4.js";import"../chunk-NMTSZXCL.js";import"../chunk-B75HZHUP.js";import"../chunk-7FND7D7N.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as convergence};
|
|
2
|
+
//# sourceMappingURL=convergence.js.map
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface CouplingResult {
|
|
6
|
+
file1: string;
|
|
7
|
+
file2: string;
|
|
8
|
+
sharedSymbols: number;
|
|
9
|
+
actionTier: 'signal';
|
|
10
|
+
couplingKind: 'shared-symbol-coupling';
|
|
11
|
+
evidenceReasons: string[];
|
|
12
|
+
recommendation: string;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Measure coupling between two files: how many symbols do they share
|
|
16
|
+
* (symbols defined in one and referenced in the other, or vice versa).
|
|
17
|
+
*/
|
|
18
|
+
declare function coupling(db: ScipDatabase, file1: string, file2: string): CouplingResult;
|
|
19
|
+
declare function sharedSymbolCoupling(db: ScipDatabase, file1: string, file2: string): CouplingResult;
|
|
20
|
+
/**
|
|
21
|
+
* Find the most coupled file pairs in the codebase.
|
|
22
|
+
*/
|
|
23
|
+
declare function topCoupling(db: ScipDatabase, opts?: {
|
|
24
|
+
limit?: number;
|
|
25
|
+
scope?: string;
|
|
26
|
+
}): CouplingResult[];
|
|
27
|
+
declare function topSharedSymbolCoupling(db: ScipDatabase, opts?: {
|
|
28
|
+
limit?: number;
|
|
29
|
+
scope?: string;
|
|
30
|
+
}): CouplingResult[];
|
|
31
|
+
|
|
32
|
+
export { type CouplingResult, coupling, sharedSymbolCoupling, topCoupling, topSharedSymbolCoupling };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d}from"../chunk-HRWGYWRJ.js";import"../chunk-GTXSJDCO.js";import"../chunk-UZGZB3VB.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as coupling,b as sharedSymbolCoupling,c as topCoupling,d as topSharedSymbolCoupling};
|
|
2
|
+
//# sourceMappingURL=coupling.js.map
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { F as FileDependencyEdgeBasis } from '../file-dep-graph-Bqg3t3Px.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
interface CycleResult {
|
|
7
|
+
/** One deterministic directed witness path; the first file is repeated at the end. */
|
|
8
|
+
path: string[];
|
|
9
|
+
/** Every file in the cyclic strongly connected component represented by the witness. */
|
|
10
|
+
component?: string[];
|
|
11
|
+
/** The file edge relation on which cyclic reachability was computed. */
|
|
12
|
+
edgeBasis?: FileDependencyEdgeBasis;
|
|
13
|
+
/** Distinguishes a witness from an enumeration of every simple cycle. */
|
|
14
|
+
witness?: true;
|
|
15
|
+
classification?: 'dependency-cycle' | 'module-structure-candidate';
|
|
16
|
+
/**
|
|
17
|
+
* @deprecated Compatibility field. Prefer `classification`: “real” was too
|
|
18
|
+
* strong for a static dependency observation.
|
|
19
|
+
*
|
|
20
|
+
* Historical classification of the cycle:
|
|
21
|
+
* - 'real': architectural cycle worth fixing
|
|
22
|
+
* - 'module-hierarchy': barrel-file pattern (mod.rs / index.ts /
|
|
23
|
+
* __init__.py declaring children that re-import
|
|
24
|
+
* parent re-exports). Standard module structure,
|
|
25
|
+
* not actionable.
|
|
26
|
+
*/
|
|
27
|
+
kind: 'real' | 'module-hierarchy';
|
|
28
|
+
}
|
|
29
|
+
interface CycleSummary {
|
|
30
|
+
cycles: CycleResult[];
|
|
31
|
+
truncated: boolean;
|
|
32
|
+
edgeBasis?: FileDependencyEdgeBasis;
|
|
33
|
+
maxDepth: number;
|
|
34
|
+
}
|
|
35
|
+
interface DependencyCycleOptions {
|
|
36
|
+
scope?: string;
|
|
37
|
+
/** @deprecated Cycle enumeration is SCC-complete; this value is reported only for legacy callers. */
|
|
38
|
+
maxDepth?: number;
|
|
39
|
+
edgeBasis?: FileDependencyEdgeBasis;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Detect circular dependency chains between files.
|
|
43
|
+
* A cycle exists when file A depends on B, B depends on C, and C depends on A.
|
|
44
|
+
*
|
|
45
|
+
* By default this uses the same symbol-reference plus source-import dependency
|
|
46
|
+
* edges as `deps`. `edgeBasis: 'imports'` selects the narrower import graph.
|
|
47
|
+
* Every cyclic strongly connected component is returned exactly once with one
|
|
48
|
+
* deterministic witness path; this is not an enumeration of every simple cycle.
|
|
49
|
+
*/
|
|
50
|
+
declare function cycles(db: ScipDatabase, opts?: {
|
|
51
|
+
scope?: string;
|
|
52
|
+
maxDepth?: number;
|
|
53
|
+
}): CycleResult[];
|
|
54
|
+
declare function cycleSummary(db: ScipDatabase, opts?: {
|
|
55
|
+
scope?: string;
|
|
56
|
+
maxDepth?: number;
|
|
57
|
+
}): CycleSummary;
|
|
58
|
+
/**
|
|
59
|
+
* Enumerate cyclic strongly connected components in a named file-dependency
|
|
60
|
+
* relation. This is the explicit replacement for selecting a different graph
|
|
61
|
+
* through the legacy `cycles` API.
|
|
62
|
+
*/
|
|
63
|
+
declare function dependencyCycles(db: ScipDatabase, opts?: DependencyCycleOptions): CycleResult[];
|
|
64
|
+
declare function dependencyCycleSummary(db: ScipDatabase, opts?: DependencyCycleOptions): CycleSummary;
|
|
65
|
+
|
|
66
|
+
export { type CycleResult, type CycleSummary, type DependencyCycleOptions, FileDependencyEdgeBasis, cycleSummary, cycles, dependencyCycleSummary, dependencyCycles };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d}from"../chunk-PX4RYAAK.js";import"../chunk-35NLDRZC.js";import"../chunk-C7QOQX32.js";import"../chunk-TIIC3ZE7.js";import"../chunk-YUKYB54I.js";import"../chunk-OANDYLJQ.js";import"../chunk-NNOKTMZT.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{b as cycleSummary,a as cycles,d as dependencyCycleSummary,c as dependencyCycles};
|
|
2
|
+
//# sourceMappingURL=cycles.js.map
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface DataflowResult {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
relativePath: string;
|
|
9
|
+
/** Where the symbol is defined (role=1) */
|
|
10
|
+
definitionSites: Array<{
|
|
11
|
+
file: string;
|
|
12
|
+
line: number;
|
|
13
|
+
}>;
|
|
14
|
+
/** Where the symbol is referenced (role!=1) */
|
|
15
|
+
usageSites: Array<{
|
|
16
|
+
file: string;
|
|
17
|
+
line: number;
|
|
18
|
+
enclosingSymbol: string;
|
|
19
|
+
enclosingShort: string;
|
|
20
|
+
}>;
|
|
21
|
+
/** Symbols that appear in the same function that defines this symbol (producers/inputs) */
|
|
22
|
+
producers: Array<{
|
|
23
|
+
symbol: string;
|
|
24
|
+
shortName: string;
|
|
25
|
+
file: string;
|
|
26
|
+
}>;
|
|
27
|
+
/** Symbols defined by functions that reference this symbol (consumers/outputs) */
|
|
28
|
+
consumers: Array<{
|
|
29
|
+
symbol: string;
|
|
30
|
+
shortName: string;
|
|
31
|
+
file: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
interface ReferenceNeighborhoodResult {
|
|
35
|
+
symbol: string;
|
|
36
|
+
shortName: string;
|
|
37
|
+
relativePath: string;
|
|
38
|
+
definitionSites: Array<{
|
|
39
|
+
file: string;
|
|
40
|
+
line: number;
|
|
41
|
+
}>;
|
|
42
|
+
referenceSites: Array<{
|
|
43
|
+
file: string;
|
|
44
|
+
line: number;
|
|
45
|
+
enclosingSymbol: string;
|
|
46
|
+
enclosingShort: string;
|
|
47
|
+
}>;
|
|
48
|
+
outgoingCalls: Array<{
|
|
49
|
+
symbol: string;
|
|
50
|
+
shortName: string;
|
|
51
|
+
file: string;
|
|
52
|
+
}>;
|
|
53
|
+
incomingCalls: Array<{
|
|
54
|
+
symbol: string;
|
|
55
|
+
shortName: string;
|
|
56
|
+
file: string;
|
|
57
|
+
}>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Compiler-identified definition/reference sites plus the static call
|
|
61
|
+
* neighborhood of one symbol. This projection deliberately makes no value-flow
|
|
62
|
+
* claim: an outgoing callee is not necessarily a producer and an incoming
|
|
63
|
+
* caller is not necessarily a consumer of a returned value.
|
|
64
|
+
*/
|
|
65
|
+
declare function referenceNeighborhood(db: ScipDatabase, symbolPattern: string, opts?: {
|
|
66
|
+
semantic?: boolean;
|
|
67
|
+
}): ReferenceNeighborhoodResult | null;
|
|
68
|
+
/**
|
|
69
|
+
* @deprecated This historical command returns a reference/call neighborhood,
|
|
70
|
+
* not value-level data flow. Use `referenceNeighborhood` for that projection
|
|
71
|
+
* and `valueFlow` for proved data-dependence edges.
|
|
72
|
+
*/
|
|
73
|
+
declare function dataflow(db: ScipDatabase, symbolPattern: string, opts?: {
|
|
74
|
+
semantic?: boolean;
|
|
75
|
+
}): DataflowResult | null;
|
|
76
|
+
|
|
77
|
+
export { type DataflowResult, type ReferenceNeighborhoodResult, dataflow, referenceNeighborhood };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-LZYFLFEH.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-JOIRNPPY.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-J77SU6VA.js";import"../chunk-UCD3H3UZ.js";import"../chunk-CVYSU6BX.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.js";import"../chunk-NNOKTMZT.js";import"../chunk-SGX43S2L.js";import"../chunk-FETNQCFO.js";import"../chunk-O6QTXQPJ.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{b as dataflow,a as referenceNeighborhood};
|
|
2
|
+
//# sourceMappingURL=dataflow.js.map
|