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,55 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { I as IndexedDefinition } from '../symbol-types-BIQwfoAx.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
interface DuplicateBodyEntry {
|
|
7
|
+
symbol: string;
|
|
8
|
+
shortName: string;
|
|
9
|
+
file: string;
|
|
10
|
+
startLine: number;
|
|
11
|
+
endLine: number;
|
|
12
|
+
loc: number;
|
|
13
|
+
ageCommits: number | null;
|
|
14
|
+
}
|
|
15
|
+
interface DuplicateBodyGroup {
|
|
16
|
+
hash: string;
|
|
17
|
+
canonical: DuplicateBodyEntry;
|
|
18
|
+
functions: DuplicateBodyEntry[];
|
|
19
|
+
}
|
|
20
|
+
type DuplicateBodyEntryWithBody = DuplicateBodyEntry & {
|
|
21
|
+
normalizedBody: string;
|
|
22
|
+
};
|
|
23
|
+
declare function duplicateBodies(db: ScipDatabase, opts?: {
|
|
24
|
+
scope?: string;
|
|
25
|
+
maxLoc?: number;
|
|
26
|
+
minLoc?: number;
|
|
27
|
+
limit?: number;
|
|
28
|
+
scanLimit?: number;
|
|
29
|
+
}): DuplicateBodyGroup[];
|
|
30
|
+
declare function exactDuplicateBodyMatches(db: ScipDatabase, symbol: string, opts?: {
|
|
31
|
+
scope?: string;
|
|
32
|
+
maxLoc?: number;
|
|
33
|
+
minLoc?: number;
|
|
34
|
+
scanLimit?: number;
|
|
35
|
+
}): DuplicateBodyEntry[];
|
|
36
|
+
declare function normalizeBody(source: string): string;
|
|
37
|
+
declare function groupByHash(entries: ReadonlyArray<DuplicateBodyEntryWithBody>): DuplicateBodyGroup[];
|
|
38
|
+
declare function normalizedBodyForDefinition(db: ScipDatabase, definition: IndexedDefinition): string | null;
|
|
39
|
+
/**
|
|
40
|
+
* Raw source snippet spanning a definition's line range, before any
|
|
41
|
+
* normalization. Shared by every detector that needs the definition's text
|
|
42
|
+
* for its own comparison logic (e.g. twin-drift's token-level diffing) —
|
|
43
|
+
* reuse this instead of re-deriving "read file, slice lines" per detector.
|
|
44
|
+
*/
|
|
45
|
+
declare function definitionSourceSnippet(db: ScipDatabase, definition: IndexedDefinition): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* Isolate a callable's implementation body (brace-delimited block, or the
|
|
48
|
+
* expression after `=>`) from its raw source snippet. Exported so other
|
|
49
|
+
* detectors comparing bodies (twin-drift) reuse this instead of
|
|
50
|
+
* re-implementing body extraction — that duplication is exactly the "twin
|
|
51
|
+
* drift" defect class this file's sibling detector hunts.
|
|
52
|
+
*/
|
|
53
|
+
declare function extractImplementationBody(source: string): string;
|
|
54
|
+
|
|
55
|
+
export { type DuplicateBodyEntry, type DuplicateBodyGroup, definitionSourceSnippet, duplicateBodies, exactDuplicateBodyMatches, extractImplementationBody, groupByHash, normalizeBody, normalizedBodyForDefinition };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d,e,f,g}from"../chunk-T3DGWPXM.js";import"../chunk-4WKDMDEW.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.js";import"../chunk-P5XHIJHI.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{f as definitionSourceSnippet,a as duplicateBodies,b as exactDuplicateBodyMatches,g as extractImplementationBody,d as groupByHash,c as normalizeBody,e as normalizedBodyForDefinition};
|
|
2
|
+
//# sourceMappingURL=duplicate-bodies.js.map
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { c as SymbolResolutionCandidate } from '../symbol-types-BIQwfoAx.js';
|
|
2
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
3
|
+
import { a as CalleeEvidenceSource } from '../call-graph-evidence-gNsxjCW8.js';
|
|
4
|
+
import 'better-sqlite3';
|
|
5
|
+
import '../config-types-BNoC96J3.js';
|
|
6
|
+
|
|
7
|
+
type EntryPointEvidence = 'package-public-export' | 'rust-public-library' | 'framework-dispatched-export' | 'configured-entry-root' | 'entry-surface-without-indexed-caller';
|
|
8
|
+
type EntryPointConfidence = 'root' | 'candidate';
|
|
9
|
+
interface EntryPointResult {
|
|
10
|
+
symbol: string;
|
|
11
|
+
shortName: string;
|
|
12
|
+
file: string;
|
|
13
|
+
startLine: number;
|
|
14
|
+
endLine: number;
|
|
15
|
+
documentation: string | null;
|
|
16
|
+
confidence: EntryPointConfidence;
|
|
17
|
+
evidence: EntryPointEvidence[];
|
|
18
|
+
indexedCallerCount: number;
|
|
19
|
+
}
|
|
20
|
+
interface EntryPointsOptions {
|
|
21
|
+
search?: string;
|
|
22
|
+
scope?: string;
|
|
23
|
+
}
|
|
24
|
+
interface EntryMapSymbol {
|
|
25
|
+
symbol: string;
|
|
26
|
+
shortName: string;
|
|
27
|
+
file: string;
|
|
28
|
+
depth: number;
|
|
29
|
+
}
|
|
30
|
+
interface EntryMapSymbolEdge {
|
|
31
|
+
fromSymbol: string;
|
|
32
|
+
fromShortName: string;
|
|
33
|
+
fromFile: string;
|
|
34
|
+
toSymbol: string;
|
|
35
|
+
toShortName: string;
|
|
36
|
+
toFile: string;
|
|
37
|
+
source: CalleeEvidenceSource;
|
|
38
|
+
evidenceStrength?: 'exact' | 'candidate';
|
|
39
|
+
}
|
|
40
|
+
interface EntryMapExternalCall {
|
|
41
|
+
fromSymbol: string;
|
|
42
|
+
fromShortName: string;
|
|
43
|
+
fromFile: string;
|
|
44
|
+
toSymbol: string;
|
|
45
|
+
toShortName: string;
|
|
46
|
+
reportedFile: string;
|
|
47
|
+
source: CalleeEvidenceSource;
|
|
48
|
+
evidenceStrength?: 'exact' | 'candidate';
|
|
49
|
+
}
|
|
50
|
+
interface EntryMapRegionEdge {
|
|
51
|
+
fromRegionId: string;
|
|
52
|
+
fromFile: string;
|
|
53
|
+
toRegionId: string;
|
|
54
|
+
toFile: string;
|
|
55
|
+
callCount: number;
|
|
56
|
+
exactCallCount?: number;
|
|
57
|
+
candidateCallCount?: number;
|
|
58
|
+
fromSymbols: string[];
|
|
59
|
+
toSymbols: string[];
|
|
60
|
+
evidence: CalleeEvidenceSource[];
|
|
61
|
+
}
|
|
62
|
+
interface EntryMapRegion {
|
|
63
|
+
id: string;
|
|
64
|
+
file: string;
|
|
65
|
+
minDepth: number;
|
|
66
|
+
symbolCount: number;
|
|
67
|
+
internalEdgeCount: number;
|
|
68
|
+
externalCallCount: number;
|
|
69
|
+
incomingRegionIds: string[];
|
|
70
|
+
outgoingRegionIds: string[];
|
|
71
|
+
expanded: boolean;
|
|
72
|
+
symbols: EntryMapSymbol[];
|
|
73
|
+
internalEdges: EntryMapSymbolEdge[];
|
|
74
|
+
externalCalls: EntryMapExternalCall[];
|
|
75
|
+
}
|
|
76
|
+
interface EntryMapCoverage {
|
|
77
|
+
/** @deprecated Candidate SCIP chunk co-occurrence may also be present. */
|
|
78
|
+
completeWithinIndexedStaticCallEdges: true;
|
|
79
|
+
completeWithinSelectedStaticEvidence?: true;
|
|
80
|
+
candidateReachabilityIncluded?: boolean;
|
|
81
|
+
dynamicDispatchRepresented: false;
|
|
82
|
+
symbolCount: number;
|
|
83
|
+
symbolEdgeCount: number;
|
|
84
|
+
exactSymbolEdgeCount?: number;
|
|
85
|
+
candidateSymbolEdgeCount?: number;
|
|
86
|
+
regionCount: number;
|
|
87
|
+
regionEdgeCount: number;
|
|
88
|
+
externalCallCount: number;
|
|
89
|
+
}
|
|
90
|
+
type EntryCallMapResult = {
|
|
91
|
+
kind: 'missing';
|
|
92
|
+
query: string;
|
|
93
|
+
} | {
|
|
94
|
+
kind: 'ambiguous';
|
|
95
|
+
query: string;
|
|
96
|
+
total: number;
|
|
97
|
+
candidates: SymbolResolutionCandidate[];
|
|
98
|
+
} | {
|
|
99
|
+
kind: 'not-entry';
|
|
100
|
+
query: string;
|
|
101
|
+
symbol: string;
|
|
102
|
+
shortName: string;
|
|
103
|
+
file: string;
|
|
104
|
+
reason: string;
|
|
105
|
+
} | {
|
|
106
|
+
kind: 'matched';
|
|
107
|
+
query: string;
|
|
108
|
+
entry: EntryPointResult;
|
|
109
|
+
regions: EntryMapRegion[];
|
|
110
|
+
regionEdges: EntryMapRegionEdge[];
|
|
111
|
+
unmatchedExpansions: string[];
|
|
112
|
+
coverage: EntryMapCoverage;
|
|
113
|
+
};
|
|
114
|
+
/** Find callables where control may enter from outside the indexed call graph. */
|
|
115
|
+
declare function entryPoints(db: ScipDatabase, opts?: EntryPointsOptions): EntryPointResult[];
|
|
116
|
+
/** Build the complete indexed callee graph from one detected entry point, collapsed by file. */
|
|
117
|
+
declare function entryCallMap(db: ScipDatabase, query: string, opts?: {
|
|
118
|
+
expand?: readonly string[];
|
|
119
|
+
}): EntryCallMapResult;
|
|
120
|
+
|
|
121
|
+
export { type EntryCallMapResult, type EntryMapCoverage, type EntryMapExternalCall, type EntryMapRegion, type EntryMapRegionEdge, type EntryMapSymbol, type EntryMapSymbolEdge, type EntryPointConfidence, type EntryPointEvidence, type EntryPointResult, type EntryPointsOptions, entryCallMap, entryPoints };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-YESXMKX3.js";import"../chunk-QHRNXP3C.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 entryCallMap,a as entryPoints};
|
|
2
|
+
//# sourceMappingURL=entry-map.js.map
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { c as SymbolResolutionCandidate } from '../symbol-types-BIQwfoAx.js';
|
|
3
|
+
import { C as CodeResult } from '../code-DlqpBDd0.js';
|
|
4
|
+
import { DepResult } from './deps.js';
|
|
5
|
+
import { S as SourceSnippet } from '../source-snippet-_wrcgmZc.js';
|
|
6
|
+
import { TraceReferenceEvidence, TraceClaimSupport } from './trace.js';
|
|
7
|
+
import 'better-sqlite3';
|
|
8
|
+
import '../config-types-BNoC96J3.js';
|
|
9
|
+
import '../repository-text-C0Q8VYdN.js';
|
|
10
|
+
import './outline.js';
|
|
11
|
+
|
|
12
|
+
type EvidencePart = 'definition' | 'references' | 'callers' | 'callees' | 'dependencies' | 'consumers';
|
|
13
|
+
interface EvidenceRelatedSymbol extends SourceSnippet {
|
|
14
|
+
symbol: string;
|
|
15
|
+
shortName: string;
|
|
16
|
+
omittedLines: number;
|
|
17
|
+
}
|
|
18
|
+
interface EvidenceReferenceWindow {
|
|
19
|
+
relativePath: string;
|
|
20
|
+
startLine: number;
|
|
21
|
+
endLine: number;
|
|
22
|
+
source: string;
|
|
23
|
+
references: Array<{
|
|
24
|
+
line: number;
|
|
25
|
+
enclosingSymbol: string | null;
|
|
26
|
+
enclosingShort: string;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
type EvidenceResult = {
|
|
30
|
+
kind: 'missing';
|
|
31
|
+
query: string;
|
|
32
|
+
} | {
|
|
33
|
+
kind: 'ambiguous';
|
|
34
|
+
query: string;
|
|
35
|
+
total: number;
|
|
36
|
+
candidates: SymbolResolutionCandidate[];
|
|
37
|
+
} | {
|
|
38
|
+
kind: 'matched';
|
|
39
|
+
query: string;
|
|
40
|
+
symbol: string;
|
|
41
|
+
shortName: string;
|
|
42
|
+
file: string;
|
|
43
|
+
parts: EvidencePart[];
|
|
44
|
+
definition: CodeResult | null;
|
|
45
|
+
referenceWindows: EvidenceReferenceWindow[];
|
|
46
|
+
callers: EvidenceRelatedSymbol[];
|
|
47
|
+
callees: EvidenceRelatedSymbol[];
|
|
48
|
+
dependencies: DepResult[];
|
|
49
|
+
consumers: DepResult[];
|
|
50
|
+
};
|
|
51
|
+
type QualifiedEvidenceResult = Exclude<EvidenceResult, {
|
|
52
|
+
kind: 'matched';
|
|
53
|
+
}> | (Extract<EvidenceResult, {
|
|
54
|
+
kind: 'matched';
|
|
55
|
+
}> & {
|
|
56
|
+
referenceEvidence: TraceReferenceEvidence[];
|
|
57
|
+
claimSupport: TraceClaimSupport | null;
|
|
58
|
+
});
|
|
59
|
+
interface EvidenceOptions {
|
|
60
|
+
parts?: readonly EvidencePart[];
|
|
61
|
+
referenceContext?: number;
|
|
62
|
+
relatedSourceLines?: number;
|
|
63
|
+
semantic?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/** Build one read-only view from a symbol and selected compiler relationships. */
|
|
66
|
+
declare function evidence(db: ScipDatabase, query: string, opts?: EvidenceOptions): EvidenceResult;
|
|
67
|
+
/** Build symbol evidence with explicit metadata governing source-derived claims. */
|
|
68
|
+
declare function qualifiedEvidence(db: ScipDatabase, query: string, opts?: EvidenceOptions): QualifiedEvidenceResult;
|
|
69
|
+
|
|
70
|
+
export { type EvidenceOptions, type EvidencePart, type EvidenceReferenceWindow, type EvidenceRelatedSymbol, type EvidenceResult, type QualifiedEvidenceResult, evidence, qualifiedEvidence };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-ICFDQHAM.js";import"../chunk-ID63777H.js";import"../chunk-AKB7V7TV.js";import"../chunk-GW6Z3WGY.js";import"../chunk-KMITESMT.js";import"../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-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-TIIC3ZE7.js";import"../chunk-YUKYB54I.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 evidence,b as qualifiedEvidence};
|
|
2
|
+
//# sourceMappingURL=evidence.js.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
type ExtractCandidateKind = 'workflow-orchestration' | 'broad-helper-cluster' | 'cohesive-helper-cluster';
|
|
6
|
+
type ExtractCandidateActionTier = 'signal';
|
|
7
|
+
interface ExtractCandidate {
|
|
8
|
+
symbol: string;
|
|
9
|
+
shortName: string;
|
|
10
|
+
relativePath: string;
|
|
11
|
+
startLine: number;
|
|
12
|
+
endLine: number;
|
|
13
|
+
loc: number;
|
|
14
|
+
/** Total callees */
|
|
15
|
+
totalCallees: number;
|
|
16
|
+
/** Reviewer-facing shape of the extraction signal. */
|
|
17
|
+
extractionKind: ExtractCandidateKind;
|
|
18
|
+
/** Extraction candidates are contextual signals, not direct repair mandates. */
|
|
19
|
+
actionTier: ExtractCandidateActionTier;
|
|
20
|
+
evidenceReasons: string[];
|
|
21
|
+
recommendation: string;
|
|
22
|
+
/** Distinct clusters of callees (natural extraction seams) */
|
|
23
|
+
clusters: Array<{
|
|
24
|
+
callees: string[];
|
|
25
|
+
/** How isolated this cluster is from the rest (0-1, higher = more extractable) */
|
|
26
|
+
isolation: number;
|
|
27
|
+
}>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Find functions with natural extraction seams.
|
|
31
|
+
*
|
|
32
|
+
* A large function that references two distinct groups of symbols —
|
|
33
|
+
* where group A's symbols are never co-referenced with group B's —
|
|
34
|
+
* has a natural extraction boundary. The isolated cluster can likely
|
|
35
|
+
* be pulled into its own function.
|
|
36
|
+
*
|
|
37
|
+
* We detect this by:
|
|
38
|
+
* 1. Finding all callees of a function
|
|
39
|
+
* 2. Building a co-occurrence graph (which callees appear in the same chunk)
|
|
40
|
+
* 3. Finding connected components — disconnected components = extraction seams
|
|
41
|
+
* 4. Scoring each cluster by how isolated it is from the rest
|
|
42
|
+
*/
|
|
43
|
+
declare function extractCandidates(db: ScipDatabase, opts?: {
|
|
44
|
+
scope?: string;
|
|
45
|
+
minLoc?: number;
|
|
46
|
+
minCallees?: number;
|
|
47
|
+
limit?: number;
|
|
48
|
+
scanLimit?: number;
|
|
49
|
+
semantic?: boolean;
|
|
50
|
+
}): ExtractCandidate[];
|
|
51
|
+
|
|
52
|
+
export { type ExtractCandidate, type ExtractCandidateActionTier, type ExtractCandidateKind, extractCandidates };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-OFBE4NGP.js";import"../chunk-DGXRDLV5.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 extractCandidates};
|
|
2
|
+
//# sourceMappingURL=extract-candidates.js.map
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface FanResult {
|
|
6
|
+
name: string;
|
|
7
|
+
count: number;
|
|
8
|
+
}
|
|
9
|
+
interface FanInResult extends FanResult {
|
|
10
|
+
/** Exact SCIP symbol identity; `name` is only a shortened display label. */
|
|
11
|
+
symbol: string;
|
|
12
|
+
/** File that owns the exact definition counted by this row. */
|
|
13
|
+
definedIn: string;
|
|
14
|
+
}
|
|
15
|
+
interface ExternalSymbolFanOutResult extends FanResult {
|
|
16
|
+
file: string;
|
|
17
|
+
basis: 'external-symbol-references';
|
|
18
|
+
}
|
|
19
|
+
interface FileDependencyOutDegreeResult extends FanResult {
|
|
20
|
+
file: string;
|
|
21
|
+
basis: 'file-dependency-edges';
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Fan-in: how many distinct files reference this symbol.
|
|
25
|
+
* High fan-in = widely depended upon = high blast radius for changes.
|
|
26
|
+
*/
|
|
27
|
+
declare function fanIn(db: ScipDatabase, symbolPattern: string): FanInResult[];
|
|
28
|
+
/** Count distinct externally defined symbols referenced by one indexed file. */
|
|
29
|
+
declare function externalSymbolFanOut(db: ScipDatabase, filePattern: string): ExternalSymbolFanOutResult[];
|
|
30
|
+
/** Count outgoing edges in the file symbol-reference dependency graph. */
|
|
31
|
+
declare function fileDependencyOutDegree(db: ScipDatabase, filePattern: string): FileDependencyOutDegreeResult[];
|
|
32
|
+
/**
|
|
33
|
+
* @deprecated This compatibility query changes its counting unit when SCIP
|
|
34
|
+
* mention rows are unavailable. Use `externalSymbolFanOut` or
|
|
35
|
+
* `fileDependencyOutDegree` so the selected graph and unit remain explicit.
|
|
36
|
+
*/
|
|
37
|
+
declare function fanOut(db: ScipDatabase, filePattern: string): FanResult[];
|
|
38
|
+
/**
|
|
39
|
+
* Top fan-in across the whole codebase — the most depended-on symbols.
|
|
40
|
+
*/
|
|
41
|
+
declare function topFanIn(db: ScipDatabase, opts?: {
|
|
42
|
+
limit?: number;
|
|
43
|
+
scope?: string;
|
|
44
|
+
}): FanInResult[];
|
|
45
|
+
/**
|
|
46
|
+
* Top fan-out across the whole codebase — files that depend on the most external symbols.
|
|
47
|
+
*/
|
|
48
|
+
declare function topFanOut(db: ScipDatabase, opts?: {
|
|
49
|
+
limit?: number;
|
|
50
|
+
scope?: string;
|
|
51
|
+
}): FanResult[];
|
|
52
|
+
|
|
53
|
+
export { type ExternalSymbolFanOutResult, type FanInResult, type FanResult, type FileDependencyOutDegreeResult, externalSymbolFanOut, fanIn, fanOut, fileDependencyOutDegree, topFanIn, topFanOut };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d,e,f}from"../chunk-RKEJ6VTF.js";import"../chunk-GTXSJDCO.js";import"../chunk-UZGZB3VB.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 externalSymbolFanOut,a as fanIn,d as fanOut,c as fileDependencyOutDegree,e as topFanIn,f as topFanOut};
|
|
2
|
+
//# sourceMappingURL=fan.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface FileResult {
|
|
6
|
+
relativePath: string;
|
|
7
|
+
}
|
|
8
|
+
interface PathMatchesGlobOptions {
|
|
9
|
+
pattern: string;
|
|
10
|
+
relativePath: string;
|
|
11
|
+
}
|
|
12
|
+
declare function files(db: ScipDatabase, pattern: string): FileResult[];
|
|
13
|
+
declare function pathMatchesGlob(options: PathMatchesGlobOptions): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* @deprecated Use `pathMatchesGlob({ pattern, relativePath })` so the pattern
|
|
16
|
+
* and candidate path cannot be transposed.
|
|
17
|
+
*/
|
|
18
|
+
declare function pathMatchesGlob(pattern: string, relativePath: string): boolean;
|
|
19
|
+
|
|
20
|
+
export { type FileResult, type PathMatchesGlobOptions, files, pathMatchesGlob };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import '../db-D7sauVFH.js';
|
|
2
|
+
import './stats.js';
|
|
3
|
+
export { H as HEALTH_PHASES, e as HealthPhaseName, h as health, c as healthPhase, f as healthPhases, d as healthReportFromPhases } from '../health-DJaZXg8I.js';
|
|
4
|
+
import 'better-sqlite3';
|
|
5
|
+
import '../config-types-BNoC96J3.js';
|
|
6
|
+
import './complexity-hotspots.js';
|
|
7
|
+
import './complexity.js';
|
|
8
|
+
import '../symbol-types-BIQwfoAx.js';
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as a,c as b,d as c,e as d,f as e}from"../chunk-HKQUXIFO.js";import"../chunk-ZZXSWSN6.js";import"../chunk-CAUCPUOF.js";import"../chunk-I2T2LLK2.js";import"../chunk-6YTSKJJ3.js";import"../chunk-BFFZDZQV.js";import"../chunk-7NVGT435.js";import"../chunk-DQMDCD24.js";import"../chunk-RBAS5ZHI.js";import"../chunk-XWUOUWYI.js";import"../chunk-SYDJMPES.js";import"../chunk-IRQOAM5G.js";import"../chunk-OTOKVOJ3.js";import"../chunk-PIOMTC27.js";import"../chunk-JE3WZ6II.js";import"../chunk-BJ6SQAEN.js";import"../chunk-SELM5MER.js";import"../chunk-OFBE4NGP.js";import"../chunk-EMNIHCRB.js";import"../chunk-PX4RYAAK.js";import"../chunk-WOQBZPIF.js";import"../chunk-T3DGWPXM.js";import"../chunk-OZYRSMSH.js";import"../chunk-OVTS4DKB.js";import"../chunk-SWHMHUKF.js";import"../chunk-4WKDMDEW.js";import"../chunk-QHRNXP3C.js";import"../chunk-C6SBF2WH.js";import"../chunk-DGXRDLV5.js";import"../chunk-OL6KJP3N.js";import"../chunk-UDS562V4.js";import"../chunk-NMTSZXCL.js";import"../chunk-WMPRTGH2.js";import"../chunk-QDCCHMVZ.js";import"../chunk-35NLDRZC.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 HEALTH_PHASES,b as health,c as healthPhase,d as healthPhases,e as healthReportFromPhases};
|
|
2
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface HierarchyNode {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
depth: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Walk the enclosing_symbol chain upward to show a symbol's ancestry.
|
|
12
|
+
* e.g., method → class → module → file
|
|
13
|
+
*
|
|
14
|
+
* Falls back to parsing the SCIP symbol descriptor chain when
|
|
15
|
+
* enclosing_symbol is not populated by the indexer.
|
|
16
|
+
*/
|
|
17
|
+
declare function hierarchy(db: ScipDatabase, symbolPattern: string): HierarchyNode[];
|
|
18
|
+
/** Name-preserving projection of lexical/compiler ownership, not type inheritance. */
|
|
19
|
+
declare function ownershipChain(db: ScipDatabase, symbolPattern: string): HierarchyNode[];
|
|
20
|
+
|
|
21
|
+
export { type HierarchyNode, hierarchy, ownershipChain };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-HPJRBHVT.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 hierarchy,b as ownershipChain};
|
|
2
|
+
//# sourceMappingURL=hierarchy.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface HotspotResult {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
refCount: number;
|
|
9
|
+
fileCount: number;
|
|
10
|
+
definedIn: string;
|
|
11
|
+
basis?: 'scip-cross-file-mentions' | 'source-backed-incoming-evidence';
|
|
12
|
+
countUnit?: 'reference-occurrences' | 'distinct-incoming-evidence-rows';
|
|
13
|
+
}
|
|
14
|
+
interface HotspotsEvidenceResult {
|
|
15
|
+
rows: HotspotResult[];
|
|
16
|
+
coverage: {
|
|
17
|
+
semanticEvidence: {
|
|
18
|
+
enabled: boolean;
|
|
19
|
+
status: 'complete' | 'incomplete' | 'unavailable' | 'incomplete-and-unavailable' | 'disabled';
|
|
20
|
+
incompleteSymbolCount: number;
|
|
21
|
+
unavailableSymbolCount: number;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Rank symbols by cross-file reference count. This is a reference-frequency
|
|
27
|
+
* metric, not proof of runtime contention or change impact.
|
|
28
|
+
*/
|
|
29
|
+
declare function hotspots(db: ScipDatabase, opts?: {
|
|
30
|
+
limit?: number;
|
|
31
|
+
scope?: string;
|
|
32
|
+
}): HotspotResult[];
|
|
33
|
+
declare function hotspotsEvidence(db: ScipDatabase, opts?: {
|
|
34
|
+
limit?: number;
|
|
35
|
+
scope?: string;
|
|
36
|
+
}): HotspotsEvidenceResult;
|
|
37
|
+
declare function referenceHotspots(db: ScipDatabase, opts?: {
|
|
38
|
+
limit?: number;
|
|
39
|
+
scope?: string;
|
|
40
|
+
}): HotspotResult[];
|
|
41
|
+
|
|
42
|
+
export { type HotspotResult, type HotspotsEvidenceResult, hotspots, hotspotsEvidence, referenceHotspots };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c}from"../chunk-5PUWMSDU.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{a as hotspots,b as hotspotsEvidence,c as referenceHotspots};
|
|
2
|
+
//# sourceMappingURL=hotspots.js.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface ImportResult {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
fromFile: string;
|
|
9
|
+
}
|
|
10
|
+
interface UnusedImportResult {
|
|
11
|
+
symbol: string;
|
|
12
|
+
shortName: string;
|
|
13
|
+
importedIn: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* What symbols does this file import?
|
|
17
|
+
* Uses role=2 (import) from the SCIP mentions table.
|
|
18
|
+
*/
|
|
19
|
+
declare function imports(db: ScipDatabase, filePattern: string, opts?: {
|
|
20
|
+
semantic?: boolean;
|
|
21
|
+
}): ImportResult[];
|
|
22
|
+
/**
|
|
23
|
+
* Which files import this symbol?
|
|
24
|
+
*/
|
|
25
|
+
declare function importedBy(db: ScipDatabase, symbolPattern: string): ImportResult[];
|
|
26
|
+
/**
|
|
27
|
+
* Find imports in a file that are never referenced (role=0) in the same file.
|
|
28
|
+
* These are likely unused imports.
|
|
29
|
+
*/
|
|
30
|
+
declare function unusedImports(db: ScipDatabase, filePattern: string, opts?: {
|
|
31
|
+
semantic?: boolean;
|
|
32
|
+
}): UnusedImportResult[];
|
|
33
|
+
|
|
34
|
+
export { type ImportResult, type UnusedImportResult, importedBy, imports, unusedImports };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c}from"../chunk-RR7SX44N.js";import"../chunk-GTXSJDCO.js";import"../chunk-6CS3UQTN.js";import"../chunk-P5XHIJHI.js";import"../chunk-UCD3H3UZ.js";import"../chunk-ELNRLMC5.js";import"../chunk-UZGZB3VB.js";import"../chunk-ZKX2FRS6.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 importedBy,a as imports,c as unusedImports};
|
|
2
|
+
//# sourceMappingURL=imports.js.map
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { DiffImpactPlan, BaseContentReader, BaseContentResultReader } from './diff-impact.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
import '../change-analysis-types-CCtoCHbC.js';
|
|
6
|
+
import '../symbol-types-BIQwfoAx.js';
|
|
7
|
+
|
|
8
|
+
interface IncompleteMigrationLeftover {
|
|
9
|
+
symbol: string;
|
|
10
|
+
shortName: string;
|
|
11
|
+
file: string;
|
|
12
|
+
migrationScope: IncompleteMigrationScope;
|
|
13
|
+
migrationScopeReasons: string[];
|
|
14
|
+
/** |helper callees ∩ site callees| / |helper callees| (0-1). */
|
|
15
|
+
containment: number;
|
|
16
|
+
/** |helper callees ∩ site callees| / |site callees| (0-1). */
|
|
17
|
+
siteCoverage: number;
|
|
18
|
+
uniqueSiteCalleeCount: number;
|
|
19
|
+
sharedCallees: string[];
|
|
20
|
+
}
|
|
21
|
+
type IncompleteMigrationHelperShape = 'specific-callee-cluster';
|
|
22
|
+
type IncompleteMigrationScope = 'same-scope' | 'possible-subtype' | 'unknown';
|
|
23
|
+
interface IncompleteMigrationFinding {
|
|
24
|
+
helperSymbol: string;
|
|
25
|
+
helperShortName: string;
|
|
26
|
+
helperFile: string;
|
|
27
|
+
helperShape: IncompleteMigrationHelperShape;
|
|
28
|
+
helperCalleeCount: number;
|
|
29
|
+
specificHelperCalleeCount: number;
|
|
30
|
+
/** Files referencing the helper. The helper is new, so every one of these references landed in this diff. */
|
|
31
|
+
migratedFiles: string[];
|
|
32
|
+
/** Un-migrated sites: contain the helper's callee set inline, don't call it. */
|
|
33
|
+
leftovers: IncompleteMigrationLeftover[];
|
|
34
|
+
}
|
|
35
|
+
interface IncompleteMigrationSkip {
|
|
36
|
+
helperShortName: string;
|
|
37
|
+
helperFile: string;
|
|
38
|
+
reason: string;
|
|
39
|
+
}
|
|
40
|
+
interface IncompleteMigrationResult {
|
|
41
|
+
/** False when the Git diff or required historical content is unavailable. */
|
|
42
|
+
available: boolean;
|
|
43
|
+
base: string;
|
|
44
|
+
changedFiles: string[];
|
|
45
|
+
/** New helpers that passed the callee/reference gates and were scored. */
|
|
46
|
+
helpersChecked: number;
|
|
47
|
+
/** New helpers that could not be scored, with reasons — no silent caps. */
|
|
48
|
+
skipped: IncompleteMigrationSkip[];
|
|
49
|
+
findings: IncompleteMigrationFinding[];
|
|
50
|
+
note?: string;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Incomplete extractions: an agent adds a helper, rewires a site or two into
|
|
54
|
+
* it, and misses the remaining sites that still hold the same logic inline.
|
|
55
|
+
*
|
|
56
|
+
* The signature of a missed site is asymmetric: its callee set CONTAINS the
|
|
57
|
+
* helper's callee set (plus its own surrounding logic), so symmetric cosine
|
|
58
|
+
* (`similar`) under-scores exactly the sites we're after. This detector:
|
|
59
|
+
*
|
|
60
|
+
* 1. finds production callables in the diff whose name is absent at `base`
|
|
61
|
+
* (the new helpers),
|
|
62
|
+
* 2. keeps those with at least one reference — the wired-in evidence
|
|
63
|
+
* (zero-reference helpers belong to the dead-code detector family),
|
|
64
|
+
* 3. reports established, untouched functions whose callees contain the
|
|
65
|
+
* helper's callees at >= minContainment and that do NOT call the helper,
|
|
66
|
+
* requiring at least one non-ubiquitous shared callee so project-wide
|
|
67
|
+
* infrastructure overlap alone can't fire. (Deliberately NOT median-IDF
|
|
68
|
+
* significance: the more sites a pattern was duplicated across, the more
|
|
69
|
+
* common its callees are in the corpus — an IDF gate suppresses exactly
|
|
70
|
+
* the widespread-leftover case this detector exists for.)
|
|
71
|
+
*
|
|
72
|
+
* Helpers with fewer than `minCallees` meaningful callees are skipped (and
|
|
73
|
+
* reported as skipped): callee evidence is too thin to score tiny wrappers.
|
|
74
|
+
*/
|
|
75
|
+
declare function incompleteMigration(db: ScipDatabase, opts?: {
|
|
76
|
+
base?: string;
|
|
77
|
+
minContainment?: number;
|
|
78
|
+
minCallees?: number;
|
|
79
|
+
minSiteCoverage?: number;
|
|
80
|
+
maxHelpers?: number;
|
|
81
|
+
limit?: number;
|
|
82
|
+
scanLimit?: number;
|
|
83
|
+
semantic?: boolean;
|
|
84
|
+
diffPlan?: DiffImpactPlan;
|
|
85
|
+
/** @deprecated Use baseContentResultAt so operational failure remains distinguishable from absence. */
|
|
86
|
+
baseContentAt?: BaseContentReader;
|
|
87
|
+
baseContentResultAt?: BaseContentResultReader;
|
|
88
|
+
}): IncompleteMigrationResult;
|
|
89
|
+
|
|
90
|
+
export { type IncompleteMigrationFinding, type IncompleteMigrationHelperShape, type IncompleteMigrationLeftover, type IncompleteMigrationResult, type IncompleteMigrationScope, type IncompleteMigrationSkip, incompleteMigration };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-ZV3JV5G5.js";import"../chunk-L4NRUAGJ.js";import"../chunk-QOKYJ33H.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 incompleteMigration};
|
|
2
|
+
//# sourceMappingURL=incomplete-migration.js.map
|