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,2 @@
|
|
|
1
|
+
import{a,b}from"../chunk-6NW7MU72.js";import"../chunk-JE3WZ6II.js";import"../chunk-BJ6SQAEN.js";import"../chunk-QHRNXP3C.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 defaultTwinAbOutPath,b as twinAb};
|
|
2
|
+
//# sourceMappingURL=twin-ab.js.map
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Twin-drift: same leaf name (or a near-name variant like escapeRegex vs
|
|
7
|
+
* escapeRegExp), used across two or more files, with bodies that have
|
|
8
|
+
* *diverged* rather than stayed identical or being unrelated homonyms.
|
|
9
|
+
*
|
|
10
|
+
* Distinct from the existing detectors:
|
|
11
|
+
* - duplicate-bodies requires byte-identical normalized bodies.
|
|
12
|
+
* - similar requires callee-set overlap (any names).
|
|
13
|
+
* - similar-signatures requires the same type shape (any names).
|
|
14
|
+
*
|
|
15
|
+
* This one is the missing "same concept, drifted implementation" case:
|
|
16
|
+
* React/Vue helper families with drifted thresholds, escapeRegex vs
|
|
17
|
+
* escapeRegExp, etc.
|
|
18
|
+
*/
|
|
19
|
+
type TwinRelationship = 'identical' | 'divergent' | 'homonym';
|
|
20
|
+
interface TwinMember {
|
|
21
|
+
symbol: string;
|
|
22
|
+
shortName: string;
|
|
23
|
+
file: string;
|
|
24
|
+
startLine: number;
|
|
25
|
+
endLine: number;
|
|
26
|
+
loc: number;
|
|
27
|
+
}
|
|
28
|
+
interface TwinGroup {
|
|
29
|
+
/** Representative leaf name for the near-name cluster. */
|
|
30
|
+
leaf: string;
|
|
31
|
+
relationship: TwinRelationship;
|
|
32
|
+
/** 1 - normalized-token Jaccard similarity of the closest cross-file pair, rounded to 3 decimals. */
|
|
33
|
+
maxDivergence: number;
|
|
34
|
+
members: TwinMember[];
|
|
35
|
+
/** First differing normalized token run between the closest divergent pair. Only set for 'divergent' groups. */
|
|
36
|
+
firstDivergentTokens?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Pure input record — the seam `groupTwins` tests are written against. */
|
|
39
|
+
interface TwinDriftRecord {
|
|
40
|
+
leaf: string;
|
|
41
|
+
symbol: string;
|
|
42
|
+
shortName: string;
|
|
43
|
+
file: string;
|
|
44
|
+
startLine: number;
|
|
45
|
+
endLine: number;
|
|
46
|
+
loc: number;
|
|
47
|
+
normalizedBody: string;
|
|
48
|
+
tokens: readonly string[];
|
|
49
|
+
/**
|
|
50
|
+
* True when the body is (up to a short guard) nothing more than a single
|
|
51
|
+
* call expression, optionally `return`ed/`await`ed — the shape a thin
|
|
52
|
+
* controller/service/storage delegate has. Purely structural (source-text
|
|
53
|
+
* based); doesn't by itself mean the call target is the other twin — see
|
|
54
|
+
* `isDelegatePair`/`buildDelegationChecker` for that.
|
|
55
|
+
*/
|
|
56
|
+
isThinForwarder: boolean;
|
|
57
|
+
}
|
|
58
|
+
declare function twinDrift(db: ScipDatabase, opts?: {
|
|
59
|
+
scope?: string;
|
|
60
|
+
minSimilarity?: number;
|
|
61
|
+
includeHomonyms?: boolean;
|
|
62
|
+
limit?: number;
|
|
63
|
+
scanLimit?: number;
|
|
64
|
+
}): TwinGroup[];
|
|
65
|
+
/**
|
|
66
|
+
* Every classified twin group (identical, divergent, homonym) — including
|
|
67
|
+
* the 'identical' groups `twinDrift` always defers to duplicate-bodies.
|
|
68
|
+
* Internal consumers that classify twin partners need 'identical'
|
|
69
|
+
* groups too (a same-name pair that WAS byte-identical is exactly the kind
|
|
70
|
+
* of pair a one-sided edit should alarm on).
|
|
71
|
+
*/
|
|
72
|
+
declare function allTwinGroups(db: ScipDatabase, opts?: {
|
|
73
|
+
scope?: string;
|
|
74
|
+
minSimilarity?: number;
|
|
75
|
+
scanLimit?: number;
|
|
76
|
+
}): TwinGroup[];
|
|
77
|
+
/**
|
|
78
|
+
* Pure grouping core: cluster records by (near-)leaf name, then classify
|
|
79
|
+
* each cross-file cluster by its closest pair's body similarity.
|
|
80
|
+
* - every cross-file pair byte-identical after normalization -> 'identical' (defer to duplicate-bodies)
|
|
81
|
+
* - closest pair similarity in [minSimilarity, 1) -> 'divergent' (the finding)
|
|
82
|
+
* - closest pair similarity < minSimilarity -> 'homonym' (coincidental name reuse)
|
|
83
|
+
*/
|
|
84
|
+
declare function groupTwins(records: readonly TwinDriftRecord[], opts?: {
|
|
85
|
+
minSimilarity?: number;
|
|
86
|
+
/**
|
|
87
|
+
* Injected so this stays a pure/DB-free function for `groupTwins`'s unit
|
|
88
|
+
* tests: `isDelegatePair(from, to, clusterMembers)` answers "is `from` a
|
|
89
|
+
* thin forwarder whose call target resolves to `to` (directly, or by
|
|
90
|
+
* chaining through same-leaf-name delegates found in `clusterMembers`)?"
|
|
91
|
+
* `allTwinGroups` wires the real, source/import-backed implementation
|
|
92
|
+
* via `buildDelegationChecker`.
|
|
93
|
+
*/
|
|
94
|
+
isDelegatePair?: (from: TwinDriftRecord, to: TwinDriftRecord, clusterMembers: readonly TwinDriftRecord[]) => boolean;
|
|
95
|
+
}): TwinGroup[];
|
|
96
|
+
/**
|
|
97
|
+
* Structural (source-text-only) check for a thin forwarding body: at most
|
|
98
|
+
* two top-level statements, no branching/looping, and the last statement is
|
|
99
|
+
* nothing more than a single call expression (optionally `return`ed and/or
|
|
100
|
+
* `await`ed). This is the shape a controller/service/storage delegate has —
|
|
101
|
+
* `return this.service.jsonHandler(req, res);` — as opposed to a body that
|
|
102
|
+
* actually implements the behavior. Purely structural; whether the call
|
|
103
|
+
* target is actually the other twin is a separate, DB-backed check (see
|
|
104
|
+
* `buildDelegationChecker`). Exported so other detectors that need the same
|
|
105
|
+
* "is this body just a forwarding call?" shape (decorative-checkers'
|
|
106
|
+
* one-hop delegate resolution) reuse it instead of re-deriving the same
|
|
107
|
+
* statement-count/control-flow/call-shape check.
|
|
108
|
+
*/
|
|
109
|
+
declare function isThinForwarderBody(rawSnippet: string): boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Split a statement block on top-level `;` (ignoring `;` nested inside
|
|
112
|
+
* `()`/`[]`/`{}`). Exported so other detectors that need a body's top-level
|
|
113
|
+
* statement shape (not-implemented's throw-stub check, decorative-checkers'
|
|
114
|
+
* single-statement body check) reuse this instead of re-deriving the same
|
|
115
|
+
* depth-tracked splitter.
|
|
116
|
+
*/
|
|
117
|
+
declare function splitTopLevelStatements(body: string): string[];
|
|
118
|
+
|
|
119
|
+
export { type TwinDriftRecord, type TwinGroup, type TwinMember, type TwinRelationship, allTwinGroups, groupTwins, isThinForwarderBody, splitTopLevelStatements, twinDrift };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b,c,d,e}from"../chunk-WOQBZPIF.js";import"../chunk-T3DGWPXM.js";import"../chunk-4WKDMDEW.js";import"../chunk-B75HZHUP.js";import"../chunk-BGBBVSH4.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-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 allTwinGroups,c as groupTwins,d as isThinForwarderBody,e as splitTopLevelStatements,a as twinDrift};
|
|
2
|
+
//# sourceMappingURL=twin-drift.js.map
|
|
@@ -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=unused-imports.js.map
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
interface UnusedParamsFinding {
|
|
6
|
+
symbol: string;
|
|
7
|
+
shortName: string;
|
|
8
|
+
file: string;
|
|
9
|
+
startLine: number;
|
|
10
|
+
endLine: number;
|
|
11
|
+
paramCount: number;
|
|
12
|
+
/** Trailing parameters never referenced in the body, in declaration order. */
|
|
13
|
+
unusedTrailing: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Speculative generality: trailing parameters nobody uses — a signature AI
|
|
17
|
+
* move (options and hooks added "for later" that never came).
|
|
18
|
+
*
|
|
19
|
+
* Deliberately conservative, TS/JS only:
|
|
20
|
+
* - TRAILING runs only — removing a trailing parameter is type-safe under
|
|
21
|
+
* TypeScript's function variance; removing a mid-list one breaks the
|
|
22
|
+
* positional contract. (Rust is excluded: call sites break, and rustc
|
|
23
|
+
* already warns there.)
|
|
24
|
+
* - `_`-prefixed names are declared-intentional and skipped.
|
|
25
|
+
* - Functions with pattern/rest parameters are skipped entirely.
|
|
26
|
+
* - One-line bodies are skipped (line-granular usage can't tell a use from
|
|
27
|
+
* the declaration itself).
|
|
28
|
+
* - Externally-live (package surface / entryRoots) symbols are skipped —
|
|
29
|
+
* their signatures are API.
|
|
30
|
+
*/
|
|
31
|
+
declare function unusedParams(db: ScipDatabase, opts?: {
|
|
32
|
+
scope?: string;
|
|
33
|
+
limit?: number;
|
|
34
|
+
scanLimit?: number;
|
|
35
|
+
files?: readonly string[];
|
|
36
|
+
}): UnusedParamsFinding[];
|
|
37
|
+
|
|
38
|
+
export { type UnusedParamsFinding, unusedParams };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-IOP6FWIM.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 unusedParams};
|
|
2
|
+
//# sourceMappingURL=unused-params.js.map
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { G as GraphEvidenceCoverage, b as GraphEvidenceTarget, a as GraphEvidenceEdge } from '../graph-evidence-BIFqyisO.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
import '../exploration-topology-BG4v30HZ.js';
|
|
6
|
+
|
|
7
|
+
/** Coverage of the conservative value-flow relationships actually proved. */
|
|
8
|
+
interface ValueFlowCoverage {
|
|
9
|
+
status: GraphEvidenceCoverage['status'];
|
|
10
|
+
basis: 'proved-bounded-static-value-flow';
|
|
11
|
+
analysisBasis: 'partial-system-definition-use';
|
|
12
|
+
providers: readonly ['bounded-static-value-flow', 'typescript-local-dependence'];
|
|
13
|
+
supportedRelations: string[];
|
|
14
|
+
unsupportedRelations: string[];
|
|
15
|
+
graph: GraphEvidenceCoverage;
|
|
16
|
+
}
|
|
17
|
+
interface ValueFlowResult {
|
|
18
|
+
kind: 'value-flow';
|
|
19
|
+
targets: GraphEvidenceTarget[];
|
|
20
|
+
edges: GraphEvidenceEdge[];
|
|
21
|
+
coverage: ValueFlowCoverage;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Project proved value transfers around exact symbol or source-location roots.
|
|
25
|
+
*
|
|
26
|
+
* This is intentionally narrower than a whole-program dataflow claim. The
|
|
27
|
+
* providers prove TypeScript local reaching definitions and right-hand-side
|
|
28
|
+
* assignment flow, compiler-resolved argument-to-parameter forwarding,
|
|
29
|
+
* bounded static argument values, and a callee-return-to-call-result transfer
|
|
30
|
+
* when the call result is consumed. Unsupported heap, exception, and dynamic
|
|
31
|
+
* flow remains in graph coverage rather than being relabeled as proved flow.
|
|
32
|
+
*/
|
|
33
|
+
declare function valueFlow(db: ScipDatabase, selectors: {
|
|
34
|
+
symbols?: readonly string[];
|
|
35
|
+
locations?: readonly string[];
|
|
36
|
+
searches?: readonly string[];
|
|
37
|
+
}, options?: {
|
|
38
|
+
maxDepth?: number;
|
|
39
|
+
maxEdges?: number;
|
|
40
|
+
}): ValueFlowResult;
|
|
41
|
+
|
|
42
|
+
export { type ValueFlowCoverage, type ValueFlowResult, valueFlow };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-34WBMAYK.js";import"../chunk-SZD2KF7Q.js";import"../chunk-MOVBWNIP.js";import"../chunk-MVB3DAEY.js";import"../chunk-YSNONTJ2.js";import"../chunk-QHRNXP3C.js";import"../chunk-L57ZKWVG.js";import"../chunk-SMRBZ6EC.js";import"../chunk-JEJLSICM.js";import"../chunk-FQKZWM4L.js";import"../chunk-VE5AVNMP.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 valueFlow};
|
|
2
|
+
//# sourceMappingURL=value-flow.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { F as FrontendBehaviorEvidenceClass, a as FrontendBehaviorActionTier } from '../frontend-behavior-evidence-EfM4_9bc.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
interface VueComponentDuplicateResult {
|
|
7
|
+
fileA: string;
|
|
8
|
+
fileB: string;
|
|
9
|
+
similarity: number;
|
|
10
|
+
tokenCountA: number;
|
|
11
|
+
tokenCountB: number;
|
|
12
|
+
sharedTokens: string[];
|
|
13
|
+
sharedComponents: string[];
|
|
14
|
+
sharedProps: string[];
|
|
15
|
+
sharedEvents: string[];
|
|
16
|
+
sharedDirectives: string[];
|
|
17
|
+
sharedSlots: string[];
|
|
18
|
+
sharedIdentifiers: string[];
|
|
19
|
+
evidenceClass: FrontendBehaviorEvidenceClass;
|
|
20
|
+
actionTier: FrontendBehaviorActionTier;
|
|
21
|
+
evidenceClassReasons: string[];
|
|
22
|
+
recommendation: string;
|
|
23
|
+
uniqueToA: string[];
|
|
24
|
+
uniqueToB: string[];
|
|
25
|
+
locA: number;
|
|
26
|
+
locB: number;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Find Vue SFCs with similar template structure. This catches copy-paste UI
|
|
30
|
+
* variants that function/callee similarity cannot see because the duplicated
|
|
31
|
+
* work lives in component tags, bindings, slots, and directives.
|
|
32
|
+
*/
|
|
33
|
+
declare function vueComponentDuplicates(db: ScipDatabase, opts?: {
|
|
34
|
+
minSimilarity?: number;
|
|
35
|
+
minTokens?: number;
|
|
36
|
+
limit?: number;
|
|
37
|
+
scope?: string;
|
|
38
|
+
scanLimit?: number;
|
|
39
|
+
filePattern?: string;
|
|
40
|
+
focusFiles?: ReadonlySet<string>;
|
|
41
|
+
}): VueComponentDuplicateResult[];
|
|
42
|
+
|
|
43
|
+
export { type VueComponentDuplicateResult, vueComponentDuplicates };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-RBAS5ZHI.js";import"../chunk-IRQOAM5G.js";import"../chunk-OTOKVOJ3.js";import"../chunk-NMTSZXCL.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as vueComponentDuplicates};
|
|
2
|
+
//# sourceMappingURL=vue-component-duplicates.js.map
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import { a as FrontendBehaviorActionTier, F as FrontendBehaviorEvidenceClass } from '../frontend-behavior-evidence-EfM4_9bc.js';
|
|
3
|
+
import 'better-sqlite3';
|
|
4
|
+
import '../config-types-BNoC96J3.js';
|
|
5
|
+
|
|
6
|
+
type VueComposableEvidenceClass = FrontendBehaviorEvidenceClass;
|
|
7
|
+
type VueComposableActionTier = FrontendBehaviorActionTier;
|
|
8
|
+
interface VueComposableCandidateResult {
|
|
9
|
+
fileA: string;
|
|
10
|
+
fileB: string;
|
|
11
|
+
similarity: number;
|
|
12
|
+
tokenCountA: number;
|
|
13
|
+
tokenCountB: number;
|
|
14
|
+
sharedTokens: string[];
|
|
15
|
+
sharedComposables: string[];
|
|
16
|
+
sharedStores: string[];
|
|
17
|
+
sharedReactivity: string[];
|
|
18
|
+
sharedLifecycle: string[];
|
|
19
|
+
sharedRequests: string[];
|
|
20
|
+
sharedFunctions: string[];
|
|
21
|
+
sharedFunctionVerbs: string[];
|
|
22
|
+
sharedBindings: string[];
|
|
23
|
+
sharedTemplateEvents: string[];
|
|
24
|
+
evidenceClass: VueComposableEvidenceClass;
|
|
25
|
+
actionTier: VueComposableActionTier;
|
|
26
|
+
evidenceClassReasons: string[];
|
|
27
|
+
recommendation: string;
|
|
28
|
+
uniqueToA: string[];
|
|
29
|
+
uniqueToB: string[];
|
|
30
|
+
reason: string;
|
|
31
|
+
locA: number;
|
|
32
|
+
locB: number;
|
|
33
|
+
}
|
|
34
|
+
declare function vueComposableCandidates(db: ScipDatabase, opts?: {
|
|
35
|
+
minSimilarity?: number;
|
|
36
|
+
minSharedBehaviors?: number;
|
|
37
|
+
limit?: number;
|
|
38
|
+
scope?: string;
|
|
39
|
+
scanLimit?: number;
|
|
40
|
+
filePattern?: string;
|
|
41
|
+
focusFiles?: ReadonlySet<string>;
|
|
42
|
+
}): VueComposableCandidateResult[];
|
|
43
|
+
|
|
44
|
+
export { type VueComposableActionTier, type VueComposableCandidateResult, type VueComposableEvidenceClass, vueComposableCandidates };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-DQMDCD24.js";import"../chunk-IRQOAM5G.js";import"../chunk-OTOKVOJ3.js";import"../chunk-NMTSZXCL.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as vueComposableCandidates};
|
|
2
|
+
//# sourceMappingURL=vue-composable-candidates.js.map
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { S as ScipDatabase } from '../db-D7sauVFH.js';
|
|
2
|
+
import 'better-sqlite3';
|
|
3
|
+
import '../config-types-BNoC96J3.js';
|
|
4
|
+
|
|
5
|
+
type VueLargeViewPressureAxis = 'template' | 'script' | 'style' | 'external-script' | 'custom-block' | 'total';
|
|
6
|
+
type VueLargeViewContextKind = 'component' | 'route-page';
|
|
7
|
+
type VueLargeViewRecommendationKind = 'custom-block-review' | 'external-script-boundary' | 'route-page-decomposition' | 'script-behavior-extraction' | 'style-decomposition' | 'template-decomposition' | 'total-size-review';
|
|
8
|
+
interface VueLargeViewPressureResult {
|
|
9
|
+
file: string;
|
|
10
|
+
/** Component/SFC + external-script lines, plus one hop of delegated `use*` composable LOC. */
|
|
11
|
+
totalLines: number;
|
|
12
|
+
sfcLines: number;
|
|
13
|
+
templateLines: number;
|
|
14
|
+
scriptLines: number;
|
|
15
|
+
styleLines: number;
|
|
16
|
+
externalScriptLines: number;
|
|
17
|
+
externalScriptPaths: string[];
|
|
18
|
+
customBlockLines: number;
|
|
19
|
+
/** LOC of imported `use*` composables this view's script actually invokes (one hop, not recursed). */
|
|
20
|
+
delegatedComposableLines: number;
|
|
21
|
+
delegatedComposablePaths: string[];
|
|
22
|
+
dominantPressure: VueLargeViewPressureAxis;
|
|
23
|
+
pressureKinds: VueLargeViewPressureAxis[];
|
|
24
|
+
contextKind: VueLargeViewContextKind;
|
|
25
|
+
recommendationKind: VueLargeViewRecommendationKind;
|
|
26
|
+
recommendation: string;
|
|
27
|
+
reasons: string[];
|
|
28
|
+
loc: number;
|
|
29
|
+
}
|
|
30
|
+
declare function vueLargeViewPressure(db: ScipDatabase, opts?: {
|
|
31
|
+
minTotalLines?: number;
|
|
32
|
+
minTemplateLines?: number;
|
|
33
|
+
minScriptLines?: number;
|
|
34
|
+
minStyleLines?: number;
|
|
35
|
+
limit?: number;
|
|
36
|
+
scope?: string;
|
|
37
|
+
scanLimit?: number;
|
|
38
|
+
filePattern?: string;
|
|
39
|
+
}): VueLargeViewPressureResult[];
|
|
40
|
+
|
|
41
|
+
export { type VueLargeViewContextKind, type VueLargeViewPressureAxis, type VueLargeViewPressureResult, type VueLargeViewRecommendationKind, vueLargeViewPressure };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-ZZXSWSN6.js";import"../chunk-OTOKVOJ3.js";import"../chunk-NMTSZXCL.js";import"../chunk-ADTBPVUZ.js";import"../chunk-BMYOV5GP.js";import"../chunk-CWONGW6P.js";import"../chunk-3LCDIREB.js";import"../chunk-NNJ2KZZG.js";export{a as vueLargeViewPressure};
|
|
2
|
+
//# sourceMappingURL=vue-large-view-pressure.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
|
+
type WrapperActionTier = 'direct' | 'signal';
|
|
6
|
+
interface WrapperCandidate {
|
|
7
|
+
symbol: string;
|
|
8
|
+
shortName: string;
|
|
9
|
+
file: string;
|
|
10
|
+
startLine: number;
|
|
11
|
+
endLine: number;
|
|
12
|
+
loc: number;
|
|
13
|
+
singleCaller: string;
|
|
14
|
+
singleCallerShort: string;
|
|
15
|
+
callerFanIn: number;
|
|
16
|
+
actionTier: WrapperActionTier;
|
|
17
|
+
boundaryEvidence: string[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Find wrapper candidates: symbols called by only one other symbol.
|
|
21
|
+
*
|
|
22
|
+
* These are premature abstractions that add indirection without
|
|
23
|
+
* providing reuse. A function with fan-in = 1 whose sole caller
|
|
24
|
+
* is widely used is a strong signal of unnecessary wrapping.
|
|
25
|
+
*/
|
|
26
|
+
declare function wrapperCandidates(db: ScipDatabase, opts?: {
|
|
27
|
+
scope?: string;
|
|
28
|
+
maxLoc?: number;
|
|
29
|
+
limit?: number;
|
|
30
|
+
scanLimit?: number;
|
|
31
|
+
semantic?: boolean;
|
|
32
|
+
}): WrapperCandidate[];
|
|
33
|
+
|
|
34
|
+
export { type WrapperActionTier, type WrapperCandidate, wrapperCandidates };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"../chunk-CAUCPUOF.js";import"../chunk-BJ6SQAEN.js";import"../chunk-SELM5MER.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 wrapperCandidates};
|
|
2
|
+
//# sourceMappingURL=wrapper-candidates.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{e as R}from"./chunk-TFZB6XTM.js";import"./chunk-VFY6Y2H6.js";import"./chunk-ILMHV3KM.js";import{b as p}from"./chunk-ZZ3MWF33.js";import"./chunk-PYAB5SM6.js";import"./chunk-NCZUNH3E.js";import"./chunk-YUKYB54I.js";import{a as v}from"./chunk-P5XHIJHI.js";import"./chunk-KUW32IRO.js";import"./chunk-7MGU3HPH.js";import"./chunk-FDGD5AB5.js";import"./chunk-RU65DDUP.js";import"./chunk-QW7EP6WI.js";import"./chunk-3IER7Q6H.js";import"./chunk-FM5BPL4V.js";import"./chunk-DRENNWRG.js";import{j as g}from"./chunk-RDBI2RXU.js";import"./chunk-R2NOK63J.js";import{a as f,b as P,c as m,d as E}from"./chunk-EF2R3WNQ.js";import"./chunk-WE5RZHZ7.js";import"./chunk-6OAHRI2D.js";import"./chunk-2Q2LW5JW.js";var D={readIdentity:m,isAlive:g,now:E,setInterval(e,t){let r=setInterval(e,t);return r.unref(),r},clearInterval},A=15e3;function y(e,t,r={}){let n=r.runtime??D,o=r.intervalMs??1e3,c=r.identityIntervalMs??A;if(!Number.isSafeInteger(o)||o<=0)throw new TypeError("parent process monitor interval must be a positive safe integer");let s=!0,i,d=Number.NEGATIVE_INFINITY,u=a=>{s=!1,i&&n.clearInterval(i),t(a)},I=()=>{if(!s)return;if(!n.isAlive(e.pid)){u(`parent process ${e.pid} exited`);return}let a=n.now();if(a-d<c)return;let l=n.readIdentity(e.pid);l!==null&&(d=a,P(e,l)||u(`parent process ${e.pid} changed identity`))};return I(),s&&(i=n.setInterval(I,o)),{stop(){s&&(s=!1,i&&n.clearInterval(i))}}}var S=process.env.SCIP_REINDEX_PROJECT_ROOT,M=process.env.SCIP_REINDEX_OUTPUT_SCIP,C=process.env.SCIP_REINDEX_OUTPUT_DB,_=process.env.SCIP_REINDEX_LANGUAGES,b=v(process.env.SCIP_REINDEX_INDEXER_CONCURRENCY),h=process.env.SCIP_REINDEX_PNPM_WORKSPACES==="1",T=$(process.env.SCIP_REINDEX_TYPESCRIPT_CONFIG),O=process.env.SCIP_REINDEX_CLOJURE_CONFIG_PATH||void 0,k=Y(process.env.SCIP_REINDEX_TRIGGER_KIND),X=process.env.SCIP_REINDEX_TRIGGER_DETAIL,w=q(process.env.SCIP_REINDEX_PARENT_IDENTITY);(!S||!M||!C||!w)&&(console.error("reindex-worker: missing required env vars"),process.exit(1));var U=S,x=M,G=C,L=w,N=_?_.split(",").filter(Boolean):void 0,j=new AbortController,F=y(L,e=>{j.abort(new Error(`Reindex worker owner lost: ${e}`))});K();async function K(){try{await R({projectRoot:U,outputScip:x,outputDb:G,languages:N?.length?N:void 0,pnpmWorkspaces:h,typescriptProjectMode:T.projectMode,typescriptProjects:T.projects,clojureConfigPath:O,indexerConcurrency:b,trigger:{kind:k,detail:X||void 0},signal:j.signal,onStatus:e=>process.stderr.write(`[reindex] ${p(e)}
|
|
2
|
+
`)})}catch(e){console.error(`reindex-worker error: ${p(String(e))}`),process.exitCode=1}finally{F.stop()}}function q(e){if(!e)return null;try{return f(JSON.parse(e))}catch{return null}}function Y(e){switch(e){case"manual-cli":case"setup":case"watch-source":case"watch-git-head":case"watch-git-index":case"watch-git-state":return e;default:return"unknown"}}function $(e){if(!e)return{};try{let t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return{};let r=t,n=r.projectMode==="single"||r.projectMode==="workspace"?r.projectMode:void 0,o=Array.isArray(r.projects)?r.projects.filter(c=>typeof c=="string"&&c.trim()!==""):void 0;return{projectMode:n,projects:o&&o.length>0?o:void 0}}catch{return{}}}
|
|
3
|
+
//# sourceMappingURL=reindex-worker.js.map
|