scip-query 0.22.0 → 0.23.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 +257 -0
- package/README.md +11 -0
- package/dist/augment-vue-worker.js +1 -1
- package/dist/by-kind-XI2CSWEY.js +2 -0
- package/dist/call-graph-UONR6JR5.js +2 -0
- package/dist/{chunk-FGNCOQUX.js → chunk-2E7CX53V.js} +2 -2
- package/dist/chunk-2GRUZAQF.js +43 -0
- package/dist/{chunk-DPWKKNKI.js → chunk-2LDBDR6J.js} +2 -2
- package/dist/{chunk-JHH5SCZ3.js → chunk-2OOY75BW.js} +2 -2
- package/dist/{chunk-XGGBK66W.js → chunk-2R3V3PSD.js} +2 -2
- package/dist/chunk-2WC2OEDO.js +4 -0
- package/dist/{chunk-57N6LN2A.js → chunk-3AF4TUFK.js} +2 -2
- package/dist/{chunk-2RE5OCHZ.js → chunk-3D3QG236.js} +2 -2
- package/dist/{chunk-D2MVJSP4.js → chunk-3FHOF22C.js} +2 -2
- package/dist/{chunk-7XZGZBSQ.js → chunk-3JKSW6LJ.js} +2 -2
- package/dist/chunk-3L2ZBPEX.js +133 -0
- package/dist/{chunk-NVSZNESQ.js → chunk-3PJABJSU.js} +2 -2
- package/dist/{chunk-WOOAY3PA.js → chunk-3SVF22I5.js} +2 -2
- package/dist/{chunk-YAGYMBEX.js → chunk-3WR4E3A3.js} +2 -2
- package/dist/chunk-4FTZ4P5G.js +2 -0
- package/dist/{chunk-F24G5NBE.js → chunk-4ILJCCXV.js} +2 -2
- package/dist/chunk-4UX2F3JX.js +2 -0
- package/dist/chunk-4WNW27SX.js +2 -0
- package/dist/chunk-5ENOG4VP.js +61 -0
- package/dist/{chunk-RHHCLWQ6.js → chunk-64BFSI5I.js} +2 -2
- package/dist/chunk-66DVSJQG.js +455 -0
- package/dist/{chunk-ISWFRGJ6.js → chunk-6HFCYNYE.js} +2 -2
- package/dist/{chunk-Y2VM4CJC.js → chunk-6I6L7Z62.js} +2 -2
- package/dist/{chunk-CKRWA452.js → chunk-6PQNKL3G.js} +2 -2
- package/dist/{chunk-GPGRZJ3R.js → chunk-6V5CNXL6.js} +2 -2
- package/dist/chunk-6VVV4WRR.js +4 -0
- package/dist/{chunk-BDGTPN27.js → chunk-7BWFZPPZ.js} +2 -2
- package/dist/{chunk-25GWKRUZ.js → chunk-7CYG22FH.js} +2 -2
- package/dist/chunk-7F45LJKI.js +2 -0
- package/dist/{chunk-4TQU4TX2.js → chunk-7IWV2EG3.js} +2 -2
- package/dist/{chunk-UDY7MIAW.js → chunk-AFHTBORT.js} +2 -2
- package/dist/chunk-AVRYW5OZ.js +2 -0
- package/dist/chunk-B3PYOSCX.js +2 -0
- package/dist/{chunk-RNKPYYYE.js → chunk-B5D7QPBE.js} +2 -2
- package/dist/{chunk-FFJQZG6J.js → chunk-BBCIS4DX.js} +2 -2
- package/dist/chunk-BDUVI7TO.js +3 -0
- package/dist/{chunk-BVFYEEBH.js → chunk-BE7ZZTMC.js} +2 -2
- package/dist/{chunk-NEIQPFBI.js → chunk-BHVUJOCQ.js} +2 -2
- package/dist/chunk-BKVWUP7Y.js +2 -0
- package/dist/{chunk-IJMD6BRI.js → chunk-BQGB4HBD.js} +2 -2
- package/dist/{chunk-ERCYGVAM.js → chunk-BRV7PIFF.js} +2 -2
- package/dist/chunk-CEEZJXEF.js +2 -0
- package/dist/{chunk-BTVKZGWT.js → chunk-CIYLO6SI.js} +2 -2
- package/dist/chunk-CJZXN4NU.js +2 -0
- package/dist/{chunk-VXJJTQYE.js → chunk-CNO7TOKL.js} +2 -2
- package/dist/{chunk-ZZ3Z7D56.js → chunk-COF23M5F.js} +2 -2
- package/dist/{chunk-ZGW4HLPD.js → chunk-CWFP7GM5.js} +2 -2
- package/dist/chunk-D2DHWI3D.js +2 -0
- package/dist/{chunk-Q55NF3ZG.js → chunk-D4N5SQ2M.js} +2 -2
- package/dist/{chunk-LXQUF2RP.js → chunk-DBRSYFXR.js} +2 -2
- package/dist/{chunk-PXXYQK55.js → chunk-DHUIOLDT.js} +2 -2
- package/dist/{chunk-KZYID5KV.js → chunk-DIRJWYBM.js} +2 -2
- package/dist/{chunk-IKVNEGTW.js → chunk-DIUFNHRJ.js} +2 -2
- package/dist/{chunk-CLG6DWVS.js → chunk-DTZCKZEU.js} +2 -2
- package/dist/{chunk-Z2PZVKPR.js → chunk-DULC3QFP.js} +2 -2
- package/dist/{chunk-AYPDH2LU.js → chunk-DYGHBZ2N.js} +2 -2
- package/dist/{chunk-JJ62MTQH.js → chunk-E5R6AQ73.js} +2 -2
- package/dist/{chunk-BWVQP3LB.js → chunk-E73UNJTF.js} +2 -2
- package/dist/{chunk-GVOMSPGL.js → chunk-EG2CPZMJ.js} +2 -2
- package/dist/{chunk-56NQAEPJ.js → chunk-EKV5HX33.js} +2 -2
- package/dist/{chunk-GDRJB3SB.js → chunk-EQHFIL6T.js} +2 -2
- package/dist/{chunk-EWWY2ZFL.js → chunk-ESIQ66Z7.js} +2 -2
- package/dist/chunk-EVFUMY4R.js +3 -0
- package/dist/{chunk-ZYM4HOFA.js → chunk-F7DY272B.js} +2 -2
- package/dist/chunk-FBN2FGXG.js +2 -0
- package/dist/{chunk-AZS7YPCB.js → chunk-FDLOBR6P.js} +2 -2
- package/dist/chunk-FESCRNVV.js +5 -0
- package/dist/{chunk-URSGGIZX.js → chunk-FFRKR4EQ.js} +2 -2
- package/dist/chunk-FGA2U4OR.js +8 -0
- package/dist/{chunk-7YQOCABQ.js → chunk-FIQRSHVM.js} +2 -2
- package/dist/{chunk-KFVSJX25.js → chunk-FPYLNQPT.js} +2 -2
- package/dist/{chunk-FELGD32K.js → chunk-FRUSVINH.js} +2 -2
- package/dist/chunk-GAS2LJMP.js +3 -0
- package/dist/{chunk-OTSPRVNW.js → chunk-GSP44ENC.js} +2 -2
- package/dist/{chunk-K3XFWJI2.js → chunk-GUFSG5TX.js} +2 -2
- package/dist/chunk-GYIZ4NXB.js +2 -0
- package/dist/{chunk-2OXVP5U5.js → chunk-GZIUDL6G.js} +2 -2
- package/dist/chunk-HCXEQRFF.js +18 -0
- package/dist/{chunk-LO5JSW2C.js → chunk-HEHOQQKH.js} +2 -2
- package/dist/{chunk-U2N2KE7A.js → chunk-HKGFPJ4T.js} +2 -2
- package/dist/chunk-HLZTEXRA.js +2 -0
- package/dist/{chunk-EELPBR7E.js → chunk-HOENASQM.js} +2 -2
- package/dist/{chunk-VTCIYFEK.js → chunk-HVF5VBG6.js} +2 -2
- package/dist/{chunk-TH6IC56G.js → chunk-HYO3NP5Q.js} +2 -2
- package/dist/{chunk-OPSAW5DT.js → chunk-I55I7XXP.js} +2 -2
- package/dist/{chunk-DEAB5TGT.js → chunk-IDFEUFKS.js} +2 -2
- package/dist/{chunk-DJAO2OZJ.js → chunk-IHGQTTVW.js} +2 -2
- package/dist/{chunk-XU75YQN4.js → chunk-IICPE7B2.js} +2 -2
- package/dist/{chunk-GY7CCCEZ.js → chunk-IL676XCC.js} +2 -2
- package/dist/{chunk-4HE7MVWD.js → chunk-ILTDAWEF.js} +2 -2
- package/dist/chunk-IZDPJ2QI.js +2 -0
- package/dist/{chunk-5YRQIE2B.js → chunk-J66VOFW6.js} +2 -2
- package/dist/{chunk-SB25YMEQ.js → chunk-JFMEXGFE.js} +2 -2
- package/dist/{chunk-QLBSG7U5.js → chunk-JGKUET5J.js} +2 -2
- package/dist/{chunk-VZ7NXSHV.js → chunk-JS4PGXMV.js} +2 -2
- package/dist/{chunk-ZAZGGSM3.js → chunk-JTQVMR42.js} +2 -2
- package/dist/chunk-JWTGMPIT.js +80 -0
- package/dist/{chunk-5ZMBRQFC.js → chunk-JYR66JN5.js} +2 -2
- package/dist/chunk-KLFEXGQA.js +2 -0
- package/dist/chunk-KYSDI3GE.js +5 -0
- package/dist/{chunk-MSR2QRUE.js → chunk-L6PJPETJ.js} +2 -2
- package/dist/{chunk-VU6LIWHT.js → chunk-LDVT66YM.js} +2 -2
- package/dist/chunk-LEECKFCJ.js +2 -0
- package/dist/{chunk-H7CG6LOE.js → chunk-LMZ5PRUV.js} +2 -2
- package/dist/{chunk-ZPASRBLF.js → chunk-LQRQN2XA.js} +2 -2
- package/dist/{chunk-HISEUIL2.js → chunk-LXABEJX3.js} +2 -2
- package/dist/{chunk-WHADK6OS.js → chunk-M2O5NY6W.js} +2 -2
- package/dist/{chunk-Y334QQU5.js → chunk-MNV5FSBW.js} +2 -2
- package/dist/{chunk-RYOYJMGF.js → chunk-MPQ4OTBM.js} +2 -2
- package/dist/{chunk-6NC3YSPY.js → chunk-MV3CDXPI.js} +2 -2
- package/dist/{chunk-NRBNAECH.js → chunk-MWN53KRN.js} +2 -2
- package/dist/chunk-N2ZSIIGR.js +117 -0
- package/dist/chunk-N5B2NILC.js +5 -0
- package/dist/{chunk-Q6T2CAJL.js → chunk-NJITK2GP.js} +2 -2
- package/dist/{chunk-ENWQWA2R.js → chunk-NOGJXYFO.js} +2 -2
- package/dist/{chunk-V4NG5OMS.js → chunk-NOYBFVJA.js} +106 -106
- package/dist/chunk-NWQXSFFU.js +3 -0
- package/dist/chunk-ODDUPDP7.js +13 -0
- package/dist/{chunk-A77SCPW2.js → chunk-OLIWTZI3.js} +2 -2
- package/dist/{chunk-XFMVKFSF.js → chunk-OLNV6I6U.js} +2 -2
- package/dist/{chunk-QKT4UI2Y.js → chunk-OR2E3AGZ.js} +2 -2
- package/dist/chunk-OSR2GEHQ.js +2 -0
- package/dist/{chunk-5H5WTJSD.js → chunk-OSSESPDX.js} +2 -2
- package/dist/{chunk-KQHJEU6V.js → chunk-OWOOWNJ5.js} +2 -2
- package/dist/{chunk-GRX7JOXQ.js → chunk-P42EIXTA.js} +2 -2
- package/dist/{chunk-AQ2PORIO.js → chunk-PJFGPYTU.js} +2 -2
- package/dist/{chunk-LRI5OMPE.js → chunk-PP7KNN7L.js} +2 -2
- package/dist/{chunk-PLJUQFQN.js → chunk-PU7T5QYQ.js} +2 -2
- package/dist/{chunk-JUN5DOAK.js → chunk-PWWAJSKV.js} +2 -2
- package/dist/{chunk-7IQXARSQ.js → chunk-PZL5T7SU.js} +2 -2
- package/dist/{chunk-UAQ4T73O.js → chunk-QBE3YX64.js} +2 -2
- package/dist/{chunk-3TJY6M3B.js → chunk-QGVTFRY2.js} +2 -2
- package/dist/chunk-QOJONDS7.js +2 -0
- package/dist/chunk-QU5XRYB5.js +4 -0
- package/dist/{chunk-2KVU55CW.js → chunk-QUU5OBVK.js} +2 -2
- package/dist/{chunk-Q5TA4OY4.js → chunk-RBLQNW26.js} +2 -2
- package/dist/chunk-RTQ7NEKG.js +81 -0
- package/dist/{chunk-F24QUEQP.js → chunk-SQXRS7BG.js} +2 -2
- package/dist/chunk-SSK6LDPC.js +2 -0
- package/dist/chunk-SZHGTCPP.js +7 -0
- package/dist/chunk-T4N4P2K5.js +16 -0
- package/dist/chunk-TA3QKLLU.js +2 -0
- package/dist/chunk-TEBQMNVI.js +43 -0
- package/dist/{chunk-NK3JMP22.js → chunk-TPFHAQ2G.js} +2 -2
- package/dist/chunk-TQPCBMWT.js +5 -0
- package/dist/{chunk-HG722PO7.js → chunk-TRNAEQ6P.js} +2 -2
- package/dist/chunk-TY7CRN3Z.js +2 -0
- package/dist/{chunk-7XA3OM44.js → chunk-UHFYCMZO.js} +2 -2
- package/dist/{chunk-ARVO6TTW.js → chunk-UICY4GTQ.js} +2 -2
- package/dist/{chunk-SWK4XPUS.js → chunk-UVGEWT4Y.js} +2 -2
- package/dist/{chunk-GIQ6CSL4.js → chunk-UXW33INU.js} +2 -2
- package/dist/{chunk-RDULNRSJ.js → chunk-VMPRET3I.js} +2 -2
- package/dist/{chunk-I6UTXNHU.js → chunk-VNLGKHS6.js} +2 -2
- package/dist/{chunk-44T4DUAA.js → chunk-VQILFTEH.js} +2 -2
- package/dist/{chunk-N7FP5H5U.js → chunk-VUPHCS7Y.js} +8 -8
- package/dist/{chunk-JAT6C3VX.js → chunk-VVZSBTSU.js} +2 -2
- package/dist/{chunk-FBCVASUG.js → chunk-VZRNID6A.js} +2 -2
- package/dist/{chunk-TUQIPUDS.js → chunk-W5OXRYGE.js} +2 -2
- package/dist/chunk-W6STWDQI.js +57 -0
- package/dist/chunk-W7CXK74K.js +2 -0
- package/dist/chunk-WB3WYIRE.js +4 -0
- package/dist/{chunk-C76O5MDS.js → chunk-WDNVY4E7.js} +2 -2
- package/dist/{chunk-TAYD3AE7.js → chunk-WIWY3CRX.js} +2 -2
- package/dist/chunk-WK46TNUM.js +3 -0
- package/dist/chunk-WNTFFKAX.js +12 -0
- package/dist/{chunk-JFQBRL3J.js → chunk-WOIKCX6A.js} +2 -2
- package/dist/{chunk-PIFTZEEM.js → chunk-WUN6KBHV.js} +2 -2
- package/dist/chunk-WYCTJDVR.js +2 -0
- package/dist/chunk-WYPL7GF7.js +2 -0
- package/dist/{chunk-XN22RGSR.js → chunk-XBGWL66K.js} +2 -2
- package/dist/{chunk-R6M456QG.js → chunk-XDQMU3BT.js} +2 -2
- package/dist/{chunk-XJX6LGHL.js → chunk-XFA4SSO3.js} +2 -2
- package/dist/{chunk-2YC7YNKT.js → chunk-XGZEP6GR.js} +2 -2
- package/dist/chunk-XPDPNWTQ.js +368 -0
- package/dist/chunk-XRYABF57.js +8 -0
- package/dist/{chunk-YIHNPKWD.js → chunk-YBGKCQIS.js} +2 -2
- package/dist/{chunk-2XCGSDIT.js → chunk-YEN6CYC7.js} +2 -2
- package/dist/{chunk-VMWUV6WB.js → chunk-YF5IB2LF.js} +2 -2
- package/dist/{chunk-TNG2FYS5.js → chunk-YI2AWIHC.js} +2 -2
- package/dist/{chunk-EELG7D3Q.js → chunk-YPWBKGFU.js} +2 -2
- package/dist/{chunk-GQIDEID3.js → chunk-YPWHBBIS.js} +2 -2
- package/dist/{chunk-TKDNDQA7.js → chunk-YSH6U3L4.js} +2 -2
- package/dist/{chunk-BUTEIZKP.js → chunk-YU5DZUZI.js} +2 -2
- package/dist/chunk-YWO5DDRC.js +16 -0
- package/dist/{chunk-6HRZQLOI.js → chunk-Z4CDXYNQ.js} +2 -2
- package/dist/{chunk-XSWYJCAK.js → chunk-ZF5KHH7C.js} +2 -2
- package/dist/chunk-ZOHS7AQV.js +21 -0
- package/dist/{chunk-7U2YQSDE.js → chunk-ZTI4SBFV.js} +2 -2
- package/dist/cli-main.js +2 -2
- package/dist/code-MI6F2TTU.js +2 -0
- package/dist/code-result-json-FXALY4HE.js +2 -0
- package/dist/{command-descriptors-ORNTVNYV.js → command-descriptors-P34VABY5.js} +136 -135
- package/dist/dataflow-4KEMJPC6.js +2 -0
- package/dist/dependence-slice-R7FPWD5M.js +2 -0
- package/dist/deps-7EMQUYUT.js +2 -0
- package/dist/direct-navigation-6YO234F2.js +3 -0
- package/dist/entry-map-KOOLR26E.js +2 -0
- package/dist/files-OPIPJIGZ.js +2 -0
- package/dist/hierarchy-QPD2CAER.js +2 -0
- package/dist/imports-M6HUXRXC.js +2 -0
- package/dist/index.js +1 -1
- package/dist/members-I5MEFOCT.js +2 -0
- package/dist/methods-5JYGGHXA.js +2 -0
- package/dist/output-continuation-command-UPQAAKBP.js +3 -0
- package/dist/postinstall.js +1 -1
- package/dist/project-reindex-UKKQ5PLS.js +3 -0
- package/dist/queries/affected.js +1 -1
- package/dist/queries/anchors.js +1 -1
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.js +1 -1
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/dependence-slice.js +1 -1
- package/dist/queries/dependency-depth.js +1 -1
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +9 -0
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/entry-map.js +1 -1
- package/dist/queries/evidence.js +1 -1
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/reference-neighborhood.js +1 -1
- package/dist/queries/reference-reachability.js +1 -1
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.js +1 -1
- package/dist/queries/source-inspection.js +1 -1
- package/dist/queries/source-search.js +1 -1
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system-map.js +1 -1
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/value-flow.js +1 -1
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/query-service-server.js +3 -3
- package/dist/refs-PSU4JZZW.js +2 -0
- package/dist/refs-pagination-JG6CJMRC.js +2 -0
- package/dist/reindex-worker.js +25 -25
- package/dist/reindex.d.ts +3 -2
- package/dist/reindex.js +35 -35
- package/dist/runtime.d.ts +34 -2
- package/dist/runtime.js +4 -4
- package/dist/rust-semantic-session-server.js +1 -1
- package/dist/rust-semantic-session-worker.js +1 -1
- package/dist/rust-semantic-worker.js +1 -1
- package/dist/{scip-cli-H-n59izO.d.ts → scip-cli-DOerTq-R.d.ts} +42 -4
- package/dist/slice-HYRATV64.js +2 -0
- package/dist/surface-VTGDYWF5.js +2 -0
- package/dist/symbol-resolution-WD5EU5JE.js +2 -0
- package/dist/system-LRQNFOR2.js +2 -0
- package/dist/trace-F4B6OLL4.js +2 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/value-flow-VRPZY72V.js +2 -0
- package/dist/watch-server.js +3 -3
- package/package.json +1 -1
- package/dist/by-kind-4IYG2SKW.js +0 -2
- package/dist/call-graph-WQNXMNNN.js +0 -2
- package/dist/chunk-2BTJALUS.js +0 -454
- package/dist/chunk-3QXC54FQ.js +0 -3
- package/dist/chunk-42W3LFUK.js +0 -13
- package/dist/chunk-4GAQ6FI4.js +0 -43
- package/dist/chunk-6VEFRPTD.js +0 -5
- package/dist/chunk-7C26EKLZ.js +0 -4
- package/dist/chunk-7JYHQAH2.js +0 -22
- package/dist/chunk-7KSO2OAP.js +0 -2
- package/dist/chunk-AK3PYTIK.js +0 -5
- package/dist/chunk-AMIMMNA4.js +0 -11
- package/dist/chunk-AUY5BL74.js +0 -2
- package/dist/chunk-BDHFVH2M.js +0 -18
- package/dist/chunk-BECZLYNU.js +0 -8
- package/dist/chunk-BYDAFMSR.js +0 -57
- package/dist/chunk-BZYSGZRK.js +0 -2
- package/dist/chunk-C7IJMOFP.js +0 -134
- package/dist/chunk-CBBHFNLX.js +0 -2
- package/dist/chunk-D35XIZGN.js +0 -2
- package/dist/chunk-DKM723YF.js +0 -79
- package/dist/chunk-E44IVWIJ.js +0 -367
- package/dist/chunk-EDMB6SSO.js +0 -7
- package/dist/chunk-EETGXQY7.js +0 -3
- package/dist/chunk-FKGQOTKD.js +0 -2
- package/dist/chunk-GH5YSGZL.js +0 -5
- package/dist/chunk-HCVJR2V4.js +0 -3
- package/dist/chunk-HXOU4XNH.js +0 -3
- package/dist/chunk-IMKZEXZG.js +0 -2
- package/dist/chunk-ISIQLPJ2.js +0 -61
- package/dist/chunk-IXESDH3J.js +0 -2
- package/dist/chunk-JT6XX7QY.js +0 -8
- package/dist/chunk-MHIEP7EG.js +0 -4
- package/dist/chunk-OJNK5ALA.js +0 -2
- package/dist/chunk-OXYAWIEA.js +0 -2
- package/dist/chunk-OZETODHH.js +0 -2
- package/dist/chunk-PBUH2P5S.js +0 -3
- package/dist/chunk-PLYUVM4F.js +0 -2
- package/dist/chunk-Q7GBK5T7.js +0 -81
- package/dist/chunk-QWKHW6VZ.js +0 -2
- package/dist/chunk-RPL3ARU7.js +0 -16
- package/dist/chunk-SVHTMVA4.js +0 -4
- package/dist/chunk-T6QD2ZQB.js +0 -43
- package/dist/chunk-TD7VKJ2Y.js +0 -117
- package/dist/chunk-TUSPIVZ3.js +0 -4
- package/dist/chunk-UT7TADJX.js +0 -2
- package/dist/chunk-VUSKPCUB.js +0 -2
- package/dist/chunk-WN3TCGJ4.js +0 -2
- package/dist/chunk-WSLEJSFR.js +0 -2
- package/dist/chunk-WYZIHUPZ.js +0 -16
- package/dist/chunk-XE33FV5W.js +0 -2
- package/dist/chunk-Z2AWCTN6.js +0 -2
- package/dist/chunk-ZOXKSQQB.js +0 -2
- package/dist/code-EQJFDT6I.js +0 -2
- package/dist/code-result-json-7UWIWBOO.js +0 -2
- package/dist/dataflow-6VL54GX5.js +0 -2
- package/dist/dependence-slice-DT2NUHD2.js +0 -2
- package/dist/deps-DB7H5IKC.js +0 -2
- package/dist/direct-navigation-O3LUAYWQ.js +0 -3
- package/dist/entry-map-6K62RV3D.js +0 -2
- package/dist/files-MSLD7MO6.js +0 -2
- package/dist/hierarchy-IVBXAKFA.js +0 -2
- package/dist/imports-FRAVZ3Y2.js +0 -2
- package/dist/members-KJOJDYGO.js +0 -2
- package/dist/methods-2AYABBT3.js +0 -2
- package/dist/output-continuation-command-JHMPH6NC.js +0 -3
- package/dist/project-reindex-HYO4WD7Z.js +0 -3
- package/dist/refs-ARMA6XUJ.js +0 -2
- package/dist/refs-pagination-VUGIWN6U.js +0 -2
- package/dist/slice-YOB5YFAM.js +0 -2
- package/dist/surface-VY5EFWTW.js +0 -2
- package/dist/symbol-resolution-DGQN4XIV.js +0 -2
- package/dist/system-2KQ3QD2P.js +0 -2
- package/dist/trace-HTIPTXAE.js +0 -2
- package/dist/value-flow-5FV3VQI7.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,263 @@ All notable changes to `scip-query` are documented here. This file starts at 0.1
|
|
|
4
4
|
|
|
5
5
|
## [Unreleased]
|
|
6
6
|
|
|
7
|
+
## [0.23.0]
|
|
8
|
+
|
|
9
|
+
### Fresh installs work without Go or the scip binary
|
|
10
|
+
|
|
11
|
+
- The external `scip` binary is no longer required. SCIP is converted to
|
|
12
|
+
SQLite in-process (since 0.22.0), but `reindex` and `setup` still refused to
|
|
13
|
+
run without `scip` on PATH; a fresh machine therefore could not index at all
|
|
14
|
+
unless Go was installed. The requirement now applies only when
|
|
15
|
+
`SCIP_QUERY_SQLITE_CONVERTER=scip-cli` selects the legacy converter, and
|
|
16
|
+
`check-deps` and the setup report say so instead of asking for consent.
|
|
17
|
+
- When the legacy converter is selected, `--install-missing` installs the
|
|
18
|
+
reviewed `scip` release without Go: the pinned archive is downloaded into
|
|
19
|
+
the scip-query cache, verified against its published SHA-256, and extracted;
|
|
20
|
+
the cached reviewed binary then outranks any `scip` on PATH. A PATH binary
|
|
21
|
+
reporting a different version than the pin is reported as unverified, and
|
|
22
|
+
`--install-missing` replaces it with the reviewed release.
|
|
23
|
+
- Tree-sitter grammars and better-sqlite3 ship prebuilt binaries, so npm 11's
|
|
24
|
+
install-script policy skipping their build scripts (which it reports as a
|
|
25
|
+
warning on `npm install -g`) does not affect parsing.
|
|
26
|
+
|
|
27
|
+
### The watcher stops fighting manual refreshes
|
|
28
|
+
|
|
29
|
+
- The automatic resource budget is charged only to refreshes the watcher
|
|
30
|
+
started itself (`watch-*` triggers). `setup` and manual `reindex` runs no
|
|
31
|
+
longer pause the watcher: on a large repository the first setup build alone
|
|
32
|
+
exceeded the 1 GiB write allowance and left the watcher "budget-paused,
|
|
33
|
+
changes pending" for the whole window.
|
|
34
|
+
- When a generation the watcher did not produce is published while work is
|
|
35
|
+
pending (dirty, cooldown, budget pause, or a debounce wait) and the index
|
|
36
|
+
matches the working tree, the watcher drops the pending refresh, reports
|
|
37
|
+
it as suppressed, and returns to idle, instead of holding "changes pending"
|
|
38
|
+
until the budget window or cooldown expired and then re-running a refresh
|
|
39
|
+
that would only be suppressed as fresh. The check runs on the Git poll
|
|
40
|
+
interval and does not depend on a Git checkout.
|
|
41
|
+
|
|
42
|
+
### The full-health prewarm runs in parallel shards and parses each file once
|
|
43
|
+
|
|
44
|
+
- The prewarm's three per-file warm sweeps (definitions, imports and
|
|
45
|
+
re-exports, source facts) parsed the repository twice; they are now one
|
|
46
|
+
sweep that computes every product while the file's syntax tree is still
|
|
47
|
+
cached, one parse per file.
|
|
48
|
+
- On a host that can hold several compiler programs, the prewarm now runs as
|
|
49
|
+
parallel shard workers, each warming a deterministic slice of the indexed
|
|
50
|
+
files (definitions, reference fragments, callees) with a 12 GB heap, and
|
|
51
|
+
the parent writes the completion marker once every shard reports its slice
|
|
52
|
+
warm. The plan takes the memory left after an 8 GB host reserve divided by
|
|
53
|
+
14 GB per worker, capped by cpu count minus one and by four
|
|
54
|
+
(`SCIP_QUERY_HEALTH_PREWARM_SHARDS` overrides it); a machine that cannot
|
|
55
|
+
host two workers runs the single worker as before.
|
|
56
|
+
|
|
57
|
+
### The fragment warm pass stops recomputing hierarchy targets per batch
|
|
58
|
+
|
|
59
|
+
- Profiled on a 7,800-file repository, the prewarm's reference scans spent
|
|
60
|
+
258 s across 61 batches, of which 63 s was the per-file scan; the rest was
|
|
61
|
+
building the class-hierarchy target map, about 20 s per compiler session,
|
|
62
|
+
and the pass discarded its session under heap pressure thirteen times.
|
|
63
|
+
The map depends only on the sources and the definition set, so it is now
|
|
64
|
+
memoized per session and persisted per project generation as the
|
|
65
|
+
`typescript-hierarchy-targets` product; a rebuilt session reads it back.
|
|
66
|
+
A new profile span, `typescript.references-map.hierarchy-targets`, records
|
|
67
|
+
each computation and whether it was a hit.
|
|
68
|
+
- The prewarm's default isolated heap may now reach 16 GB on machines with
|
|
69
|
+
at least 32 GB of memory (it stays at half of physical memory below that),
|
|
70
|
+
so a large compiler program crosses the pressure threshold, and rebuilds
|
|
71
|
+
its session, far less often.
|
|
72
|
+
|
|
73
|
+
### Immutable SCIP shards are hard-linked where reflinks are unavailable
|
|
74
|
+
|
|
75
|
+
- Every reindex staged its SCIP shards into the cache and back with byte
|
|
76
|
+
copies on filesystems without copy-on-write (ext4: ~325 MB per rebuild).
|
|
77
|
+
Cached shards and published index files are never opened for writing, so
|
|
78
|
+
they are now shared by hard link when a reflink is refused; a SQLite
|
|
79
|
+
candidate, which is patched in place, is still a real copy. Every clone
|
|
80
|
+
now removes its target first so no method ever writes through an inode
|
|
81
|
+
another generation still reads. Hard links count as shared bytes in the
|
|
82
|
+
reindex write telemetry, like reflinks.
|
|
83
|
+
|
|
84
|
+
### Complexity reads branch counts from source facts
|
|
85
|
+
|
|
86
|
+
- The source-facts walk now counts branch points per callable (a branch
|
|
87
|
+
inside a nested function counts toward each enclosing callable, as the
|
|
88
|
+
complexity query's own AST pass defined it), and the facts payload version
|
|
89
|
+
is 7. The complexity phase uses that count for every definition whose
|
|
90
|
+
range matches a callable and parses only the rest, so on a warm cache it
|
|
91
|
+
parses nothing; it parsed 4,287 files before.
|
|
92
|
+
- Caller-file evidence is memoized per symbol within a process. The two
|
|
93
|
+
repository scans behind consumer provenance (indexed callsites and
|
|
94
|
+
source-fallback attribution) answer per symbol independently of which
|
|
95
|
+
other symbols were asked for, so a later call scans only for symbols it
|
|
96
|
+
has not seen; the wrapper phase asked three times.
|
|
97
|
+
|
|
98
|
+
### Health phases stop rebuilding the compiler program
|
|
99
|
+
|
|
100
|
+
- Measured per child on a 7,800-file repository (cold cache, no watch
|
|
101
|
+
service): three phase children each spent about 17.5 seconds building the
|
|
102
|
+
TypeScript program to compute 118, 8, and 2 callee cache misses, and the
|
|
103
|
+
complexity phase held 1,975 parsed trees at exit because its per-definition
|
|
104
|
+
source-facts reads parsed every cold file synchronously.
|
|
105
|
+
- The prewarm now persists every file's source-facts product in collecting,
|
|
106
|
+
yielding batches, and its callee pass covers the production-callable
|
|
107
|
+
definition sets the phases use (which add interface and class member
|
|
108
|
+
fallback rows the catalog does not carry), so phase children read the
|
|
109
|
+
cache and parse nothing.
|
|
110
|
+
|
|
111
|
+
### Setup reports what is actually missing
|
|
112
|
+
|
|
113
|
+
- A cold start on a fresh home directory (npm 11, no caches, a fresh clone)
|
|
114
|
+
installed in 7 seconds, indexed 7,780 TypeScript files in 123 seconds, ran
|
|
115
|
+
the full health audit, and answered search, evidence, and diff-impact in
|
|
116
|
+
about 2 seconds each. Its verdict was still `partial`, because setup
|
|
117
|
+
reported two consent skips for things that were not missing and counted
|
|
118
|
+
demand-started watching and an absent Rust toolchain as unavailable.
|
|
119
|
+
- Without consent, the AST parser step now probes which selected-language
|
|
120
|
+
parsers load and reports "nothing to install" when all do; the consent skip
|
|
121
|
+
remains only for a parser that does not load, naming it. Indexer
|
|
122
|
+
remediation reports "nothing to install" when every detected language has a
|
|
123
|
+
runnable indexer. Demand-started watching (the default) is a configured
|
|
124
|
+
state, and its smoke row and the absent-Rust row are optional, so a
|
|
125
|
+
TypeScript repository with everything present reaches `ready`.
|
|
126
|
+
- A wait on a path-change wake also compares each watched path's
|
|
127
|
+
modification time with the last one it settled on, so a change that
|
|
128
|
+
already happened resolves immediately even when the filesystem event
|
|
129
|
+
arrives late.
|
|
130
|
+
|
|
131
|
+
### Children keep the parent's NODE_OPTIONS
|
|
132
|
+
|
|
133
|
+
- Isolated analysis children (the health prewarm, health phases, diff-impact
|
|
134
|
+
batches) replaced `NODE_OPTIONS` wholesale with their heap bound, dropping
|
|
135
|
+
any `--require` preload, inspector flag, or user-set option the parent
|
|
136
|
+
carried. They now replace only the heap bound, the way reindex already did;
|
|
137
|
+
the helper is shared.
|
|
138
|
+
- The reindex runtime-boundary sweep collects before each of its event-loop
|
|
139
|
+
turns, so the trees it parses are freed as it goes.
|
|
140
|
+
- Callee cache scans now record a sample of miss identities in the profile,
|
|
141
|
+
so a profile can say which definitions a warm pass did not cover.
|
|
142
|
+
- The CLI-spawning contract suites allow 30 seconds per test; they spawn the
|
|
143
|
+
built CLI and timed out under load at the 5-second default.
|
|
144
|
+
|
|
145
|
+
### Whole-project parses no longer hold every syntax tree at once
|
|
146
|
+
|
|
147
|
+
- A parsed Tree-sitter tree is native memory behind a wrapper of a few bytes.
|
|
148
|
+
V8 never feels its weight, so it rarely collects the wrapper, and the
|
|
149
|
+
finalizer that frees the tree runs only after a collection has found the
|
|
150
|
+
wrapper dead and the event loop has turned. A whole-project parse therefore
|
|
151
|
+
held every tree it made: on a 7,800-file repository the full-health prewarm
|
|
152
|
+
reached 14,000 trees and ~8.5 GB outside the V8 heap while `heapUsed` sat at
|
|
153
|
+
160 MB. Measured on the same box, forcing a full collection at each batch
|
|
154
|
+
boundary and yielding once keeps a 3,000-file sweep flat at 139 MB across
|
|
155
|
+
three passes; a minor collection frees almost nothing.
|
|
156
|
+
- The prewarm now persists every file's import and re-export products in
|
|
157
|
+
batches that end with a full collection and one event-loop turn, before the
|
|
158
|
+
semantic provider builds, so the provider's synchronous dependency-graph
|
|
159
|
+
build reads products and parses nothing. A non-incremental reindex does the
|
|
160
|
+
same for the previous generation before the affected-set shadow builds its
|
|
161
|
+
graph, and only when that shadow will build one.
|
|
162
|
+
- The native-pressure estimate behind every parse assumed a tree costs 10x its
|
|
163
|
+
source bytes; measured, it is about 23x, so forced collections came several
|
|
164
|
+
gigabytes too late. The estimate is now 24x.
|
|
165
|
+
- The prewarm's first stage read every file's definitions synchronously, and a
|
|
166
|
+
file whose definition product is cold is parsed to compute them: 6,978 trees
|
|
167
|
+
were alive 43 seconds in, before any other stage ran, setting a ~4.7 GB
|
|
168
|
+
high-water mark the process never gave back. Candidate definitions are now
|
|
169
|
+
read in the same collecting, yielding batches; the per-file product they
|
|
170
|
+
persist makes the health phases' later synchronous reads parse nothing.
|
|
171
|
+
- The dependency-graph sweep parsed each file twice, once for imports and
|
|
172
|
+
once for re-exports; the import parse now goes through the exact-bytes tree
|
|
173
|
+
cache, so the re-export pass reuses the same tree.
|
|
174
|
+
- Freed tree memory stays reusable inside the process but is not returned to
|
|
175
|
+
the OS by glibc; the resident high-water mark is now set by one batch plus
|
|
176
|
+
the bounded tree cache rather than by the repository.
|
|
177
|
+
|
|
178
|
+
### Faster full health and a durable dossier
|
|
179
|
+
|
|
180
|
+
- `health --full` phases run in a memory-gated pool instead of strictly one
|
|
181
|
+
at a time: one isolated child per ~7 GiB of half the machine's memory, at
|
|
182
|
+
most four (`SCIP_QUERY_HEALTH_FULL_CONCURRENCY` still overrides). A 61 GiB
|
|
183
|
+
host runs four phases at once; a 16 GiB laptop keeps one. The pool starts
|
|
184
|
+
the heaviest phases first (wrapper candidates, complexity hotspots,
|
|
185
|
+
passthrough candidates, stale abstractions, similar/extract), so the last
|
|
186
|
+
worker does not finish alone. Measured on a 7,800-file repository with
|
|
187
|
+
warm caches and no watch service: 4:20 → 1:29, peak 5.8 GiB.
|
|
188
|
+
- The health dossier is published atomically, so an interrupted setup leaves
|
|
189
|
+
the previous complete dossier in place instead of a half-written one. Each
|
|
190
|
+
audit first records an attempt marker (`health-dossier.attempt.json`, run
|
|
191
|
+
id, start time, index generation) that is cleared only after the dossier
|
|
192
|
+
is written; a later setup reports an interrupted audit instead of letting
|
|
193
|
+
the older dossier pass as current, and the dossier names the index
|
|
194
|
+
generation and attempt it completed.
|
|
195
|
+
- The project-wide TypeScript reference map assembled from persisted
|
|
196
|
+
fragments is now kept per database for the life of the process, so a child
|
|
197
|
+
that runs several health phases (or `isolated`, `dead`, and consumer
|
|
198
|
+
evidence in one command) builds it once instead of once per consumer.
|
|
199
|
+
|
|
200
|
+
### Architecture policy is clean again
|
|
201
|
+
|
|
202
|
+
- The file-access recorder moved from `platform` to `domain` (it has no
|
|
203
|
+
dependencies and is consumed by analysis, symbols, and source code), and the
|
|
204
|
+
compiler-shard planner reads bounded files through the `platform` re-export,
|
|
205
|
+
so `scip-query architecture` reports no forbidden edges and the setup-installed
|
|
206
|
+
Stop hook passes again. Both edges were introduced by the 0.22.0 performance
|
|
207
|
+
work.
|
|
208
|
+
|
|
209
|
+
### Setup no longer replaces symbolic links or misreports configured projects
|
|
210
|
+
|
|
211
|
+
- `setup` (and every other revision-aware file mutation: agent guidance,
|
|
212
|
+
hook files, config, suppressions) now writes through a symbolic link to its
|
|
213
|
+
target instead of renaming a regular file over the link. A repository with
|
|
214
|
+
`CLAUDE.md -> AGENTS.md` keeps the link and receives the guidance block once,
|
|
215
|
+
in `AGENTS.md`; previously the link was silently replaced by a regular copy
|
|
216
|
+
(git mode 120000 → 100644). A dangling link is resolved to the path it names
|
|
217
|
+
so the file is created there.
|
|
218
|
+
- A TypeScript-only project no longer gets a `partial` setup verdict because
|
|
219
|
+
the Rust semantic session was inapplicable, and `watch.enabled=false` or
|
|
220
|
+
`watch.autoStart=false` is reported as a configured state rather than
|
|
221
|
+
incomplete setup. Skips that still mean incomplete setup (no supported
|
|
222
|
+
language, config errors, an incomplete initial refresh) keep `partial`.
|
|
223
|
+
|
|
224
|
+
### Bounded full-health semantic prewarm
|
|
225
|
+
|
|
226
|
+
- `health --full` no longer assembles the project-wide TypeScript reference
|
|
227
|
+
map inside its isolated prewarm child. The prewarm persists reference
|
|
228
|
+
fragments file by file (existence-checked without reading payloads, written
|
|
229
|
+
one provider batch at a time), materializes the remaining per-definition
|
|
230
|
+
references in persisted file batches, and yields between batches so native
|
|
231
|
+
memory is reclaimed. Those fragment rows are the evidence the health phases
|
|
232
|
+
read, so the warm state is unchanged; only the transient multi-gigabyte map
|
|
233
|
+
is gone. On a ~7,800-file TypeScript repository with no watch service
|
|
234
|
+
running (for example during `setup --health`), the child previously grew
|
|
235
|
+
past 17 GiB and aborted with SIGABRT.
|
|
236
|
+
- Heap-pressure relief forces a collection before deciding to discard the
|
|
237
|
+
compiler session, so batch garbage is no longer mistaken for live pressure,
|
|
238
|
+
and the release threshold is 75% of the isolated heap.
|
|
239
|
+
- The prewarm child's default heap is derived from physical memory (half of
|
|
240
|
+
RAM, bounded to 2–8 GiB) instead of a fixed 8 GiB;
|
|
241
|
+
`SCIP_QUERY_HEALTH_SEMANTIC_PREWARM_HEAP_MB` still overrides it.
|
|
242
|
+
- Every consumer of TypeScript reference fragments (health phases,
|
|
243
|
+
`diff-impact` batches, the prewarm) now relieves heap pressure between
|
|
244
|
+
persisted fragment batches: measure after a forced collection, and discard
|
|
245
|
+
the in-process compiler session when live state still exceeds 75% of the
|
|
246
|
+
isolated heap, so the next batch resolves a fresh session. A cold cache with
|
|
247
|
+
no watch service previously failed `diff-impact` on a large repository with
|
|
248
|
+
"JavaScript heap out of memory" because one batch child hosted the whole
|
|
249
|
+
compiler program without ever releasing it.
|
|
250
|
+
- `diff-impact` batch children also run with a bounded isolated heap (half of
|
|
251
|
+
RAM, bounded to 2–6 GiB; `SCIP_QUERY_DIFF_IMPACT_BATCH_HEAP_MB` overrides
|
|
252
|
+
it) instead of Node's default old-space limit, and get the full-health phase
|
|
253
|
+
time budget (10 minutes; `SCIP_QUERY_DIFF_IMPACT_BATCH_TIMEOUT_MS` overrides
|
|
254
|
+
it) instead of the generic 3-minute analysis timeout.
|
|
255
|
+
- A diff-impact batch no longer computes a whole project's reference fragments
|
|
256
|
+
in-process. When more than 256 files have cold fragments and no watch
|
|
257
|
+
service is running, the semantic consumer tier is reported as failed with
|
|
258
|
+
the remedy (`scip-query health --full` once, or `scip-query watch
|
|
259
|
+
--daemon`) and the source-fallback tier still runs; on a 7,800-file
|
|
260
|
+
repository the in-process computation took longer than the 10-minute batch
|
|
261
|
+
budget while the service or the prewarm warms the same rows in the
|
|
262
|
+
background. With warm fragments the same diff-impact takes seconds.
|
|
263
|
+
|
|
7
264
|
## [0.22.0]
|
|
8
265
|
|
|
9
266
|
### Bounded indexing for large TypeScript repositories
|
package/README.md
CHANGED
|
@@ -37,6 +37,17 @@ cd your-repository
|
|
|
37
37
|
scip-query setup
|
|
38
38
|
```
|
|
39
39
|
|
|
40
|
+
npm 11 and newer skip dependency install scripts by default and print an
|
|
41
|
+
`install-scripts` warning listing them. For scip-query every listed script is
|
|
42
|
+
a prebuild check (`node-gyp-build`) or the package's own install hint; the
|
|
43
|
+
Tree-sitter grammars and SQLite binding ship prebuilt binaries for macOS,
|
|
44
|
+
Linux, and Windows, so nothing needs to compile and the warning can be
|
|
45
|
+
ignored. The one grammar without prebuilds, Kotlin, falls back to text
|
|
46
|
+
parsing unless a C toolchain is present and the scripts are allowed. To
|
|
47
|
+
silence the warning for global installs, run the `npm config set
|
|
48
|
+
allow-scripts=... --location=user` command npm prints; `--allow-scripts` is
|
|
49
|
+
rejected inside a project directory by design.
|
|
50
|
+
|
|
40
51
|
Setup detects supported languages, installs or checks their indexers, builds
|
|
41
52
|
the local index, installs the bundled skills, and writes concise agent guidance.
|
|
42
53
|
When the repository declares valid architecture rules, setup also installs one
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{d as t}from"./chunk-
|
|
1
|
+
import{d as t}from"./chunk-BBCIS4DX.js";import"./chunk-YUKYB54I.js";import"./chunk-BJT7LSPK.js";import"./chunk-YXPUP5G2.js";import"./chunk-MWN53KRN.js";import"./chunk-IW5XQG5G.js";import"./chunk-KYSDI3GE.js";import"./chunk-7F45LJKI.js";import{writeFileSync as s}from"fs";import{workerData as o}from"worker_threads";var r=o;try{let e=t({projectRoot:r.projectRoot,dbPath:r.dbPath,tsconfig:r.tsconfig,vueFiles:r.vueFiles,tasks:r.tasks});s(r.resultPath,JSON.stringify({version:1,runId:r.runId,workerId:r.workerId,taskIds:r.taskIds,ok:!0,result:e}))}catch(e){s(r.resultPath,JSON.stringify({version:1,runId:r.runId,workerId:r.workerId,taskIds:r.taskIds,ok:!1,error:e instanceof Error?e.message:String(e)}))}
|
|
2
2
|
//# sourceMappingURL=augment-vue-worker.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a,b}from"./chunk-VVZSBTSU.js";import"./chunk-MTDBHTSF.js";import"./chunk-3L2ZBPEX.js";import"./chunk-YXPUP5G2.js";import"./chunk-DRENNWRG.js";import"./chunk-RTQ7NEKG.js";import"./chunk-GUFSG5TX.js";import"./chunk-IW5XQG5G.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import"./chunk-KYSDI3GE.js";import"./chunk-7F45LJKI.js";export{a as byKind,b as kindCounts};
|
|
2
|
+
//# sourceMappingURL=by-kind-XI2CSWEY.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-YPWHBBIS.js";import"./chunk-7KCZELVM.js";import"./chunk-BGBBVSH4.js";import"./chunk-MV3CDXPI.js";import"./chunk-MTDBHTSF.js";import"./chunk-WYCTJDVR.js";import"./chunk-CEEZJXEF.js";import"./chunk-OSR2GEHQ.js";import"./chunk-YEN6CYC7.js";import"./chunk-WRQXLNYE.js";import"./chunk-2GRUZAQF.js";import"./chunk-HOENASQM.js";import"./chunk-BJT7LSPK.js";import"./chunk-SSK6LDPC.js";import"./chunk-4WNW27SX.js";import"./chunk-F4FNK44D.js";import"./chunk-GAS2LJMP.js";import"./chunk-WK46TNUM.js";import"./chunk-TQZV7KV4.js";import"./chunk-3L2ZBPEX.js";import"./chunk-YXPUP5G2.js";import"./chunk-DRENNWRG.js";import"./chunk-BE7ZZTMC.js";import"./chunk-2OOY75BW.js";import"./chunk-NOGJXYFO.js";import"./chunk-RTQ7NEKG.js";import"./chunk-GUFSG5TX.js";import"./chunk-IW5XQG5G.js";import"./chunk-FGA2U4OR.js";import"./chunk-B3PYOSCX.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import"./chunk-JFMEXGFE.js";import"./chunk-KYSDI3GE.js";import"./chunk-7F45LJKI.js";export{a as callGraph};
|
|
2
|
+
//# sourceMappingURL=call-graph-UONR6JR5.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{y as u}from"./chunk-JWTGMPIT.js";function x(e,i){let l=new Map;return e.forEach((t,f)=>{let o=new Set;for(let r of i(t)){if(o.has(r))continue;o.add(r);let n=l.get(r);n?n.push(f):l.set(r,[f])}}),{candidatesFor:(t,f)=>{let o=new Set;for(let r of i(t)){let n=l.get(r);if(n)for(let a of n)a!==f&&o.add(a)}return[...o].sort((r,n)=>r-n)}}}function R(e){let i=c(e.profile?.name),l=()=>{let t=[];i=c(e.profile?.name,e);let f=(r,n)=>{let a=e.profiles[r],s=e.profiles[n];i.candidatePairs+=1,i.comparedPairs+=1;let d=e.compare(a,s);d&&t.push(d)};if(e.filePattern){let r=e.profiles.findIndex(n=>n.file.includes(e.filePattern));if(r>=0){let n=e.profiles[r];for(let a of m(e,r)){let s=e.profiles[a];e.focusFiles&&!e.focusFiles.has(n.file)&&!e.focusFiles.has(s.file)||f(r,a)}}}else if(e.focusFiles?.size!==0){let r=typeof e.overrunFactor=="number"&&Number.isFinite(e.limit)?e.limit*e.overrunFactor:Number.POSITIVE_INFINITY;for(let n=0;n<e.profiles.length;n+=1){let a=e.profiles[n],s=e.focusFiles?.has(a.file)??!1;for(let d of p(e,n))e.focusFiles&&!s&&!e.focusFiles.has(e.profiles[d].file)||f(n,d);if(t.length>r){i.overrunApplied=!0;break}}}t.sort(e.sort??((r,n)=>n.similarity-r.similarity)),i.matchedResults=t.length;let o=t.slice(0,e.limit);return i.emittedResults=o.length,e.onProfile?.({...i}),o};return e.profile?u(`pairwise-profile:${e.profile.name}`,l,()=>({...b(e.profile?.metadata),...i})):l()}function m(e,i){if(e.candidateIndex)return P(e,i,-1);let l=[];for(let t=0;t<e.profiles.length;t+=1)t!==i&&l.push(t);return l}function p(e,i){if(e.candidateIndex)return P(e,i,i);let l=[];for(let t=i+1;t<e.profiles.length;t+=1)l.push(t);return l}function P(e,i,l){let t=e.profiles[i],f=new Set;for(let o of e.candidateIndex?.candidatesFor(t,i,e.profiles)??[])o<=l||o!==i&&(o<0||o>=e.profiles.length||f.add(o));return[...f].sort((o,r)=>o-r)}function c(e,i){return{pipeline:e,profileCount:i?.profiles.length??0,focusedProfileCount:i?.focusFiles?i.profiles.filter(l=>i.focusFiles.has(l.file)).length:0,candidatePairs:0,comparedPairs:0,matchedResults:0,emittedResults:0,candidateIndexApplied:i?.candidateIndex!==void 0,focusApplied:i?.focusFiles!==void 0,filePatternApplied:i?.filePattern!==void 0,overrunApplied:!1}}function b(e){return typeof e=="function"?e():e??{}}export{x as a,R as b};
|
|
2
|
+
//# sourceMappingURL=chunk-2E7CX53V.js.map
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import{J as _,L as C,a as x,c as I,d as R}from"./chunk-3L2ZBPEX.js";import{a as h}from"./chunk-YXPUP5G2.js";import{b as O,d as F}from"./chunk-RTQ7NEKG.js";import{c as A}from"./chunk-IW5XQG5G.js";import{e as g}from"./chunk-HGFDYOVB.js";var P=I({kind:"file-dependency-graph",invalidation:R("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:L}),J=A("file-dep-graph",{clearGroups:["whole-project"]});function ee(e,n,r){if(r.length===0)return[];let t=new Set(r),i=M(e),s=new Set;if(n==="forward")for(let o of t)for(let c of i.get(o)??[])t.has(c)||s.add(c);else for(let[o,c]of i)if(!t.has(o))for(let d of t)c.has(d)&&s.add(o);return[...s].sort()}function M(e,n,r={}){let t=r.scipEdges??"all-references",i=r.sourceEdges??"imports-only",s=D(n,t,i);return J.get(e,s,()=>{let o=new Set(h(e,{includeIgnored:!1})),c=F(e),d=0,f=0,l=null,p=!1,u=0,N=0,G=null;return g("file-dep-graph.product",()=>{if(c){let a=P.read(e,s,c);if(a){p=!0,G=a.construction;let E=v(a);return d=a.sourceFileCount,f=a.sourceEdgeCount,u=a.scipEdgeCount,N=E.size,l=a.sourceDependencyFingerprint,E}}let S=i==="none"?{files:[],edges:[],fingerprint:O("no-source-dependency-fallback")}:g("file-dep-graph.source-imports",()=>{let a=j(e,o,n,i);return d=a.files.length,f=a.edges.length,l=a.fingerprint,a},()=>({scope:n??null,sourceEdges:i,files:d,edges:f})),y=new Map,b=(a,E)=>m(e,y,o,a,E);g("file-dep-graph.scip-edges",()=>{for(let a of H(e,n,t))u=(u??0)+1,b(a.from_file,a.to_file)},()=>({scope:n??null,edges:u}));for(let a of S.edges)b(a.fromFile,a.toFile);return N=y.size,c&&(G="full",P.write(e,s,c,{version:2,construction:"full",sourceDependencyFingerprint:S.fingerprint,sourceFileCount:S.files.length,sourceEdgeCount:S.edges.length,scipEdgeCount:u,edgeCount:k(y),graph:w(y)})),y},()=>({scope:n??null,available:c!==null,hit:p,construction:G,files:d,sourceEdges:f,sourceEdgeMode:i,scipEdges:u,graphFiles:N,sourceDependencyFingerprint:l}))})}function ne(e){return T(e,"none")}function re(e,n="imports-only"){let r=D(void 0,"all-references",n),t=F(e);if(!t)return null;let i=P.read(e,r,t);return i?{cacheKey:r,sourceEdges:n,graph:v(i)}:null}function T(e,n){let r=D(void 0,"all-references",n),t=M(e,void 0,{sourceEdges:n});return{cacheKey:r,sourceEdges:n,graph:t}}function te(e,n,r,t){let i=n.sourceEdges??"imports-only",s=F(e);if(!s)return!1;let o=t??$(e,n,r);if(!o)return!1;let c=new Set(h(e,{includeIgnored:!1})),d=D(void 0,"all-references",i);return P.write(e,d,s,{version:2,construction:"carried",sourceDependencyFingerprint:null,sourceFileCount:c.size,sourceEdgeCount:null,scipEdgeCount:null,edgeCount:k(o),graph:w(o)}),!0}function $(e,n,r,t=[]){let i=n.sourceEdges??"imports-only",s=D(void 0,"all-references",i);if(n.cacheKey!==s)return null;let o=g("file-dep-graph.carry.indexed-files",()=>new Set(h(e,{includeIgnored:!1}))),c=new Set(r),d=new Map;g("file-dep-graph.carry.reuse",()=>{if(t.length===0)for(let[l,p]of n.graph)c.has(l)||d.set(l,p);else for(let[l,p]of n.graph)if(!(c.has(l)||!o.has(l)))for(let u of p)m(e,d,o,l,u)});let f=g("file-dep-graph.carry.scip-edges",()=>B(e,c,"all-references"));for(let l of f)m(e,d,o,l.from_file,l.to_file);return g("file-dep-graph.carry.source-edges",()=>{for(let l of c)if(o.has(l)){if(i!=="none")for(let p of C(e,l))p.sourcePath&&m(e,d,o,l,p.sourcePath);if(i==="imports-and-reexports")for(let p of _(e,l))p.sourcePath&&m(e,d,o,l,p.sourcePath)}}),d}async function oe(e,n={}){let r=h(e,{includeIgnored:!1}),t=Math.max(1,Math.floor(n.batchSize??64)),i=n.collectGarbage??x,s=0;for(let o=0;o<r.length;o+=t){for(let c of r.slice(o,o+t))C(e,c),_(e,c),s+=1;n.onBatch?.({files:s,total:r.length}),i(),await n.yieldToEventLoop?.()}return{files:s}}function j(e,n,r,t){let i=[],s=[];for(let o of n)if(!(r&&!o.includes(r))){i.push(o);for(let c of C(e,o))c.sourcePath&&s.push({fromFile:o,toFile:c.sourcePath});if(t==="imports-and-reexports")for(let c of _(e,o))c.sourcePath&&s.push({fromFile:o,toFile:c.sourcePath})}return{files:i,edges:s,fingerprint:z(i,s)}}function z(e,n){let r=n.map(t=>`${t.fromFile}\0${t.toFile}`).sort();return O(JSON.stringify({files:e,edges:r}))}function D(e,n,r){return`edge-mode-v4:${n}:${r}:${e??"<all>"}`}function w(e){return[...e].map(([n,r])=>[n,[...r].sort()]).sort(([n],[r])=>n.localeCompare(r))}function v(e){return new Map(e.graph.map(([n,r])=>[n,new Set(r)]))}function L(e){let n=JSON.parse(e);return K(n)?n:null}function K(e){if(!e||typeof e!="object")return!1;let n=e;return n.version===2&&(n.construction==="full"||n.construction==="carried")&&(n.sourceDependencyFingerprint===null||typeof n.sourceDependencyFingerprint=="string")&&typeof n.sourceFileCount=="number"&&(n.sourceEdgeCount===null||typeof n.sourceEdgeCount=="number")&&(n.scipEdgeCount===null||typeof n.scipEdgeCount=="number")&&typeof n.edgeCount=="number"&&Array.isArray(n.graph)&&n.graph.every(W)}function k(e){let n=0;for(let r of e.values())n+=r.size;return n}function W(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(n=>typeof n=="string")}function H(e,n,r){let t=n?"AND d1.relative_path LIKE ?":"",i=n?[`%${n}%`]:[],s=r==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
|
|
2
|
+
d1.relative_path AS from_file,
|
|
3
|
+
d2.relative_path AS to_file
|
|
4
|
+
FROM mentions m
|
|
5
|
+
JOIN chunks c ON m.chunk_id = c.id
|
|
6
|
+
JOIN documents d1 ON c.document_id = d1.id
|
|
7
|
+
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
8
|
+
JOIN (
|
|
9
|
+
SELECT m2.symbol_id, c2.document_id
|
|
10
|
+
FROM mentions m2
|
|
11
|
+
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
12
|
+
WHERE m2.role = 1
|
|
13
|
+
GROUP BY m2.symbol_id
|
|
14
|
+
) sym_def ON sym_def.symbol_id = gs.id
|
|
15
|
+
JOIN documents d2 ON sym_def.document_id = d2.id
|
|
16
|
+
WHERE d1.id != d2.id
|
|
17
|
+
${s}
|
|
18
|
+
${e.pathExclusionsFor("d1","d2")}
|
|
19
|
+
${t}`,...i)}function B(e,n,r){let t=[...n].sort();if(t.length===0)return[];let i=r==="imports-only"?"AND m.role = 2":"AND m.role != 1",s=[];for(let o=0;o<t.length;o+=500){let c=t.slice(o,o+500),d=c.map(()=>"?").join(", ");s.push(...e.all(`SELECT DISTINCT
|
|
20
|
+
d1.relative_path AS from_file,
|
|
21
|
+
d2.relative_path AS to_file
|
|
22
|
+
FROM documents d1
|
|
23
|
+
CROSS JOIN chunks c
|
|
24
|
+
CROSS JOIN mentions m
|
|
25
|
+
CROSS JOIN global_symbols gs
|
|
26
|
+
CROSS JOIN chunks c2
|
|
27
|
+
CROSS JOIN documents d2
|
|
28
|
+
WHERE d1.relative_path IN (${d})
|
|
29
|
+
AND c.document_id = d1.id
|
|
30
|
+
AND m.chunk_id = c.id
|
|
31
|
+
AND gs.id = m.symbol_id
|
|
32
|
+
AND c2.id = (
|
|
33
|
+
SELECT m2.chunk_id
|
|
34
|
+
FROM mentions m2
|
|
35
|
+
WHERE m2.symbol_id = gs.id AND m2.role = 1
|
|
36
|
+
ORDER BY m2.chunk_id
|
|
37
|
+
LIMIT 1
|
|
38
|
+
)
|
|
39
|
+
AND d2.id = c2.document_id
|
|
40
|
+
AND d1.id != d2.id
|
|
41
|
+
${i}
|
|
42
|
+
${e.pathExclusionsFor("d1","d2")}`,...c))}return s}function m(e,n,r,t,i){if(t===i||e.isIgnored(t)||e.isIgnored(i)||!r.has(i))return;let s=n.get(t);s||(s=new Set,n.set(t,s)),s.add(i)}export{ee as a,M as b,ne as c,re as d,te as e,$ as f,oe as g};
|
|
43
|
+
//# sourceMappingURL=chunk-2GRUZAQF.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as a}from"./chunk-
|
|
1
|
+
import{b as a}from"./chunk-BRV7PIFF.js";import{c as l}from"./chunk-CJZXN4NU.js";import{d as o,g as i}from"./chunk-N2ZSIIGR.js";function _(e,t){let r=a(e,t);return r.length===0?[]:u([...c(e,r),...f(e,r)]).filter(s=>!e.isIgnored(s.relative_path)).map(d)}function R(e,t){let r=a(e,t);return r.length===0?[]:u(c(e,r)).filter(s=>!e.isIgnored(s.relative_path)).map(s=>({...d(s),basis:"external-reference"}))}function c(e,t){let r=t.map(()=>"?").join(", ");return e.all(`SELECT DISTINCT d1.relative_path, gs.symbol
|
|
2
2
|
FROM mentions m
|
|
3
3
|
JOIN chunks c ON m.chunk_id = c.id
|
|
4
4
|
JOIN documents d1 ON c.document_id = d1.id
|
|
@@ -26,4 +26,4 @@ import{b as a}from"./chunk-56NQAEPJ.js";import{d as l}from"./chunk-SVHTMVA4.js";
|
|
|
26
26
|
AND ${e.localSymbolPredicate}
|
|
27
27
|
${e.pathExclusionsFor("d1")}
|
|
28
28
|
ORDER BY d1.relative_path`,...t,...t,...t)}function f(e,t){let r=new l(e);return t.flatMap(s=>r.definitionsForFile(s).filter(n=>i(n.symbol)).map(n=>({relative_path:s,symbol:n.symbol})))}function u(e){let t=new Set;return e.filter(r=>{let s=`${r.relative_path}|${r.symbol}`;return t.has(s)?!1:(t.add(s),!0)})}function d(e){return{consumer:e.relative_path,symbol:e.symbol,shortName:o(e.symbol)}}export{_ as a,R as b};
|
|
29
|
-
//# sourceMappingURL=chunk-
|
|
29
|
+
//# sourceMappingURL=chunk-2LDBDR6J.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{b as f,c as m}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{b as f,c as m}from"./chunk-JFMEXGFE.js";import{execFileSync as b}from"child_process";import{platform as S}from"os";var w=1e3,T=2*1024*1024,I=25;function N(e,n,r=M){let t=r.readIdentity(e),o=new Map;return t&&o.set(e,t),{rootPid:e,rootIdentity:t,ownsProcessGroup:n,knownMembers:o}}async function k(e,n,r=M){if(!e.rootIdentity){let a=await l(e,n.gracefulMs+n.forceMs,r);return{reaped:a,reason:a?"terminated":"identity-unavailable",detail:a?void 0:`Could not establish the birth identity of process ${e.rootPid}.`}}let t=h(e,r);if(t==="mismatch")return{reaped:!1,reason:"identity-mismatch",detail:`Process ${e.rootPid} no longer has the identity owned by this runner.`};if(t==="exited"&&!g(e,r))return{reaped:!0,reason:"terminated"};if(r.platform==="win32"){try{r.terminateWindowsTree(e.rootPid)}catch(u){let c=await l(e,n.forceMs,r);return{reaped:c,reason:c?"terminated":"signal-failed",detail:c?void 0:p(u)}}let a=await l(e,n.forceMs,r);return{reaped:a,reason:a?"terminated":"deadline"}}let o=P(e,"SIGTERM",r);if(await l(e,n.gracefulMs,r))return{reaped:!0,reason:"terminated"};let s=P(e,"SIGKILL",r);return await l(e,n.forceMs,r)?{reaped:!0,reason:"terminated"}:s?{reaped:!1,reason:s.reason,detail:s.detail}:o?{reaped:!1,reason:o.reason,detail:o.detail}:{reaped:!1,reason:"deadline",detail:`Process tree ${e.rootPid} did not exit before its termination deadline.`}}function h(e,n){let r=n.readIdentity(e.rootPid);if(!r)return"exited";if(!e.rootIdentity||!f(e.rootIdentity,r))return"mismatch";e.knownMembers.set(e.rootPid,r);for(let t of n.listDescendantPids(e.rootPid)){let o=n.readIdentity(t);o&&e.knownMembers.set(t,o)}return"owned"}function P(e,n,r){let t=h(e,r);if(t==="mismatch")return{reason:"identity-mismatch",detail:`Process ${e.rootPid} changed identity before ${n}.`};if(t==="owned"&&e.ownsProcessGroup)try{return r.signal(-e.rootPid,n),null}catch(i){if(!y(i))return{reason:"signal-failed",detail:p(i)}}let o=null;for(let i of e.knownMembers.values()){let s=r.readIdentity(i.pid);if(!(!s||!f(i,s)))try{r.signal(i.pid,n)}catch(d){!y(d)&&o===null&&(o=p(d))}}return o===null?null:{reason:"signal-failed",detail:o}}async function l(e,n,r){let t=r.now()+n;for(;g(e,r);){if(r.now()>=t)return!1;await r.sleep(Math.min(I,Math.max(1,t-r.now())))}return!0}function g(e,n){if(!e.rootIdentity&&n.isProcessAlive(e.rootPid))return!0;for(let r of e.knownMembers.values()){let t=n.readIdentity(r.pid);if(t&&f(r,t))return!0}return!!(e.ownsProcessGroup&&n.isProcessGroupAlive(e.rootPid))}function x(e){let n=R(!1),r=new Map;for(let s of n.split(/\r?\n/)){let d=/^\s*(\d+)\s+(\d+)\s*$/.exec(s);if(!d)continue;let a=Number(d[1]),u=Number(d[2]),c=r.get(u)??[];c.push(a),r.set(u,c)}let t=[],o=[...r.get(e)??[]],i=new Set;for(;o.length>0;){let s=o.pop();i.has(s)||(i.add(s),t.push(s),o.push(...r.get(s)??[]))}return t}function R(e){return b("ps",["-axo",e?"pid=,ppid=,rss=":"pid=,ppid="],{encoding:"utf8",timeout:w,maxBuffer:T,env:{...process.env,LC_ALL:"C",LANG:"C"},stdio:["ignore","pipe","ignore"]})}function y(e){return typeof e=="object"&&e!==null&&"code"in e&&e.code==="ESRCH"}function p(e){return e instanceof Error?e.message:String(e)}var M={platform:S(),now:Date.now,readIdentity:m,isProcessAlive(e){try{return process.kill(e,0),!0}catch(n){return typeof n=="object"&&n!==null&&"code"in n&&n.code==="EPERM"}},isProcessGroupAlive(e){if(this.platform==="win32")return!1;try{return process.kill(-e,0),!0}catch(n){return typeof n=="object"&&n!==null&&"code"in n&&n.code==="EPERM"}},listDescendantPids(e){if(this.platform==="win32")return[];try{return x(e)}catch{return[]}},signal(e,n){process.kill(e,n)},terminateWindowsTree(e){b("taskkill.exe",["/PID",String(e),"/T","/F"],{timeout:w,maxBuffer:T,stdio:"ignore",windowsHide:!0})},async sleep(e){await new Promise(n=>setTimeout(n,e))}};export{N as a,k as b};
|
|
2
|
+
//# sourceMappingURL=chunk-2OOY75BW.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{b as y}from"./chunk-
|
|
1
|
+
import{b as y}from"./chunk-M2O5NY6W.js";import{a as v}from"./chunk-W7CXK74K.js";import{p as S}from"./chunk-DYGHBZ2N.js";import{a as b}from"./chunk-OSSESPDX.js";import{d as u,e as f,h as m,p,q as g}from"./chunk-N2ZSIIGR.js";import{h as d}from"./chunk-FESCRNVV.js";function q(e,t,i={}){let n=T(e,t,i);return{definitions:n.definitions,referencedBy:n.referencedBy.map(r=>({relativePath:r.relativePath,line:r.line,enclosingSymbol:r.enclosingSymbol,enclosingShort:r.enclosingShort}))}}function T(e,t,i={}){let n=R(e,t,i);return{definitions:n.definitions,referencedBy:n.referencedBy}}function R(e,t,i={}){let n=b(e,t);if(!n)return{definitions:[],referencedBy:[],referenceEvidence:[],claimSupport:null};let r=e.get("SELECT display_name, documentation FROM global_symbols WHERE id = ?",n.symbolId),c=g(r?.documentation??null),o=e.isIgnored(n.relativePath)?[]:[{relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine,signature:K(c,r?.display_name??null,n.symbol),source:B(e,n.relativePath,n.startLine,n.endLine)}],h=i.referenceContext??2,s=S(e,n,{semantic:i.semantic,semanticEvidence:v}).map(l=>{let a=y(e,l.file,l.line,h,f(n.symbol));return{relativePath:l.file,line:l.line,enclosingSymbol:l.enclosingSymbol,enclosingShort:l.enclosingSymbol?u(l.enclosingSymbol):"(top-level)",provenance:l.provenance,sourceStartLine:a?.startLine??null,sourceEndLine:a?.endLine??null,source:a?.source??null,sourceKind:a?.kind??"unavailable"}}),E=s.map(x);return{definitions:o,referencedBy:E,referenceEvidence:s.map(l=>({relativePath:l.relativePath,line:l.line,provenance:l.provenance,sourceKind:l.sourceKind})),claimSupport:P(s)}}function x(e){return{relativePath:e.relativePath,line:e.line,enclosingSymbol:e.enclosingSymbol,enclosingShort:e.enclosingShort,sourceStartLine:e.sourceStartLine,sourceEndLine:e.sourceEndLine,source:e.source}}function P(e){let t="resolved source-attributed or SCIP-indexed references to this exact symbol",i=["Dynamic dispatch, reflection, generated calls, and unindexed source are outside this scope."],n=e.filter(c=>c.sourceKind!=="complete-call-expression"&&c.sourceKind!=="non-call-reference"),r="direct, statically visible call expressions among the resolved reference sites";return{referenceAbsence:{status:"eligible",scope:t,limitations:i},callsitePredicates:n.length===0?{status:"eligible",scope:r,limitations:i}:{status:"ineligible",scope:r,reason:`${n.length} reference site(s) lack one unambiguous complete call expression.`,followup:L(n)}}}function L(e){let t=[...new Set(e.map(i=>`${i.relativePath}:${i.line+1}`))];return t.length===0||t.length>24?null:`scip-query inspect ${t.map(i=>`--at ${C(i)}`).join(" ")} --view behavior`}function C(e){return`'${e.replaceAll("'","'\\''")}'`}function B(e,t,i,n){let r=d(e,t);if(!r)return null;let o=r.split(`
|
|
2
2
|
`).slice(i,n+1).join(`
|
|
3
3
|
`).trimEnd();return o.length>0?o:null}function K(e,t,i){let n=p(e);if(n&&!A(n))return n;let r=(t??"").trim();return r?m(i)&&!r.endsWith("()")?`${r}()`:r:u(i)}function A(e){return e.startsWith("undefined")||e.includes("|")||e.includes("```")}export{q as a,T as b,R as c};
|
|
4
|
-
//# sourceMappingURL=chunk-
|
|
4
|
+
//# sourceMappingURL=chunk-2R3V3PSD.js.map
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{a as L}from"./chunk-BGBBVSH4.js";import{d as ke}from"./chunk-MV3CDXPI.js";import{a as T}from"./chunk-WYCTJDVR.js";import{b}from"./chunk-FRUSVINH.js";import{b as ge,d as be,e as Se,f as ye,g as he,h as Re,i as G,j as xe,m as K}from"./chunk-YEN6CYC7.js";import{a as me}from"./chunk-WRQXLNYE.js";import{b as F}from"./chunk-2GRUZAQF.js";import{c as oe}from"./chunk-BJT7LSPK.js";import{G as se,H as P,J as ae,N as ce,T as E,U as fe,V as de,W as pe,X as B,i as ne,l as re,m as I,p as R,q as ie}from"./chunk-3L2ZBPEX.js";import{a as h}from"./chunk-YXPUP5G2.js";import{d as k,f as V,g as $,i as le,j as ue}from"./chunk-DRENNWRG.js";import{a as Pe}from"./chunk-DHEQMPLW.js";import{d as m}from"./chunk-IW5XQG5G.js";import{e as z}from"./chunk-HGFDYOVB.js";import{$ as ee,_ as w,aa as te,o as x}from"./chunk-KYSDI3GE.js";import{existsSync as A,readdirSync as Me}from"fs";import{join as D}from"path";var tt={files:new Set,pathPrefixes:[]};var X=/^(?:dist|build|lib|out|output|esm|cjs|umd)\//,nt=/\.(?:d\.ts|d\.mts|d\.cts|ts|tsx|mts|cts|js|jsx|mjs|cjs)$/,De=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],rt=new Set([".git",".next",".turbo","build","coverage","dist","node_modules","out"]),it=4,st=m("package-surface",{clearGroups:["whole-project"]}),mn=m("package-operational-surface",{clearGroups:["whole-project"]});function ve(t){return st.get(t,()=>ot(t.config.projectRoot))}function q(t,e){let n=ve(t);return n.files.has(e)?!0:n.pathPrefixes.some(r=>e.startsWith(r))}function Ce(t,e){return ve(t).files.has(e)}function ot(t){let e=new Set,n=[];for(let{manifest:r,packageRoot:i}of at(t))for(let s of ct(r))lt(t,i,s,e,n);return e.size===0&&n.length===0?tt:{files:e,pathPrefixes:n}}function at(t){let e=[],n=Ie(t,"");return n&&e.push({manifest:n,packageRoot:""}),we(t,"",e,0),e}function we(t,e,n,r){if(r>=it)return;let i=D(t,e);if(A(i))for(let s of Me(i,{withFileTypes:!0})){if(!s.isDirectory()||rt.has(s.name))continue;let o=e?`${e}/${s.name}`:s.name,a=Ie(t,o);a&&n.push({manifest:a,packageRoot:o}),we(t,o,n,r+1)}}function Ie(t,e){let n;try{n=w(t,D(e,"package.json"),{maxBytes:8*1024*1024,inputKind:"package manifest"})}catch(r){if(!ee(r))throw r;return null}try{let r=JSON.parse(n);return r&&typeof r=="object"?r:null}catch{return null}}function ct(t){let e=[];for(let r of["main","module","types","browser"])typeof t[r]=="string"&&e.push(t[r]);let n=t.bin;if(typeof n=="string")e.push(n);else if(n&&typeof n=="object")for(let r of Object.values(n))typeof r=="string"&&e.push(r);return Fe(t.exports,e),e}function Fe(t,e){if(typeof t=="string"){e.push(t);return}if(!(!t||typeof t!="object"))for(let n of Object.values(t))Fe(n,e)}function lt(t,e,n,r,i){let s=n.replace(/\\/g,"/").replace(/^\.\//,"");if(s===""||s.startsWith(".."))return;let o=s.indexOf("*");if(o>=0){let l=s.slice(0,o);for(let u of Ee(l))u!==""&&i.push(S(e,u));return}let a=s.replace(nt,"");for(let l of Ee(a)){l===a&&l===s&&r.add(S(e,s));for(let u of De)ut(t,r,e,l+u)}r.add(S(e,s))}function Ee(t){let e=[t];return X.test(t)&&(e.push(t.replace(X,"src/")),e.push(t.replace(X,""))),e}function ut(t,e,n,r){let i=S(n,r);if(e.add(i),!r.startsWith("src/")||A(D(t,i)))return;let s=De.find(c=>r.endsWith(c));if(!s)return;let o=r.slice(0,-s.length);ft(t,e,n,o,s);let a=o.lastIndexOf("/");if(a<=4)return;let l=o.slice(0,a),u=o.slice(a+1);for(let c of Le(t,n,l,`${u}${s}`))e.add(c)}function ft(t,e,n,r,i){let s=S(n,`${r}/index${i}`);A(D(t,s))&&e.add(s)}function Le(t,e,n,r){let i=D(t,e,n);if(!A(i))return[];let s=[];for(let o of Me(i,{withFileTypes:!0})){let a=`${n}/${o.name}`;o.isDirectory()?s.push(...Le(t,e,a,r)):o.isFile()&&o.name===r&&s.push(S(e,a))}return s}function S(t,e){return t?`${t}/${e}`:e}import{existsSync as U,readdirSync as dt}from"fs";import{dirname as pt,join as W}from"path";var mt={rootFiles:new Set,sourcePrefixes:[]},gt=new Set([".git",".scipquery","node_modules","target"]),bt=6,St=m("rust-library-surface",{clearGroups:["whole-project"]});function Te(t,e,n){if(!n.endsWith(".rs")||!Rt(yt(t),n))return!1;let r=E(t,n).find(i=>i.symbol===e);return r?xt(re(t,n)[r.startLine]??""):!1}function yt(t){return St.get(t,()=>ht(t.config.projectRoot))}function ht(t){let e=new Set,n=new Set;for(let r of Pt(t)){let i=w(t,W(r,"Cargo.toml"),{maxBytes:8388608,inputKind:"Cargo manifest"}),s=kt(i),o=S(r,"src/lib.rs"),a=s?S(r,s):!Et(i)&&te(t,o)?o:null;if(!a)continue;e.add(a);let l=pt(a).replaceAll("\\","/");n.add(l==="."?"":`${l}/`)}return e.size===0?mt:{rootFiles:e,sourcePrefixes:[...n].sort()}}function Rt(t,e){return e.endsWith(".rs")?t.rootFiles.has(e)?!0:Mt(e)?!1:t.sourcePrefixes.some(n=>e.startsWith(n)):!1}function xt(t){return/^\s*pub\s+(?!\()/.test(t)}function Pt(t){if(!U(t))return[];let e=[];return Ae(t,"",e,0),e}function Ae(t,e,n,r){let i=W(t,e);if(U(i)&&(U(W(i,"Cargo.toml"))&&n.push(e),!(r>=bt)))for(let s of dt(i,{withFileTypes:!0})){if(!s.isDirectory()||gt.has(s.name))continue;let o=e?`${e}/${s.name}`:s.name;Ae(t,o,n,r+1)}}function kt(t){let e=!1;for(let n of t.split(`
|
|
2
|
+
`)){let r=n.replace(/\s+#.*$/,"").trim(),i=/^\[([^\]]+)\]$/.exec(r);if(i){e=i[1]==="lib";continue}if(!e)continue;let s=/^path\s*=\s*["']([^"']+)["']/.exec(r)?.[1];if(s)return s.replaceAll("\\","/").replace(/^\.\//,"")}return null}function Et(t){let e=!1;for(let n of t.split(`
|
|
3
|
+
`)){let r=n.replace(/\s+#.*$/,"").trim(),i=/^\[([^\]]+)\]$/.exec(r);if(i){e=i[1]==="package";continue}if(e&&/^autolib\s*=\s*false\b/.test(r))return!0}return!1}function Mt(t){return/(?:^|\/)src\/main\.rs$/.test(t)||/(?:^|\/)src\/bin\//.test(t)||/(?:^|\/)(?:examples|tests|benches)\//.test(t)}function Dt(t){return vt.get(t,()=>{let n=h(t,{includeIgnored:!1}).filter(o=>{let a=b(o);return a==="entry"||a==="worker"});if(n.length===0)return new Set;let r=F(t),i=new Set,s=new Set;for(;n.length>0;){let o=n.shift();if(!i.has(o)){i.add(o),b(o)==="barrel"&&s.add(o);for(let a of r.get(o)??[])i.has(a)||n.push(a)}}return s})}var vt=m("live-barrels",{clearGroups:["whole-project"]});function Ct(t,e){return Dt(t).has(x(e))}function Ne(t,e){let n=x(e),r=b(e);return r==="entry"||r==="worker"||Ut(n)||Ct(t,n)}function wt(t,e,n){let r=x(n),i=[];q(t,r)&&i.push("package-surface-file"),Lt(t,e,r)&&i.push("transitive-package-surface"),Te(t,e,r)&&i.push("rust-public-library"),qt(e,r)&&i.push("framework-entrypoint");let s=t.config.entryRoots;return s&&(s.files?.some(o=>x(o)===r)&&i.push("configured-file"),s.pathPrefixes?.some(o=>r.startsWith(x(o)))&&i.push("configured-path-prefix"),s.qualifiedVars?.some(o=>Ht(e,o))&&i.push("configured-qualified-var"),s.symbolPatterns?.some(o=>{try{return Pe(o,"entryRoots.symbolPatterns entry").test(e)}catch{return!1}})&&i.push("configured-symbol-pattern")),i}function je(t,e,n){return wt(t,e,n).length>0}var It=m("package-surface-reachability",{clearGroups:["whole-project"]}),Ft=m("explicit-package-surface-reachability",{clearGroups:["whole-project"]});function Lt(t,e,n){let r=Tt(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function _n(t,e,n){let r=At(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function Tt(t){return It.get(t,()=>Oe(t,e=>q(t,e)))}function At(t){return Ft.get(t,()=>Oe(t,e=>Ce(t,e)))}function Oe(t,e){let n=new Map,r=[];for(let i of h(t,{includeIgnored:!1}))e(i)&&(n.set(i,null),r.push(i));for(;r.length>0;){let i=r.shift(),s=n.get(i);if(s!==void 0)for(let o of ae(t,i)){if(!o.sourcePath||t.isIgnored(o.sourcePath))continue;let a=_t(s,o);a!==void 0&&Nt(n,o.sourcePath,a)&&r.push(o.sourcePath)}}return n}function _t(t,e){if(t===null)return e.kind==="named"?new Set(e.names):null;if(e.kind==="star")return new Set(t);if(e.kind==="star-as")return e.names.some(r=>t.has(r))?null:void 0;let n=e.names.filter(r=>t.has(r));return n.length>0?new Set(n):void 0}function Nt(t,e,n){if(!t.has(e))return t.set(e,n),!0;let r=t.get(e);if(r===void 0)return!1;if(r===null||n===null)return r===null?!1:(t.set(e,null),!0);let i=!1;for(let s of n)r.has(s)||(r.add(s),i=!0);return i}var Ve=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]),jt=new Set(["default","generateMetadata","generateStaticParams"]),Ot=new Set(["default","getStaticProps","getServerSideProps","getStaticPaths","config"]),Vt=new Set(["default","middleware","config"]),$t=new Set(["register","onRequestError"]),Bt=new Set(["onRouterTransitionStart"]),Gt=new Set(["default","loader","action","clientLoader","clientAction","headers","links","meta","shouldRevalidate","ErrorBoundary","HydrateFallback"]),Kt=new Set(["load","actions","entries",...Ve]),Xt=new Set(["default"]);function qt(t,e){let n=k(t);return n===""?!1:$e(e)?Ve.has(n):Be(e)?jt.has(n):Ge(e)?Ot.has(n):Ke(e)?Vt.has(n):Xe(e)?$t.has(n):qe(e)?Bt.has(n):Ue(e)?Gt.has(n):We(e)?Kt.has(n):Wt(e)?Xt.has(n):!1}function Ut(t){return $e(t)||Be(t)||Ge(t)||Ke(t)||Xe(t)||qe(t)||Ue(t)||We(t)}function $e(t){return/(?:^|\/)app(?:\/[^/]+)*\/route\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Be(t){return/(?:^|\/)app(?:\/[^/]+)*\/(?:page|layout|template|loading|error|not-found|global-error|head|default)\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ge(t){return/(?:^|\/)pages\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ke(t){return H(t,"(?:middleware|proxy)\\.(?:ts|js|mts|mjs)")}function Xe(t){return H(t,"instrumentation\\.(?:ts|js|mts|mjs)")}function qe(t){return H(t,"instrumentation-client\\.(?:ts|js|mts|mjs)")}function H(t,e){return new RegExp(`^(?:src/)?${e}$`).test(t)||new RegExp(`(?:^|/)src/${e}$`).test(t)||new RegExp(`(?:^|/)(?:apps|services|packages)/[^/]+/(?:src/)?${e}$`).test(t)}function Ue(t){return/(?:^|\/)app\/routes\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function We(t){return/(?:^|\/)src\/routes\/(?:.*\/)?\+(?:page|page\.server|layout|layout\.server|server)\.(?:ts|js)$/.test(t)}function Wt(t){return/(?:^|\/)src\/(?:pages|views|routes)\/.+\.(?:ts|tsx|js|jsx|vue)$/.test(t)}function Ht(t,e){let n=e.lastIndexOf("/");if(n<0)return!1;let r=e.slice(0,n),i=e.slice(n+1);return t.includes(_e(r)+"/")&&t.includes(_e(i)+".")}function _e(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}function Y(t,e,n={}){let r=new Map;if(e&&e.length===0)return r;let i=h(t,{includeIgnored:!1}),s=ye(t),o=e??fe(t),a=new Set(o.map(u=>u.symbolId)),l=tn(o);return Yt(t,r,i,s,a,l),Zt(t,r,o,a),en(t,r,i,s,a,l),n.semantic!==!1&&n.semanticEvidence&&rn(r,n.semanticEvidence.callerMap(t,nn(o))),r}function Yt(t,e,n,r,i,s){for(let o of n){if(!R(o))continue;let a=se(t,o);if(a)for(let l of a){if(s&&!s.has(l.calleeLeaf))continue;let u=be(o,r.get(l.calleeLeaf)??[]);if(!u||u.length===0)continue;let c=Se(t,o,u,l.memberAccess,l.calleeQualifier);c&&i.has(c.symbolId)&&c.file!==o&&Z(e,c.symbolId,o)}}}function Zt(t,e,n,r){let i=Qt(n);for(let s of Jt(t,r))t.isIgnored(s.relative_path)||zt(s,i.get(s.symbol_id))||Z(e,s.symbol_id,s.relative_path)}function Jt(t,e){return me(t,e?[...e]:void 0)}function Qt(t){let e=new Map;for(let n of t)e.set(n.symbolId,{docId:n.documentId,startLine:n.startLine,endLine:n.endLine});return e}function zt(t,e){return!!e&&e.docId===t.document_id&&t.chunk_start>=e.startLine&&t.chunk_end<=e.endLine}function en(t,e,n,r,i,s){for(let o of n){if(R(o)!=="rust")continue;let a=P(t,o,{includeRustAttributeNames:!0});if(a.length!==0)for(let{name:l}of a){if(s&&!s.has(l))continue;let u=r.get(l);if(u)for(let c of u)i.has(c.symbolId)&&c.file!==o&&Z(e,c.symbolId,o)}}}function Z(t,e,n){let r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n)}function tn(t){let e=new Set;for(let n of t){let r="leaf"in n&&typeof n.leaf=="string"?n.leaf:"symbol"in n&&typeof n.symbol=="string"?k(n.symbol):"";r&&e.add(r)}return e.size>0?e:null}function nn(t){return t.filter(e=>"relativePath"in e&&"symbol"in e&&"leaf"in e)}function rn(t,e){for(let[n,r]of e){let i=t.get(n);i||(i=new Set,t.set(n,i));for(let s of r)i.add(s)}}var sn=m("cross-file-caller-files",{clearGroups:["whole-project","source-file"]}),on=m("source-fallback-caller-files",{clearGroups:["whole-project","source-file"]});function He(t,e,n){let r=e.filter(s=>!t.has(s.symbolId));if(r.length>0){let s=n(r);for(let o of r)t.set(o.symbolId,s.get(o.symbolId)??new Set)}let i=new Map;for(let s of e){let o=t.get(s.symbolId);o&&o.size>0&&i.set(s.symbolId,new Set(o))}return i}function J(t,e,n={}){if(e===void 0)return Y(t,e,n);let r=He(sn.get(t,()=>new Map),e,i=>Y(t,i,{semantic:!1}));return n.semantic===!1||!n.semanticEvidence?r:Ze(r,n.semanticEvidence.callerMap(t,e.filter(i=>"relativePath"in i&&"symbol"in i&&"leaf"in i)))}function Q(t,e,n={}){return n.skipPath?K(t,e,n):He(on.get(t,()=>new Map),e,r=>K(t,r))}function Ye(t,e,n={}){let r=J(t,e,{semantic:n.semantic,semanticEvidence:n.semanticEvidence});return n.sourceFallback===!1?r:Ze(r,Q(t,e))}function Ze(t,e){let n=new Map;for(let[r,i]of t)n.set(r,new Set(i));for(let[r,i]of e){let s=n.get(r)??new Set;for(let o of i)s.add(o);n.set(r,s)}return n}function Je(t,e,n){let r=e.identifierResolution==="strict"?G:xe,i=e.candidateNames?he(e.candidateNames):null,s=0,o=0,a=0,l=0,u="";for(let c of e.paths)if(s+=1,u=c,!(!R(c)&&!(e.includeVueSfc&&ie(c)))&&!t.isIgnored(c)&&!e.skipPath?.(c))try{if(i&&!Re(ne(t,c),i))continue;o+=1;let v=(d,g,j,M)=>{if(e.candidateNames&&!e.candidateNames.has(d))return;a+=1;let C=e.resolveTargets?e.resolveTargets({sourceFile:c,name:d,kind:g,defaultTargets:M}):M();for(let O of C)l+=1,n({sourceFile:c,name:d,target:O,occurrences:j,kind:g})},N=ge(t,c);for(let[d,g]of N)v(d,"identifier",g.length,()=>r(t,c,d));for(let d of P(t,c,{includeCrossLanguageDispatchNames:e.includeCrossLanguageDispatchNames,includeRustAttributeNames:e.includeRustAttributeNames})){let g=d.kind==="cross-language-dispatch"?()=>G(t,c,d.name):()=>r(t,c,d.name);v(d.name,d.kind,d.occurrences,g)}}finally{e.afterPath?.(c),s%10===0&&z("source-reference-scan.progress",()=>{},()=>({scannedPaths:s,currentPath:u,candidateMatchedPaths:o,visitedNames:a,visitedHits:l}))}}function Qe(t,e={}){let{scope:n,files:r,minLoc:i=1,maxLoc:s=Number.POSITIVE_INFINITY,excludeSymbol:o,excludeEntrySurfaces:a=!1,excludeTypesFiles:l=!1,excludeRootedSymbols:u=!1,requireFunctionLikeSymbol:c=!1,requireCallableSymbol:_=!1,excludeRustTraitImplMembers:v=!1,includeSuppressed:N=!1,sortByLocDesc:d=!1}=e,g=[],j=an(t,{scope:n,files:r,requireFunctionLikeSymbol:c,requireCallableSymbol:_}),M=new Map,C=new Map,O=f=>{let p=M.get(f);if(p!==void 0)return p;let y=Ne(t,f);return M.set(f,y),y},et=f=>{let p=C.get(f);if(p!==void 0)return p;let y=b(f);return C.set(f,y),y};for(let f of j){let p=f.relativePath;if(t.isIgnored(p)||a&&O(p)||!cn(f,{requireFunctionLikeSymbol:c,requireCallableSymbol:_})||o!==void 0&&f.symbol===o)continue;let y=L(f);y<i||y>s||l&&ln(p)||u&&je(t,f.symbol,p)||v&&le(f.symbol)||et(p)!=="test"&&(ue(f.symbol)||!N&&I(t,p,f.startLine)||g.push(f))}return d?g.sort((f,p)=>L(p)-L(f)):g}function an(t,e){return e.files!==void 0?[...new Set(e.files.map(r=>r.replace(/\\/g,"/")))].sort().filter(r=>!e.scope||r.includes(e.scope)).flatMap(r=>E(t,r)):e.requireCallableSymbol?B(t,{scope:e.scope,symbolMatches:V,sqlPrefilter:"callable"}):e.requireFunctionLikeSymbol?B(t,{scope:e.scope,symbolMatches:$,sqlPrefilter:"function-like"}):pe(t,e.scope)}function cn(t,e){return e.requireCallableSymbol?V(t.symbol):e.requireFunctionLikeSymbol?$(t.symbol):t.isFunctionLike}function ln(t){return(t.split("/").pop()??"").includes("types")}var ze=class{constructor(e){this.db=e}db;scopedDefinitions(e){return de(this.db,e)}definitionsForFile(e){return E(this.db,e)}productionCallableDefinitions(e={}){return Qe(this.db,e)}calleeMap(e,n={}){return ke(this.db,e,{...n,semanticEvidence:T})}crossFileCallerMap(e,n={}){return J(this.db,e,{...n,semanticEvidence:T})}sourceFallbackCallerFiles(e,n={}){return Q(this.db,e,n)}callerFileMap(e,n={}){return Ye(this.db,e,{...n,semanticEvidence:T})}frameworkReferencedSymbolIds(e){let n=new Map;for(let i of e){if(!i.leaf)continue;let s=n.get(i.leaf)??[];s.push(i.symbolId),n.set(i.leaf,s)}let r=new Set;for(let i of h(this.db,{includeIgnored:!1}))if(R(i)==="rust")for(let{name:s}of P(this.db,i,{includeRustAttributeNames:!0}))for(let o of n.get(s)??[])r.add(o);return r}symbolsWithNonSelfCallees(e,n={}){if(e.length===0)return new Set;let r=new Map(e.map(s=>[s.symbolId,s.symbol])),i=this.calleeMap(e,n);return new Set([...i.entries()].filter(([s,o])=>{let a=r.get(s);return o.some(l=>l.symbol!==a)}).map(([s])=>s))}fileDependencyGraph(e){return F(this.db,e)}fileKind(e){return b(e)}hasSuppressionComment(e){return I(this.db,e.relativePath,e.startLine)}sourceFiles(){return oe(this.db)}scanSourceReferences(e,n){Je(this.db,e,n)}callableSignature(e){let n=ce(this.db).forFile(e.relativePath,{facts:!0}).facts?.callables.find(r=>r.startLine===e.startLine&&r.endLine===e.endLine);return n?{paramCount:n.paramCount}:null}};export{Ne as a,wt as b,_n as c,Qe as d,ze as e};
|
|
4
|
+
//# sourceMappingURL=chunk-2WC2OEDO.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{a as S}from"./chunk-
|
|
1
|
+
import{a as S}from"./chunk-B3PYOSCX.js";import{a as v,b as f,c as O}from"./chunk-JFMEXGFE.js";import{h as I,n as R,o as p}from"./chunk-7F45LJKI.js";import{randomUUID as N}from"crypto";import{closeSync as _,fsyncSync as T,linkSync as C,mkdirSync as q,openSync as M,statSync as h,unlinkSync as z,writeSync as G}from"fs";import{dirname as b}from"path";var F="scip-query-process-lock",L=1,y=Object.freeze({wallNow:()=>Date.now(),isProcessAlive:S,readProcessIdentity:O,randomToken:()=>N(),makeDirectory:r=>q(r,{recursive:!0}),openFile:(r,e,t)=>M(r,e,t),writeFile:(r,e,t,i)=>G(r,e,t,i),syncFile:r=>T(r),closeFile:r=>_(r),linkFile:(r,e)=>C(r,e),readFile:r=>I(r,"process lock record"),statFile:r=>{let e=h(r);return{dev:e.dev,ino:e.ino,size:e.size,mtimeMs:e.mtimeMs}},removeFile:r=>z(r)});function Z(r,e){let t=e.runtime??y;t.makeDirectory(b(r));let i;for(let o=0;o<2;o+=1)try{return{kind:"acquired",lock:D(r,e,t),...i?{reclaimed:i}:{}}}catch(n){if(n.code!=="EEXIST")throw n;let s=d(r,{parseLegacy:e.parseLegacy,runtime:t});if(o===0&&K(r,s,{creationGraceMs:e.creationGraceMs,parseLegacy:e.parseLegacy,runtime:t})){i=s;continue}return{kind:"contended",observation:s}}return{kind:"contended",observation:d(r,{parseLegacy:e.parseLegacy,runtime:t})}}function d(r,e={}){let t=e.runtime??y,i,o;try{i=t.statFile(r),o=t.readFile(r)}catch(l){return l.code==="ENOENT"?{state:"missing"}:{state:"malformed"}}let n;try{n=JSON.parse(o)}catch{return{state:"malformed",raw:o,identity:i}}let s=J(n);if(s)return{state:"valid",raw:o,identity:i,record:s,owner:j(s),parsed:n};let c=e.parseLegacy?.(n)??null;return c?{state:"legacy",raw:o,identity:i,owner:c,parsed:n}:{state:"malformed",raw:o,identity:i,parsed:n}}function J(r){if(!r||typeof r!="object"||Array.isArray(r))return null;let e=r;if(e.protocol!==F||e.version!==L||typeof e.kind!="string"||e.kind.trim()===""||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0||typeof e.token!="string"||e.token.trim()===""||typeof e.startedAt!="string"||!Number.isFinite(Date.parse(e.startedAt))||e.detail!==void 0&&(typeof e.detail!="object"||e.detail===null||Array.isArray(e.detail)))return null;let t=e.processIdentity===void 0?null:v(e.processIdentity);return e.processIdentity!==void 0&&(!t||t.pid!==e.pid)?null:{protocol:F,version:L,kind:e.kind,pid:e.pid,token:e.token,...t?{processIdentity:t}:{},startedAt:e.startedAt,...e.detail?{detail:e.detail}:{}}}function K(r,e,t={}){let i=t.runtime??y;if(!P(e,i))return!1;let o=$(`${r}.reclaim`,i);if(!o)return!1;try{let n=d(r,{parseLegacy:t.parseLegacy,runtime:i});return!x(e,n)||!P(n,i)?!1:g(r,i)}finally{o.release()}}function D(r,e,t){let i=e.directoryDurability??"durable",o=e.pid??process.pid,n=t.randomToken(),s=e.processIdentity===void 0?t.readProcessIdentity(o):e.processIdentity,c={protocol:F,version:L,kind:e.kind,pid:o,token:n,...s?{processIdentity:s}:{},startedAt:new Date(t.wallNow()).toISOString(),...e.detail?{detail:e.detail}:{}},l=`${r}.${n}.candidate`,k=t.openFile(l,"wx",384),u;try{R(k,Buffer.from(`${JSON.stringify(c)}
|
|
2
2
|
`),t,"process lock"),t.syncFile(k)}catch(a){u=a}try{t.closeFile(k)}catch(a){u??=a}if(u!==void 0)throw m(l,t),u;try{t.linkFile(l,r)}catch(a){throw m(l,t),a}if(m(l,t),i==="durable")try{A(b(r),t)}catch(a){throw U(r,c,t),a}let w=!1;return{path:r,record:c,release:()=>w?!1:(w=!0,E(r,c,t,i))}}function U(r,e,t=y){return E(r,e,t,"durable")}function E(r,e,t,i){let o=d(r,{runtime:t});return o.state!=="valid"||!o.record||o.record.pid!==e.pid||o.record.token!==e.token||e.processIdentity&&(!o.record.processIdentity||!f(e.processIdentity,o.record.processIdentity))?!1:g(r,t,i)}function $(r,e){for(let t=0;t<2;t+=1)try{return D(r,{kind:"reclaim-guard",runtime:e},e)}catch(i){if(i.code!=="EEXIST")return null;let o=d(r,{runtime:e});if(t>0||!P(o,e))return null;let n=d(r,{runtime:e});if(!x(o,n)||!g(r,e))return null}return null}function P(r,e){if(r.state==="missing")return!1;if(r.owner){if(!e.isProcessAlive(r.owner.pid))return!0;if(!r.owner.processIdentity)return!1;let t=e.readProcessIdentity(r.owner.pid);return t!==null&&!f(r.owner.processIdentity,t)}return!1}function x(r,e){return r.state===e.state&&r.raw===e.raw&&r.identity!==void 0&&e.identity!==void 0&&r.identity.dev===e.identity.dev&&r.identity.ino===e.identity.ino&&r.identity.size===e.identity.size&&r.identity.mtimeMs===e.identity.mtimeMs}function j(r){return{pid:r.pid,...r.processIdentity?{processIdentity:r.processIdentity}:{}}}function A(r,e){let t;try{t=e.openFile(r,"r")}catch(i){if(p(i,process.platform))return;throw i}try{e.syncFile(t)}catch(i){if(!p(i,process.platform))throw i}finally{e.closeFile(t)}}function g(r,e,t="durable"){try{return e.removeFile(r),t==="durable"&&A(b(r),e),!0}catch{return!1}}function m(r,e){try{e.removeFile(r)}catch{}}export{y as a,Z as b,d as c,K as d};
|
|
3
|
-
//# sourceMappingURL=chunk-
|
|
3
|
+
//# sourceMappingURL=chunk-3AF4TUFK.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{a as g}from"./chunk-
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
import{a as g}from"./chunk-WUN6KBHV.js";import{c as d}from"./chunk-CJZXN4NU.js";import{b as c}from"./chunk-DYGHBZ2N.js";import{d as p}from"./chunk-N2ZSIIGR.js";import{n as o}from"./chunk-ODDUPDP7.js";import{z as u}from"./chunk-ZOHS7AQV.js";function F(r,a={}){let{scope:l,limit:s=30,scanLimit:b}=a,f=new d(r);return g({candidates:()=>f.productionCallableDefinitions({scope:l,files:a.files,minLoc:2,excludeRootedSymbols:!0,requireFunctionLikeSymbol:!0}),filterCandidate:e=>y(e.relativePath),scanLimit:b,profile:{name:"unused-params"},evaluate:e=>{let n=o(r,e.relativePath)?.callables.find(t=>t.startLine===e.startLine&&t.endLine===e.endLine);if(!n||n.params.length===0||n.params.some(t=>!t.simple)||n.paramsEndLine>=n.endLine)return null;let L=c(r,e.relativePath),m=[];for(let t=n.params.length-1;t>=0;t--){let i=n.params[t];if(i.name===""||i.name.startsWith("_")||h(L.get(i.name),n.paramsEndLine,n.endLine))break;m.unshift(i.name)}return m.length===0?null:{symbol:e.symbol,shortName:p(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,paramCount:n.paramCount,unusedTrailing:m}},orderResults:(e,n)=>n.unusedTrailing.length-e.unusedTrailing.length||e.file.localeCompare(n.file)||e.startLine-n.startLine,limit:s})}function y(r){let a=u(r);return a==="typescript"||a==="tsx"||a==="javascript"}function h(r,a,l){return r?r.some(s=>s>a&&s<=l):!1}export{F as a};
|
|
2
|
+
//# sourceMappingURL=chunk-3D3QG236.js.map
|