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,16 @@
|
|
|
1
|
+
import{d as O}from"./chunk-ELNRLMC5.js";import{d as S}from"./chunk-UZGZB3VB.js";import{A as T,c as A,e as b,t as F}from"./chunk-FETNQCFO.js";import{a as D,b as P,f as h,p as I}from"./chunk-O6QTXQPJ.js";import{K as _,z as k}from"./chunk-ADTBPVUZ.js";import{e as g,f as w,u as m}from"./chunk-BMYOV5GP.js";import{b as C,d as p}from"./chunk-NNJ2KZZG.js";function L(e,n,t,r={}){if(!t)return[];let i=m(e,n);return i?i.indexOf(t)===-1?[]:(x(e,n).get(t)??[]).filter(s=>!Y(s,r)):[]}function Y(e,n){return typeof n.excludeStartLine=="number"&&typeof n.excludeEndLine=="number"&&e>=n.excludeStartLine&&e<=n.excludeEndLine}var W=g("file-identifiers",{clearGroups:["whole-project","source-file"]});function $(e,n){let t=h(e,n);return t?t.fileIdentifiers:W.get(e,n,()=>new Set(x(e,n).keys()))}var V=g("file-ident-lines",{clearGroups:["whole-project","source-file"]});function x(e,n){let t=h(e,n);return t?t.identifierLineMap:V.get(e,n,()=>q(e,n))}var X=g("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function he(e,n){let t=h(e,n);return t?t.identifiersByLine:X.get(e,n,()=>{let r=x(e,n),i=0;for(let s of r.values()){let a=s[s.length-1];a!==void 0&&a>i&&(i=a)}let o=new Array(i+1);for(let s=0;s<=i;s+=1)o[s]=new Set;for(let[s,a]of r)for(let c of a)o[c].add(s);return o})}function q(e,n){let t=new Map,r=(a,c)=>{let l=t.get(a);if(!l){t.set(a,[c]);return}l[l.length-1]!==c&&l.push(c)},i=m(e,n);if(!i)return t;let o=P(i).split(/\r?\n/),s=/\b([A-Za-z_$][\w$]*)\b/g;for(let a=0;a<o.length;a+=1){let c=o[a]??"";for(let l of c.matchAll(s))l[1]&&r(l[1],a)}return t}function Ne(e,n){let t=z(e);return t?n.filter(r=>z(r.file)===t):n}function Me(e,n,t,r,i){let o=t.find(s=>s.file===n);if(o)return o;if(r){let s=i?.match(/^[A-Za-z_$][\w$]*/u)?.[0];if(!s)return null;let a=I(e,n),c=new Set(a.filter(f=>f.localName===s||f.importedName===s).map(f=>f.sourcePath).filter(f=>!!f));for(let f of t)for(let E of c)if(p(E,f.file))return f;let l=K(m(e,n)??"",s);if(l.size===0)return null;let u=new Set(a.filter(f=>l.has(f.localName??f.importedName)).map(f=>f.sourcePath).filter(f=>!!f)),d=t.filter(f=>l.has(A(f.symbol)??"")&&[...u].some(E=>p(E,f.file)));return d.length===1?d[0]:null}return t.length===1?t[0]:null}function K(e,n){let t=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new Set,i=[new RegExp(`\\b${t}\\s*:\\s*([A-Za-z_$][\\w$]*)`,"gu"),new RegExp(`\\b${t}\\s*=\\s*(?:new\\s+)?([A-Za-z_$][\\w$]*)\\s*\\(`,"gu")];for(let o of i)for(let s of e.matchAll(o))r.add(s[1]);return r.size===1?r:new Set}function z(e){let n=k(e);return n?n==="typescript"||n==="tsx"||n==="javascript"?"javascript-family":n:null}var Q=w("global-leaf-index",{clearGroups:["whole-project"]});function v(e){return Q.get(e,()=>{let n=e.all(`SELECT gs.id, gs.symbol,
|
|
2
|
+
COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
|
|
3
|
+
FROM global_symbols gs
|
|
4
|
+
LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
|
|
5
|
+
LEFT JOIN documents der_doc ON der_doc.id = der.document_id
|
|
6
|
+
LEFT JOIN (
|
|
7
|
+
SELECT m.symbol_id, MIN(d.relative_path) AS relative_path
|
|
8
|
+
FROM mentions m
|
|
9
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
10
|
+
JOIN documents d ON c.document_id = d.id
|
|
11
|
+
WHERE m.role = 1
|
|
12
|
+
GROUP BY m.symbol_id
|
|
13
|
+
) mention_doc ON mention_doc.symbol_id = gs.id
|
|
14
|
+
WHERE 1 = 1
|
|
15
|
+
${e.symbolNoiseFor("gs")}`),t=new Map;for(let r of n){if(!r.relative_path||e.isIgnored(r.relative_path))continue;let i=b(r.symbol);if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.some(s=>s.symbolId===r.id)||o.push({symbol:r.symbol,symbolId:r.id,file:r.relative_path})}return t})}var ee=g("source-import-paths-by-local-name",{clearGroups:["whole-project","source-file"]});function j(e,n){let t=C(n);return ee.get(e,t,()=>te(e,t))}function te(e,n){let t=new Map;for(let r of I(e,n)){if(!r.sourcePath)continue;let i=r.localName??r.importedName;if(i&&B(t,i,r.sourcePath),r.kind==="namespace")for(let o of r.usedMembers)B(t,o,r.sourcePath)}return t}function B(e,n,t){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}var G=/[A-Za-z_$][A-Za-z0-9_$]*/g,Z=/^[A-Za-z_$][A-Za-z0-9_$]*$/,ne=512;function N(e){let n=[],t=!1;for(let r of e)r&&(t=!0,Z.test(r)||n.push(r));return{candidateNames:e,hasUsableCandidate:t,nonIdentifierNames:n}}function H(e,n){let t=re(n)?n:N(n);if(t.candidateNames.size===0||!t.hasUsableCandidate)return!0;if(t.candidateNames.size<=ne){for(let i of t.candidateNames)if(i){if(Z.test(i)){if(ie(i).test(e))return!0;continue}if(e.includes(i))return!0}return!1}G.lastIndex=0;let r;for(;(r=G.exec(e))!==null;)if(t.candidateNames.has(r[0]))return!0;for(let i of t.nonIdentifierNames)if(e.includes(i))return!0;return!1}function re(e){return"candidateNames"in e}function ie(e){return new RegExp(`(?<![A-Za-z_$0-9])${D(e)}(?![A-Za-z_$0-9])`)}function M(e,n,t){let r=v(e).get(t);if(!r||r.length===0)return[];if(r.length===1)return[y(r[0])];let i=r.filter(c=>c.file===n);if(i.length>0)return i.map(y);let o=j(e,n),s=o.get(t);if(s)for(let c of s){let l=r.filter(u=>p(c,u.file));if(l.length>0)return l.map(y)}let a=new Set;for(let c of o.values())for(let l of c)a.add(l);for(let c of a){let l=r.filter(u=>p(c,u.file));if(l.length>0&&l.length===r.length)return l.map(y)}return[]}function Je(e,n,t){let r=M(e,n,t);if(r.length>0)return r;let i=v(e).get(t);return!i||i.length===0?[]:i.map(y)}function U(e,n,t={}){let r=oe(e,n);if(!r)return[];let i=S(e,n);if(t.semantic!==!1&&t.semanticEvidence){let s=t.semanticEvidence.references(e,{...i,leaf:r.identifier,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(s.length>0){let a=new Map;for(let c of s){let l=a.get(c.file)??[];l.push(c.line),a.set(c.file,l)}return R(e,a)}}let o=new Map;for(let s of _(e)){let a=se(e,r,s);a.length>0&&o.set(s,a)}return R(e,o)}function oe(e,n){let t=S(e,n);if(!t)return null;let r=b(t.symbol);return r?{symbolId:t.symbolId,relativePath:t.relativePath,startLine:t.startLine,endLine:t.endLine,identifier:r}:null}function se(e,n,t){let r=m(e,t);return!r||r.indexOf(n.identifier)===-1?[]:t!==n.relativePath&&!M(e,t,n.identifier).some(o=>o.symbolId===n.symbolId)?[]:L(e,t,n.identifier,t===n.relativePath?{excludeStartLine:n.startLine,excludeEndLine:n.endLine}:{})}function Ye(e,n,t={}){let r=new Map;for(let c of n){if(!c.leaf)continue;let l=r.get(c.leaf)??[];l.push(c),r.set(c.leaf,l)}if(r.size===0)return new Map;let i=new Set(n.map(c=>c.symbolId)),o=new Set(r.keys()),s=N(o),a=new Map;for(let c of _(e)){if(t.skipPath?.(c)||!H(m(e,c),s))continue;let l=$(e,c);if(l.size!==0){for(let u of l)if(r.has(u))for(let d of M(e,c,u)){if(!i.has(d.symbolId)||c===d.relativePath)continue;let f=a.get(d.symbolId);f||(f=new Set,a.set(d.symbolId,f)),f.add(c)}}}return a}function y(e){return{symbolId:e.symbolId,symbol:e.symbol,relativePath:e.file}}function R(e,n){let t=[],r=new Set;for(let[i,o]of n){let s=F(e,i);for(let a of o){let c=T(s,a),l=`${i}|${a}|${c?.symbol??""}`;r.has(l)||(r.add(l),t.push({file:i,line:a,enclosingSymbol:c?.symbol??null}))}}return t}function ae(e,n){return ce(e,[n]).get(n.symbolId)??[]}function ce(e,n){let t=n.map(o=>({symbolId:o.symbolId,prelude:pe(e,o)})).filter(o=>o.prelude!==null),r=ue(e,t.map(o=>o.symbolId)),i=new Map;for(let{symbolId:o,prelude:s}of t){let a=fe(e,r.get(o)??new Map,s.match,s.identifier);i.set(o,R(e,a))}return i}function et(e,n,t={}){return le(e,n,t).map(r=>({file:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol}))}function le(e,n,t={}){let r=U(e,n,{semantic:t.semantic,semanticEvidence:t.semanticEvidence}),i=r.length>0?J(r,"source-attribution"):J(ae(e,n),"scip-reference-chunk");return t.includeIgnored===!0?i:i.filter(o=>!e.isIgnored(o.file))}function J(e,n){return e.map(t=>({...t,provenance:n}))}function fe(e,n,t,r){let i=new Map;for(let[o,s]of n)i.set(o,me(e,o,s,t,r));return i}function ue(e,n){let t=new Map;for(let r of O(e,n)){if(e.isIgnored(r.relative_path))continue;let i=t.get(r.symbol_id);i||(i=new Map,t.set(r.symbol_id,i));let o=i.get(r.relative_path);o||(o=[],i.set(r.relative_path,o)),o.push({start_line:r.chunk_start,end_line:r.chunk_end})}return t}function me(e,n,t,r,i){let o=n===r.relativePath?{excludeStartLine:r.startLine,excludeEndLine:r.endLine}:{},s=i?L(e,n,i,o):[];return t.flatMap(a=>de(s,a))}function de(e,n){let t=e.filter(r=>r>=n.start_line&&r<=n.end_line);return t.length>0?t:[n.start_line]}function pe(e,n){let t=S(e,n);return t?{match:t,identifier:b(t.symbol)||null}:null}export{L as a,x as b,he as c,Ne as d,Me as e,v as f,N as g,H as h,j as i,M as j,Je as k,Ye as l,ae as m,ce as n,et as o,le as p};
|
|
16
|
+
//# sourceMappingURL=chunk-CVYSU6BX.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{G as W,H as $,K as R,T as J,a as S,ea as K,g as m,h as b,i as A,j as G}from"./chunk-NNJ2KZZG.js";import{createRequire as ae}from"module";import{existsSync as ce,readdirSync as le,statSync as ue}from"fs";import u from"path";import{AsyncLocalStorage as se}from"async_hooks";var oe=new se;function j(e,t){let n=C(e);if(!n||n.missing.has(t))return;let r=n.files.get(t);if(r)return r;let i=n.readBaseFile?.(t);return i&&n.files.set(t,i),i}function F(e,t){let n=C(e);if(n)return n.missing.has(t)?"missing":n.paths.includes(t)?"present":"missing"}function q(e,t){return C(e)?.fingerprints.get(t)}function P(e){return C(e)?.paths}function C(e){let t=oe.getStore();if(t)return t.projectRoot===K(e)?t:void 0}var pe=ae(import.meta.url),U=new Set([".cache",".git",".next",".nuxt",".turbo",".nx","build","coverage","dist","node_modules","tmp","vendor"]);function fe(e,t=[]){let n=u.resolve(e),r=t.flatMap(s=>de(n,s));if(r.length>0)return X(n,Q(r));let i=ge(n),o=Q(i),c=he(n,o)?[n,...o]:o,a=c.length>0?c:[n];return X(n,a)}function V(e,t,n=[]){let r;try{r=pe("ts-morph")}catch{return null}let i=u.resolve(e),o=t==="workspace"?fe(i,n):["."],c=new Set;for(let a of o){let s=a==="."?i:u.join(i,a),l=u.join(s,"tsconfig.json"),p=Pe(r.ts,i);if(!p.fileExists(l))return null;let g=r.ts.readConfigFile(l,p.readFile);if(g.error)return null;let f=r.ts.parseJsonConfigFileContent(g.config,p,s);if(f.errors.length>0)return null;for(let h of f.fileNames){let d=u.resolve(h);m(i,d)&&c.add(u.relative(i,d).split(u.sep).join("/"))}}return c}function X(e,t){return[...new Set(t.map(n=>x(e,n)))].sort((n,r)=>n.localeCompare(r))}function ge(e){let t=P(e);if(t)return t.flatMap(i=>{if(i.split("/").some(c=>U.has(c)))return[];let o=u.join(e,...i.split("/"));return Y(e,o)?[u.dirname(o)]:[]});let n=[],r=[e];for(;r.length>0;){let i=r.pop(),o;try{o=le(i,{withFileTypes:!0})}catch{continue}for(let c of o){let a=u.join(i,c.name);if(c.isDirectory()){!U.has(c.name)&&!c.name.startsWith(".")&&r.push(a);continue}c.isFile()&&Y(e,a)&&n.push(u.dirname(a))}}return n}function de(e,t){let n=t.trim();if(!n)return[];let r=u.resolve(e,n);if(!m(e,r))return[];let i=P(e);if(i){let o=x(e,r);if(i.includes(o)&&M(u.basename(r)))return[u.dirname(r)];let c=o==="."?"":`${o}/`;return i.some(a=>a.startsWith(c))?[r]:[]}try{let o=ue(r);if(o.isDirectory())return[r];if(o.isFile()&&M(u.basename(r)))return[u.dirname(r)]}catch{return[]}return[]}function Y(e,t){if(!M(u.basename(t)))return!1;let n=Z(e,t);return n?u.basename(t)==="tsconfig.json"||"include"in n||"files"in n||"references"in n:!1}function M(e){return e.startsWith("tsconfig")&&e.endsWith(".json")}function Q(e){let t=[...new Set(e.map(n=>u.resolve(n)))].sort((n,r)=>n.localeCompare(r));return t.length<=1?t:t.filter(n=>!t.some(r=>r!==n&&Fe(n,r)))}function he(e,t){if(t.length===0||t.some(r=>u.resolve(r)===e))return!1;let n=u.join(e,"tsconfig.json");return ye(e,n)&&me(e,n)}function me(e,t){let r=Z(e,t)?.include;return Array.isArray(r)?r.some(i=>typeof i=="string"&&i.trim()!==""&&!i.startsWith("!")&&(i.includes("/")||i.includes("**")||!u.extname(i))):!1}function Z(e,t){try{let n=JSON.parse(Se(e,t));return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function ye(e,t){let n=x(e,t),r=F(e,n);return r?r==="present":ce(t)}function Se(e,t){let n=x(e,t);if(P(e)){let i=j(e,n);if(!i)throw Object.assign(new Error(`Snapshot file ${n} is missing.`),{code:"ENOENT"});return i.content.toString("utf8")}return $(t,"TypeScript project config")}function Pe(e,t){let n=P(t);if(!n)return e.sys;let r=u.resolve(t),i=new Set(n),o=je(r,n),c=e,a=s=>{let l=u.resolve(s);return m(r,l)?x(r,l):null};return{useCaseSensitiveFileNames:e.sys.useCaseSensitiveFileNames,fileExists(s){let l=a(s);return l===null?e.sys.fileExists(s):i.has(l)},readFile(s){let l=a(s);return l===null?e.sys.readFile(s):j(r,l)?.content.toString("utf8")},readDirectory(s,l,p,g,f){let h=u.resolve(s);return m(r,h)?c.matchFiles(h,l,p,g,e.sys.useCaseSensitiveFileNames,r,f,d=>o.get(u.resolve(d))??{files:[],directories:[]},d=>d):e.sys.readDirectory(s,l,p,g,f)}}}function je(e,t){let n=new Map,r=new Map,i=o=>{n.has(o)||n.set(o,new Set),r.has(o)||r.set(o,new Set)};i(e);for(let o of t){let c=o.split("/"),a=e;for(let s=0;s<c.length-1;s+=1){let l=c[s];i(a),r.get(a).add(l),a=u.join(a,l),i(a)}n.get(a).add(c.at(-1))}return new Map([...n].map(([o,c])=>[o,{files:[...c].sort(),directories:[...r.get(o)??[]].sort()}]))}function x(e,t){let n=u.relative(e,t);return n?n.split(u.sep).join("/"):"."}function Fe(e,t){let n=u.relative(e,t);return!!n&&!n.startsWith("..")&&!u.isAbsolute(n)}import{execFileSync as Be}from"child_process";import{createHash as te}from"crypto";import{closeSync as Ne,fstatSync as ne,lstatSync as N,openSync as _e,readdirSync as De,readFileSync as He,readlinkSync as Le,realpathSync as I}from"fs";import{isAbsolute as Ae,join as _,relative as Ge,resolve as We,sep as $e}from"path";import{execFileSync as k}from"child_process";import{createHash as be}from"crypto";import{mkdirSync as xe,renameSync as ve,writeFileSync as we}from"fs";import{basename as Ce,dirname as ze,join as Ie}from"path";var Te="git-content-hashes.json",Ee=32*1024*1024,Oe=2e5,z=3e4,B={encoding:"utf8",maxBuffer:64*1024*1024,stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:z,killSignal:"SIGKILL"};function ee(e){let t,n;try{t=k("git",["-C",e,"ls-files","-s","-z","--","."],{...B,timeout:z}),n=k("git",["-C",e,"status","--porcelain=v1","-z","--untracked-files=all","--no-renames","--","."],{...B,timeout:z})}catch{return null}let r=new Map,i=[];for(let p of t.split("\0")){if(!p)continue;let g=p.indexOf(" "),f=g>0?p.slice(0,g).split(" "):[];if(f.length!==3)continue;let[h,d,w]=f,y=p.slice(g+1);if(h!=="100644"&&h!=="100755"||w!=="0"){r.delete(y);continue}r.set(y,d),Ce(y)===".gitattributes"&&i.push(`${y}:${d}`)}let o=new Set;for(let p of n.split("\0"))p.length>=4&&p[2]===" "&&o.add(p.slice(3));let c=Me(e,i),a=Ie(J(e),Te),s=ke(a,c),l=new Map;return{lookup(p){if(o.has(p))return;let g=r.get(p);if(g)return l.get(g)??s.entries[g]},seed(p,g){if(o.has(p))return;let f=r.get(p);!f||s.entries[f]||l.has(f)||l.set(f,g)},persist(){if(l.size===0)return;let p=new Set(r.values()),g={};for(let[f,h]of Object.entries(s.entries))p.has(f)&&(g[f]=h);for(let[f,h]of l)g[f]=h;if(!(Object.keys(g).length>Oe))try{xe(ze(a),{recursive:!0});let f=`${a}.${process.pid}.tmp`;we(f,JSON.stringify({version:1,salt:c,entries:g})),ve(f,a)}catch{}}}}function Me(e,t){let n="";try{n=k("git",["-C",e,"config","--get-regexp","^core\\.(autocrlf|eol|safecrlf)$"],{...B,timeout:z})}catch{}return be("sha256").update(JSON.stringify([n.trim(),t.sort()])).digest("hex")}function ke(e,t){let n={version:1,salt:t,entries:{}};try{let r=W(e,{maxBytes:Ee,inputKind:"git-content-hash-store"}),i=JSON.parse(r);if(i.version!==1||i.salt!==t||!i.entries||typeof i.entries!="object")return n;let o={};for(let[c,a]of Object.entries(i.entries))/^[0-9a-f]{40,64}$/.test(c)&&a&&typeof a.size=="number"&&Number.isInteger(a.size)&&a.size>=0&&typeof a.hash=="string"&&/^[0-9a-f]{64}$/.test(a.hash)&&(o[c]={size:a.size,hash:a.hash});return{version:1,salt:t,entries:o}}catch{return n}}var T=64*1024*1024,v=class extends Error{constructor(n,r,i,o){super(`${n} ${JSON.stringify(r)} is ${i} bytes; the safety limit is ${o} bytes`);this.inputKind=n;this.inputPath=r;this.observedBytes=i;this.limitBytes=o;this.name="InputTooLargeError"}inputKind;inputPath;observedBytes;limitBytes;code="CODEBASEIQ_INPUT_TOO_LARGE"};function Re(e){return[...new Set((e??[]).map(t=>t.trim()).filter(Boolean))].sort((t,n)=>t.localeCompare(n))}function re(e,t,n={}){let r=b(t),i=I(e),o=We(i,...r.split("/"));if(!m(i,o)||o===i)throw new S(t,"outside-project");let c=I(o);if(!m(i,c)||c===i)throw new S(t,"outside-project");let a=N(c);if(!a.isFile())throw new S(t,"not-a-file");let s={projectRoot:i,relativePath:r,absolutePath:c,size:a.size,mtimeMs:a.mtimeMs,device:a.dev,inode:a.ino},l=n.maxBytes??T;if(ie(l),s.size>l)throw new v(n.inputKind??"project file",s.relativePath,s.size,l);return s}function Je(e,t,n={}){let r=b(t),i=F(e,r);if(i){if(i==="missing")throw Object.assign(new Error(`Snapshot project file ${JSON.stringify(r)} does not exist.`),{code:"ENOENT"});let s=j(e,r);if(!s)throw new S(r,"changed-during-read");let l=n.maxBytes??T;if(ie(l),s.size>l)throw new v(n.inputKind??"project file",r,s.size,l);return Buffer.from(s.content)}let o=re(e,t,n),c=n.maxBytes??T,a=_e(o.absolutePath,"r");try{let s=ne(a);if(!s.isFile()||s.dev!==o.device||s.ino!==o.inode||s.size!==o.size)throw new S(t,"changed-during-read");if(s.size>c)throw new v(n.inputKind??"project file",o.relativePath,s.size,c);let l=He(a),p=ne(a);if(p.dev!==s.dev||p.ino!==s.ino||p.size!==s.size||l.byteLength!==s.size)throw new S(t,"changed-during-read");return l}finally{Ne(a)}}function It(e,t,n={}){return Je(e,t,n).toString("utf8")}function D(e){return typeof e=="object"&&e!==null&&"code"in e&&(e.code==="ENOENT"||e.code==="ENOTDIR")}function Tt(e,t){try{return re(e,t),!0}catch(n){if(D(n))return!1;throw n}}function ie(e){if(!Number.isSafeInteger(e)||e<0)throw new RangeError(`maxBytes must be a non-negative safe integer; received ${e}`)}function Ke(e){return(P(e)??Ve(e)??Ze(e)).filter(t=>t&&!H(t)).sort()}function qe(e,t={}){let n=(t.includePaths??[]).map(b),r=[...new Set([...Ke(e),...n])].filter(s=>!H(s)).filter(s=>!t.language||G(s,t.language,t.markerFiles)).filter(s=>!t.includePath||t.includePath(s)).sort(),i=I(e),o,c=()=>o??=ee(i),a=r.flatMap(s=>{let l=q(e,s);if(l)return[{path:s,size:l.fingerprintSize??l.size,hash:l.sha256}];let p=F(e,s);if(p==="present"){let d=j(e,s);if(d)return[{path:s,size:d.fingerprintSize??d.size,hash:d.sha256}]}let g=p===void 0?c():null,f=g?.lookup(s);if(f)return[{path:s,size:f.size,hash:f.hash}];let h=_(e,s);try{if(N(h).isSymbolicLink()){let E=I(h),O=Ge(i,E);if(O===".."||O.startsWith(`..${$e}`)||Ae(O))throw new Error("external symlink");let L=Le(h);return[{path:s,size:Buffer.byteLength(L),hash:te("sha256").update("symlink\0").update(L).digest("hex")}]}let d=te("sha256"),w=R(h,{inputKind:"project fingerprint input",maxBytes:T},E=>d.update(E)),y=d.digest("hex");return g?.seed(s,{size:w,hash:y}),[{path:s,size:w,hash:y}]}catch(d){return D(d)?[]:[{path:s,size:-1,hash:"unreadable"}]}});return o?.persist(),a}function Et(e,t,n){let r=Ye(t,n),i=[...r.typescriptProjects.filter(c=>Xe(e,c)),...r.clojureConfigPath?[r.clojureConfigPath]:[]],o=r.languages.includes("typescript")?V(e,r.typescriptProjectMode,r.typescriptProjects):null;return{...r,files:qe(e,{includePath:c=>{let a=A(c,t,i);return a==="other"?!1:a!=="source"||!Ue(c)||!o?!0:o.has(c)},includePaths:i})}}function Ue(e){return/\.(?:[cm]?[jt]sx?|vue)$/iu.test(e)}function Xe(e,t){let n;try{n=b(t)}catch{return!1}let r=F(e,n);if(r)return r==="present";try{return N(_(e,n)).isFile()}catch(i){if(D(i))return!1;throw i}}function Ye(e,t){return{version:3,languages:[...e].sort(),pnpmWorkspaces:t.typescriptProjectMode!=="workspace"&&t.pnpmWorkspaces===!0,typescriptProjectMode:t.typescriptProjectMode??"single",typescriptProjects:Re(t.typescriptProjects),clojureConfigPath:Qe(t.clojureConfigPath)}}function Qe(e){return e?.trim()||void 0}function Ve(e){try{return Be("git",["-C",e,"ls-files","-co","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:50*1024*1024,stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:3e4,killSignal:"SIGKILL"}).split(`
|
|
2
|
+
`).filter(Boolean)}catch{return null}}function Ze(e){let t=[],n=[""];for(;n.length>0;){let r=n.pop(),i=r?_(e,r):e,o;try{o=De(i,{withFileTypes:!0})}catch{continue}for(let c of o){let a=r?`${r}/${c.name}`:c.name;if(c.isDirectory()){H(a)||n.push(a);continue}t.push(a)}}return t}function H(e){let t=e.split("/");return e==="meta.json"||t[0]===".codebaseiq"&&(t[1]==="events"||t[1]==="ledger"||t[1]==="releases"||t[1]==="suppressions")||t.some(n=>et.has(n))||e.endsWith(".db")||e.endsWith(".db-wal")||e.endsWith(".db-shm")||e.endsWith(".scip")}var et=new Set([".git","node_modules",".codebaseiq-cache",".codebaseiq-generations",".stryker-tmp","dist","build","coverage",".next",".nuxt","target"]);export{fe as a,v as b,Re as c,re as d,Je as e,It as f,D as g,Tt as h,Ke as i,qe as j,Et as k,Ye as l};
|
|
3
|
+
//# sourceMappingURL=chunk-CWONGW6P.js.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import{m as d,r as u,t as p}from"./chunk-UCD3H3UZ.js";import{c as l}from"./chunk-BMYOV5GP.js";import{h as c}from"./chunk-NNJ2KZZG.js";import m from"better-sqlite3";var b=["busy_timeout = 5000","query_only = ON","temp_store = MEMORY","cache_size = -64000","mmap_size = 268435456"],i=class{constructor(t,e){this.connection=t;this.releaseGenerationReader=e}connection;releaseGenerationReader;active=!0;initialize(t){try{for(let e of b)this.connection.pragma(e);t(this.connection)}catch(e){try{this.close()}catch(n){throw new AggregateError([e,n],"SQLite initialization and rollback both failed.",{cause:n})}throw e}}close(){if(!this.active)return;this.active=!1;let t,e;try{this.connection.close()}catch(n){t=n}try{this.releaseGenerationReader()}catch(n){e=n}if(t!==void 0&&e!==void 0)throw new AggregateError([t,e],"SQLite connection close and generation-reader release both failed.");if(t!==void 0)throw t;if(e!==void 0)throw e}},f=["node_modules",".git","dist","build","out","coverage","target",".next",".nuxt",".cache",".turbo",".nbb",".cpcache",".shadow-cljs",".codebaseiq-cache","__pycache__",".venv","venv"],h=class{db;config;generation;pathFilter;connection;connectionOwnership;statementCache=new Map;closed=!1;constructor(t,e){this.config=t,this.pathFilter=e??null;let n=E(t),o=new i(n.db,n.release);try{o.initialize(y),this.generation=n.generation,this.connection=n.db,this.connectionOwnership=o,this.db=g(n.db)}catch(r){try{o.close()}catch(s){throw new AggregateError([r,s],"SQLite construction and rollback both failed.",{cause:s})}throw r}}isIgnored(t){return this.pathFilter?.isIgnored(t)??!1}get localSymbolPredicate(){return`(
|
|
2
|
+
EXISTS (
|
|
3
|
+
SELECT 1
|
|
4
|
+
FROM defn_enclosing_ranges local_der
|
|
5
|
+
JOIN documents local_d ON local_der.document_id = local_d.id
|
|
6
|
+
WHERE local_der.symbol_id = gs.id
|
|
7
|
+
${this.pathExclusionsFor("local_d").trimStart()}
|
|
8
|
+
)
|
|
9
|
+
OR EXISTS (
|
|
10
|
+
SELECT 1
|
|
11
|
+
FROM mentions local_m
|
|
12
|
+
JOIN chunks local_c ON local_m.chunk_id = local_c.id
|
|
13
|
+
JOIN documents local_d ON local_c.document_id = local_d.id
|
|
14
|
+
WHERE local_m.symbol_id = gs.id
|
|
15
|
+
AND local_m.role = 1
|
|
16
|
+
${this.pathExclusionsFor("local_d").trimStart()}
|
|
17
|
+
)
|
|
18
|
+
)`}get pathExclusions(){return this.pathExclusionsFor("d")}get symbolNoise(){return this.symbolNoiseFor("gs")}pathExclusionsFor(...t){return t.flatMap(e=>f.flatMap(n=>[`AND ${e}.relative_path NOT LIKE '${n}/%'`,`AND ${e}.relative_path NOT LIKE '%/${n}/%'`])).join(`
|
|
19
|
+
`)}symbolNoiseFor(t){return`AND ${t}.symbol NOT LIKE '%().(%' AND ${t}.symbol NOT LIKE '%typeLiteral%'`}all(t,...e){return this.statement(t).all(...e)}get(t,...e){return this.statement(t).get(...e)}close(){if(this.closed)return;this.closed=!0,this.statementCache.clear();let t,e;try{l(this)}catch(n){t=n}try{this.connectionOwnership.close()}catch(n){e=n}if(t!==void 0&&e!==void 0)throw new AggregateError([t,e],"Database-owned resource and SQLite connection cleanup both failed.");if(t!==void 0)throw t;if(e!==void 0)throw e}statement(t){let e=this.statementCache.get(t);return e||(e=this.connection.prepare(t),this.statementCache.set(t,e)),e}};function g(a){return Object.freeze({prepare(t){let e=a.prepare(t);if(!e.readonly||!e.reader)throw new Error("ScipDatabase.db only permits read-only statements that return rows.");return w(e)}})}function w(a){let t={get:(...e)=>a.get(...e),all:(...e)=>a.all(...e),iterate:(...e)=>a.iterate(...e),pluck(e){return e===void 0?a.pluck():a.pluck(e),t},expand(e){return e===void 0?a.expand():a.expand(e),t},raw(e){return e===void 0?a.raw():a.raw(e),t},bind(...e){return a.bind(...e),t},columns:()=>a.columns(),safeIntegers(e){return e===void 0?a.safeIntegers():a.safeIntegers(e),t}};return Object.freeze(t)}function y(a){if(!a.prepare("SELECT 1 AS present FROM sqlite_master WHERE type = 'table' AND name = 'documents'").get())return;let e=a.prepare("SELECT relative_path FROM documents").iterate();for(let n of e)c(n.relative_path)}function E(a){for(let t=0;t<4;t+=1){let e=d(a),n=e.generation,o;try{o=new m(n.databasePath,{readonly:!0,fileMustExist:!0})}catch(r){throw e.release(),r}if(n.source==="immutable")return{db:o,generation:n,release:e.release};try{let r=u(a);if(n.databaseFileIdentity===p(n.databasePath)&&r.source==="legacy"&&r.identity===n.identity&&r.databaseFileIdentity===n.databaseFileIdentity&&r.metadataRaw===n.metadataRaw)return{db:o,generation:n,release:e.release}}catch(r){throw o.close(),e.release(),r}o.close(),e.release()}throw new Error("SQLite index publication changed repeatedly while opening a coherent generation.")}export{h as a};
|
|
20
|
+
//# sourceMappingURL=chunk-DDZ7VHWV.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{b as o}from"./chunk-B75HZHUP.js";import{d as u}from"./chunk-3LCDIREB.js";function P(e){let t=m(e.profile?.name),r=()=>{let d=e.candidates(),a=e.filterCandidate?d.filter(e.filterCandidate):d,C=e.orderCandidates?[...a].sort(e.orderCandidates):a,i=o(C,e.scanLimit);t={pipeline:e.profile?.name,loadedCandidates:d.length,filteredCandidates:a.length,scannedCandidates:i.length,evaluatedCandidates:0,matchedResults:0,emittedResults:0,scanLimitApplied:i.length<a.length,resultLimitApplied:!1};let f=e.prepare?.(i)??void 0,n=[];for(let c of i){t.evaluatedCandidates+=1;let s=e.evaluate(c,f);s&&n.push(s)}t.matchedResults=n.length,e.orderResults&&n.sort(e.orderResults);let l=typeof e.limit=="number"?n.slice(0,e.limit):n;return t.emittedResults=l.length,t.resultLimitApplied=l.length<n.length,e.onProfile?.({...t}),l};return e.profile?u(`candidate-pipeline:${e.profile.name}`,r,()=>({...p(e.profile?.metadata),...t})):r()}function m(e){return{pipeline:e,loadedCandidates:0,filteredCandidates:0,scannedCandidates:0,evaluatedCandidates:0,matchedResults:0,emittedResults:0,scanLimitApplied:!1,resultLimitApplied:!1}}function p(e){return typeof e=="function"?e():e??{}}export{P as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DGXRDLV5.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{B as c,C as n,E as f,q as u,v as d,y as l}from"./chunk-SNNWPCN7.js";import{join as o}from"path";var j=6,B=5e3,y="watch.lock",S="watch-state.json",m="watch-activity.json",b="watch-refresh-requests";function C(t){return{lockPath:o(t,y),statePath:o(t,S),activityPath:o(t,m),refreshRequestsPath:o(t,b)}}function _(t){try{return g(JSON.parse(u(t,"watch service state")))}catch{return null}}function g(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!r(e.startedAt)||!r(e.heartbeatAt)||!r(e.lastActivityAt)||!h(e.watcher)||e.idleDeadlineAt!==void 0&&!r(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let i=d(e.processIdentity);if(!i||i.pid!==e.pid)return null;e.processIdentity=i}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!R(e.lastError)||e.lastRefresh!==void 0&&!A(e.lastRefresh)||e.reindexActivity!==void 0&&!v(e.reindexActivity)||e.refreshRequests!==void 0&&!E(e.refreshRequests)||e.typescriptSemantic!==void 0&&!P(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!w(e.typescriptIndex)||e.queryLane!==void 0&&!T(e.queryLane)?null:e}function r(t){return c(t)}function h(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return s(e.changedFiles)&&s(e.reindexAt);case"indexing":return s(e.startedAt);case"cooldown":return s(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return s(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&n(e.rebuilt)&&n(e.estimatedWriteBytes);case"draining":return s(e.startedAt)&&typeof e.reason=="string";default:return!1}}function R(t){if(!t||typeof t!="object")return!1;let e=t;return r(e.at)&&typeof e.message=="string"}function A(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&r(e.startedAt)&&r(e.completedAt)&&s(e.durationMs)}function v(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!n(e.recordsRead)||e.invalidRecords!==void 0&&!n(e.invalidRecords)||e.skippedRecords!==void 0&&!n(e.skippedRecords)||e.readErrors!==void 0&&!n(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!n(e.ignoredPartialTailBytes)||!r(e.windowStartedAt)||!r(e.windowEndedAt)||!n(e.runs)||!n(e.rebuilt)||!n(e.reused)||!n(e.failed)||!n(e.suppressed)||!s(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!n(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!n(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!n(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!r(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!r(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!n(e.attributedRuns)||e.unattributedRuns!==void 0&&!n(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!n(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!x(e.byLanguage)?!1:Object.values(e.byTrigger).every(i=>i===void 0||n(i))}function x(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,i]of Object.entries(t)){if(!l.includes(e)||!i||typeof i!="object")return!1;let a=i;if(!n(a.runs)||!n(a.rebuilt)||!n(a.reused)||!n(a.producedOutputBytes)||!f(a.durationMs)||a.rebuilt+a.reused!==a.runs)return!1}return!0}function E(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.claimed)&&n(e.completed)&&n(e.expired)&&n(e.invalid)&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function P(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&s(e.requests)&&s(e.sessionsCreated)&&s(e.sessionsReused)&&s(e.sessionsRefreshed)&&s(e.sessionsReplaced)&&s(e.projectsCreated)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function w(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&n(e.requests)&&n(e.sessionsCreated)&&n(e.sessionsReplaced)&&n(e.initializations)&&n(e.programUpdates)&&n(e.documentsEmitted)&&n(e.documentsRemoved)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastDurationMs===void 0||s(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function T(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&typeof e.socketPath=="string"&&e.socketPath.length>0&&n(e.requests)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")}function p(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.inflight)&&n(e.responses)&&n(e.deadLetters)&&n(e.invalid)&&n(e.totalItems)&&s(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function s(t){return typeof t=="number"&&Number.isFinite(t)}export{j as a,B as b,y as c,C as d,_ as e,r as f};
|
|
3
|
+
//# sourceMappingURL=chunk-DO6WQD2T.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as R,b as F}from"./chunk-IRQOAM5G.js";import{a as k,b as C,c as V,e as o,f as v}from"./chunk-OTOKVOJ3.js";import{a as B,b as g}from"./chunk-NMTSZXCL.js";import{M as y}from"./chunk-ADTBPVUZ.js";function j(e,s={}){let{minSimilarity:m=.45,minSharedBehaviors:t=6,limit:i=20,scope:l,scanLimit:c,filePattern:d,focusFiles:h}=s,u=y(e).vueProfiles({scope:l,minBehaviorTokens:Math.max(3,t),scanLimit:c}).map(r=>({file:r.file,tokens:r.behaviorTokens,profile:r})),n=R(u,r=>r.tokens);return F({profiles:u,limit:i,filePattern:d,focusFiles:h,candidateIndex:n,profile:{name:"vue-composable-candidates"},compare:(r,a)=>T(r,a,m,t),sort:(r,a)=>a.similarity-r.similarity||r.fileA.localeCompare(a.fileA)||r.fileB.localeCompare(a.fileB)})}function T(e,s,m,t){let i=B(e.tokens,s.tokens);if(i.size<t||!P(i))return null;let l=C(e.tokens,s.tokens);if(l<m)return null;let c=o(i,"composable:"),d=o(i,"store:"),h=o(i,"reactivity:"),u=o(i,"lifecycle:"),n=o(i,"request:"),r=o(i,"function:"),a=o(i,"function-verb:"),b=o(i,"template-binding:"),p=o(i,"template-event:"),f=q({sharedComposables:c,sharedStores:d,sharedReactivity:h,sharedLifecycle:u,sharedRequests:n,sharedFunctions:r,sharedFunctionVerbs:a,sharedBindings:b,sharedTemplateEvents:p});return{fileA:e.file,fileB:s.file,similarity:l,tokenCountA:e.tokens.size,tokenCountB:s.tokens.size,sharedTokens:v(i),sharedComposables:c,sharedStores:d,sharedReactivity:h,sharedLifecycle:u,sharedRequests:n,sharedFunctions:r,sharedFunctionVerbs:a,sharedBindings:b,sharedTemplateEvents:p,evidenceClass:f.evidenceClass,actionTier:f.actionTier,evidenceClassReasons:f.reasons,recommendation:f.recommendation,uniqueToA:v(g(e.tokens,s.tokens)).slice(0,25),uniqueToB:v(g(s.tokens,e.tokens)).slice(0,25),reason:S({sharedComposables:c,sharedStores:d,sharedRequests:n,sharedLifecycle:u,sharedFunctions:r,sharedFunctionVerbs:a,sharedBindings:b}),locA:e.profile.totalLines,locB:s.profile.totalLines}}function q(e){return k({genericWords:A,primitiveGroups:[{values:e.sharedReactivity,reasonPrefix:"shared reactivity primitive",bucket:"generic"},{values:e.sharedLifecycle,reasonPrefix:"shared lifecycle primitive",bucket:"generic"}],nameGroups:[{names:e.sharedComposables,label:"shared composable",fallbackBucket:"shared-abstraction"},{names:e.sharedStores,label:"shared store",fallbackBucket:"shared-abstraction"},{names:e.sharedRequests,label:"shared request",fallbackBucket:"generic"},{names:e.sharedFunctions,label:"shared function",fallbackBucket:"generic"},{names:e.sharedFunctionVerbs,label:"shared action verb",fallbackBucket:"generic"},{names:e.sharedBindings,label:"shared binding",fallbackBucket:"generic"},{names:e.sharedTemplateEvents,label:"shared template event",fallbackBucket:"generic"}],recommendation:w})}function w(e){switch(e){case"domain-behavior":return"Review for a shared composable, store, or feature module around the named domain behavior.";case"mixed":return"Separate generic Vue mechanics from domain-specific behavior before extracting a composable.";case"shared-abstraction":return"Review the existing composable/store usage first; extract only if duplicated behavior remains outside it.";case"generic-workflow-scaffolding":return"Treat as support evidence for a repeated workflow shape, not direct composable-extraction evidence."}}function P(e){let s=0,m=0,t=0,i=0,l=0,c=0,d=0;for(let n of e)n.startsWith("composable:")?s+=1:n.startsWith("store:")?m+=1:n.startsWith("request:")?t+=1:n.startsWith("lifecycle:")?i+=1:n.startsWith("function:")?l+=1:n.startsWith("reactivity:")?c+=1:(n.startsWith("function-verb:")||n.startsWith("template-binding:")||n.startsWith("template-event:"))&&(d+=1);let h=s+m,u=h+t+i+l+d;return V([{name:"requests",count:t},{name:"lifecycle",count:i},{name:"functions",count:l},{name:"reusableHooks",count:h},{name:"reactivity",count:c},{name:"namedBehavior",count:u}],[{min:{requests:1,namedBehavior:4},reason:"shared request workflow"},{min:{lifecycle:1,functions:2,namedBehavior:4},reason:"shared lifecycle workflow"},{min:{reusableHooks:2,requests:1,namedBehavior:5},reason:"shared reusable Vue hooks and requests"},{min:{reusableHooks:2,functions:2,namedBehavior:5},reason:"shared reusable Vue hooks and functions"},{min:{functions:2,reactivity:1,namedBehavior:4},reason:"shared reactive functions"}]).pass}function S(e){let s=[];return e.sharedComposables.length&&s.push(`shared composables: ${e.sharedComposables.join(", ")}`),e.sharedStores.length&&s.push(`shared stores: ${e.sharedStores.join(", ")}`),e.sharedRequests.length&&s.push(`shared request helpers: ${e.sharedRequests.join(", ")}`),e.sharedLifecycle.length&&s.push(`shared lifecycle: ${e.sharedLifecycle.join(", ")}`),e.sharedFunctions.length&&s.push(`shared functions: ${e.sharedFunctions.slice(0,6).join(", ")}`),e.sharedFunctionVerbs.length&&s.push(`shared action verbs: ${e.sharedFunctionVerbs.slice(0,6).join(", ")}`),e.sharedBindings.length&&s.push(`shared template bindings: ${e.sharedBindings.slice(0,6).join(", ")}`),s.join("; ")||"shared Vue behavior profile"}var A=new Set(["add","apply","cancel","change","clear","close","composable","create","data","delete","draft","edit","error","fetch","filter","form","item","items","load","loading","name","open","reactive","ref","refresh","remove","request","reset","resource","row","rows","save","saving","search","select","selected","store","submit","toggle","update","use","value","watch"]);export{j as a};
|
|
2
|
+
//# sourceMappingURL=chunk-DQMDCD24.js.map
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import{f as Ee}from"./chunk-3JSXXYTZ.js";import{a as V,b as U,d as v,e as k,f as me}from"./chunk-DO6WQD2T.js";import{H as O,K as z,L as Ie,M as K,N as we,O as be,P as T,Ta as ke,U as W,Ua as We,V as Y,c as J,cb as Ce,d as ye,e as ge,m as Se,o as I,p as ve,q as Re,t as P}from"./chunk-2X7V4HS4.js";import{B as A,c as $,d as pe,e as he,h as F,i as g,q as S,v as fe,w as H,x as B}from"./chunk-SNNWPCN7.js";import{spawn as mt}from"child_process";import{existsSync as yt,rmSync as Te}from"fs";import{dirname as gt,resolve as N}from"path";import{fileURLToPath as St}from"url";import{createHash as Ke,randomUUID as Ae}from"crypto";import{existsSync as Ye,linkSync as Qe,readdirSync as Xe,rmSync as Ze}from"fs";import{basename as et,dirname as tt,join as R}from"path";var L=1,rt=10*6e4,zt=10080*6e4,Q="requests",nt="claims",it="completions",ot="staging";function Pe(e,t,r={}){let n=r.now?.()??new Date,i=pt(r.ttlMs),o=ht(r.idempotencyKey),c=o?`key-${Ke("sha256").update(o).digest("hex")}`:`request-${(r.randomId??Ae)()}`,s={version:L,requestId:c,...o?{idempotencyKey:o}:{},createdAt:n.toISOString(),deadlineAt:new Date(n.getTime()+i).toISOString(),detail:t.trim().slice(0,2048)||"stale index observed by a command"},d=ut(e,c),a=ct(e,d,s,r.onStage);if(a.published)return{disposition:"accepted",request:s,achievedDurability:a.achievedDurability,directorySync:a.directorySync};let l=X(d);if(!l)throw new Error(`Watch refresh request identity ${c} exists but is malformed.`);return{disposition:"duplicate",request:l}}function Kt(e){let t=dt(e),r=new Map,n=lt(R(e,Q),X);for(let d of D(R(e,it))){let a=at(d);if(!a){n++;continue}r.set(a.requestId,a)}let i=new Set;for(let d of D(R(e,nt))){let a=st(d);if(!a){n++;continue}i.add(a.requestId)}let o=t.filter(d=>!r.has(d.requestId)&&!i.has(d.requestId)),c=[...r.values()].filter(d=>d.outcome==="completed").length,s=[...r.values()].filter(d=>d.outcome==="expired").length;return{pending:o.length,claimed:t.filter(d=>!r.has(d.requestId)&&i.has(d.requestId)).length,completed:c,expired:s,invalid:n,...o.length>0?{oldestPendingAt:o.map(d=>d.createdAt).reduce((d,a)=>ft(d,a))}:{}}}function X(e){return Z(e,t=>{let r=t;return r.version===L&&_(r.requestId)&&(r.idempotencyKey===void 0||typeof r.idempotencyKey=="string")&&A(r.createdAt)&&A(r.deadlineAt)&&Date.parse(r.deadlineAt)>=Date.parse(r.createdAt)&&typeof r.detail=="string"&&r.detail.length>0})}function st(e){return Z(e,t=>{let r=t;return r.version===L&&_(r.requestId)&&_(r.claimId)&&A(r.claimedAt)})}function at(e){return Z(e,t=>{let r=t;return r.version===L&&_(r.requestId)&&(r.claimId===void 0||_(r.claimId))&&(r.outcome==="completed"||r.outcome==="expired")&&A(r.completedAt)})}function ct(e,t,r,n){let i=R(e,ot),o=tt(t),c=J(i),s=J(o),d=R(i,`${et(t)}.${process.pid}.${Ae()}.tmp`);try{let a=Y(d,r,{spacing:2,trailingNewline:!0});n?.("after-staged");try{Qe(d,t)}catch(p){if(p.code==="EEXIST")return{published:!1};throw p}let l=ge(c,s,a.directorySync,ye(o));return n?.("after-published"),{published:!0,achievedDurability:l==="synced"?"directory-durable":"file-flushed",directorySync:l}}finally{Ze(d,{force:!0})}}function dt(e){let t=[];for(let r of D(R(e,Q))){let n=X(r);n&&t.push(n)}return t}function lt(e,t){return D(e).filter(r=>!t(r)).length}function D(e,t=".json"){return Ye(e)?Xe(e,{withFileTypes:!0}).filter(r=>r.isFile()&&r.name.endsWith(t)).map(r=>R(e,r.name)).sort():[]}function Z(e,t){try{let r=JSON.parse(S(e,"watch refresh request record"));return t(r)?r:null}catch{return null}}function ut(e,t){return R(e,Q,`${t}.json`)}function pt(e){if(e===void 0)return rt;if(!Number.isFinite(e)||e<=0)throw new Error("Watch refresh request ttlMs must be positive.");return Math.floor(e)}function ht(e){let t=e?.trim();return t?t.slice(0,512):void 0}function _(e){return typeof e=="string"&&/^[a-z0-9][a-z0-9-]{0,127}$/i.test(e)}function ft(e,t){return Date.parse(t)<Date.parse(e)?t:e}var _e=5e3,vt=6e3,Rt=1e3,te=10,It=new Set(["capabilities","check-deps","config-validate","doctor","init","install-skills","reindex","setup","setup-agent","status","suppress","uninstall","watch"]);function fr(e){let t=e.classification;if(t.kind!=="live")return;let{state:r}=t;return r.watcher.state==="idle"&&r.lastError===void 0?r.indexGeneration:void 0}function wt(e,t=process.env){return t.CODEBASEIQ_SKIP_WATCH_SERVICE!=="1"&&!e.startsWith("__")&&!It.has(e)}function mr(e){let t=e.env??process.env;if(t.CODEBASEIQ_SKIP_WATCH_SERVICE==="1")return{kind:"skipped",reason:"environment"};if(!wt(e.commandName,t))return{kind:"skipped",reason:"excluded-command"};if(e.config.watch?.enabled!==!0)return{kind:"skipped",reason:"disabled"};try{let r=bt({projectRoot:e.projectRoot,cacheDir:e.cacheDir,cliVersion:e.cliVersion,gitContext:e.gitContext,runtime:e.runtime});return{kind:r.disposition,state:r.state}}catch(r){return{kind:"failed",message:r instanceof Error?r.message:String(r)}}}function Oe(e,t,r){let n=F(N(e));if(r&&F(r.projectRoot)===n)return{projectRoot:n,worktreeKind:"git",worktreeId:r.worktreeId,cliVersion:t};let i=pe(n);if(i.kind==="error")throw new Error(`Could not establish Git worktree identity for ${n}: ${i.message}`);return i.kind==="non-git"?{projectRoot:n,worktreeKind:"non-git",cliVersion:t}:{projectRoot:n,worktreeKind:"git",worktreeId:i.identity.worktreeId,cliVersion:t}}function yr(e){return G(e,Oe(e.projectRoot,e.cliVersion,e.gitContext))}function G(e,t){let r=e.runtime??oe,n=v(e.cacheDir),i=k(n.statePath),o=ie(n.lockPath);return{identity:t,classification:kt(i,t,r.now(),r.isProcessAlive),lock:o,lockIsLive:o!==null&&r.isProcessAlive(o.pid),paths:n}}function bt(e){let t=e.runtime??oe,r=Oe(e.projectRoot,e.cliVersion,e.gitContext),n=G(e,r),i=re("ensure",n.classification);if(i.kind==="reuse")return M(n.paths.activityPath,t),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`codebaseiq watch service pid ${i.state.pid} is still alive but its heartbeat is old. Refusing automatic replacement because civil-clock age alone cannot authorize a process signal.`);if(i.kind==="replace")ne(i.state,e,t),x(n.paths,i.state.pid,t);else if(i.kind==="start"){if(n.lockIsLive){let s=xe(e,r,t,Math.min(e.startupTimeoutMs??1e3,1e3));if(s)return M(n.paths.activityPath,t),{disposition:"reused",state:s};throw new Error(`codebaseiq watch is already running for ${N(e.projectRoot)} (pid ${n.lock?.pid}; lock: ${n.paths.lockPath}) without compatible daemon state. Stop the foreground watcher before starting the service.`)}n.classification.kind==="stale"&&x(n.paths,n.classification.state.pid,t)}else throw new Error(`Unexpected ensure action: ${i.kind}`);if(n=G(e,r),i=re("ensure",n.classification),i.kind==="reuse")return M(n.paths.activityPath,t),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`codebaseiq watch service pid ${i.state.pid} remains alive with an old heartbeat; automatic replacement is not authorized.`);let o=e.serverPath??St(new URL("./watch-server.js",import.meta.url));t.spawnServer(o,r.projectRoot,e.cliVersion,e.watchOverrides??{});let c=xe(e,r,t,e.startupTimeoutMs??_e);if(!c)throw new Error(`codebaseiq watch service did not become ready within ${e.startupTimeoutMs??_e}ms.`);return M(n.paths.activityPath,t),{disposition:"started",state:c}}function De(e){let t=e.runtime??oe,r=v(e.cacheDir),n=k(r.statePath),i=n?t.isProcessAlive(n.pid)?{kind:"live",state:n}:{kind:"stale",state:n,reason:"dead-process"}:{kind:"stopped"},o=re("stop",i);if(o.kind==="signal-stop")return ne(o.state,e,t),x(r,o.state.pid,t),{disposition:"stopped",pid:o.state.pid};if(o.kind==="clean-stale")return x(r,o.state.pid,t),{disposition:"stopped",pid:o.state.pid};let c=ie(r.lockPath);return o.kind==="already-stopped"&&c&&t.isProcessAlive(c.pid)?(ne(c,e,t),x(r,c.pid,t),{disposition:"stopped",pid:c.pid}):{disposition:"already-stopped"}}function Le(e,t=Date.now()){W(e,{version:1,at:new Date(t).toISOString()})}function gr(e,t,r=Date.now(),n={}){Pe(v(gt(e)).refreshRequestsPath,t,{...n,now:()=>new Date(r)}),Le(e,r)}function Sr(e,t,r={}){let n=r.pid??process.pid,i=r.isProcessAlive??g,o=()=>{},c=r.readProcessIdentity??B,s=r.now??(()=>new Date),d={...z,wallNow:()=>s().getTime(),isProcessAlive:i,readProcessIdentity:c},a=Ie(e,{kind:"watch",pid:n,processIdentity:c(n),detail:{projectRoot:N(t)},parseLegacy:j,runtime:d});if(a.kind==="contended"){let l=Me(a.observation);return{acquired:!1,lockPath:e,message:Wt(e,t,l),release:o}}return{acquired:!0,lockPath:e,message:"",release:()=>{a.lock.release()}}}function ie(e){return Me(K(e,{parseLegacy:j}))}var j=e=>{let t=Ge(e);return t?{pid:t.pid,...t.processIdentity?{processIdentity:t.processIdentity}:{}}:null};function Me(e){if(e.state==="valid"&&e.record?.kind==="watch"){let t=e.record.detail?.projectRoot;return typeof t!="string"?null:{version:1,pid:e.record.pid,...e.record.processIdentity?{processIdentity:e.record.processIdentity}:{},projectRoot:t,startedAt:e.record.startedAt}}return Ge(e.parsed)}function Ge(e){try{let t=e;if(t.version!==1||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.projectRoot!="string"||!me(t.startedAt))return null;let r=t.processIdentity===void 0?null:fe(t.processIdentity);return t.processIdentity!==void 0&&(!r||r.pid!==t.pid)?null:{version:1,pid:t.pid,...r?{processIdentity:r}:{},projectRoot:t.projectRoot,startedAt:t.startedAt}}catch{return null}}function kt(e,t,r,n){if(!e)return{kind:"stopped"};if(e.protocolVersion!==V)return{kind:"incompatible",state:e,reason:"protocol"};if(e.projectRoot!==t.projectRoot)return{kind:"incompatible",state:e,reason:"project"};let i=t.worktreeKind==="git"?t.worktreeId:void 0;if(e.worktreeId!==i)return{kind:"incompatible",state:e,reason:"worktree"};if(e.cliVersion!==t.cliVersion)return{kind:"incompatible",state:e,reason:"cli-version"};if(!n(e.pid))return{kind:"stale",state:e,reason:"dead-process"};let o=Date.parse(e.heartbeatAt);return r-o>U?{kind:"stale",state:e,reason:"old-heartbeat"}:{kind:"live",state:e}}function re(e,t){switch(e){case"status":return{kind:"report",classification:t};case"ensure":switch(t.kind){case"stopped":return{kind:"start"};case"stale":return t.reason==="old-heartbeat"?{kind:"refuse-replace",state:t.state,reason:"old-heartbeat"}:{kind:"start"};case"live":return{kind:"reuse",state:t.state};case"incompatible":return{kind:"replace",state:t.state};default:return ee(t)}case"stop":switch(t.kind){case"stopped":return{kind:"already-stopped"};case"stale":return t.reason==="old-heartbeat"?{kind:"signal-stop",state:t.state}:{kind:"clean-stale",state:t.state};case"live":case"incompatible":return{kind:"signal-stop",state:t.state};default:return ee(t)}default:return ee(e)}}function xe(e,t,r,n){let i=r.monotonicNow??O,o=i()+n;for(;i()<=o;){let c=G(e,t).classification;if(c.kind==="live")return c.state;r.sleep(te)}return null}function ne(e,t,r){let{pid:n}=e;if(!r.isProcessAlive(n))return;qe(e,r),r.signalProcess(n);let i=t.stopTimeoutMs??vt,o=r.monotonicNow??O,c=o()+i;for(;o()<=c;){if(!r.isProcessAlive(n))return;r.sleep(te)}if(!r.forceSignalProcess)throw new Error(`codebaseiq watch service pid ${n} did not stop within ${i}ms and forced termination is unavailable.`);qe(e,r),r.forceSignalProcess(n);let s=t.forceStopTimeoutMs??Rt,d=o()+s;for(;o()<=d;){if(!r.isProcessAlive(n))return;let a=r.readProcessIdentity(n);if(e.processIdentity&&a&&!H(e.processIdentity,a))return;r.sleep(te)}throw new Error(`codebaseiq watch service pid ${n} remained alive ${s}ms after forced termination.`)}function x(e,t,r){if(Te(e.statePath,{force:!0}),Te(e.activityPath,{force:!0}),ie(e.lockPath)?.pid===t&&!r.isProcessAlive(t)){let i={...z,wallNow:r.now,isProcessAlive:r.isProcessAlive,readProcessIdentity:r.readProcessIdentity},o=K(e.lockPath,{parseLegacy:j,runtime:i});we(e.lockPath,o,{parseLegacy:j,runtime:i})}}function Wt(e,t,r){return`error: codebaseiq watch is already running for ${N(t)}${r?` (pid ${r.pid}, started ${r.startedAt}; lock: ${e})`:` (lock: ${e})`}. Stop that watcher before starting another.`}function M(e,t){try{(t.recordActivity??Le)(e,t.now())}catch(r){let n=Ct(r);if(n!=="EPERM"&&n!=="EACCES"&&n!=="EROFS")throw r}}function Ct(e){return e.code}var oe={now:Date.now,monotonicNow:O,isProcessAlive:g,readProcessIdentity:B,spawnServer(e,t,r,n){if(!yt(e))throw new Error(`Watch service helper was not found at ${e}. Run npm run build first.`);mt(process.execPath,[e,t,r,JSON.stringify(n)],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CODEBASEIQ_SKIP_WATCH_SERVICE:"1"}}).unref()},signalProcess(e){process.kill(e,"SIGTERM")},forceSignalProcess(e){process.kill(e,"SIGKILL")},sleep(e){let t=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(t,0,0,e)}};function qe(e,t){if(!e.processIdentity)throw new Error(`Refusing to signal codebaseiq watch pid ${e.pid}: its ownership record has no process identity.`);let r=t.readProcessIdentity(e.pid);if(!r)throw new Error(`Refusing to signal codebaseiq watch pid ${e.pid}: its process identity is unavailable.`);if(!H(e.processIdentity,r))throw new Error(`Refusing to signal codebaseiq watch pid ${e.pid}: its process identity does not match the ownership record.`)}function ee(e){throw new Error(`Unhandled watch service value: ${JSON.stringify(e)}`)}import{existsSync as E,lstatSync as b,readdirSync as $e,realpathSync as je,rmSync as w,statSync as Fe}from"fs";import{join as u,resolve as q,sep as He}from"path";var Et=3600*1e3,At=2*1024*1024*1024,ce=300*1e3,Pt="gc-state.json",Tt="gc.lock",_t="projects-gc-state.json",xt="projects-gc.lock",qt=1440*60*1e3;function Ot(e){let t=e.leases.filter(s=>s.managed&&!s.live&&!s.busy),r=Be(e.leases,e.locks),n={};for(let s of e.generations)r.has(s.generationId)||(n[s.generationId]=s.unreferencedAt??e.nowMs);let i=e.generations.filter(s=>!r.has(s.generationId)).sort((s,d)=>n[s.generationId]-n[d.generationId]||s.generationId.localeCompare(d.generationId)),o=new Set;for(let s of i)e.nowMs-n[s.generationId]>=e.policy.generationTtlMs&&o.add(s.generationId);let c=e.generations.filter(s=>!o.has(s.generationId)).reduce((s,d)=>s+d.size,0);for(let s of i){if(c<=e.policy.budgetBytes)break;o.has(s.generationId)||(o.add(s.generationId),c-=s.size)}for(let s of o)delete n[s];return{deleteWorktrees:t,deleteGenerations:e.generations.filter(s=>o.has(s.generationId)),deleteLocks:e.locks.filter(s=>!s.live),deleteTemporaries:e.temporaries.filter(s=>!s.live),protectedGenerationIds:[...r].sort(),unreferencedSince:n}}function Be(e,t){let r=new Set(e.filter(n=>n.managed&&(n.live||n.busy)).flatMap(n=>[n.lease.baseGenerationId,n.lease.activeGenerationId]).filter(n=>n!==void 0));for(let n of t)n.live&&r.add(n.generationId);return r}function qr(e,t,r={}){if(!Re())return{kind:"disabled"};let n=$(e);if(!n)return{kind:"unavailable"};let i=u(I(),"repositories",n.repositoryId),o=(r.now??Date.now)(),c=E(i)?Ve(e,i,n.repositoryId,t,o,r):{kind:"unavailable"};return Mt(e,n.repositoryId,t,o,r),Dt(o,r),c}function Dt(e,t){let r=u(I(),"projects"),n={examined:0,reclaimed:0};if(!E(r))return n;let i=u(r,_t),o=ze(i);if(!t.force&&o!==void 0&&e-o<ce)return n;let c=T(u(r,xt));if(!c)return n;try{for(let s of C(r)){let d=u(r,s),a;try{a=b(d)}catch{continue}if(!(!a.isDirectory()||a.isSymbolicLink())&&(n.examined+=1,!!Lt(d,e)))try{w(d,{recursive:!0,force:!0}),n.reclaimed+=1}catch{}}W(i,{version:1,lastSweepAt:new Date(e).toISOString()},{spacing:2,trailingNewline:!0})}finally{c.release()}return n}function Lt(e,t){let r=u(e,Se),n;try{let c=JSON.parse(S(r,"cache-ownership"));if(typeof c.canonicalProjectRoot!="string"||c.canonicalProjectRoot.length===0)return!1;n=c.canonicalProjectRoot}catch{return!1}if(E(n))return!1;try{if(t-b(e).mtimeMs<qt)return!1}catch{return!1}let i=k(v(e).statePath);if(i&&g(i.pid))return!1;let o=T(u(e,"cache-lifecycle.lock"));return o===null?!1:(o.release(),!0)}function Ve(e,t,r,n,i,o){let c=u(t,"gc-state.json"),s=Je(c);if(!o.force&&s&&i-Date.parse(s.lastSweepAt)<ce)return{kind:"throttled",sweptAt:s.lastSweepAt};let d=be(t,{now:()=>i});if(!d)return{kind:"busy"};try{let a=Ue(e,t,r,s?.unreferencedSince??{}),l=Ot({nowMs:i,...a,policy:{generationTtlMs:o.policy?.generationTtlMs??Et,budgetBytes:o.policy?.budgetBytes??At}}),p=0,f=0;for(let h of l.deleteWorktrees){if(!de(h.lease))continue;if(!E(h.lease.localCacheDir)){w(h.leasePath,{force:!0}),f+=1;continue}if(!jt(h.lease))continue;let ue=T(u(h.lease.localCacheDir,"cache-lifecycle.lock"));if(ue)try{if(se(h.lease,!0))continue;try{De({projectRoot:h.lease.projectRoot,cacheDir:h.lease.localCacheDir,cliVersion:n})}catch{continue}if(se(h.lease,!0))continue;w(h.lease.localCacheDir,{recursive:!0,force:!0}),w(h.leasePath,{force:!0}),f+=1}finally{ue.release()}}for(let h of l.deleteLocks)w(h.path,{force:!0});for(let h of l.deleteTemporaries)w(h.path,{recursive:!0,force:!0});for(let h of l.deleteGenerations)w(h.path,{recursive:!0,force:!0}),p+=h.size;Ee(u(t,"evidence.db"));let y={kind:"swept",sweptAt:new Date(i).toISOString(),deletedWorktrees:f,deletedGenerations:l.deleteGenerations.length,deletedBytes:p,protectedGenerations:l.protectedGenerationIds.length},m={version:1,lastSweepAt:y.sweptAt,unreferencedSince:l.unreferencedSince,lastResult:y};return W(c,m,{spacing:2,trailingNewline:!0}),y}catch(a){return{kind:"failed",error:a instanceof Error?a.message:String(a)}}finally{d.release()}}function Mt(e,t,r,n,i){let o=u(I(),"repositories");if(!E(o))return;let c=u(o,Pt),s=ze(c);if(!i.force&&s!==void 0&&n-s<ce)return;let d=T(u(o,Tt));if(d)try{for(let a of C(o)){if(a===t||!/^[a-f0-9]{24}$/.test(a))continue;let l=u(o,a),p;try{p=b(l)}catch{continue}if(!p.isDirectory()||p.isSymbolicLink())continue;let f=Nt(l)??e;Ve(f,l,a,r,n,i)}W(c,{version:1,lastSweepAt:new Date(n).toISOString()},{spacing:2,trailingNewline:!0})}finally{d.release()}}function Or(e,t,r){let n=ke(e,r.dbPath,t);if(n)return{state:"bypassed",reason:n,localCacheDir:r.cacheDir,generations:0,generationBytes:0,protectedGenerations:0,unreferencedGenerations:0,unreferencedBytes:0,temporaryGenerations:0,sharedEvidence:{exists:!1,bytes:0}};let i=$(e);if(!i)return{state:"unavailable",reason:"Git worktree identity is unavailable",localCacheDir:r.cacheDir,generations:0,generationBytes:0,protectedGenerations:0,unreferencedGenerations:0,unreferencedBytes:0,temporaryGenerations:0,sharedEvidence:{exists:!1,bytes:0}};let o=u(I(),"repositories",i.repositoryId),c=le(u(o,"worktrees",`${i.worktreeId}.json`)),s=Je(u(o,"gc-state.json")),d=Ue(e,o,i.repositoryId,s?.unreferencedSince??{}),a=Be(d.leases,d.locks),l=d.generations.filter(m=>!a.has(m.generationId)),p=d.generations.reduce((m,h)=>m+h.size,0),f=We(e,t),y=0;return f&&(y=Gt(f)),{state:"managed",repositoryId:i.repositoryId,worktreeId:i.worktreeId,localCacheDir:r.cacheDir,...c?{baseGenerationId:c.baseGenerationId,activeGenerationId:c.activeGenerationId,lastAction:c.lastAction,reason:c.lastReason,lastSeenAt:c.lastSeenAt}:{},generations:d.generations.length,generationBytes:p,protectedGenerations:d.generations.filter(m=>a.has(m.generationId)).length,unreferencedGenerations:l.length,unreferencedBytes:l.reduce((m,h)=>m+h.size,0),temporaryGenerations:d.temporaries.length,sharedEvidence:{path:f,exists:y>0,bytes:y},cleanup:s?.lastResult}}function Gt(e){return[e,`${e}-wal`,`${e}-shm`].reduce((t,r)=>{try{return t+Fe(r).size}catch{return t}},0)}function Ue(e,t,r,n){let i=new Set(he(e).map(a=>q(a.path))),o=[];for(let a of C(u(t,"worktrees"))){if(!a.endsWith(".json"))continue;let l=u(t,"worktrees",a),p=le(l);if(!p)continue;let f=q(p.projectRoot);o.push({leasePath:l,lease:p,managed:p.repositoryId===r&&de(p),live:i.has(f)||E(f),busy:se(p)})}let c=[];for(let a of C(u(t,"locks"))){let l=/^([a-f0-9]{64})\.lock$/.exec(a);if(!l)continue;let p=u(t,"locks",a),f=ae(p),y=f!==void 0&&g(f),m=l[1];c.push({generationId:m,path:p,live:y})}let s=[],d=[];for(let a of C(u(t,"generations"))){let l=/^\.tmp-(\d+)-/.exec(a);if(l){let y=u(t,"generations",a),m=Number(l[1]);try{d.push({path:y,size:Ne(y),live:Number.isSafeInteger(m)&&g(m)})}catch{}continue}if(!/^[a-f0-9]{64}$/.test(a))continue;let p=u(t,"generations",a),f;try{f=b(p)}catch{continue}!f.isDirectory()||f.isSymbolicLink()||s.push({generationId:a,path:p,size:Ne(p),...n[a]===void 0?{}:{unreferencedAt:n[a]}})}return{leases:o,generations:s,locks:c,temporaries:d}}function de(e){if(e.ownershipChecksum!==Ce(e)||P(e.localCacheDir)!==P(ve(e.projectRoot)))return!1;let t=P(u(I(),"projects"));return P(e.localCacheDir).startsWith(`${t}${He}`)}function jt(e){if(!de(e))return!1;let t=q(I()),r=q(u(t,"projects")),n=q(e.localCacheDir);try{let i=b(t),o=b(r),c=b(n);if(!i.isDirectory()||i.isSymbolicLink()||!o.isDirectory()||o.isSymbolicLink()||!c.isDirectory()||c.isSymbolicLink())return!1;let s=je(r);return je(n).startsWith(`${s}${He}`)}catch{return!1}}function Nt(e){for(let t of C(u(e,"worktrees"))){if(!t.endsWith(".json"))continue;let r=le(u(e,"worktrees",t));if(r)return r.projectRoot}}function se(e,t=!1){for(let n of t?["index.lock"]:["index.lock","cache-lifecycle.lock"]){let i=ae(u(e.localCacheDir,n));if(i!==void 0&&g(i))return!0}let r=ae(v(e.localCacheDir).lockPath);return r!==void 0&&g(r)}function le(e){try{let t=JSON.parse(S(e,"worktree cache lease"));return t.version!==1||typeof t.repositoryId!="string"||typeof t.worktreeId!="string"||typeof t.projectRoot!="string"||t.treeOid!==void 0&&typeof t.treeOid!="string"||typeof t.localCacheDir!="string"||t.baseGenerationId!==void 0&&typeof t.baseGenerationId!="string"||t.activeGenerationId!==void 0&&typeof t.activeGenerationId!="string"||typeof t.ownershipChecksum!="string"||!/^[a-f0-9]{64}$/.test(t.ownershipChecksum)||typeof t.lastAction!="string"||t.lastReason!==void 0&&typeof t.lastReason!="string"||typeof t.lastSeenAt!="string"?null:t}catch{return null}}function ae(e){try{let t=JSON.parse(S(e,"watch lock record"));return typeof t.pid=="number"&&Number.isSafeInteger(t.pid)&&t.pid>0?t.pid:void 0}catch{return}}function Je(e){try{let t=JSON.parse(S(e,"repository cache GC state"));return t.version!==1||typeof t.lastSweepAt!="string"||!Number.isFinite(Date.parse(t.lastSweepAt))||!t.unreferencedSince||typeof t.unreferencedSince!="object"||!t.lastResult?null:t}catch{return null}}function ze(e){try{let t=JSON.parse(S(e,"global repository cache GC state"));if(t.version!==1||typeof t.lastSweepAt!="string")return;let r=Date.parse(t.lastSweepAt);return Number.isFinite(r)?r:void 0}catch{return}}function C(e){try{return $e(e)}catch{return[]}}function Ne(e){let t=0,r=[e];for(;r.length>0;){let n=r.pop();for(let i of $e(n,{withFileTypes:!0})){let o=u(n,i.name);i.isDirectory()?r.push(o):i.isFile()&&(t+=Fe(o).size)}}return t}export{Kt as a,fr as b,wt as c,mr as d,yr as e,bt as f,De as g,gr as h,Sr as i,qr as j,Or as k};
|
|
3
|
+
//# sourceMappingURL=chunk-DR2LURYU.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var d={"/":"namespace","#":"type",".":"term","[":"type-param",":":"meta","!":"macro"};function l(e){if(e.startsWith("local "))return{kind:"local",id:e.slice(6),raw:e};let t=e.split(" ");if(t.length<4)return{scheme:t[0]??"",manager:t[1]??"",packageName:t[2]??"",version:"",descriptors:[],raw:e};let s=t[0],i=t[1],n=e.slice(s.length+1+i.length+1),r;if(n.startsWith("`")){let f=n.indexOf("`",1);f===-1?(r=n.slice(1),n=""):(r=n.slice(1,f),n=n.slice(f+2))}else{let f=n.indexOf(" ");f===-1?(r=n,n=""):(r=n.slice(0,f),n=n.slice(f+1))}let o,c=n.indexOf(" ");c===-1?(o=n,n=""):(o=n.slice(0,c),n=n.slice(c+1));let a=m(n);return{scheme:s,manager:i,packageName:r,version:o,descriptors:a,raw:e}}function b(e){let t=l(e);if("kind"in t)return null;for(let s=t.descriptors.length-2;s>=0;s--){let i=t.descriptors[s];if(i?.suffix==="type")return i.name}return null}function m(e){let t=[],s=0;for(;s<e.length;){if(e[s]==="["){let r=e.indexOf("]",s+1);if(r===-1){t.push({name:e.slice(s+1),suffix:"type-param"});break}t.push({name:e.slice(s+1,r),suffix:"type-param"}),s=r+1;continue}if(e[s]==="("&&(t.length===0||s===0||u(e[s-1]))){let r=e.indexOf(")",s+1);if(r!==-1&&e[r+1]!=="."){t.push({name:e.slice(s+1,r),suffix:"parameter"}),s=r+1;continue}}let i;if(e[s]==="`"){let r=e.indexOf("`",s+1);if(r===-1){i=e.slice(s+1),t.push({name:i,suffix:"term"});break}i=e.slice(s+1,r),s=r+1}else{let r=s;for(;s<e.length&&!u(e[s]);)s++;i=e.slice(r,s)}if(s>=e.length){i&&t.push({name:i,suffix:"term"});break}let n=e[s];if(n==="("){let r=e.indexOf(")",s+1);r!==-1&&e[r+1]==="."?(t.push({name:i,suffix:"method"}),s=r+2):r!==-1?(t.push({name:i,suffix:"method"}),s=r+1):(t.push({name:i,suffix:"term"}),s++)}else{let r=d[n];r&&t.push({name:i,suffix:r}),s+=1}}return t}function u(e){return e==="/"||e==="#"||e==="."||e==="("||e==="["||e===":"||e==="!"}function y(e){let t=l(e);if("kind"in t&&t.kind==="local")return`local:${t.id}`;let s=t;if(s.descriptors.length===0)return s.raw;let i=[];for(let n of s.descriptors){let r=g(n);r&&i.push(r)}return i.join(":")}function g(e){let t=e.suffix==="namespace"?h(e.name):e.name;return t?e.suffix==="method"?`${t}()`:t:""}function h(e){return e.replace(/\.(ts|tsx|js|jsx|mjs|cjs)$/,"").replace(/\.(py|pyi)$/,"").replace(/\.(rs)$/,"").replace(/\.(java|scala|kt|kts)$/,"").replace(/\.(rb)$/,"").replace(/\.(go)$/,"").replace(/\.(cs|vb)$/,"").replace(/\.(dart)$/,"").replace(/\.(php)$/,"").replace(/\.(c|cc|cpp|cxx|h|hpp)$/,"")}function k(e){let t=l(e);if("kind"in t&&t.kind==="local")return t.id;let s=t;return s.descriptors.length===0?"":s.descriptors[s.descriptors.length-1].name}function p(e){let t=l(e);if("kind"in t&&t.kind==="local")return null;let s=t;return s.descriptors[s.descriptors.length-1]?.suffix??null}function D(e){return e.endsWith("().")||p(e)==="method"}function $(e){let t=p(e);return t==="method"?!0:t!=="term"?!1:e.endsWith("().")?!0:e.startsWith("rust-analyzer ")&&e.includes("#")?!1:e.startsWith("scip-typescript ")?!/#[A-Za-z0-9_$]+\.$/.test(e):!0}function T(e){return p(e)==="namespace"}var x=/^rust-analyzer\b.*[\s/]impl#\[[^\]]+\]\[[^\]]+\]/;function M(e){return x.test(e)}var S=new Set(["test","tests","_tests"]);function O(e){let t=l(e);if("kind"in t)return!1;for(let s=0;s<t.descriptors.length-1;s+=1){let i=t.descriptors[s];if(i?.suffix==="namespace"&&i.name&&S.has(i.name))return!0}return!1}function _(e,t){let s=l(e),i=l(t);if("kind"in s||"kind"in i)return!1;let n=s.descriptors,r=i.descriptors;if(r.length!==n.length+1)return!1;for(let o=0;o<n.length;o++){let c=n[o],a=r[o];if(c.name!==a.name||c.suffix!==a.suffix)return!1}return!0}function j(e,t){let s=l(e),i=l(t);if("kind"in s||"kind"in i)return!1;let n=s.descriptors,r=i.descriptors;if(r.length<=n.length)return!1;for(let o=0;o<n.length;o++){let c=n[o],a=r[o];if(c.name!==a.name||c.suffix!==a.suffix)return!1}return!0}export{l as a,b,y as c,k as d,p as e,D as f,$ as g,T as h,M as i,O as j,_ as k,j as l};
|
|
2
|
+
//# sourceMappingURL=chunk-DRENNWRG.js.map
|