scip-query 0.21.0 → 0.22.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 +72 -0
- package/dist/augment-vue-worker.js +1 -1
- package/dist/by-kind-4IYG2SKW.js +2 -0
- package/dist/call-graph-WQNXMNNN.js +2 -0
- package/dist/{chunk-AQDWTCDC.js → chunk-25GWKRUZ.js} +2 -2
- package/dist/chunk-2BTJALUS.js +454 -0
- package/dist/chunk-2KVU55CW.js +11 -0
- package/dist/{chunk-BBWPOMGU.js → chunk-2OXVP5U5.js} +2 -2
- package/dist/{chunk-D5W4UZY5.js → chunk-2RE5OCHZ.js} +2 -2
- package/dist/{chunk-2I3RSUWX.js → chunk-2XCGSDIT.js} +2 -2
- package/dist/{chunk-V7LQZTTZ.js → chunk-2YC7YNKT.js} +2 -2
- package/dist/chunk-3QXC54FQ.js +3 -0
- package/dist/{chunk-32A42O5B.js → chunk-3TJY6M3B.js} +2 -2
- package/dist/chunk-42W3LFUK.js +13 -0
- package/dist/chunk-44T4DUAA.js +2 -0
- package/dist/chunk-4GAQ6FI4.js +43 -0
- package/dist/{chunk-4S4DF62J.js → chunk-4HE7MVWD.js} +2 -2
- package/dist/{chunk-TGWNNMPF.js → chunk-4TQU4TX2.js} +2 -2
- package/dist/{chunk-SKUMCCC5.js → chunk-56NQAEPJ.js} +2 -2
- package/dist/chunk-57N6LN2A.js +3 -0
- package/dist/{chunk-LPGDO2XA.js → chunk-5H5WTJSD.js} +2 -2
- package/dist/{chunk-EA4SH4U5.js → chunk-5YRQIE2B.js} +2 -2
- package/dist/{chunk-O2RM7E7L.js → chunk-5ZMBRQFC.js} +4 -4
- package/dist/{chunk-ICHBVITH.js → chunk-6HRZQLOI.js} +2 -2
- package/dist/{chunk-WULAPQUD.js → chunk-6NC3YSPY.js} +2 -2
- package/dist/{chunk-IDPLC3FI.js → chunk-6VEFRPTD.js} +2 -2
- package/dist/{chunk-IOKWFRFQ.js → chunk-7C26EKLZ.js} +2 -2
- package/dist/{chunk-S3RTPPLQ.js → chunk-7IQXARSQ.js} +2 -2
- package/dist/chunk-7JYHQAH2.js +22 -0
- package/dist/chunk-7KSO2OAP.js +2 -0
- package/dist/{chunk-2ZBMOQGG.js → chunk-7U2YQSDE.js} +2 -2
- package/dist/{chunk-EKZRF57O.js → chunk-7XA3OM44.js} +2 -2
- package/dist/{chunk-4EXFZP6H.js → chunk-7XZGZBSQ.js} +2 -2
- package/dist/chunk-7YQOCABQ.js +2 -0
- package/dist/chunk-A77SCPW2.js +3 -0
- package/dist/chunk-AK3PYTIK.js +5 -0
- package/dist/chunk-AMIMMNA4.js +11 -0
- package/dist/{chunk-MOBF2GH6.js → chunk-AQ2PORIO.js} +2 -2
- package/dist/{chunk-YUFWLWIC.js → chunk-ARVO6TTW.js} +2 -2
- package/dist/chunk-AUY5BL74.js +2 -0
- package/dist/{chunk-RGCJ4646.js → chunk-AYPDH2LU.js} +2 -2
- package/dist/{chunk-73Z33VFI.js → chunk-AZS7YPCB.js} +2 -2
- package/dist/{chunk-SYUNTKO2.js → chunk-BDGTPN27.js} +2 -2
- package/dist/{chunk-BATIVRU2.js → chunk-BDHFVH2M.js} +2 -2
- package/dist/chunk-BECZLYNU.js +8 -0
- package/dist/chunk-BJT7LSPK.js +3 -0
- package/dist/{chunk-6SWA6B24.js → chunk-BTVKZGWT.js} +2 -2
- package/dist/{chunk-QD7IFBCR.js → chunk-BUTEIZKP.js} +2 -2
- package/dist/{chunk-UZFCZ7SJ.js → chunk-BVFYEEBH.js} +2 -2
- package/dist/{chunk-ICUQONOG.js → chunk-BWVQP3LB.js} +2 -2
- package/dist/chunk-BYDAFMSR.js +57 -0
- package/dist/{chunk-BHE44MHT.js → chunk-C76O5MDS.js} +2 -2
- package/dist/chunk-C7IJMOFP.js +134 -0
- package/dist/{chunk-CN2WGM7D.js → chunk-CBBHFNLX.js} +2 -2
- package/dist/{chunk-COTMS5KM.js → chunk-CKRWA452.js} +2 -2
- package/dist/{chunk-ANWGXPPN.js → chunk-CLG6DWVS.js} +2 -2
- package/dist/chunk-D2MVJSP4.js +21 -0
- package/dist/chunk-D35XIZGN.js +2 -0
- package/dist/{chunk-U7DR7MJD.js → chunk-DEAB5TGT.js} +2 -2
- package/dist/{chunk-6GJAP4OE.js → chunk-DJAO2OZJ.js} +2 -2
- package/dist/chunk-DKM723YF.js +79 -0
- package/dist/{chunk-4IIMPWMR.js → chunk-DPWKKNKI.js} +2 -2
- package/dist/chunk-E44IVWIJ.js +367 -0
- package/dist/chunk-EDMB6SSO.js +7 -0
- package/dist/{chunk-KWARB5FZ.js → chunk-EELG7D3Q.js} +2 -2
- package/dist/chunk-EELPBR7E.js +3 -0
- package/dist/chunk-EETGXQY7.js +3 -0
- package/dist/chunk-ENWQWA2R.js +2 -0
- package/dist/{chunk-HUZNZ3H2.js → chunk-ERCYGVAM.js} +2 -2
- package/dist/{chunk-WSG3DK5H.js → chunk-EWWY2ZFL.js} +2 -2
- package/dist/chunk-F24G5NBE.js +3 -0
- package/dist/{chunk-XRXCANFQ.js → chunk-F24QUEQP.js} +2 -2
- package/dist/{chunk-KFK7GF5C.js → chunk-FBCVASUG.js} +2 -2
- package/dist/{chunk-35IW3P4H.js → chunk-FELGD32K.js} +2 -2
- package/dist/{chunk-UNORWZIJ.js → chunk-FFJQZG6J.js} +5 -5
- package/dist/{chunk-5SE323LF.js → chunk-FGNCOQUX.js} +2 -2
- package/dist/chunk-FKGQOTKD.js +2 -0
- package/dist/chunk-GDRJB3SB.js +3 -0
- package/dist/chunk-GH5YSGZL.js +5 -0
- package/dist/{chunk-X7PJJYKX.js → chunk-GIQ6CSL4.js} +2 -2
- package/dist/{chunk-2RP27XLR.js → chunk-GPGRZJ3R.js} +2 -2
- package/dist/{chunk-IYV2YBHM.js → chunk-GQIDEID3.js} +2 -2
- package/dist/chunk-GRX7JOXQ.js +2 -0
- package/dist/{chunk-H46QMB7E.js → chunk-GVOMSPGL.js} +2 -2
- package/dist/{chunk-KTRGJLY7.js → chunk-GY7CCCEZ.js} +2 -2
- package/dist/{chunk-VNKYRJKN.js → chunk-H7CG6LOE.js} +2 -2
- package/dist/chunk-HCVJR2V4.js +3 -0
- package/dist/chunk-HG722PO7.js +3 -0
- package/dist/{chunk-LHTT5C3Z.js → chunk-HISEUIL2.js} +2 -2
- package/dist/{chunk-K5MZYZV7.js → chunk-HXOU4XNH.js} +2 -2
- package/dist/chunk-I6UTXNHU.js +6 -0
- package/dist/{chunk-I7PFL5P3.js → chunk-IJMD6BRI.js} +2 -2
- package/dist/{chunk-XXJ7WL3F.js → chunk-IKVNEGTW.js} +2 -2
- package/dist/chunk-IMKZEXZG.js +2 -0
- package/dist/chunk-ISIQLPJ2.js +61 -0
- package/dist/{chunk-DEUGHURX.js → chunk-ISWFRGJ6.js} +2 -2
- package/dist/chunk-IW5XQG5G.js +2 -0
- package/dist/chunk-IXESDH3J.js +2 -0
- package/dist/{chunk-FGB567HK.js → chunk-JAT6C3VX.js} +2 -2
- package/dist/{chunk-7TWP3MCP.js → chunk-JFQBRL3J.js} +2 -2
- package/dist/{chunk-Q7HB7BFJ.js → chunk-JHH5SCZ3.js} +2 -2
- package/dist/{chunk-ZHSARYVS.js → chunk-JJ62MTQH.js} +2 -2
- package/dist/chunk-JT6XX7QY.js +8 -0
- package/dist/{chunk-5H7IWVXJ.js → chunk-JUN5DOAK.js} +2 -2
- package/dist/{chunk-DOPCR5BY.js → chunk-K3XFWJI2.js} +2 -2
- package/dist/{chunk-Y4XQ7LES.js → chunk-KFOYCQAJ.js} +1 -1
- package/dist/{chunk-N5C65OFK.js → chunk-KFVSJX25.js} +2 -2
- package/dist/chunk-KK7GPALL.js +28 -0
- package/dist/{chunk-DHKBIOXF.js → chunk-KQHJEU6V.js} +2 -2
- package/dist/{chunk-WB6LGCFB.js → chunk-KZYID5KV.js} +2 -2
- package/dist/{chunk-KW6B5OL4.js → chunk-LO5JSW2C.js} +2 -2
- package/dist/{chunk-ZW44MCJM.js → chunk-LRI5OMPE.js} +2 -2
- package/dist/{chunk-HG5YI7PV.js → chunk-LXQUF2RP.js} +2 -2
- package/dist/{chunk-TM5XEDDR.js → chunk-MHIEP7EG.js} +2 -2
- package/dist/{chunk-FHV7NMFU.js → chunk-MSR2QRUE.js} +2 -2
- package/dist/chunk-N7FP5H5U.js +57 -0
- package/dist/{chunk-3653GTR7.js → chunk-NEIQPFBI.js} +2 -2
- package/dist/chunk-NK3JMP22.js +2 -0
- package/dist/{chunk-7IOAZRVL.js → chunk-NRBNAECH.js} +2 -2
- package/dist/{chunk-HGKEAP7F.js → chunk-NVSZNESQ.js} +2 -2
- package/dist/{chunk-R2MOKIVO.js → chunk-OJNK5ALA.js} +2 -2
- package/dist/{chunk-RFWAUHVW.js → chunk-OPSAW5DT.js} +2 -2
- package/dist/chunk-OTSPRVNW.js +2 -0
- package/dist/chunk-OXYAWIEA.js +2 -0
- package/dist/chunk-OZETODHH.js +2 -0
- package/dist/chunk-PBUH2P5S.js +3 -0
- package/dist/{chunk-QBANU5BQ.js → chunk-PIFTZEEM.js} +2 -2
- package/dist/{chunk-CKDOY6JA.js → chunk-PLJUQFQN.js} +2 -2
- package/dist/{chunk-JVZNWJBH.js → chunk-PLYUVM4F.js} +2 -2
- package/dist/chunk-PXXYQK55.js +2 -0
- package/dist/{chunk-WZQFY5S7.js → chunk-Q55NF3ZG.js} +2 -2
- package/dist/{chunk-OVPS2ILI.js → chunk-Q5TA4OY4.js} +2 -2
- package/dist/{chunk-OUB4J26T.js → chunk-Q6T2CAJL.js} +2 -2
- package/dist/chunk-Q7GBK5T7.js +81 -0
- package/dist/chunk-QKT4UI2Y.js +2 -0
- package/dist/{chunk-PIZY2GX6.js → chunk-QLBSG7U5.js} +2 -2
- package/dist/chunk-QWKHW6VZ.js +2 -0
- package/dist/{chunk-E7BJXRNV.js → chunk-R6M456QG.js} +2 -2
- package/dist/{chunk-MJNV7OCG.js → chunk-RDULNRSJ.js} +2 -2
- package/dist/{chunk-SSSJO4RG.js → chunk-RHHCLWQ6.js} +2 -2
- package/dist/chunk-RNKPYYYE.js +4 -0
- package/dist/{chunk-IXJ26KJJ.js → chunk-RPL3ARU7.js} +2 -2
- package/dist/{chunk-3EX7DNBC.js → chunk-RYOYJMGF.js} +2 -2
- package/dist/chunk-SB25YMEQ.js +2 -0
- package/dist/chunk-SV2LEFVM.js +2 -0
- package/dist/{chunk-ZBNL3QCY.js → chunk-SVHTMVA4.js} +3 -3
- package/dist/{chunk-6IEVHGWG.js → chunk-SWK4XPUS.js} +2 -2
- package/dist/chunk-T6QD2ZQB.js +43 -0
- package/dist/{chunk-VETXXOYU.js → chunk-TAYD3AE7.js} +2 -2
- package/dist/chunk-TD7VKJ2Y.js +117 -0
- package/dist/{chunk-UQ7XPRWU.js → chunk-TH6IC56G.js} +2 -2
- package/dist/{chunk-XVDMJMES.js → chunk-TKDNDQA7.js} +2 -2
- package/dist/{chunk-CSDDOUA4.js → chunk-TNG2FYS5.js} +2 -2
- package/dist/chunk-TQZV7KV4.js +2 -0
- package/dist/{chunk-AJVMVE7X.js → chunk-TUQIPUDS.js} +2 -2
- package/dist/chunk-TUSPIVZ3.js +4 -0
- package/dist/{chunk-ORBKAUCH.js → chunk-U2N2KE7A.js} +2 -2
- package/dist/{chunk-3PII3JI5.js → chunk-UAQ4T73O.js} +2 -2
- package/dist/{chunk-OFY4HTMI.js → chunk-UDY7MIAW.js} +2 -2
- package/dist/{chunk-WKPZCQLI.js → chunk-URSGGIZX.js} +2 -2
- package/dist/{chunk-UL4VJUMD.js → chunk-UT7TADJX.js} +2 -2
- package/dist/chunk-V4NG5OMS.js +554 -0
- package/dist/{chunk-2H4IAJHO.js → chunk-VMWUV6WB.js} +2 -2
- package/dist/{chunk-46JLFIGA.js → chunk-VTCIYFEK.js} +2 -2
- package/dist/chunk-VU6LIWHT.js +2 -0
- package/dist/chunk-VUSKPCUB.js +2 -0
- package/dist/{chunk-URMZLV2N.js → chunk-VXJJTQYE.js} +2 -2
- package/dist/{chunk-IPAL6DP2.js → chunk-VZ7NXSHV.js} +2 -2
- package/dist/{chunk-FUG6RPYY.js → chunk-WHADK6OS.js} +2 -2
- package/dist/chunk-WN3TCGJ4.js +2 -0
- package/dist/{chunk-B7ECWJAZ.js → chunk-WOOAY3PA.js} +2 -2
- package/dist/chunk-WRQXLNYE.js +9 -0
- package/dist/chunk-WSLEJSFR.js +2 -0
- package/dist/chunk-WYZIHUPZ.js +16 -0
- package/dist/{chunk-ZYREOING.js → chunk-XE33FV5W.js} +2 -2
- package/dist/chunk-XFMVKFSF.js +2 -0
- package/dist/{chunk-BBEDPVPB.js → chunk-XGGBK66W.js} +2 -2
- package/dist/{chunk-OFUBXBYX.js → chunk-XJX6LGHL.js} +2 -2
- package/dist/{chunk-Z3GCK3PD.js → chunk-XN22RGSR.js} +2 -2
- package/dist/{chunk-HWLCBKFE.js → chunk-XSWYJCAK.js} +2 -2
- package/dist/{chunk-IGKKTHJR.js → chunk-XU75YQN4.js} +2 -2
- package/dist/{chunk-E4EJBGDZ.js → chunk-Y2VM4CJC.js} +2 -2
- package/dist/{chunk-U7LRSQG6.js → chunk-Y334QQU5.js} +2 -2
- package/dist/{chunk-APLKXICZ.js → chunk-YAGYMBEX.js} +2 -2
- package/dist/{chunk-XITQLISP.js → chunk-YIHNPKWD.js} +2 -2
- package/dist/chunk-YXPUP5G2.js +11 -0
- package/dist/{chunk-6BJ7SOY7.js → chunk-Z2AWCTN6.js} +2 -2
- package/dist/{chunk-PHSPBQM6.js → chunk-Z2PZVKPR.js} +2 -2
- package/dist/{chunk-QXR5QPSF.js → chunk-ZAZGGSM3.js} +2 -2
- package/dist/{chunk-5236NQV3.js → chunk-ZGW4HLPD.js} +2 -2
- package/dist/chunk-ZOXKSQQB.js +2 -0
- package/dist/{chunk-BD6CV7PN.js → chunk-ZPASRBLF.js} +2 -2
- package/dist/{chunk-DMUGTKMD.js → chunk-ZYM4HOFA.js} +2 -2
- package/dist/{chunk-4ILHWBYF.js → chunk-ZZ3Z7D56.js} +2 -2
- package/dist/cli-main.js +4 -4
- package/dist/{code-CczEvHui.d.ts → code-B17qEMbt.d.ts} +1 -1
- package/dist/code-EQJFDT6I.js +2 -0
- package/dist/code-result-json-7UWIWBOO.js +2 -0
- package/dist/command-descriptors-ORNTVNYV.js +342 -0
- package/dist/{config-types-Cm-VSEBb.d.ts → config-types-B9B60MiR.d.ts} +10 -0
- package/dist/dataflow-6VL54GX5.js +2 -0
- package/dist/{db-LKJXAlNS.d.ts → db-BwIVAYNB.d.ts} +1 -1
- package/dist/dependence-slice-DT2NUHD2.js +2 -0
- package/dist/deps-DB7H5IKC.js +2 -0
- package/dist/direct-navigation-O3LUAYWQ.js +3 -0
- package/dist/entry-map-6K62RV3D.js +2 -0
- package/dist/files-MSLD7MO6.js +2 -0
- package/dist/{graph-evidence-CbUPCSKV.d.ts → graph-evidence-Bjyky2V4.d.ts} +1 -1
- package/dist/{health-Wl5G_LRt.d.ts → health-CPp2Jf1Z.d.ts} +1 -1
- package/dist/hierarchy-IVBXAKFA.js +2 -0
- package/dist/imports-FRAVZ3Y2.js +2 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/members-KJOJDYGO.js +2 -0
- package/dist/methods-2AYABBT3.js +2 -0
- package/dist/output-continuation-command-JHMPH6NC.js +3 -0
- package/dist/{output-pagination-VAWOGX4R.js → output-pagination-3OFL2MJV.js} +2 -2
- package/dist/project-reindex-HYO4WD7Z.js +3 -0
- package/dist/queries/affected.d.ts +2 -2
- package/dist/queries/affected.js +1 -1
- package/dist/queries/anchors.d.ts +2 -2
- package/dist/queries/anchors.js +1 -1
- package/dist/queries/architecture.d.ts +2 -2
- package/dist/queries/architecture.js +1 -1
- package/dist/queries/bottlenecks.d.ts +2 -2
- package/dist/queries/bottlenecks.js +1 -1
- package/dist/queries/by-kind.d.ts +2 -2
- package/dist/queries/by-kind.js +1 -1
- package/dist/queries/call-graph.d.ts +2 -2
- package/dist/queries/call-graph.js +1 -1
- package/dist/queries/change-surface.d.ts +2 -2
- package/dist/queries/change-surface.js +1 -1
- package/dist/queries/cleanup-plan.d.ts +2 -2
- package/dist/queries/cleanup-plan.js +1 -1
- package/dist/queries/co-change.d.ts +2 -2
- package/dist/queries/co-change.js +1 -1
- package/dist/queries/code.d.ts +3 -3
- package/dist/queries/code.js +1 -1
- package/dist/queries/complexity-hotspots.d.ts +2 -2
- package/dist/queries/complexity-hotspots.js +1 -1
- package/dist/queries/complexity.d.ts +13 -2
- package/dist/queries/complexity.js +1 -1
- package/dist/queries/context.d.ts +2 -2
- package/dist/queries/context.js +1 -1
- package/dist/queries/convergence.d.ts +2 -2
- package/dist/queries/convergence.js +1 -1
- package/dist/queries/coupling.d.ts +2 -2
- package/dist/queries/coupling.js +1 -1
- package/dist/queries/cycles.d.ts +2 -2
- package/dist/queries/cycles.js +1 -1
- package/dist/queries/dataflow.d.ts +2 -2
- package/dist/queries/dataflow.js +1 -1
- package/dist/queries/dead.d.ts +2 -2
- package/dist/queries/dead.js +1 -1
- package/dist/queries/decorative-checkers.d.ts +2 -2
- package/dist/queries/decorative-checkers.js +1 -1
- package/dist/queries/deep-chains.d.ts +2 -2
- package/dist/queries/deep-chains.js +1 -1
- package/dist/queries/dependence-slice.d.ts +3 -3
- package/dist/queries/dependence-slice.js +1 -1
- package/dist/queries/dependency-depth.d.ts +2 -2
- package/dist/queries/dependency-depth.js +1 -1
- package/dist/queries/deps.d.ts +2 -2
- package/dist/queries/deps.js +1 -1
- package/dist/queries/diff-impact.d.ts +2 -2
- package/dist/queries/diff-impact.js +1 -1
- package/dist/queries/doc-drift.d.ts +2 -2
- package/dist/queries/doc-drift.js +1 -1
- package/dist/queries/drift.d.ts +2 -2
- package/dist/queries/drift.js +1 -1
- package/dist/queries/duplicate-bodies.d.ts +2 -2
- package/dist/queries/duplicate-bodies.js +1 -1
- package/dist/queries/entry-map.d.ts +2 -2
- package/dist/queries/entry-map.js +1 -1
- package/dist/queries/evidence.d.ts +3 -3
- package/dist/queries/evidence.js +1 -1
- package/dist/queries/extract-candidates.d.ts +2 -2
- package/dist/queries/extract-candidates.js +1 -1
- package/dist/queries/fan.d.ts +2 -2
- package/dist/queries/fan.js +1 -1
- package/dist/queries/files.d.ts +2 -2
- package/dist/queries/files.js +1 -1
- package/dist/queries/health.d.ts +3 -3
- package/dist/queries/health.js +1 -1
- package/dist/queries/hierarchy.d.ts +2 -2
- package/dist/queries/hierarchy.js +1 -1
- package/dist/queries/hotspots.d.ts +2 -2
- package/dist/queries/hotspots.js +1 -1
- package/dist/queries/imports.d.ts +2 -2
- package/dist/queries/imports.js +1 -1
- package/dist/queries/incomplete-migration.d.ts +2 -2
- package/dist/queries/incomplete-migration.js +1 -1
- package/dist/queries/index.d.ts +5 -5
- package/dist/queries/index.js +1 -1
- package/dist/queries/isolated.d.ts +2 -2
- package/dist/queries/isolated.js +1 -1
- package/dist/queries/locality-candidates.d.ts +2 -2
- package/dist/queries/locality-candidates.js +1 -1
- package/dist/queries/members.d.ts +2 -2
- package/dist/queries/members.js +1 -1
- package/dist/queries/methods.d.ts +2 -2
- package/dist/queries/methods.js +1 -1
- package/dist/queries/not-implemented.d.ts +2 -2
- package/dist/queries/not-implemented.js +1 -1
- package/dist/queries/outline.d.ts +2 -2
- package/dist/queries/outline.js +1 -1
- package/dist/queries/passthrough-candidates.d.ts +2 -2
- package/dist/queries/passthrough-candidates.js +1 -1
- package/dist/queries/plan-context.d.ts +2 -2
- package/dist/queries/plan-context.js +1 -1
- package/dist/queries/react-component-duplicates.d.ts +2 -2
- package/dist/queries/react-component-duplicates.js +1 -1
- package/dist/queries/react-hook-candidates.d.ts +2 -2
- package/dist/queries/react-hook-candidates.js +1 -1
- package/dist/queries/react-large-component-pressure.d.ts +2 -2
- package/dist/queries/react-large-component-pressure.js +1 -1
- package/dist/queries/recent-duplicates.d.ts +2 -2
- package/dist/queries/recent-duplicates.js +1 -1
- package/dist/queries/redundant-reexports.d.ts +2 -2
- package/dist/queries/redundant-reexports.js +1 -1
- package/dist/queries/reference-neighborhood.d.ts +2 -2
- package/dist/queries/reference-neighborhood.js +1 -1
- package/dist/queries/reference-reachability.d.ts +2 -2
- package/dist/queries/reference-reachability.js +1 -1
- package/dist/queries/refs.d.ts +2 -2
- package/dist/queries/refs.js +1 -1
- package/dist/queries/self-audit.d.ts +2 -2
- package/dist/queries/self-audit.js +1 -1
- package/dist/queries/similar-chains.d.ts +2 -2
- package/dist/queries/similar-chains.js +1 -1
- package/dist/queries/similar-files.d.ts +2 -2
- package/dist/queries/similar-files.js +1 -1
- package/dist/queries/similar-signatures.d.ts +2 -2
- package/dist/queries/similar-signatures.js +1 -1
- package/dist/queries/similar.d.ts +2 -2
- package/dist/queries/similar.js +1 -1
- package/dist/queries/slice.d.ts +2 -2
- package/dist/queries/slice.js +1 -1
- package/dist/queries/source-inspection.d.ts +4 -4
- package/dist/queries/source-inspection.js +1 -1
- package/dist/queries/source-search.d.ts +2 -2
- package/dist/queries/source-search.js +1 -1
- package/dist/queries/stale-abstractions.d.ts +2 -2
- package/dist/queries/stale-abstractions.js +1 -1
- package/dist/queries/stats.d.ts +2 -2
- package/dist/queries/surface.d.ts +2 -2
- package/dist/queries/surface.js +1 -1
- package/dist/queries/symbols.d.ts +2 -2
- package/dist/queries/symbols.js +1 -1
- package/dist/queries/system-map.d.ts +2 -2
- package/dist/queries/system-map.js +1 -1
- package/dist/queries/system.d.ts +2 -2
- package/dist/queries/system.js +1 -1
- package/dist/queries/test-quality.d.ts +2 -2
- package/dist/queries/test-quality.js +1 -1
- package/dist/queries/trace.d.ts +2 -2
- package/dist/queries/trace.js +1 -1
- package/dist/queries/twin-ab.d.ts +2 -2
- package/dist/queries/twin-ab.js +1 -1
- package/dist/queries/twin-drift.d.ts +2 -2
- package/dist/queries/twin-drift.js +1 -1
- package/dist/queries/unused-imports.d.ts +2 -2
- package/dist/queries/unused-imports.js +1 -1
- package/dist/queries/unused-params.d.ts +2 -2
- package/dist/queries/unused-params.js +1 -1
- package/dist/queries/value-flow.d.ts +3 -3
- package/dist/queries/value-flow.js +1 -1
- package/dist/queries/vue-component-duplicates.d.ts +2 -2
- package/dist/queries/vue-component-duplicates.js +1 -1
- package/dist/queries/vue-composable-candidates.d.ts +2 -2
- package/dist/queries/vue-composable-candidates.js +1 -1
- package/dist/queries/vue-large-view-pressure.d.ts +2 -2
- package/dist/queries/vue-large-view-pressure.js +1 -1
- package/dist/queries/wrapper-candidates.d.ts +2 -2
- package/dist/queries/wrapper-candidates.js +1 -1
- package/dist/query-service-fastpath.js +5 -5
- package/dist/query-service-server.js +2 -2
- package/dist/refs-ARMA6XUJ.js +2 -0
- package/dist/refs-pagination-VUGIWN6U.js +2 -0
- package/dist/reindex-worker.js +125 -66
- package/dist/reindex.d.ts +5 -3
- package/dist/reindex.js +135 -76
- package/dist/runtime.d.ts +5 -5
- 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-CppzF5MK.d.ts → scip-cli-H-n59izO.d.ts} +1 -1
- package/dist/slice-YOB5YFAM.js +2 -0
- package/dist/surface-VY5EFWTW.js +2 -0
- package/dist/symbol-resolution-DGQN4XIV.js +2 -0
- package/dist/system-2KQ3QD2P.js +2 -0
- package/dist/trace-HTIPTXAE.js +2 -0
- package/dist/typescript-mailbox-worker.js +1 -1
- package/dist/value-flow-5FV3VQI7.js +2 -0
- package/dist/watch-server.js +3 -3
- package/docs/CLI_JSON_OUTPUT.md +2 -2
- package/docs/COMMAND_REFERENCE.md +2 -2
- package/docs/schemas/project-config.schema.json +11 -1
- package/package.json +6 -5
- package/skills/scip-explore/SKILL.md +73 -3
- package/skills/scip-explore/agents/openai.yaml +3 -3
- package/skills/scip-explore/references/delegated-exploration.md +51 -0
- package/skills/scip-explore/references/external-evidence.md +72 -0
- package/skills/scip-explore/references/information-model.md +51 -0
- package/skills/scip-explore/scripts/capture-evidence.mjs +666 -0
- package/skills/scip-query/SKILL.md +22 -1
- package/dist/by-kind-CI3O6PQG.js +0 -2
- package/dist/call-graph-6QTUTXH7.js +0 -2
- package/dist/chunk-2COFMIVK.js +0 -60
- package/dist/chunk-35ELD3RM.js +0 -2
- package/dist/chunk-3FQ3KMCD.js +0 -2
- package/dist/chunk-3VLJ2DCA.js +0 -2
- package/dist/chunk-4DCKBY6T.js +0 -5
- package/dist/chunk-4N6QSEMZ.js +0 -10
- package/dist/chunk-4OE2JO6I.js +0 -2
- package/dist/chunk-4UUCUASK.js +0 -554
- package/dist/chunk-54EOGFBR.js +0 -2
- package/dist/chunk-5IZTXSOL.js +0 -117
- package/dist/chunk-5ZJH6DDE.js +0 -2
- package/dist/chunk-63MBA7EG.js +0 -3
- package/dist/chunk-6T7H2AFY.js +0 -3
- package/dist/chunk-7COHFNJK.js +0 -38
- package/dist/chunk-7HU2IJ2T.js +0 -3
- package/dist/chunk-7PPYXENX.js +0 -2
- package/dist/chunk-AA7K3XLM.js +0 -21
- package/dist/chunk-AUP6YI5M.js +0 -2
- package/dist/chunk-CA5RE6H7.js +0 -2
- package/dist/chunk-CT5SI2I4.js +0 -2
- package/dist/chunk-D5EKVZPI.js +0 -2
- package/dist/chunk-DMQ7ZKJG.js +0 -81
- package/dist/chunk-ELNRLMC5.js +0 -29
- package/dist/chunk-F7WQ337U.js +0 -308
- package/dist/chunk-FEQIQ26E.js +0 -2
- package/dist/chunk-FN6EJM6Q.js +0 -2
- package/dist/chunk-FTSQNONX.js +0 -2
- package/dist/chunk-G2F6T5BV.js +0 -2
- package/dist/chunk-G6OGPXJW.js +0 -9
- package/dist/chunk-GFLTPNWV.js +0 -3
- package/dist/chunk-GTDP2SKQ.js +0 -2
- package/dist/chunk-HEOMG7IM.js +0 -8
- package/dist/chunk-I3U2FN2T.js +0 -13
- package/dist/chunk-IUJ3ZFEE.js +0 -7
- package/dist/chunk-LXLD46LH.js +0 -21
- package/dist/chunk-MEI3PTUK.js +0 -2
- package/dist/chunk-MO226P4Q.js +0 -4
- package/dist/chunk-MYUKI5VN.js +0 -4
- package/dist/chunk-OIRWZIYL.js +0 -38
- package/dist/chunk-OIVZ7PW6.js +0 -438
- package/dist/chunk-PNISDVYC.js +0 -3
- package/dist/chunk-PQOL42AW.js +0 -2
- package/dist/chunk-PUVZNFVY.js +0 -11
- package/dist/chunk-PZEI2TVL.js +0 -4
- package/dist/chunk-Q2J2VZZT.js +0 -2
- package/dist/chunk-QDCCHMVZ.js +0 -2
- package/dist/chunk-QLQBZOJH.js +0 -3
- package/dist/chunk-S73HBCGI.js +0 -11
- package/dist/chunk-SDPA5DKN.js +0 -210
- package/dist/chunk-SEUJVWT2.js +0 -3
- package/dist/chunk-SF7X6QNW.js +0 -2
- package/dist/chunk-SWFAFA4G.js +0 -49
- package/dist/chunk-T6FRID7Y.js +0 -3
- package/dist/chunk-TNOHGHZQ.js +0 -2
- package/dist/chunk-U2GPTA5U.js +0 -3
- package/dist/chunk-URTX2BEA.js +0 -6
- package/dist/chunk-VGRUM7JI.js +0 -3
- package/dist/chunk-VWLIOEEF.js +0 -11
- package/dist/chunk-WK4FD4PG.js +0 -2
- package/dist/chunk-X434XZAI.js +0 -2
- package/dist/chunk-YIEFEPG6.js +0 -16
- package/dist/chunk-YRVERHJR.js +0 -49
- package/dist/chunk-ZD3Z54IW.js +0 -2
- package/dist/chunk-ZDVDSDFG.js +0 -4
- package/dist/code-EQL6ZBLH.js +0 -2
- package/dist/code-result-json-6E4J6LGZ.js +0 -2
- package/dist/command-descriptors-QH3G2OVD.js +0 -346
- package/dist/dataflow-2BLMUZBP.js +0 -2
- package/dist/dependence-slice-MGAJDZXB.js +0 -2
- package/dist/deps-GQMUYVKW.js +0 -2
- package/dist/direct-navigation-6RUJKLAV.js +0 -3
- package/dist/entry-map-V2NQP5JU.js +0 -2
- package/dist/files-VM53I4IU.js +0 -2
- package/dist/hierarchy-D553WRSZ.js +0 -2
- package/dist/imports-DOZAJWLW.js +0 -2
- package/dist/members-HE67475K.js +0 -2
- package/dist/methods-K5JK4PPH.js +0 -2
- package/dist/output-continuation-command-LKBUTNRL.js +0 -3
- package/dist/project-reindex-4ARU6QCM.js +0 -3
- package/dist/refs-NBHKL4UQ.js +0 -2
- package/dist/refs-pagination-BBVTIHMH.js +0 -2
- package/dist/slice-U6S6LBSB.js +0 -2
- package/dist/surface-C7SS5CDQ.js +0 -2
- package/dist/symbol-resolution-3FVEKDTJ.js +0 -2
- package/dist/system-6K2NOO5C.js +0 -2
- package/dist/trace-II5K2TMH.js +0 -2
- package/dist/value-flow-MKFUUE5B.js +0 -2
package/dist/chunk-54EOGFBR.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as f,c as g}from"./chunk-F4FNK44D.js";import{$ as p,aa as x,h as d}from"./chunk-4DCKBY6T.js";function U(n){if(!n)return;let e=Number(n);return Number.isInteger(e)&&e>0?e:void 0}import{execFileSync as b}from"child_process";import{createHash as v}from"crypto";import{existsSync as s,statSync as j}from"fs";import{createRequire as B}from"module";import{platform as N}from"os";import{dirname as m,join as a}from"path";var S=B(import.meta.url),G={language:"rust",indexerBinary:"rust-analyzer",installUrl:"https://github.com/rust-lang/rust-analyzer"};function l(n){return[n.indexerBinary,...n.binaryAliases??[]]}function k(n){let e=l(n);return e.length===1?e[0]:e.join(" or ")}function u(n){for(let e of l(n)){let r=g(e);if(r)return r}return O(n)}function W(n){return u(n)!==null||L(n)}function L(n){return I(n)!==null}function O(n){let e=I(n);if(!e)return null;let t=JSON.parse(d(e,"indexer package manifest")).bin;if(!t)return null;if(typeof t=="string")return a(m(e),t);for(let o of l(n)){let i=t[o];if(i)return a(m(e),i)}return null}function I(n){if(!n.bundledNpmPackage)return null;try{return S.resolve(`${n.bundledNpmPackage}/package.json`)}catch{return null}}function E(n,e){for(let r of n.projectLocalBinaries??[]){let t=a(e,r);if(s(t))return t}return null}function w(n,e){for(let r of n.projectLocalBinaries??[]){let t=a(e,r);if(s(t))return T(e,r,t)}return null}function Y(n,e){let r=D(n,e);if(!r||r.canonicalPath!==e.canonicalPath||r.sha256!==e.sha256||r.size!==e.size||r.mtimeMs!==e.mtimeMs||r.device!==e.device||r.inode!==e.inode||r.executable!==e.executable)throw new Error(`refusing changed project-local indexer ${e.relativePath}; review the current file and rerun with --trust-project-tools`)}function D(n,e){try{return T(n,e.relativePath,e.configuredPath)}catch{return null}}function T(n,e,r){let t={maxBytes:268435456,inputKind:"project-local indexer"},o=p(n,e,t),i=x(n,e,t),h=j(o.absolutePath);return{configuredPath:r,canonicalPath:o.absolutePath,relativePath:e,sha256:v("sha256").update(i).digest("hex"),size:o.size,mtimeMs:o.mtimeMs,device:o.device,inode:o.inode,executable:(h.mode&73)!==0}}function R(n,e,r={}){return(r.trustProjectTools?w(n,e)?.canonicalPath:null)??u(n)}function Z(n,e=process.env,r=n.indexerBinary){if(n.indexerBinary!=="scip-dotnet"||c(r,e))return e;let t=P(r,e);return t?{...e,DOTNET_ROOT:t}:e}function Q(n,e,r={}){let t=k(n),o=e?R(n,e,r):u(n);if(!o)return{language:n.language,binaryLabel:t,installed:!1,runnable:!1,resolvedBinary:null,installUrl:n.installUrl,...e&&E(n,e)?{note:"project-local indexer available only with --trust-project-tools"}:{}};if(n.indexerBinary!=="scip-dotnet")return{language:n.language,binaryLabel:t,installed:!0,runnable:!0,resolvedBinary:o};let i=J(o);return{language:n.language,binaryLabel:t,installed:!0,runnable:i.runnable,resolvedBinary:o,installUrl:n.installUrl,note:i.note}}function J(n){if(c(n,process.env))return{runnable:!0};let e=P(n,process.env);if(e)return{runnable:!0,note:`using .NET 9 runtime from ${e}`};let r=y(process.env);return{runnable:!1,note:r.length>0?`.NET 9 runtime still unavailable after checking ${r.join(", ")}`:"binary is present, but scip-dotnet still needs a .NET 9 runtime"}}function P(n,e){for(let r of y(e))if(c(n,{...e,DOTNET_ROOT:r}))return r;return null}function y(n){let e=[],r=n.DOTNET_ROOT;if(r&&s(r)&&e.push(r),N()==="darwin"&&f("brew"))try{let t=b("brew",["--prefix","dotnet@9"],{stdio:"pipe",env:n,timeout:1e4,killSignal:"SIGKILL"}).toString().trim(),o=a(t,"libexec");s(o)&&!e.includes(o)&&e.push(o)}catch{}return e}function c(n,e){try{return b(n,["--version"],{stdio:"pipe",env:e,timeout:1e4,killSignal:"SIGKILL"}),!0}catch{return!1}}export{G as a,k as b,u as c,W as d,E as e,w as f,Y as g,Z as h,Q as i,U as j};
|
|
2
|
-
//# sourceMappingURL=chunk-54EOGFBR.js.map
|
package/dist/chunk-5IZTXSOL.js
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import{a as I,m as A,p as v,v as P,w as Q}from"./chunk-I3U2FN2T.js";import{C as w,a as D}from"./chunk-AA7K3XLM.js";import{c as S,d as N,h,i as x,n as _,u as C,w as O,x as T,z as $}from"./chunk-DMQ7ZKJG.js";var te={"/":"namespace","#":"type",".":"term","[":"type-param",":":"meta","!":"macro"};function u(e){if(e.startsWith("local "))return{kind:"local",id:e.slice(6),raw:e};let n=e.split(" ");if(n.length<4)return{scheme:n[0]??"",manager:n[1]??"",packageName:n[2]??"",version:"",descriptors:[],raw:e};let t=n[0],i=n[1],r=e.slice(t.length+1+i.length+1),s;if(r.startsWith("`")){let l=r.indexOf("`",1);l===-1?(s=r.slice(1),r=""):(s=r.slice(1,l),r=r.slice(l+2))}else{let l=r.indexOf(" ");l===-1?(s=r,r=""):(s=r.slice(0,l),r=r.slice(l+1))}let o,a=r.indexOf(" ");a===-1?(o=r,r=""):(o=r.slice(0,a),r=r.slice(a+1));let c=ie(r);return{scheme:t,manager:i,packageName:s,version:o,descriptors:c,raw:e}}function p(e){let n=u(e);if("kind"in n)return null;for(let t=n.descriptors.length-2;t>=0;t--){let i=n.descriptors[t];if(i?.suffix==="type")return i.name}return null}function ie(e){let n=[],t=0;for(;t<e.length;){if(e[t]==="["){let s=e.indexOf("]",t+1);if(s===-1){n.push({name:e.slice(t+1),suffix:"type-param"});break}n.push({name:e.slice(t+1,s),suffix:"type-param"}),t=s+1;continue}if(e[t]==="("&&(n.length===0||t===0||j(e[t-1]))){let s=e.indexOf(")",t+1);if(s!==-1&&e[s+1]!=="."){n.push({name:e.slice(t+1,s),suffix:"parameter"}),t=s+1;continue}}let i;if(e[t]==="`"){let s=e.indexOf("`",t+1);if(s===-1){i=e.slice(t+1),n.push({name:i,suffix:"term"});break}i=e.slice(t+1,s),t=s+1}else{let s=t;for(;t<e.length&&!j(e[t]);)t++;i=e.slice(s,t)}if(t>=e.length){i&&n.push({name:i,suffix:"term"});break}let r=e[t];if(r==="("){let s=e.indexOf(")",t+1);s!==-1&&e[s+1]==="."?(n.push({name:i,suffix:"method"}),t=s+2):s!==-1?(n.push({name:i,suffix:"method"}),t=s+1):(n.push({name:i,suffix:"term"}),t++)}else{let s=te[r];s&&n.push({name:i,suffix:s}),t+=1}}return n}function j(e){return e==="/"||e==="#"||e==="."||e==="("||e==="["||e===":"||e==="!"}function B(e){let n=u(e);if("kind"in n&&n.kind==="local")return`local:${n.id}`;let t=n;if(t.descriptors.length===0)return t.raw;let i=[];for(let r of t.descriptors){let s=re(r);s&&i.push(s)}return i.join(":")}function re(e){let n=e.suffix==="namespace"?se(e.name):e.name;return n?e.suffix==="method"?`${n}()`:n:""}function se(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 W(e){let n=u(e);if("kind"in n&&n.kind==="local")return n.id;let t=n;return t.descriptors.length===0?"":t.descriptors[t.descriptors.length-1].name}function g(e){let n=u(e);if("kind"in n&&n.kind==="local")return null;let t=n;return t.descriptors[t.descriptors.length-1]?.suffix??null}function je(e){return e.endsWith("().")||g(e)==="method"}function L(e){let n=g(e);return n==="method"?!0:n!=="term"?!1:e.endsWith("().")?!0:e.startsWith("rust-analyzer ")&&e.includes("#")?!1:e.startsWith("scip-typescript ")?!/#[A-Za-z0-9_$]+\.$/.test(e):!0}function Be(e){return g(e)==="namespace"}var oe=/^rust-analyzer\b.*[\s/]impl#\[[^\]]+\]\[[^\]]+\]/;function We(e){return oe.test(e)}var ae=new Set(["test","tests","_tests"]);function Je(e){let n=u(e);if("kind"in n)return!1;for(let t=0;t<n.descriptors.length-1;t+=1){let i=n.descriptors[t];if(i?.suffix==="namespace"&&i.name&&ae.has(i.name))return!0}return!1}function ze(e,n){let t=u(e),i=u(n);if("kind"in t||"kind"in i)return!1;let r=t.descriptors,s=i.descriptors;if(s.length!==r.length+1)return!1;for(let o=0;o<r.length;o++){let a=r[o],c=s[o];if(a.name!==c.name||a.suffix!==c.suffix)return!1}return!0}function He(e,n){let t=u(e),i=u(n);if("kind"in t||"kind"in i)return!1;let r=t.descriptors,s=i.descriptors;if(s.length<=r.length)return!1;for(let o=0;o<r.length;o++){let a=r[o],c=s[o];if(a.name!==c.name||a.suffix!==c.suffix)return!1}return!0}function Ue(e,n){return e.all(`SELECT gs.id, gs.symbol, der.document_id, der.start_line, der.start_char, der.end_line, der.end_char, d.relative_path, gs.display_name, gs.documentation
|
|
2
|
-
FROM global_symbols gs
|
|
3
|
-
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
4
|
-
JOIN documents d ON der.document_id = d.id
|
|
5
|
-
WHERE ${n.where}
|
|
6
|
-
${e.pathExclusionsFor("d")}
|
|
7
|
-
${z(n.orderBy)}
|
|
8
|
-
${H(n.limit)}`,...n.params??[])}function Ke(e,n){return e.all(`SELECT
|
|
9
|
-
gs.id,
|
|
10
|
-
gs.symbol,
|
|
11
|
-
c.document_id,
|
|
12
|
-
MIN(c.start_line) AS start_line,
|
|
13
|
-
0 AS start_char,
|
|
14
|
-
MAX(c.end_line) AS end_line,
|
|
15
|
-
0 AS end_char,
|
|
16
|
-
d.relative_path,
|
|
17
|
-
gs.display_name,
|
|
18
|
-
gs.documentation
|
|
19
|
-
FROM global_symbols gs
|
|
20
|
-
JOIN mentions m ON m.symbol_id = gs.id
|
|
21
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
22
|
-
JOIN documents d ON c.document_id = d.id
|
|
23
|
-
WHERE m.role = 1
|
|
24
|
-
AND ${n.where}
|
|
25
|
-
${e.pathExclusionsFor("d")}
|
|
26
|
-
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path, gs.display_name, gs.documentation
|
|
27
|
-
${z(n.orderBy)}
|
|
28
|
-
${H(n.limit)}`,...n.params??[])}function z(e){return e?`ORDER BY ${e}`:""}function H(e){return typeof e=="number"?`LIMIT ${e}`:""}function G(e){return!e||!e.trim()?null:e.replace(/^```\w*\s*/,"").replace(/\s*```$/,"").replace(/^\(method\)\s*/,"").replace(/^\(property\)\s*/,"").replace(/^\(function\)\s*/,"").replace(/^\(class\)\s*/,"").replace(/^\(interface\)\s*/,"").replace(/^\(enum\)\s*/,"").replace(/^\(type alias\)\s*/,"").replace(/^\(const\)\s*/,"").replace(/^\(var\)\s*/,"").trim()||null}function U(e){if(!e)return null;let n=J(e);if(n)return n.replace(/\n/g," ");let t=e.indexOf("|");if(t===-1)return e.replace(/\n/g," ");let i=e.slice(t+1);return(J(i)??i).replace(/\n/g," ")}function J(e){return/^```(?:\w+)?\s*\n?([\s\S]*?)\n?```/.exec(e.trimStart())?.[1]?.trim()||null}function b(e){return{forFile(n,t){return K(e,n,t)},forFiles(n,t){let i=new Map;for(let r of n)i.set(r,K(e,r,t));return i}}}function K(e,n,t){let i={file:n},r=t.facts||t.identifiers;if(t.text&&(i.text=T(e,n)),t.lines&&(i.lines=$(e,n)),t.ast&&(i.ast=w(e,n)),t.imports&&(i.imports=Q(e,n)),t.reexports&&(i.reexports=P(e,n)),r){let s=A(e,n),o=s.facts;t.facts&&(i.facts=o),s.unavailable&&(i.sourceFactsUnavailable=s.unavailable),t.identifiers&&o&&(i.identifiers=o.fileIdentifiers,i.identifierLineMap=o.identifierLineMap)}return i}function le(e,n={}){if(p(e.symbol)!==null)return n.includeClassMemberFallbacks===!0;let r=(e.documentation??"").replace(/^```\w*\s*/,"").replace(/\s*```$/,"").trim();return/^(?:var|let|const|function|class|interface|type|enum)\b/.test(r)}function F(e,n,t={}){let i=new Map;for(let s of n)e.length>0&&!le(s,{includeClassMemberFallbacks:t.includeClassMemberFallbacks})||i.set(s.id,s);for(let s of e)i.set(s.id,s);let r=[...i.values()];return t.sort?r.sort((s,o)=>s.start_line-o.start_line||s.end_line-o.end_line||s.symbol.localeCompare(o.symbol)):r}function gn(e){let n=new Map;for(let t of e){if(!t.leaf)continue;let i=n.get(t.leaf)??[];i.push(t),n.set(t.leaf,i)}return n}var ce=S("file-definitions",{clearGroups:["definition-catalog"]}),de=N("scoped-matched-definitions",{clearGroups:["definition-catalog"]}),ue=S("file-function-like-definitions",{clearGroups:["definition-catalog"]}),Y=new WeakMap;function E(e,n,t={},i){return t.includeClassMemberFallbacks?R(e,n,void 0,{includeClassMemberFallbacks:!0},i):ce.get(e,n,()=>{let r=m(i,"evidence-read",()=>V(e,n));if(r)return r;let s=R(e,n,void 0,t,i);return m(i,"evidence-write",()=>{let o=x(e),a=b(e).forFile(n,{text:!0}).text;o&&a&&q.write(e,n,h(e,n,a),{projectFingerprint:o,definitions:s.map(c=>({...c}))})}),s})}function fe(e,n){return ue.get(e,n,()=>{let t=V(e,n);return t?t.filter(i=>i.isFunctionLike):R(e,n,i=>i.isFunctionLike)})}var q=C({kind:"file-definitions",invalidation:O("file-definitions"),serialize:me,deserialize:pe});function V(e,n){let t=x(e);if(!t)return null;let i=b(e).forFile(n,{text:!0}).text;if(!i)return null;let r=q.read(e,n,h(e,n,i));return r?ge(r,t,n):null}function me(e){return JSON.stringify(e)}function pe(e){try{let n=JSON.parse(e);return!_(n)||typeof n.projectFingerprint!="string"||!Array.isArray(n.definitions)?null:{projectFingerprint:n.projectFingerprint,definitions:n.definitions}}catch{return null}}function ge(e,n,t){if(e.projectFingerprint!==n)return null;let i=[];for(let r of e.definitions){let s=be(r,t);if(!s)return null;i.push(s)}return i}function be(e,n){return!_(e)||typeof e.symbolId!="number"||typeof e.symbol!="string"||typeof e.documentId!="number"||typeof e.startLine!="number"||typeof e.startChar!="number"&&e.startChar!==void 0||typeof e.endLine!="number"||typeof e.endChar!="number"&&e.endChar!==void 0||e.relativePath!==n||typeof e.leaf!="string"||typeof e.parentTypeName!="string"&&e.parentTypeName!==null||typeof e.isFunctionLike!="boolean"||typeof e.isTypeLike!="boolean"||typeof e.kind!="number"&&e.kind!==null||typeof e.documentation!="string"&&e.documentation!==null||typeof e.enclosingSymbol!="string"&&e.enclosingSymbol!==null?null:{symbolId:e.symbolId,symbol:e.symbol,documentId:e.documentId,startLine:e.startLine,startChar:e.startChar,endLine:e.endLine,endChar:e.endChar,relativePath:e.relativePath,leaf:e.leaf,parentTypeName:e.parentTypeName,isFunctionLike:e.isFunctionLike,isTypeLike:e.isTypeLike,kind:e.kind,documentation:e.documentation,enclosingSymbol:e.enclosingSymbol}}function R(e,n,t,i={},r){let s=m(r,"primary-rows",()=>ye(e,n)),o=m(r,"fallback-rows",()=>Se(e,n)),a=m(r,"merge-rows",()=>F(s,o,{sort:!0,includeClassMemberFallbacks:i.includeClassMemberFallbacks}).map(k));return t&&(a=a.filter(t)),m(r,"range-correction",()=>M(e,n,a,r,i.rangeCorrectionEvidence))}function m(e,n,t){return e?e(n,t):t()}function ye(e,n){return e.all(`SELECT
|
|
29
|
-
gs.id,
|
|
30
|
-
gs.symbol,
|
|
31
|
-
der.document_id,
|
|
32
|
-
der.start_line,
|
|
33
|
-
der.start_char,
|
|
34
|
-
der.end_line,
|
|
35
|
-
der.end_char,
|
|
36
|
-
d.relative_path,
|
|
37
|
-
gs.display_name,
|
|
38
|
-
gs.kind,
|
|
39
|
-
gs.documentation,
|
|
40
|
-
gs.enclosing_symbol
|
|
41
|
-
FROM global_symbols gs
|
|
42
|
-
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
43
|
-
JOIN documents d ON der.document_id = d.id
|
|
44
|
-
WHERE d.relative_path = ?
|
|
45
|
-
${e.symbolNoiseFor("gs")}
|
|
46
|
-
ORDER BY der.start_line, der.end_line`,n)}function Se(e,n){return e.all(`SELECT
|
|
47
|
-
gs.id,
|
|
48
|
-
gs.symbol,
|
|
49
|
-
c.document_id,
|
|
50
|
-
MIN(c.start_line) AS start_line,
|
|
51
|
-
0 AS start_char,
|
|
52
|
-
MAX(c.end_line) AS end_line,
|
|
53
|
-
0 AS end_char,
|
|
54
|
-
d.relative_path,
|
|
55
|
-
gs.display_name,
|
|
56
|
-
gs.kind,
|
|
57
|
-
gs.documentation,
|
|
58
|
-
gs.enclosing_symbol
|
|
59
|
-
FROM global_symbols gs
|
|
60
|
-
JOIN mentions m ON m.symbol_id = gs.id
|
|
61
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
62
|
-
JOIN documents d ON c.document_id = d.id
|
|
63
|
-
WHERE d.relative_path = ?
|
|
64
|
-
AND m.role = 1
|
|
65
|
-
${e.symbolNoiseFor("gs")}
|
|
66
|
-
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path
|
|
67
|
-
ORDER BY start_line, end_line`,n)}function k(e){return{symbolId:e.id,symbol:e.symbol,documentId:e.document_id,startLine:e.start_line,startChar:e.start_char??0,endLine:e.end_line,endChar:e.end_char??0,relativePath:e.relative_path,leaf:W(e.symbol),parentTypeName:p(e.symbol),isFunctionLike:L(e.symbol),isTypeLike:g(e.symbol)==="type",kind:e.kind??null,documentation:e.documentation??null,enclosingSymbol:e.enclosing_symbol??null}}function bn(e,n={}){return he(e,n.scope)}function he(e,n){return D(e,{scope:n,includeIgnored:!1}).flatMap(t=>E(e,t)).filter(t=>!e.isIgnored(t.relativePath))}function yn(e,n){return D(e,{scope:n,includeIgnored:!1}).flatMap(t=>fe(e,t)).filter(t=>!e.isIgnored(t.relativePath))}function Sn(e,n){let t=de.get(e,()=>new WeakMap),i=t.get(n.symbolMatches);i||(i=new Map,t.set(n.symbolMatches,i));let r=JSON.stringify({scope:n.scope??null,sqlPrefilter:n.sqlPrefilter??null}),s=i.get(r);if(s)return[...s];let o=X(xe(e,n.scope,n.sqlPrefilter)),a=X(De(e,n.scope,n.sqlPrefilter)),c=new Set([...o.keys(),...a.keys()]),l=[];for(let d of[...c].sort()){if(e.isIgnored(d))continue;let f=F(o.get(d)??[],a.get(d)??[],{sort:!0}).filter(ne=>n.symbolMatches(ne.symbol));f.length!==0&&l.push(...M(e,d,f.map(k)))}return i.set(r,l),[...l]}function xe(e,n,t){let i=n?"AND d.relative_path LIKE ?":"",r=t?`AND ${ee("gs",t)}`:"",s=n?[`%${n}%`]:[];return e.all(`SELECT
|
|
68
|
-
gs.id,
|
|
69
|
-
gs.symbol,
|
|
70
|
-
der.document_id,
|
|
71
|
-
der.start_line,
|
|
72
|
-
der.start_char,
|
|
73
|
-
der.end_line,
|
|
74
|
-
der.end_char,
|
|
75
|
-
d.relative_path,
|
|
76
|
-
gs.display_name,
|
|
77
|
-
gs.kind,
|
|
78
|
-
gs.documentation,
|
|
79
|
-
gs.enclosing_symbol
|
|
80
|
-
FROM global_symbols gs
|
|
81
|
-
JOIN defn_enclosing_ranges der ON gs.id = der.symbol_id
|
|
82
|
-
JOIN documents d ON der.document_id = d.id
|
|
83
|
-
WHERE 1 = 1
|
|
84
|
-
${e.pathExclusionsFor("d")}
|
|
85
|
-
${i}
|
|
86
|
-
${r}
|
|
87
|
-
${e.symbolNoiseFor("gs")}
|
|
88
|
-
ORDER BY d.relative_path, der.start_line, der.end_line`,...s)}function De(e,n,t){let i=n?"AND d.relative_path LIKE ?":"",r=t?`AND ${ee("gs",t)}`:"",s=n?[`%${n}%`]:[];return e.all(`SELECT
|
|
89
|
-
gs.id,
|
|
90
|
-
gs.symbol,
|
|
91
|
-
c.document_id,
|
|
92
|
-
MIN(c.start_line) AS start_line,
|
|
93
|
-
0 AS start_char,
|
|
94
|
-
MAX(c.end_line) AS end_line,
|
|
95
|
-
0 AS end_char,
|
|
96
|
-
d.relative_path,
|
|
97
|
-
gs.display_name,
|
|
98
|
-
gs.kind,
|
|
99
|
-
gs.documentation,
|
|
100
|
-
gs.enclosing_symbol
|
|
101
|
-
FROM global_symbols gs
|
|
102
|
-
JOIN mentions m ON m.symbol_id = gs.id
|
|
103
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
104
|
-
JOIN documents d ON c.document_id = d.id
|
|
105
|
-
WHERE m.role = 1
|
|
106
|
-
AND NOT EXISTS (
|
|
107
|
-
SELECT 1
|
|
108
|
-
FROM defn_enclosing_ranges existing_der
|
|
109
|
-
WHERE existing_der.symbol_id = gs.id
|
|
110
|
-
)
|
|
111
|
-
${e.pathExclusionsFor("d")}
|
|
112
|
-
${i}
|
|
113
|
-
${r}
|
|
114
|
-
${e.symbolNoiseFor("gs")}
|
|
115
|
-
GROUP BY gs.id, gs.symbol, c.document_id, d.relative_path
|
|
116
|
-
ORDER BY d.relative_path, start_line, end_line`,...s)}function _e(e){return`(${e}.symbol LIKE '%().' OR ${e}.symbol LIKE '%()')`}function ee(e,n){return n==="callable"?_e(e):Ie(e)}function Ie(e){return`(${e}.symbol LIKE '%.' OR ${e}.symbol LIKE '%()')`}function X(e){let n=new Map;for(let t of e){let i=n.get(t.relative_path);i?i.push(t):n.set(t.relative_path,[t])}return n}function hn(e,n,t={}){if(n.length===0)return[];let i=n.flatMap(r=>E(e,r)).filter(r=>!e.isIgnored(r.relativePath));return t.onlyDocumented&&(i=i.filter(r=>r.documentation!==null&&r.documentation!=="")),t.sort&&(i=i.sort((r,s)=>r.relativePath.localeCompare(s.relativePath)||r.startLine-s.startLine||r.endLine-s.endLine)),i.map(r=>({startLine:r.startLine,endLine:r.endLine,symbol:r.symbol,shortName:B(r.symbol),signature:G(U(r.documentation)),relativePath:r.relativePath,enclosingSymbol:r.enclosingSymbol}))}function Le(e){let n=new Map,t=e.map((i,r)=>({definition:i,index:r,span:i.endLine-i.startLine})).sort((i,r)=>i.span-r.span||i.index-r.index);for(let{definition:i}of t)for(let r=i.startLine;r<=i.endLine;r+=1)n.has(r)||n.set(r,i);return n}function xn(e,n){let t=Y.get(e);return t||(t=Le(e),Y.set(e,t)),t.get(n)??null}function Dn(e,n){let t=E(e,n.relative_path).find(i=>i.symbolId===n.id)??(p(n.symbol)===null||!L(n.symbol)?void 0:M(e,n.relative_path,[k(n)])[0]);return t?{symbolId:t.symbolId,symbol:t.symbol,documentId:t.documentId,startLine:t.startLine,startChar:t.startChar,endLine:t.endLine,endChar:t.endChar,relativePath:t.relativePath}:{symbolId:n.id,symbol:n.symbol,documentId:n.document_id,startLine:n.start_line,startChar:n.start_char??0,endLine:n.end_line,endChar:n.end_char??0,relativePath:n.relative_path}}function M(e,n,t,i,r){let s=m(i,"range-correction.source-text",()=>r?r.source:b(e).forFile(n,{text:!0}).text),o=m(i,"range-correction.callable-sites",()=>r?r.callables:v(e,n));return o?m(i,"range-correction.ast-correction",()=>Ne(t,o,s)):s?m(i,"range-correction.regex-fallback",()=>Fe(t,s)):t}function Fe(e,n){let t=n.split(/\r?\n/),i=Re(e,t),r=Ee(e,i),s=ke(r,t);return Me(e,s)}function Re(e,n){let t=e.some(r=>y(r.symbol))?ve(n):null,i=new Map;for(let r of e)i.set(r.symbolId,Ae(n,t,r));return i}function Ee(e,n){return e.filter(t=>y(t.symbol)).map(t=>({definition:t,startLine:n.get(t.symbolId)??t.startLine})).sort((t,i)=>t.startLine-i.startLine||t.definition.startLine-i.definition.startLine||t.definition.symbol.localeCompare(i.definition.symbol))}function ke(e,n){let t=new Map;for(let i=0;i<e.length;i+=1){let r=e[i],s=e[i+1],o=s?Math.max(r.startLine,s.startLine-1):n.length-1;t.set(r.definition.symbolId,{startLine:r.startLine,endLine:Pe(n,r.definition,r.startLine,o)})}return t}function Me(e,n){return e.map(t=>{let i=n.get(t.symbolId);return i?{...t,startLine:i.startLine,endLine:i.endLine}:t})}function Ne(e,n,t=null){let i=new Map;for(let r of n){let s=i.get(r.name);s?s.push(r):i.set(r.name,[r])}return e.map(r=>{if(!we(r)||!r.leaf)return Z(r,t);let s=i.get(r.leaf);if(!s||s.length===0)return Z(r,t);let o=t?Ce(r,s,t):null;if(o)return{...r,startLine:o.startLine,endLine:o.endLine};let a=s[0],c=Math.abs(a.startLine-r.startLine);for(let l=1;l<s.length;l+=1){let d=s[l],f=Math.abs(d.startLine-r.startLine);f<c&&(a=d,c=f)}return{...r,startLine:a.startLine,endLine:a.endLine}})}function Ce(e,n,t){let i=Oe(e.symbol);if(!i)return null;let r=t.split(/\r?\n/),s=new RegExp(`\\b${I(i)}\\b`);for(let o of n){let a=Te(r,o.startLine);if(a&&s.test(a))return o}return null}function Oe(e){return e.match(/\/impl#\[([^\]]+)\]/)?.[1]??null}function Te(e,n){for(let t=n;t>=0;t-=1){let i=e[t]?.trim()??"";if(i){if(/^impl\b/.test(i))return $e(e,t,n);if(/^(?:struct|enum|trait|mod)\b/.test(i))return null}}return null}function $e(e,n,t){let i=[];for(let r=n;r<=t;r+=1){let s=e[r]??"";if(i.push(s),s.includes("{"))break}return i.join(" ")}function we(e){return y(e.symbol)?!0:g(e.symbol)==="term"&&p(e.symbol)===null}function Z(e,n){if(!n||!e.leaf||g(e.symbol)!=="term"||p(e.symbol)!==null)return e;let t=I(e.leaf),i=new RegExp(`\\b(?:export\\s+)?(?:const|let|var)\\s+${t}\\b`),s=n.split(/\r?\n/).findIndex(o=>i.test(o));return s>=0?{...e,startLine:s,endLine:s}:e}function Ae(e,n,t){if(!y(t.symbol))return t.startLine;let i=Math.max(0,Math.min(t.startLine,e.length-1));if(!n)return i;let r=n.get(t.leaf);if(!r||r.length===0)return i;let s=null;for(let o of r){let a=Math.abs(o-t.startLine);(!s||a<s.distance)&&(s={line:o,distance:a})}return s?.line??i}function ve(e){let n=/\b(?:function|def|fn)\s+([A-Za-z_$][\w$]*)/g,t=/\b([A-Za-z_$][\w$]*)\s*[:=]\s*(?:async\s*)?(?:function\b|\()/g,i=/^\s*(?:(?:export|public|private|protected|static|readonly|async|abstract|get|set)\s+)*([A-Za-z_$][\w$]*)\s*(?:<[^(]*>)?\s*\(/,r=/\b([A-Za-z_$][\w$]*)\s*\(/g,s=new Map,o=(a,c)=>{let l=s.get(a);if(!l){s.set(a,[c]);return}l[l.length-1]!==c&&l.push(c)};for(let a=0;a<e.length;a+=1){let c=e[a]??"";for(let d of c.matchAll(n))d[1]&&o(d[1],a);for(let d of c.matchAll(t))d[1]&&o(d[1],a);let l=c.match(i);l?.[1]&&o(l[1],a);for(let d of c.matchAll(r))d[1]&&o(d[1],a)}return s}function Pe(e,n,t,i){let r=Math.max(t,Math.min(e.length-1,i)),s=Math.max(t,Math.min(r,n.endLine)),o=0,a=0,c=!1;for(let l=t;l<=r;l+=1){let d=Qe(e[l]??"");for(let f of d)f==="{"?(o+=1,c=!0):f==="}"?o=Math.max(0,o-1):f==="("?a+=1:f===")"&&(a=Math.max(0,a-1));if(c&&o===0||!c&&a===0&&l>=s)return l}return s}function Qe(e){let n="",t=null,i=!1;for(let r=0;r<e.length;r+=1){let s=e[r],o=e[r+1];if(!t&&s==="/"&&o==="/"){n+=" ".repeat(e.length-r);break}if(t){if(i){i=!1,n+=" ";continue}if(s==="\\"){i=!0,n+=" ";continue}s===t&&(t=null),n+=" ";continue}if(s==='"'||s==="'"||s==="`"){t=s,n+=" ";continue}n+=s}return n}function y(e){return e.includes("().")}function _n(e){let n=u(e);if("kind"in n)return[];let t=[];for(let i=n.descriptors.length-2;i>=0;i-=1){let r=n.descriptors[i];r?.suffix==="type"&&r.name&&t.push(r.name)}return t}export{b as a,u as b,p as c,B as d,W as e,g as f,je as g,L as h,Be as i,We as j,Je as k,ze as l,He as m,Ue as n,Ke as o,G as p,U as q,F as r,gn as s,E as t,bn as u,he as v,yn as w,Sn as x,hn as y,Le as z,xn as A,Dn as B,_n as C};
|
|
117
|
-
//# sourceMappingURL=chunk-5IZTXSOL.js.map
|
package/dist/chunk-5ZJH6DDE.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as D,f as k}from"./chunk-DOPCR5BY.js";import{k as v,l as A,m as C,n as T,o as N}from"./chunk-G6OGPXJW.js";import{c as M,d as F}from"./chunk-3VLJ2DCA.js";import{h}from"./chunk-4DCKBY6T.js";import{createHash as G}from"crypto";import{dirname as X,join as O}from"path";var g=4,Y=3,H=2,K="typescript-index";function de(t){let e=O(t,K),i=A(e);return{...i,requestDir:i.legacyRequestDir}}function J(t){let e=JSON.parse(t),i=e.protocolVersion,r=i===H,n=i===Y;if(!r&&!n&&i!==g||typeof e.id!="string"||!e.id||typeof e.baseGeneration!="string"||!e.baseGeneration||typeof e.deadlineAtMs!="number"||!Number.isFinite(e.deadlineAtMs)||!W(e.request)||!r&&(e.mailboxVersion!==v||typeof e.operationKey!="string"||!/^[a-f0-9]{64}$/.test(e.operationKey)||e.id!==N(e.operationKey)||typeof e.clientId!="string"||!e.clientId||typeof e.enqueuedAtMs!="number"||!Number.isFinite(e.enqueuedAtMs)||e.deadlineAtMs<e.enqueuedAtMs))throw new Error("TypeScript index service received an invalid mailbox request.");if(!r){let s=e,a=T(n?"typescript-index-v3":"typescript-index-v4",{baseGeneration:s.baseGeneration,request:s.request});if(s.operationKey!==a)throw new Error("TypeScript index service received a mismatched mailbox operation identity.");return{...s,protocolVersion:g}}let o=T("typescript-index-v2",{id:e.id,baseGeneration:e.baseGeneration,request:e.request});return{protocolVersion:g,mailboxVersion:v,id:e.id,operationKey:o,clientId:"legacy-v2",enqueuedAtMs:e.deadlineAtMs,deadlineAtMs:e.deadlineAtMs,baseGeneration:e.baseGeneration,request:e.request}}function ye(t){try{let e=k(D(h(O(X(t),"meta.json"),"reindex metadata")));return e?G("sha256").update(e).digest("hex"):null}catch{return null}}function W(t){if(!t||typeof t!="object")return!1;let e=t,i=B(e.modifiedFiles)?e.modifiedFiles:null,r=B(e.affectedFiles)?e.affectedFiles:null;return e.kind==="emit-documents"&&typeof e.tsconfigPath=="string"&&!!e.tsconfigPath&&typeof e.projectArgument=="string"&&!!e.projectArgument&&typeof e.projectIdentity=="string"&&!!e.projectIdentity&&typeof e.producerIdentity=="string"&&!!e.producerIdentity&&i!==null&&i.length>0&&new Set(i).size===i.length&&r!==null&&r.length>0&&new Set(r).size===r.length}function B(t){return Array.isArray(t)&&t.every(e=>typeof e=="string"&&e.length>0)}import{randomUUID as oe}from"crypto";import{getHeapStatistics as se}from"v8";import{resolve as ae}from"path";import{createRequire as Q}from"module";import{dirname as E,isAbsolute as Z,relative as q,resolve as d,sep as I}from"path";var m=Q(import.meta.url),ee=1,_="0.4.0";function te(){try{let t=j();if(!t.available)return t;let{packageRoot:e}=t,i=m.resolve("typescript",{paths:[e]}),r=m(i),{FileIndexer:n}=m(d(e,"dist/src/FileIndexer.js")),{Input:o}=m(d(e,"dist/src/Input.js")),{Packages:s}=m(d(e,"dist/src/Packages.js")),a=m(d(e,"dist/src/scip.js"));if(!n||!o||!s||!a.scip?.Document||!a.scip.Index)return{available:!1,reason:"scip-typescript document runtime has an unsupported module shape"};let c={packageVersion:t.packageVersion,typescript:r,Document:a.scip.Document,Index:a.scip.Index,FileIndexer:n,Input:o,Packages:s};return{available:!0,runtime:c,producerIdentity:P(c)}}catch(t){return{available:!1,reason:`scip-typescript document runtime unavailable: ${t instanceof Error?t.message:String(t)}`}}}function be(){let t=j();return t.available?{available:!0,packageVersion:t.packageVersion,typescriptVersion:t.typescriptVersion,producerIdentity:t.producerIdentity}:t}function j(){try{let t=m.resolve("@sourcegraph/scip-typescript/package.json"),e=JSON.parse(h(t,"scip-typescript package manifest"));if(e.version!==_)return{available:!1,reason:`unsupported scip-typescript version ${String(e.version??"unknown")}; expected ${_}`};let i=E(t),r=m.resolve("typescript/package.json",{paths:[i]}),n=JSON.parse(h(r,"TypeScript package manifest"));return typeof n.version!="string"||!n.version?{available:!1,reason:"scip-typescript TypeScript compiler version is unavailable"}:{available:!0,packageRoot:i,packageVersion:e.version,typescriptVersion:n.version,producerIdentity:U(e.version,n.version)}}catch(t){return{available:!1,reason:`scip-typescript document producer unavailable: ${t instanceof Error?t.message:String(t)}`}}}function z(t){let e=t.runtime===void 0?te():t.runtime===null?{available:!1,reason:"scip-typescript document runtime unavailable"}:{available:!0,runtime:t.runtime,producerIdentity:P(t.runtime)};return e.available?{available:!0,emitter:new w(t,e.runtime)}:e}var w=class{producerIdentity;workspaceRoot;tsconfigPath;projectRoot;maxFileByteSize;runtime;host;config=null;includedFiles=new Set;program=null;checker=null;symbolTable=new Map;constructorTable=new Map;packages;fragments=new Map;stats={initializations:0,programUpdates:0,documentsEmitted:0,documentsRemoved:0,sourceNodesReused:0,sourceNodesReplaced:0,symbolEntriesPruned:0};constructor(e,i){this.workspaceRoot=d(e.workspaceRoot),this.tsconfigPath=d(this.workspaceRoot,e.tsconfigPath),this.projectRoot=e.projectRoot??ie(this.workspaceRoot,E(this.tsconfigPath)),this.maxFileByteSize=e.maxFileByteSize??1024*1024,this.runtime=i,this.producerIdentity=P(i);let r=x(i.typescript,this.tsconfigPath);this.config=r,this.host=new R(i.typescript,r.options,this.workspaceRoot),this.packages=new i.Packages(this.projectRoot)}initialize(){let e=performance.now();this.initializeProgram();let i=[];for(let r of this.program.getSourceFiles())this.includedFiles.has(f(r.fileName))&&i.push(this.emitSourceFile(r));return this.result(i,e)}advance(e){if(!this.program||!this.checker||!this.config)return this.initializeAndAdvance(e);let i=performance.now(),r=S(e.modifiedFiles),n=S(e.affectedFiles),o=x(this.runtime.typescript,this.tsconfigPath);this.config=o,this.includedFiles=new Set(o.fileNames.map(f));let s=this.program,a=new Map;for(let l of r){let u=y(this.workspaceRoot,l),p=s.getSourceFile(u);p&&(a.set(l,p),this.stats.symbolEntriesPruned+=L(this.symbolTable,p),this.stats.symbolEntriesPruned+=L(this.constructorTable,p)),this.host.invalidate(u)}this.program=this.runtime.typescript.createProgram(o.fileNames,o.options,this.host.compilerHost,s),this.checker=this.program.getTypeChecker(),this.stats.programUpdates+=1,this.validateIncrementalPaths(r,n);for(let[l,u]of a)this.program.getSourceFile(y(this.workspaceRoot,l))===u?this.stats.sourceNodesReused+=1:this.stats.sourceNodesReplaced+=1;let c=n.map(l=>{let u=y(this.workspaceRoot,l),p=this.program.getSourceFile(u);if(!p)throw new Error(`affected TypeScript source is unavailable: ${l}`);return this.emitSourceFile(p)});return this.result(c,i)}fragment(e){return this.fragments.get(b(e))??null}snapshotStats(){return{...this.stats}}initializeAndAdvance(e){let i=performance.now();this.initializeProgram();let r=S(e.modifiedFiles),n=S(e.affectedFiles);this.validateIncrementalPaths(r,n);let o=n.map(s=>{let a=this.program.getSourceFile(y(this.workspaceRoot,s));if(!a)throw new Error(`affected TypeScript source is unavailable: ${s}`);return this.emitSourceFile(a)});return this.result(o,i)}initializeProgram(){let e=this.config??x(this.runtime.typescript,this.tsconfigPath);this.includedFiles=new Set(e.fileNames.map(f)),this.program=this.runtime.typescript.createProgram(e.fileNames,e.options,this.host.compilerHost),this.checker=this.program.getTypeChecker(),this.stats.initializations+=1}validateIncrementalPaths(e,i){if(e.length===0)throw new Error("incremental TypeScript document update requires a modified file");if(i.length===0)throw new Error("incremental TypeScript document update requires an affected file");for(let r of e){let n=y(this.workspaceRoot,r);if(!this.program?.getSourceFile(n))throw new Error(`modified TypeScript dependency is unavailable to the configured project: ${r}`)}for(let r of i){let n=y(this.workspaceRoot,r);if(!this.includedFiles.has(f(n)))throw new Error(`affected TypeScript file is outside the configured project: ${r}`)}}emitSourceFile(e){if(!this.checker)throw new Error("TypeScript document emitter is not initialized");let i=b(q(this.workspaceRoot,e.fileName)),r=new this.runtime.Document({relative_path:i,occurrences:[]});if(new this.runtime.FileIndexer(this.checker,{cwd:this.workspaceRoot,projectRoot:this.projectRoot,projectDisplayName:this.projectRoot,maxFileByteSizeNumber:this.maxFileByteSize},new this.runtime.Input(e.fileName,e.getText()),r,this.symbolTable,this.constructorTable,this.packages,e).index(),this.stats.documentsEmitted+=1,r.occurrences.length===0)return this.fragments.delete(i),this.stats.documentsRemoved+=1,{relativePath:i,bytes:null,occurrences:0,symbols:r.symbols.length,referenceFragments:[]};let o=r.serializeBinary();return this.fragments.set(i,o),{relativePath:i,bytes:o,occurrences:r.occurrences.length,symbols:r.symbols.length,referenceFragments:re(i,r)}}result(e,i){return{producerIdentity:this.producerIdentity,fragments:e,durationMs:performance.now()-i,stats:this.snapshotStats()}}};function re(t,e){let i=new Map;for(let r of e.occurrences){if(!r.symbol||(r.symbol_roles&1)!==0||r.range.length<3)continue;let n=r.range[0],o=r.range[1];if(!Number.isInteger(n)||!Number.isInteger(o))continue;let s={targetSymbol:r.symbol,location:{file:t,line:n,column:o}};i.set(`${r.symbol}\0${n}\0${o}`,s)}return[...i.values()].sort((r,n)=>r.targetSymbol.localeCompare(n.targetSymbol)||r.location.line-n.location.line||r.location.column-n.location.column)}var R=class{compilerHost;sourceFiles=new Map;constructor(e,i,r){let n=e.createCompilerHost(i),o=n.getSourceFile.bind(n);this.compilerHost={...n,getCurrentDirectory:()=>r,getSourceFile:(s,a,c,l)=>{let u=f(s);if(this.sourceFiles.has(u))return this.sourceFiles.get(u);let p=o(s,a,c,l);return this.sourceFiles.set(u,p),p}}}invalidate(e){this.sourceFiles.delete(f(e))}};function x(t,e){let i=t.readConfigFile(e,t.sys.readFile);if(i.error)throw new Error(t.formatDiagnostics([i.error],t.createCompilerHost({})));let r=t.parseJsonConfigFileContent(i.config,t.sys,E(e)),n=r.errors.filter(o=>o.code!==18003);if(n.length>0)throw new Error(t.formatDiagnostics(n,t.createCompilerHost({})));return r}function P(t){return U(t.packageVersion,t.typescript.version)}function U(t,e){return`scip-typescript:${t}:typescript:${e}:document-adapter:${ee}`}function ie(t,e){return b(q(t,e))||"."}function y(t,e){if(Z(e))throw new Error(`expected a project-relative path: ${e}`);let i=d(t,e),r=t.endsWith(I)?t:`${t}${I}`;if(i!==t&&!i.startsWith(r))throw new Error(`path escapes the project root: ${e}`);return i}function S(t){return[...new Set(t.map(b))].sort()}function b(t){return t.split(I).join("/").replace(/^\.\//,"")}function f(t){return d(t)}function L(t,e){let i=0;for(let r of t.keys())if(ne(r)){try{if(r.getSourceFile()!==e)continue}catch{continue}t.delete(r),i+=1}return i}function ne(t){return!!(t&&typeof t=="object"&&"kind"in t&&"getSourceFile"in t)}var V=class{projectRoot;currentGeneration;createEmitter;wallNow;monotonicNow;maxActiveSessions;softMemoryLimitBytes;memoryUsage;active=new Map;requests=0;sessionsCreated=0;sessionsReplaced=0;sessionsEvicted=0;lastRequestAtMs=null;lastDurationMs=null;lastError=null;unavailable=!1;constructor(e){if(this.projectRoot=ae(e.projectRoot),this.currentGeneration=e.currentGeneration,this.createEmitter=e.createEmitter??z,this.wallNow=e.wallNow??e.now??Date.now,this.monotonicNow=e.monotonicNow??e.now??F,e.maxActiveSessions!==void 0&&(!Number.isInteger(e.maxActiveSessions)||e.maxActiveSessions<1))throw new Error("TypeScript index maxActiveSessions must be a positive integer.");if(this.maxActiveSessions=e.maxActiveSessions??8,e.softMemoryLimitMb!==void 0&&(!Number.isInteger(e.softMemoryLimitMb)||e.softMemoryLimitMb<1))throw new Error("TypeScript index softMemoryLimitMb must be a positive integer.");this.softMemoryLimitBytes=e.softMemoryLimitMb===void 0?null:e.softMemoryLimitMb*1024*1024,this.memoryUsage=e.memoryUsage??(()=>({heapUsedBytes:process.memoryUsage().heapUsed,heapLimitBytes:se().heap_size_limit}))}handle(e,i){let r=this.monotonicNow();try{if(this.currentGeneration()!==e)throw new Error("TypeScript index request does not match the currently published generation.");let n=this.emitterFor(i);if(n.emitter.producerIdentity!==i.producerIdentity)throw new Error("TypeScript index producer identity changed.");let o=n.emitter.snapshotStats(),s=n.emitter.advance({modifiedFiles:i.modifiedFiles,affectedFiles:i.affectedFiles}),a=this.monotonicNow()-r;return this.requests+=1,this.lastRequestAtMs=this.wallNow(),this.lastDurationMs=a,this.lastError=null,this.unavailable=!1,{producerIdentity:s.producerIdentity,cold:s.stats.initializations>o.initializations,durationMs:a,fragments:s.fragments.map(c=>({relativePath:c.relativePath,bytesBase64:c.bytes===null?null:Buffer.from(c.bytes).toString("base64"),occurrences:c.occurrences,symbols:c.symbols,referenceFragments:c.referenceFragments}))}}catch(n){throw this.lastError=n instanceof Error?n.message:String(n),n}}status(e){let i=[...this.active.values()].map(s=>s.emitter.snapshotStats()),r=s=>i.reduce((a,c)=>a+c[s],0),n=this.memoryUsage(),o=this.softMemoryLimitBytes!==null&&n.heapUsedBytes>=this.softMemoryLimitBytes;return{protocolVersion:g,state:this.unavailable?"unavailable":this.lastError?"error":this.active.size>0?"ready":"idle",requests:this.requests,sessionsCreated:this.sessionsCreated,sessionsReplaced:this.sessionsReplaced,sessionsEvicted:this.sessionsEvicted,activeSessions:this.active.size,maxActiveSessions:this.maxActiveSessions,heapUsedBytes:n.heapUsedBytes,heapLimitBytes:n.heapLimitBytes,...this.softMemoryLimitBytes===null?{}:{softMemoryLimitBytes:this.softMemoryLimitBytes},retireRequested:o,initializations:r("initializations"),programUpdates:r("programUpdates"),documentsEmitted:r("documentsEmitted"),documentsRemoved:r("documentsRemoved"),...this.lastRequestAtMs===null?{}:{lastRequestAt:new Date(this.lastRequestAtMs).toISOString()},...this.lastDurationMs===null?{}:{lastDurationMs:this.lastDurationMs},...this.lastError?{lastError:this.lastError}:{},...e?{mailbox:e}:{}}}close(){this.active.clear()}emitterFor(e){let i=`${e.tsconfigPath}\0${e.projectArgument}`,r=this.active.get(i);if(r?.projectIdentity===e.projectIdentity)return this.active.delete(i),this.active.set(i,r),r;if(r)this.active.delete(i);else if(this.active.size>=this.maxActiveSessions){let s=this.active.keys().next().value;s!==void 0&&(this.active.delete(s),this.sessionsEvicted+=1)}let n=this.createEmitter({workspaceRoot:this.projectRoot,tsconfigPath:e.tsconfigPath,projectRoot:e.projectArgument});if(!n.available)throw this.unavailable=!0,new Error(n.reason);r&&(this.sessionsReplaced+=1);let o={projectIdentity:e.projectIdentity,emitter:n.emitter};return this.active.set(i,o),this.sessionsCreated+=1,o}};function Ce(t){C(t)}var Ne=`typescript-index-${process.pid}-${oe()}`,$=M(process.pid),Be={pid:process.pid,...$?{processIdentity:$}:{}};export{be as a,g as b,de as c,J as d,ye as e,V as f,Ce as g};
|
|
2
|
-
//# sourceMappingURL=chunk-5ZJH6DDE.js.map
|
package/dist/chunk-63MBA7EG.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{a as X}from"./chunk-P5XHIJHI.js";import{B as mn,C as yn,a as It,i as Mt,j as me,k as $,l as Le,m as Z,n as ee,o as Oe,q as Dt,r as pn,s as Ue,t as ne,u as xt,v as Ct,w as Be,x as Tt,z as dn}from"./chunk-ZDVDSDFG.js";import{d as ht}from"./chunk-ELNRLMC5.js";import{K as vt,a as xe,b as Ce,c as we,d as Pe,e as q}from"./chunk-MYUKI5VN.js";import{b as Rt,e as V,f as Ne,h as bt,j as de,t as z,u as _e}from"./chunk-5IZTXSOL.js";import{a as pe,l as Fe,u as St,w as gt}from"./chunk-I3U2FN2T.js";import{C as yt,a as Ee,c as at,d as ct,q as ln,z as mt}from"./chunk-AA7K3XLM.js";import{a as tt,c as rt,d as it,g as an,i as cn,k as ot,m as st,p as _,q as lt,r as w,t as Ae,u as un,v as fn,w as ue}from"./chunk-DMQ7ZKJG.js";import{d as ft,h as pt,i as fe,l as dt}from"./chunk-7HU2IJ2T.js";import{$ as ut,A as et,B as H,C as Te,F as ke,G as B,H as nt,L as sn,l as le,o as N}from"./chunk-MO226P4Q.js";function kt(n){let e=new Map,t=ti(n),r=new Map;return i=>{let o=ni(i),s=r.get(o);if(s!==void 0)return s;if(!t.has(i.file))return r.set(o,i.symbol),i.symbol;let a=e.get(i.file);a||(a=ri(z(n,i.file)),e.set(i.file,a));let l=ii(a,i);return r.set(o,l),l}}function ni(n){return`${n.file}\0${n.symbol}\0${n.line}`}function ti(n){return new Set(n.all("SELECT relative_path FROM documents").map(e=>e.relative_path))}function ri(n){let e=new Map,t=new Map;for(let r of n){let i=e.get(r.leaf);i?i.push(r):e.set(r.leaf,[r]);let o=t.get(r.startLine);o?o.push(r):t.set(r.startLine,[r])}return{definitions:n,byLeaf:e,byStartLine:t}}function ii(n,e){if(n.definitions.length===0)return e.symbol;let t=ai(e.symbol),r=oi(n.byLeaf,t),i=si(r,e.line);if(i)return i.symbol;let o=n.byStartLine.get(e.line)??[];return o.length===1?o[0].symbol:e.symbol}function oi(n,e){let t=[],r=new Set;for(let i of e)for(let o of n.get(i)??[])r.has(o.symbolId)||(r.add(o.symbolId),t.push(o));return t}function si(n,e){let t=null;for(let r of n)if(!(r.startLine>e||r.endLine<e)){if(r.startLine===e)return r;(!t||r.endLine-r.startLine<t.endLine-t.startLine)&&(t=r)}return t}function ai(n){let e=new Set([n]),r=n.split(/::|\.|#/).filter(Boolean).at(-1);return r&&e.add(r),e}function wt(n,e){let r=gt(n,e).map(i=>li(e,i));return{usage:r,positions:ui(n,e,r)}}function Pt(n,e){return{importUsage(t){let r=n.importUsageFacts(t);if(!e||r.positions.length===0)return r.usage;let i=e.importDefinitionsForFile(t,r.positions);return i.available?ci(r.usage,i.sourcePaths):r.usage}}}function ci(n,e){return n.map((t,r)=>{let i=e.get(String(r));return i?{...t,sourcePath:i}:t})}function li(n,e){let t=e.isTypeOnly===!0,r=e.kind==="side-effect"||t||e.used;return{importer:n,sourcePath:e.sourcePath,importedName:e.importedName,localName:e.localName,kind:e.kind,isTypeOnly:t,isUsed:r,isTypeUsed:t,isValueUsed:e.kind==="side-effect"||!t&&e.used,references:[]}}function ui(n,e,t){let r=yt(n,e);if(!r)return[];let i=fi(r.rootNode),o=new Map;for(let a of i){let l=o.get(gn(a.importedName,a.localName));l?l.push(a.position):o.set(gn(a.importedName,a.localName),[a.position])}let s=[];return t.forEach((a,l)=>{let u=o.get(gn(a.importedName,a.localName??a.importedName))?.shift();u&&s.push({...u,id:String(l),file:e})}),s}function fi(n){let e=[];for(let t of n.descendantsOfType("use_declaration")){let r=t.namedChildren.find(i=>i.type!=="visibility_modifier");r&&e.push(...qe(r,""))}return e.filter(t=>t.importedName!=="*")}function qe(n,e){switch(n.type){case"identifier":case"super":case"self":case"crate":return[{importedName:n.text,localName:n.text,position:Sn(n,n.text)}];case"scoped_identifier":{let t=n.text.split("::").pop()??n.text;return[{importedName:t,localName:t,position:Sn(n,t)}]}case"scoped_use_list":{let t=n.namedChild(0),r=n.namedChild(1);if(!t||!r)return[];let i=St(e,t.text);return r.namedChildren.flatMap(o=>qe(o,i))}case"use_list":return n.namedChildren.flatMap(t=>qe(t,e));case"use_as_clause":{let t=n.namedChild(0),r=n.namedChild(1);return!t||!r?[]:qe(t,e).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let t=n.namedChild(0),r="*";return[{importedName:r,localName:r,position:Sn(t??n,r)}]}default:return[]}}function Sn(n,e){let t=Math.max(0,n.text.lastIndexOf(e));return{id:"",file:"",line:n.startPosition.row,column:n.startPosition.column+t+pi(e)}}function pi(n){return Math.max(0,Math.min(n.length-1,1))}function gn(n,e){return`${n}\0${e}`}import{spawnSync as kn}from"child_process";import{existsSync as wn}from"fs";import{fileURLToPath as yo}from"url";function je(n){let e=Mt(It,n),t=e.runnable;return t?{available:!0,dependencyAvailable:t,resolvedBinary:e.resolvedBinary??void 0,note:"rust-analyzer semantic reference queries are enabled."}:{available:!1,dependencyAvailable:t,resolvedBinary:e.resolvedBinary??void 0,reason:"rust-analyzer is not runnable; Rust semantic checks will use SCIP/source evidence only."}}import{existsSync as Qi,mkdtempSync as er,rmSync as vn}from"fs";import{tmpdir as nr}from"os";import{join as Dn}from"path";import{fileURLToPath as Ye,pathToFileURL as Xi}from"url";import{SHARE_ENV as Zi,Worker as eo}from"worker_threads";function K(n,e,t=new Set){let r=new Map;for(let i of n)t.has(i.symbolId)||r.set(i.symbolId,e.get(i.symbolId)??[]);return r}function Y(n,e,t){let r=X(process.env.SCIP_RUST_SEMANTIC_BATCH_TIMEOUT_MS)??0;if(r>0)return r;let i=Math.max(1,Math.ceil(n/Math.max(1,t)));return Math.max(12e4,3e4+i*e)}import{spawn as Ei}from"child_process";import{createHash as Ai,randomUUID as Fi}from"crypto";import{existsSync as Ht,realpathSync as Ni,rmSync as _i}from"fs";import{tmpdir as Li}from"os";import{resolve as re}from"path";import{execFileSync as hi}from"child_process";import{existsSync as di}from"fs";import{deserializeSCIP as mi,SymbolRole as yi}from"@c4312/scip";import{realpathSync as $s}from"fs";import{basename as Js,dirname as Gs,join as Qs,relative as Xs,sep as Zs}from"path";import{fileURLToPath as na,pathToFileURL as ta}from"url";function We(n){let e=new Map;for(let t of n)e.set(`${t.file}\0${t.line}\0${t.column}`,t);return[...e.values()].sort((t,r)=>{let i=t.file.localeCompare(r.file);return i!==0?i:t.line!==r.line?t.line-r.line:t.column-r.column})}var Rn=new WeakMap,Si="SCIP_RUST_SCIP_OCCURRENCE_REFERENCE_MODE";function Et(n,e){let t=new Map,r=ze(),i=e.filter(s=>Nt(s,r));if(i.length===0)return t;let o=_t(n);if(!o)return t;for(let s of i){let a=Ft(o,s);a!==null&&t.set(s.symbolId,a)}return t}function At(n,e){if(!Nt(e,ze()))return null;let t=_t(n);return t?Ft(t,e):null}function Ft(n,e){return n.referencesBySymbol.get(e.symbol)??[]}function Nt(n,e="safe"){if(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||de(n.symbol)||/impl#\[[^\]]+\]\[Default\]default\(\)\.$/.test(n.symbol))return!1;if(e==="all")return!0;let t=Ne(n.symbol);if(t==="method")return!0;if(t!=="term")return!1;let r=Rt(n.symbol);return"kind"in r?!1:!gi(r)}function gi(n){for(let e=0;e<n.descriptors.length-1;e+=1)if(n.descriptors[e]?.suffix==="type")return!0;return!1}function _t(n){if(Rn.has(n))return Rn.get(n)??null;let e=Ri(n);return Rn.set(n,e),e}function Ri(n){if(!n.generation.indexPath||!di(n.generation.indexPath))return null;try{let e=mi(ke(n.generation.indexPath,{inputKind:"SCIP occurrence-reference index",maxBytes:Te})),t=new Map;for(let r of e.documents??[]){let i=r.relativePath;if(!(!i||n.isIgnored(i)))for(let o of r.occurrences??[]){if(!o.symbol||(o.symbolRoles&yi.Definition)!==0)continue;let s=bi(i,o.range);if(!s)continue;let a=t.get(o.symbol)??[];a.push(s),t.set(o.symbol,a)}}for(let[r,i]of t)t.set(r,We(i));return{referencesBySymbol:t}}catch{return null}}function bi(n,e){if(e.length<3)return null;let t=e[0],r=e[1];return!Number.isInteger(t)||!Number.isInteger(r)?null:{file:n,line:t,column:r}}function ze(){return process.env[Si]==="all"?"all":"safe"}var Lt=new Map;function bn(n){let t=je(n).resolvedBinary??null;return{engine:"rust-analyzer",resolvedBinary:t,version:t?Ii(n,t):"unavailable"}}function hn(n){return{...bn(n),scipOccurrenceReferenceMode:ze()}}function Ii(n,e){let t=`${n}\0${e}`,r=Lt.get(t);if(r)return r;let i;try{i=hi(e,["--version"],{cwd:n,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3}).trim()}catch{i="unknown"}return Lt.set(t,i),i}import{createHash as Mi}from"crypto";var vi=new Set(["Cargo.lock","Cargo.toml","rust-project.json","rust-toolchain","rust-toolchain.toml"]);function Ot(n){let e=dt(n,{includePath:Di});return Mi("sha256").update(JSON.stringify(e)).digest("hex")}function Di(n){let e=n.replaceAll("\\","/"),t=e.split("/").at(-1)??e;return e.endsWith(".rs")||vi.has(t)?!0:e===".cargo/config"||e===".cargo/config.toml"||e.endsWith("/.cargo/config")||e.endsWith("/.cargo/config.toml")}import{createHash as xi}from"crypto";import{resolve as Ci}from"path";var te=3;function Mn(n){return xi("sha256").update(me({kind:"scip-query-durable-rust-mailbox",protocolVersion:te,sessionDir:Ci(n)})).digest("hex")}function qt(n,e){return le(n)?n.protocolVersion!==te?Bt(n.protocolVersion===void 0?"helper wrote a prior uncorrelated response protocol":`helper wrote unsupported response protocol ${String(n.protocolVersion)}`):n.mailboxVersion!==$||n.id!==e.requestId||n.operationKey!==e.operationKey||n.sessionIdentity!==e.sessionIdentity||n.deadlineAtMs!==e.deadlineAtMs?Bt("helper wrote an incompatible response identity"):typeof n.completedAtMs!="number"||!Number.isFinite(n.completedAtMs)||n.completedAtMs>e.deadlineAtMs||e.nowMs>e.deadlineAtMs?{ok:!1,code:"expired-request",error:"helper response arrived after the durable request deadline"}:n.ok===!1?typeof n.error!="string"||!Pi(n.errorCode)?In("helper wrote an invalid rejection response"):{ok:!1,code:n.errorCode,error:n.error}:n.ok!==!0||n.session!=="created"&&n.session!=="reused"&&n.session!=="invalidated"||!Ti(n.response,e.requestKind)?In("helper wrote an invalid success response"):{ok:!0,session:n.session,response:n.response}:In("helper wrote an invalid response object")}function Ti(n,e){return!le(n)||typeof n.available!="boolean"||n.available===!1&&(typeof n.reason!="string"||n.reason.length===0)||n.available===!0&&n.reason!==void 0?!1:e==="import-definitions"?Array.isArray(n.sourcePaths)&&n.sourcePaths.every(t=>Array.isArray(t)&&t.length===2&&typeof t[0]=="string"&&(t[1]===null||typeof t[1]=="string")):Ut(n.references,ki)&&(n.incompleteReferenceSymbolIds===void 0||Array.isArray(n.incompleteReferenceSymbolIds)&&n.incompleteReferenceSymbolIds.every(t=>Number.isSafeInteger(t)))&&(n.callees===void 0||Ut(n.callees,wi))&&(n.signatures===void 0||Array.isArray(n.signatures)&&n.signatures.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&(t[1]===null||typeof t[1]=="string")))}function Ut(n,e){return Array.isArray(n)&&n.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&Array.isArray(t[1])&&t[1].every(e))}function ki(n){return le(n)&&typeof n.file=="string"&&N(n.line)&&N(n.column)}function wi(n){return le(n)&&typeof n.symbol=="string"&&typeof n.file=="string"&&N(n.line)&&(n.callsiteLine===void 0||N(n.callsiteLine))}function Pi(n){return n==="unsupported-protocol"||n==="malformed-request"||n==="expired-request"||n==="handler-error"}function In(n){return{ok:!1,code:"malformed-response",error:n}}function Bt(n){return{ok:!1,code:"incompatible-response",error:n}}var Oi=5e3,Vt=10,Ui=3e4;function jt(n,e,t,r=Qt){let i=r.engineIdentity(n),o={protocolVersion:te,projectRoot:r.canonicalProjectRoot(n),projectFingerprint:r.projectFingerprint(n),engine:{engine:i.engine,resolvedBinary:i.resolvedBinary,version:i.version},workerFingerprint:r.fileFingerprint(e),environment:Yt(r.environment())};return{key:Xt(me(o)),...o}}function Ke(n,e,t,r){if(n.protocolVersion!==te||!t(n.pid))return!1;if(!n.processIdentity)return!0;let i=r?.(n.pid);return i!=null&&Ce(n.processIdentity,i)}function $t(n,e,t){let r;try{r=sn(e,{maxBytes:H,inputKind:"Rust semantic engine artifact"})}catch{r="missing"}let i=Xt(me({projectRoot:re(n),serverPath:re(e),serverFingerprint:r})).slice(0,20);return re(t,`scip-query-rust-session-${i}`)}function Wt(n){let e=n===void 0?Number.NaN:Number(n);return Number.isInteger(e)&&e>=0?e:0}function Yt(n){return Object.fromEntries(Object.entries(n).filter(([e])=>Gt(e)).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,t??null]))}function Jt(n,e){let t=e.runtime??Ki,r=e.identityRuntime??Qt,i=$t(n,e.serverPath,e.tempRoot??Li()),o=!1,s=(a,l)=>{if(o)throw new Error("Durable Rust semantic session was already disposed.");return qi(i,e.serverPath,e.semanticWorkerPath,a,l,t,e.mailboxLimits)};return{requestSemantic(a,l){let u=jt(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...c}=a;return s({kind:"semantic",identityKey:u.key,workerEnvironment:Kt(),request:{...c,referenceRetryTimeoutMs:Bi(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,a.referenceRetryTimeoutMs),settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Wt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:l},l)},requestImportDefinitions(a,l){let u=jt(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...c}=a;return s({kind:"import-definitions",identityKey:u.key,workerEnvironment:Kt(),request:{...c,settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Wt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:l},l)},shutdown(){o=!0}}}function Bi(n,e){return e!==void 0?e:n===void 0?Ui:void 0}function qi(n,e,t,r,i,o,s={}){let a=o.now(),l=a+i,u=(o.monotonicNow??q)(),f=u+i,c=Z("rust-semantic-v3",r),p=ee(c),d=Le(n),y=Mn(n),R=Oe(d,{mailboxVersion:$,protocolVersion:te,id:p,operationKey:c,clientId:o.randomId(),enqueuedAtMs:a,deadlineAtMs:l,sessionIdentity:y,request:r},{nowMs:a,limits:s});for(zt(n,e,t,f,o);(o.monotonicNow??q)()<=f;){if(Ht(R.responsePath)){let S=ji(B(R.responsePath,{maxBytes:s.maxItemBytes??H,inputKind:"durable Rust semantic mailbox response"}),{requestId:p,operationKey:c,sessionIdentity:y,deadlineAtMs:R.authoritativeDeadlineAtMs,requestKind:r.kind,nowMs:o.now()});if(!S.ok)throw new Error(S.error);return _()&&Ae({type:"span",name:"rust.semantic.durable-session.request",durationMs:(o.monotonicNow??q)()-u,ok:!0,session:S.session,kind:r.kind}),S.response}let b=He(n);(!b||!Ke(b,o.now(),o.isProcessAlive,o.readProcessIdentity))&&zt(n,e,t,f,o),o.sleep(Vt)}throw new Error(`Durable Rust semantic session timed out after ${(i/1e3).toFixed(0)}s.`)}function zt(n,e,t,r,i){let o=He(n);if(o&&Ke(o,i.now(),i.isProcessAlive,i.readProcessIdentity))return;_i(re(n,"server.json"),{force:!0}),i.spawnServer(e,n,t);let s=i.monotonicNow??q,a=Math.min(r,s()+Oi);for(;s()<=a;){let l=He(n);if(l&&Ke(l,i.now(),i.isProcessAlive,i.readProcessIdentity))return;i.sleep(Vt)}throw new Error("Durable Rust semantic session helper did not become ready within 5s.")}function He(n){try{let e=JSON.parse(B(re(n,"server.json"),{maxBytes:et,inputKind:"durable Rust session state"}));if(typeof e.protocolVersion!="number"||e.sessionIdentity!==void 0&&(typeof e.sessionIdentity!="string"||e.sessionIdentity!==Mn(n))||typeof e.pid!="number"||typeof e.heartbeatAtMs!="number"||e.busyUntilMs!==void 0&&typeof e.busyUntilMs!="number"||e.mailbox!==void 0&&!Wi(e.mailbox))return null;let t=e.processIdentity===void 0?null:xe(e.processIdentity);return e.processIdentity!==void 0&&(!t||t.pid!==e.pid)?null:{protocolVersion:e.protocolVersion,...e.sessionIdentity===void 0?{}:{sessionIdentity:e.sessionIdentity},pid:e.pid,...t?{processIdentity:t}:{},heartbeatAtMs:e.heartbeatAtMs,...e.busyUntilMs===void 0?{}:{busyUntilMs:e.busyUntilMs},...e.mailbox===void 0?{}:{mailbox:e.mailbox}}}catch{return null}}function ji(n,e){try{return qt(JSON.parse(n),e)}catch(t){return{ok:!1,code:"malformed-response",error:`helper wrote malformed JSON: ${t instanceof Error?t.message:String(t)}`}}}function Wi(n){if(!n||typeof n!="object")return!1;let e=n;return N(e.pending)&&N(e.inflight)&&N(e.responses)&&N(e.deadLetters)&&N(e.invalid)&&N(e.totalItems)&&typeof e.totalBytes=="number"&&Number.isFinite(e.totalBytes)&&e.totalBytes>=0&&(e.oldestPendingAt===void 0||Number.isFinite(Date.parse(e.oldestPendingAt)))}function Kt(){return Object.fromEntries(Object.entries(process.env).filter(([n])=>zi(n)).sort(([n],[e])=>n.localeCompare(e)).map(([n,e])=>[n,e??null]))}function Gt(n){return n==="HOME"||n==="PATH"||n.startsWith("CARGO_")||n.startsWith("RA_")||n.startsWith("RUST")}function zi(n){return Gt(n)||n.startsWith("SCIP_RUST_")||n==="SCIP_QUERY_PROFILE"||n==="SCIP_QUERY_PROFILE_CACHE_STATE"||n==="SCIP_QUERY_PROFILE_COMMAND"||n==="SCIP_QUERY_PROFILE_OUT"||n==="SCIP_QUERY_PROFILE_RUN_ID"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY_KIND"||n==="SCIP_QUERY_PROFILE_MIN_MS"}var Qt={canonicalProjectRoot(n){try{return Ni(n)}catch{return re(n)}},projectFingerprint(n){return Ot(n)},engineIdentity:bn,fileFingerprint(n){return sn(n,{maxBytes:H,inputKind:"Rust semantic engine artifact"})},environment(){return Yt(process.env)}},Ki={now:Date.now,monotonicNow:q,randomId:Fi,isProcessAlive:Pe,readProcessIdentity:we,spawnServer(n,e,t){if(!Ht(n))throw new Error(`Durable Rust semantic session helper was not found at ${n}. Run npm run build first.`);Ei(process.execPath,[n,e,t],{detached:!0,stdio:"ignore"}).unref()},sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)}};function Xt(n){return Ai("sha256").update(n).digest("hex")}import{randomUUID as Va}from"crypto";import{readdirSync as Hi,rmSync as Ya,writeFileSync as Ja}from"fs";import{join as Vi}from"path";var $i="rust-analyzer-owner-",Yi=".json",Ji=16*1024;async function Zt(n,e){if(!n)return[];let t;try{t=Hi(n)}catch{return[]}let r=t.filter(s=>s.startsWith($i)&&s.endsWith(Yi)).map(s=>Vi(n,s)),i=[],o=[];for(let s of r){let a=Gi(s);a?o.push(a):i.push({reaped:!1,reason:"identity-unavailable",detail:`Rust analyzer ownership record ${s} could not be validated.`})}return i.push(...await Promise.all(o.map(s=>vt(s,e)))),i}function Gi(n){try{let e=B(n,{maxBytes:Ji,inputKind:"rust-analyzer process ownership record"}),t=JSON.parse(e),r=xe(t.rootIdentity);return t.version!==1||!r||typeof t.ownsProcessGroup!="boolean"?null:{rootPid:r.pid,rootIdentity:r,ownsProcessGroup:t.ownsProcessGroup,knownMembers:new Map([[r.pid,r]])}}catch{return null}}var tr=15e3,rr=8,or=5e3,no=64,to=96,Cn=class{constructor(e,t,r={}){this.projectRoot=e;this.status=t;this.opts=r;this.requester=r.requester??so(e,process.env.SCIP_RUST_SEMANTIC_DURABLE_SESSION)}projectRoot;status;opts;requester;referencesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),references:ge(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,references:K(e,new Map(r.references),new Set(r.incompleteReferenceSymbolIds??[]))}}catch(r){return this.opts.fallbackReferenceResolver?.referencesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),references:ge(e)}}}calleesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),callees:Re(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,callees:xn(e,new Map(r.callees??[]))}}catch(r){return this.opts.fallbackCalleeResolver?.calleesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),callees:Re(e)}}}referencesAndCalleesForDefinitions(e,t){let r=this.status(this.projectRoot);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),references:ge(e),callees:Re(t)};let i=[...e,...t];try{let o=this.requestSession(r.resolvedBinary,i,{includeReferences:e.length>0,includeCallees:t.length>0,referenceDefinitions:e,calleeDefinitions:t});return{...ye(o),resolvedBinary:r.resolvedBinary,references:K(e,new Map(o.references),new Set(o.incompleteReferenceSymbolIds??[])),callees:xn(t,new Map(o.callees??[]))}}catch(o){return this.fallbackReferencesAndCallees(r,e,t,o)}}signaturesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),signatures:ir(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!1,includeSignatures:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,signatures:fo(e,new Map(r.signatures??[]))}}catch(r){return this.opts.fallbackSignatureResolver?.signaturesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),signatures:ir(e)}}}importDefinitionsForFile(e,t){let r=this.status(this.projectRoot);if(t.length===0)return r.available?{available:!0,resolvedBinary:r.resolvedBinary,sourcePaths:new Map}:{available:!1,reason:r.reason,resolvedBinary:r.resolvedBinary,sourcePaths:new Map};if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),sourcePaths:new Map(t.map(i=>[i.id,null]))};try{let i=this.requestImportDefinitions(r.resolvedBinary,e,t);return{...ye(i),resolvedBinary:r.resolvedBinary,sourcePaths:new Map(i.sourcePaths)}}catch(i){return{available:!1,resolvedBinary:r.resolvedBinary,reason:i instanceof Error?i.message:String(i),sourcePaths:new Map(t.map(o=>[o.id,null]))}}}dispose(){this.requester.shutdown()}requestSession(e,t,r){let i=Ve(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,tr),o=$e(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),s=Ve(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,rr),a=$e(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),l=r.referenceDefinitions?[...r.referenceDefinitions]:void 0,u=r.calleeDefinitions?[...r.calleeDefinitions]:void 0,f=r.signatureDefinitions?[...r.signatureDefinitions]:void 0,c=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,...r}),p={projectRoot:this.projectRoot,rustAnalyzerBinary:e,definitions:[...t],...l?{referenceDefinitions:l}:{},...u?{calleeDefinitions:u}:{},...f?{signatureDefinitions:f}:{},requestTimeoutMs:i,...r.includeReferences!==!1&&o>0?{referenceRetryTimeoutMs:o}:{},diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:s,includeReferences:r.includeReferences,includeCallees:r.includeCallees,includeSignatures:r.includeSignatures},d=po(p);return w("rust.semantic.session.request",()=>this.requester.requestSemantic(p,Y(d,Tn(i,p.referenceRetryTimeoutMs),s)),()=>({definitions:t.length,operationDefinitions:d,referenceDefinitions:p.referenceDefinitions?.length,calleeDefinitions:p.calleeDefinitions?.length,signatureDefinitions:p.signatureDefinitions?.length,references:p.includeReferences!==!1,callees:p.includeCallees===!0,signatures:p.includeSignatures===!0,referenceRetryTimeoutMs:p.referenceRetryTimeoutMs}))}fallbackReferencesAndCallees(e,t,r,i){let o=t.length===0?{available:!0,resolvedBinary:e.resolvedBinary,references:ge(t)}:this.opts.fallbackReferenceResolver?.referencesForDefinitions(t),s=r.length===0?{available:!0,resolvedBinary:e.resolvedBinary,callees:Re(r)}:this.opts.fallbackCalleeResolver?.calleesForDefinitions(r);if(o&&s){let a={resolvedBinary:o.resolvedBinary??s.resolvedBinary??e.resolvedBinary,references:K(t,o.references),callees:xn(r,s.callees)};return o.available&&s.available?{available:!0,...a}:{available:!1,reason:(o.available?void 0:o.reason)??(s.available?void 0:s.reason)??"Rust semantic fallback was unavailable.",...a}}return{available:!1,resolvedBinary:e.resolvedBinary,reason:i instanceof Error?i.message:String(i),references:ge(t),callees:Re(r)}}requestImportDefinitions(e,t,r){let i=Ve(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,tr),o=Ve(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,rr),s=$e(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),a=$e(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,or),l={projectRoot:this.projectRoot,rustAnalyzerBinary:e,file:t,positions:[...r],requestTimeoutMs:i,diagnosticsTimeoutMs:s,settleDelayMs:a,concurrency:o};return w("rust.semantic.import-definitions.session.request",()=>this.requester.requestImportDefinitions(l,Y(r.length,i,o)),()=>({file:t,positions:r.length}))}};function ye(n){return n.available?{available:!0}:{available:!1,reason:n.reason}}function Se(n){return n.available?"rust-analyzer binary path is unavailable.":n.reason}function sr(n,e,t={}){return new Cn(n,e,t)}function be(n,e){let t=cr(n);if(t!==null)return t;let r=e.includeReferences!==!1;return r&&e.includeCallees!==!0&&e.includeSignatures!==!0&&e.definitionCount<=no||r&&e.includeCallees===!0&&e.includeSignatures!==!0&&e.definitionCount<=to?0:or}function ro(n){let e=n?.trim().toLowerCase(),t=e==="0"||e==="false"||e==="off"||e==="worker",r=e==="1"||e==="true"||e==="on"||e==="durable",i=e===void 0||e==="";return{transport:t||!i&&!r?"worker":"durable",source:i?"default":"environment",fallback:"worker",valid:i||t||r,optOut:"SCIP_RUST_SEMANTIC_DURABLE_SESSION=0"}}function io(n){return ro(n).transport}function oo(n,e){let t=null,r=!1,i=!1,o=!1,s=()=>t??=e(),a=()=>{i||(n.shutdown(),i=!0)},l=(f,c,p)=>{let d=uo(f);r=!0;try{a()}catch{}_()&&Ae({type:"span",name:"rust.semantic.durable-session.request",durationMs:p,ok:!1,kind:c,session:"worker-fallback",reason:d})},u=(f,c,p)=>{if(o)throw new Error("Rust semantic failover session was already disposed.");if(r)return p(s());let d=performance.now();try{return c(n)}catch(y){l(y,f,performance.now()-d)}return p(s())};return{requestSemantic(f,c){return u("semantic",p=>p.requestSemantic(f,c),p=>p.requestSemantic(f,c))},requestImportDefinitions(f,c){return u("import-definitions",p=>p.requestImportDefinitions(f,c),p=>p.requestImportDefinitions(f,c))},shutdown(){if(o)return;o=!0;let f=[];try{a()}catch(c){f.push(c)}try{t?.shutdown()}catch(c){f.push(c)}if(f.length>0)throw f[0]}}}function so(n,e,t={worker:()=>ao(),durable:()=>Jt(n,{serverPath:Ye(mo()),semanticWorkerPath:Ye(ar())})}){return io(e)==="durable"?oo(t.durable(),t.worker):t.worker()}function ao(n={}){let e=null,t=null,r=1,i=!1,o=null,s=null,a=c=>{c&&vn(c,{recursive:!0,force:!0})},l=()=>{if(o)return;let c=e,p=t;e=null,t=null;let d=c?c.terminate():Promise.resolve(0);o=Promise.allSettled([d,Zt(p,{gracefulMs:1e3,forceMs:1e3})]).then(([y,R])=>{let S=(R.status==="fulfilled"?R.value:[{reaped:!1,detail:String(R.reason)}]).filter(M=>!M.reaped);if(y.status==="rejected"||S.length>0){s=new Error(`Rust semantic worker cleanup did not complete; ownership evidence remains at ${p??"unknown"}.`);return}a(p)}).finally(()=>{o=null})},u=()=>{if(e)return e;if(o)throw new Error("The previous Rust semantic session worker is still terminating; retry the request.");if(s)throw s;let c=n.semanticWorkerPath?Xi(n.semanticWorkerPath):ar();if(!Qi(Ye(c)))throw new Error(`Rust semantic session worker was not found at ${Ye(c)}. Run npm run build before using built semantic Rust queries.`);return t=er(Dn(nr(),"scip-query-rust-session-")),e=new eo(c,n.shareEnvironment?{env:Zi}:void 0),e.unref(),e},f=()=>{let c=t??er(Dn(nr(),"scip-query-rust-session-"));return t=c,Dn(c,`${r++}.json`)};return{requestSemantic(c,p){if(i)throw new Error("Rust semantic session was already disposed.");let d=u(),y=f(),R=new SharedArrayBuffer(4),b=new Int32Array(R);if(d.postMessage({kind:"semantic",request:c,responsePath:y,sharedBuffer:R}),Atomics.wait(b,0,0,p)==="timed-out")throw l(),new Error(`Rust semantic session worker timed out after ${(p/1e3).toFixed(0)}s`);try{let M=co(B(y,{maxBytes:H,inputKind:"Rust semantic worker response"}));if(!M.ok)throw new Error(M.error);return M.response}finally{vn(y,{force:!0})}},requestImportDefinitions(c,p){if(i)throw new Error("Rust semantic session was already disposed.");let d=u(),y=f(),R=new SharedArrayBuffer(4),b=new Int32Array(R);if(d.postMessage({kind:"import-definitions",request:c,responsePath:y,sharedBuffer:R}),Atomics.wait(b,0,0,p)==="timed-out")throw l(),new Error(`Rust semantic import-definition session worker timed out after ${(p/1e3).toFixed(0)}s`);try{let M=lo(B(y,{maxBytes:H,inputKind:"Rust import-definition worker response"}));if(!M.ok)throw new Error(M.error);return M.response}finally{vn(y,{force:!0})}},shutdown(){if(i)return;if(i=!0,!e){a(t),t=null;return}let c=f(),p=new SharedArrayBuffer(4),d=new Int32Array(p);e.postMessage({kind:"shutdown",responsePath:c,sharedBuffer:p}),Atomics.wait(d,0,0,5e3),l()}}}function co(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function lo(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function uo(n){let e=n instanceof Error?`${n.name} ${n.message}`.toLowerCase():String(n).toLowerCase();return e.includes("readiness")?"readiness":e.includes("timeout")||e.includes("timed out")?"timeout":e.includes("helper")?"helper":"request"}function ge(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Re(n){return new Map(n.map(e=>[e.symbolId,[]]))}function ir(n){return new Map(n.map(e=>[e.symbolId,null]))}function xn(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??[]]))}function fo(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function po(n){let e=0;return n.includeReferences!==!1&&(e+=(n.referenceDefinitions??n.definitions).length),n.includeCallees===!0&&(e+=(n.calleeDefinitions??n.definitions).length),n.includeSignatures===!0&&(e+=(n.signatureDefinitions??n.definitions).length),Math.max(1,e)}function Tn(n,e){return e&&e>0?Math.max(n,e):n}function ar(){return new URL("./rust-semantic-session-worker.js",import.meta.url)}function mo(){return new URL("./rust-semantic-session-server.js",import.meta.url)}function Ve(n,e){return X(n)??e}function $e(n,e){return cr(n)??e}function cr(n){if(!n)return null;let e=Number(n);return Number.isInteger(e)&&e>=0?e:null}var Pn=15e3,En=8;function pr(n,e={}){let t=e.status??je,r=Ro(n,t),i=bo(n,t),o=ho(n,t),s=e.referenceResolver||e.calleeResolver||e.signatureResolver||!So(e)?null:sr(n,t,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:o}),a=e.referenceResolver??s??r,l=e.calleeResolver??s??i,u=e.signatureResolver??s??o,f=e.importUsageResolver??Pt(e.sourceImportUsageResolver??go(),e.importDefinitionResolver??s),c=e.calleeSymbolResolver,p=e.sourceZeroCalleeOracle,d=e.scipOccurrenceCalleeOracle,y=new Map,R=new Map,b=null,S=null,M=()=>(b??=t(n),b),P=()=>{let g=M();return g.dependencyAvailable?S??g:g},h=g=>{if(g.length===0)return new Map;let m=Ie(g);try{let I=a.referencesForDefinitions(m),T=M();return S=Je(T,I),I.available?new Map(I.references):K(m,I.references)}catch(I){let T=M();return S=he(T,I),J(m)}},C=g=>{if(g.length===0)return new Map;let m=Ie(g),I=m.filter(lr);if(I.length===0)return G(m);let T=new Map,W=fr(I,d),F=[];for(let k of I)R.has(k.symbolId)?T.set(k.symbolId,R.get(k.symbolId)??[]):W.has(k.symbolId)?T.set(k.symbolId,W.get(k.symbolId)??[]):ur(k,p)?T.set(k.symbolId,[]):F.push(k);if(F.length===0)return ie(m,T,void 0);try{let k=l.calleesForDefinitions(F),O=M();S=Je(O,k);let E=ie(F,k.callees,c);for(let[ce,tn]of E)T.set(ce,tn);return ie(m,T,void 0)}catch(k){let O=M();return S=he(O,k),G(m)}},x=(g,m)=>{let I=Ie(g),T=Ie(m),W=T.filter(lr),F=new Map,k=fr(W,d),O=[];for(let E of W)k.has(E.symbolId)?F.set(E.symbolId,k.get(E.symbolId)??[]):ur(E,p)?F.set(E.symbolId,[]):O.push(E);if(I.length===0&&O.length===0)return{references:J(I),callees:ie(T,F,void 0)};try{let E=s?s.referencesAndCalleesForDefinitions(I,O):Do(a,l,{referenceDefinitions:I,calleeDefinitions:O}),ce=M();S=Je(ce,E);let tn=E.available?new Map(E.references):K(I,E.references);for(let[rn,on]of E.callees)F.set(rn,on);let Zn=ie(T,F,c);for(let[rn,on]of Zn)R.set(rn,on);return{references:tn,callees:Zn}}catch(E){let ce=M();return S=he(ce,E),{references:J(I),callees:G(T)}}},v=g=>{if(g.length===0)return new Map;let m=Ie(g);try{let I=u.signaturesForDefinitions(m),T=M();return S=Je(T,I),dr(m,I.signatures)}catch(I){let T=M();return S=he(T,I),Ge(m)}};return{language:"rust",availability:P,dispose:()=>{s?.dispose()},importUsage:g=>{let m=y.get(g);if(m)return m;try{let I=f.importUsage(g);return y.set(g,I),I}catch(I){let T=M();return S=he(T,I),[]}},referencesFor:g=>h([g]).get(g.symbolId)??[],referencesForDefinitions:h,referencesAndCalleesForDefinitions:x,calleesFor:g=>C([g]).get(g.symbolId)??[],calleesForDefinitions:C,signatureFor:g=>v([g]).get(g.symbolId)??null}}function Je(n,e){let t={dependencyAvailable:n.dependencyAvailable,resolvedBinary:e.resolvedBinary??n.resolvedBinary,...n.note?{note:n.note}:{}};return e.available?{available:!0,...t}:{available:!1,reason:e.reason,...t}}function he(n,e){return{available:!1,dependencyAvailable:n.dependencyAvailable,resolvedBinary:n.resolvedBinary,...n.note?{note:n.note}:{},reason:e instanceof Error?e.message:String(e)}}function So(n){if(n.usePersistentSession!==void 0)return n.usePersistentSession;let e=process.env.SCIP_RUST_SEMANTIC_SESSION;return e!=="0"&&e!=="false"}function go(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function Ie(n){return n.map(e=>{let t=e;return{...e,leaf:typeof t.leaf=="string"?t.leaf:V(e.symbol),parentTypeName:t.parentTypeName??null,isFunctionLike:typeof t.isFunctionLike=="boolean"?t.isFunctionLike:bt(e.symbol),isTypeLike:t.isTypeLike??!1,kind:t.kind??null,documentation:t.documentation??null,enclosingSymbol:t.enclosingSymbol??null}})}function lr(n){return n.isFunctionLike}function ur(n,e){if(!e)return!1;try{return e(n)}catch{return!1}}function fr(n,e){if(!e||n.length===0)return new Map;try{return e(n)}catch{return new Map}}function Ro(n,e){return{referencesForDefinitions:t=>Io(n,e,t)}}function bo(n,e){return{calleesForDefinitions:t=>Mo(n,e,t)}}function ho(n,e){return{signaturesForDefinitions:t=>vo(n,e,t)}}function Io(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),references:J(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,references:J(t)};let o=oe(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),s=Qe(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),a=oe(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),l=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),u=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!0}),f={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,...s>0?{referenceRetryTimeoutMs:s}:{},diagnosticsTimeoutMs:l,settleDelayMs:u,concurrency:a},c=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(f),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,Tn(o,f.referenceRetryTimeoutMs),a)}),p=_n(c.stdout);if(p)return{...Fn(p),resolvedBinary:r.resolvedBinary,references:K(t,new Map(p.references),new Set(p.incompleteReferenceSymbolIds??[]))};let d=c.error instanceof Error?c.error.message:c.stderr.trim()||`Rust semantic worker exited with status ${c.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:d,references:J(t)}}function Mo(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),callees:G(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,callees:G(t)};let o=oe(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),s=oe(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),a=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),l=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:s,includeReferences:!1,includeCallees:!0},f=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,o,s)}),c=_n(f.stdout);if(c)return{...Fn(c),resolvedBinary:r.resolvedBinary,callees:ie(t,new Map(c.callees??[]),void 0)};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,callees:G(t)}}function vo(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),signatures:Ge(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,signatures:Ge(t)};let o=oe(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),s=oe(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),a=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(o,1e4)),l=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:o,diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:s,includeReferences:!1,includeCallees:!1,includeSignatures:!0},f=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,o,s)}),c=_n(f.stdout);if(c)return{...Fn(c),resolvedBinary:r.resolvedBinary,signatures:dr(t,new Map(c.signatures??[]))};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,signatures:Ge(t)}}function Do(n,e,t){let r=t.referenceDefinitions.length>0?n.referencesForDefinitions(t.referenceDefinitions):{available:!0,references:J(t.referenceDefinitions)},i=t.calleeDefinitions.length>0?e.calleesForDefinitions(t.calleeDefinitions):{available:!0,callees:G(t.calleeDefinitions)},o={resolvedBinary:r.resolvedBinary??i.resolvedBinary,references:r.references,callees:i.callees};return r.available&&i.available?{available:!0,...o}:{available:!1,reason:(r.available?void 0:r.reason)??(i.available?void 0:i.reason)??"Rust semantic resolution was unavailable.",...o}}function J(n){return new Map(n.map(e=>[e.symbolId,[]]))}function G(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Ge(n){return new Map(n.map(e=>[e.symbolId,null]))}function ie(n,e,t){let r=0,i=0;return w("rust.semantic.callees.complete-map",()=>{let o=new Map;for(let s of n){let a=e.get(s.symbolId)??[];a.length>0&&(r+=1),i+=a.length,o.set(s.symbolId,a.map(l=>({...l,symbol:t?t(l):l.symbol})))}return o},()=>({definitions:n.length,rows:r,callees:i,resolveSymbols:!!t}))}function dr(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function An(){return yo(new URL("./rust-semantic-worker.js",import.meta.url))}function Fn(n){return n.available?{available:!0}:{available:!1,reason:n.reason}}function Nn(n){return n.available?"rust-analyzer binary path is unavailable.":n.reason}function _n(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e;if(typeof t.available!="boolean"||!Array.isArray(t.references)||t.available===!1&&typeof t.reason!="string"||t.available===!0&&t.reason!==void 0)return null;let r={references:t.references,incompleteReferenceSymbolIds:Array.isArray(t.incompleteReferenceSymbolIds)?t.incompleteReferenceSymbolIds.filter(i=>typeof i=="number"):void 0,callees:Array.isArray(t.callees)?t.callees:void 0,signatures:Array.isArray(t.signatures)?t.signatures:void 0};return t.available===!0?{available:!0,...r}:{available:!1,reason:String(t.reason),...r}}catch{return null}}function oe(n,e){return X(n)??e}function Qe(n,e){if(!n)return e;let t=Number(n);return Number.isInteger(t)&&t>=0?t:e}import{existsSync as xo}from"fs";import{deserializeSCIP as Co,SymbolRole as To}from"@c4312/scip";var Ln=new WeakMap;function yr(n,e){let t=e.filter(ko);if(t.length===0)return new Map;let r=!1,i=0,o=0;return w("rust.scip-occurrence.callees",()=>{let s=Eo(n);if(r=!!s,!s)return new Map;let a=new Map;for(let l of t){let u=wo(n,s,l);u!==null&&(a.set(l.symbolId,u),i+=1,o+=u.length)}return a},()=>({definitions:e.length,candidates:t.length,indexAvailable:r,resolvedDefinitions:i,resolvedCallees:o}))}function ko(n){return!(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||!n.isFunctionLike||n.leaf==="main"||de(n.symbol))}function wo(n,e,t){let r=Fe(n,t.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(u=>u.startLine!==t.startLine||u.endLine!==t.endLine?!1:u.name===t.leaf||t.leaf.endsWith(u.name)||u.name.endsWith(t.leaf));if(!i)return null;let o=r.callSites.filter(u=>u.line>=i.startLine&&u.line<=i.endLine);if(o.length===0)return null;let s=(e.occurrencesByFile.get(t.relativePath)??[]).filter(u=>u.line>=i.startLine&&u.line<=i.endLine&&u.callee.symbol!==t.symbol);if(s.some(u=>u.traitImplMember)||!Po(o,s))return null;let a=[],l=new Set;for(let u of s){let f=`${u.callee.symbol}\0${u.callee.file}\0${u.callee.line}`;l.has(f)||(l.add(f),a.push(u.callee))}return a}function Po(n,e){let t=mr(n),r=mr(e);if(t.size!==r.size)return!1;for(let[i,o]of t)if(r.get(i)!==o)return!1;return!0}function mr(n){let e=new Map;for(let t of n){let r=t.calleeLeaf??t.leaf;if(!r)continue;let i=`${t.line}\0${r}`;e.set(i,(e.get(i)??0)+1)}return e}function Eo(n){if(Ln.has(n))return Ln.get(n)??null;let e=Ao(n);return Ln.set(n,e),e}function Ao(n){if(!n.generation.indexPath||!xo(n.generation.indexPath))return null;try{let e=_e(n).filter(o=>o.symbol.startsWith("rust-analyzer ")&&o.relativePath.endsWith(".rs")&&o.isFunctionLike),t=new Map(e.map(o=>[o.symbol,o])),r=Co(ke(n.generation.indexPath,{inputKind:"SCIP occurrence-callee index",maxBytes:Te})),i=new Map;for(let o of r.documents??[]){let s=o.relativePath;if(!s||!s.endsWith(".rs")||n.isIgnored(s))continue;let a=[];for(let l of o.occurrences??[]){if(!l.symbol||(l.symbolRoles&To.Definition)!==0)continue;let u=t.get(l.symbol);if(!u)continue;let f=l.range?.[0];Number.isInteger(f)&&a.push({line:f,leaf:u.leaf,traitImplMember:de(u.symbol),callee:{symbol:u.symbol,file:u.relativePath,line:u.startLine,callsiteLine:f}})}i.set(s,a)}return{occurrencesByFile:i}}catch{return null}}var Xe=class{sessions=new WeakMap;getOrCreate(e,t,r){let i=Fo(e,t),o=this.sessions.get(e);o||(o=new Map,this.sessions.set(e,o));let s=o.get(i);if(s)return s.hits+=1,s.lastUsedAtMs=Date.now(),s.provider;let a=Date.now(),l=r();return o.set(i,{key:i,language:t,projectRoot:e.config.projectRoot,provider:l,createdAtMs:a,lastUsedAtMs:a,hits:1}),l}sessionsFor(e){return[...this.sessions.get(e)?.values()??[]]}clear(e){let t=this.sessions.get(e);if(t)for(let r of t.values())r.provider.dispose?.();this.sessions.delete(e)}};function Fo(n,e){return`${n.config.projectRoot}:${e}-workspace`}import{randomUUID as os}from"crypto";import{existsSync as ss}from"fs";import{dirname as as}from"path";function Sr(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n;if(typeof e.available!="boolean"||e.dependencyAvailable!==void 0&&typeof e.dependencyAvailable!="boolean"||e.tsconfigPath!==void 0&&typeof e.tsconfigPath!="string"||e.tsconfigPaths!==void 0&&(!Array.isArray(e.tsconfigPaths)||!e.tsconfigPaths.every(t=>typeof t=="string"))||e.resolvedBinary!==void 0&&typeof e.resolvedBinary!="string"||e.note!==void 0&&typeof e.note!="string")return null;if(e.available===!0){if(e.reason!==void 0)return null}else if(typeof e.reason!="string"||e.reason.length===0)return null;return e}import{performance as D}from"perf_hooks";function L(n,e,t){if(n.has(e))return n.get(e);let r=t();return n.set(e,r),r}import br from"path";import{realpathSync as gr}from"fs";function No(n,e){return n.getReferences().map(t=>{let r=t.getNode();return Ze(r,e)})}function _o(n){let e=n;return typeof e.findReferences=="function"?e.findReferences():[]}function hr(n,e,t,r){let i=[];for(let o of _o(n))for(let s of No(o,r))s.file===e.relativePath&&s.line>=e.startLine&&s.line<=e.endLine||i.push(s);for(let o of t)i.push(o);return se(i)}function Ir(n,e,t,r){let i=[],o=t?.getStart();for(let s of n.getReferences()){let a=s.getNode();ae(r,a.getSourceFile().getFilePath())===e&&(o!==void 0&&a.getStart()===o||i.push({location:Ze(a,r),node:a}))}return i}function Ze(n,e){let t=n.getSourceFile(),r=t.getLineAndColumnAtPos(n.getStart());return{file:ae(e,t.getFilePath())??t.getBaseName(),line:r.line-1,column:r.column-1}}function Mr(n,e,t){let r=n.getSourceFile(),i=Un(r,n),o=n.getText(),s=new RegExp(`\\b${pe(o)}\\b`,"g"),a=r.getFullText().split(`
|
|
2
|
-
`),l=[];for(let u=0;u<a.length;u++){if(u===i)continue;let f=a[u]??"";s.lastIndex=0;let c;for(;(c=s.exec(f))!==null;)l.push({file:e,line:u,column:c.index})}return se(l.filter(u=>ae(t,br.join(t,u.file))===e))}function On(n){for(let e=n;e;e=e.getParent()){let t=e.getKindName();if(t.includes("Type")||t==="InterfaceDeclaration"||t==="TypeAliasDeclaration")return!0;if(t==="CallExpression"||t==="NewExpression"||t==="ExpressionStatement")return!1}return!1}function Un(n,e){return n.getLineAndColumnAtPos(e.getStart()).line-1}function se(n){let e=new Set,t=[];for(let r of n){let i=`${r.file}:${r.line}:${r.column}`;e.has(i)||(e.add(i),t.push(r))}return t}function ae(n,e){let t=n||process.cwd(),r=Rr(t,e);if(r)return r;try{return Rr(gr(t),gr(e))}catch{return null}}function Rr(n,e){let t=br.relative(n,e).replace(/\\/g,"/");return!t||t===".."||t.startsWith("../")?null:t}function vr(n,e,t,r){let i=Lo(e,r);return i.size===0?new Map:Oo(n,t,i)}function Lo(n,e){let t=new Map;for(let r of z(n,e)){let i=V(r.symbol)??r.leaf;if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.push(r)}return t}function Oo(n,e,t){let r=new Map,i=new Map;return e.forEachDescendant(o=>{for(let s of Uo(n,o)){let a=t.get(s);if(!a)continue;let l=Un(e,o);for(let u of a){if(l<u.startLine-1||l>u.endLine+1)continue;let f=Math.abs(l-u.startLine),c=i.get(u.symbolId);c!==void 0&&c<=f||(i.set(u.symbolId,f),r.set(u.symbolId,o))}}}),r}function Uo(n,e){let t=[],r=i=>{i&&!t.includes(i)&&t.push(i)};if("getNameNode"in e&&typeof e.getNameNode=="function"){let i=e.getNameNode();r(i?.getText())}if("getName"in e&&typeof e.getName=="function"){let i=e.getName();r(i)}return n.Node.isIdentifier(e)&&r(e.getText()),t}var Bo=rt("ts-definition-leaf-candidates",{clearGroups:["definition-catalog"]});function Dr(n,e,t,r){let i=jn(n,e),o=Bn(i.get(r)??[],t);if(o)return o;let s=[];for(let a of i.values())for(let l of a)((l.leaf||V(l.symbol)||"").includes(r)||l.symbol.includes(r))&&s.push(l);return Bn(s,t)}function qn(n,e,t,r){return Bn(jn(n,e).get(r)??[],t)}function xr(n,e){let t=new Map;for(let[r,i]of jn(n,e)){let o=i[0];o&&t.set(r,o)}return t}function jn(n,e){return Bo.get(n,e,()=>{let t=new Map;for(let r of z(n,e)){let i=r.leaf||V(r.symbol);if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.push({...r,leaf:i})}for(let r of t.values())r.sort((i,o)=>i.startLine-o.startLine||i.endLine-o.endLine||i.symbolId-o.symbolId);return t})}function Bn(n,e){let t=null,r=Number.POSITIVE_INFINITY;for(let i of n){let o=Math.abs(i.startLine-e);(o<r||o===r&&t&&i.startLine<t.startLine)&&(t=i,r=o)}return t}import qo from"path";import{realpathSync as jo}from"fs";function Cr(n,e){let t=new Map,r=null,i=null,o=()=>(i??=Ee(n,{extensions:Ue}),i),s=()=>(r??=w("typescript.source-file-index",()=>Wo(n.config.projectRoot,e,o()),()=>({projects:e.length,indexedDocuments:o().length})),r),a=l=>ne(l)?L(t,l,()=>{let u=Tr(n.config.projectRoot,l);if(!u)return null;for(let{project:f,sourceFiles:c}of s()){let p=c.get(u)??null;if(p||(p=f.addSourceFileAtPathIfExists(u)??null,p&&Wn(c,p)),p)return{project:f,sourceFile:p}}return null}):null;return{sourceFile:l=>a(l)?.sourceFile??null,sourceFileMatch:a,indexedTypeScriptLikeDocuments:o}}function Wo(n,e,t){let r=e.map(({project:i})=>{let o=new Map;for(let s of i.getSourceFiles())Wn(o,s);return{project:i,sourceFiles:o}});for(let i of t){let o=Tr(n,i);if(o)for(let s of r){if(s.sourceFiles.has(o))break;let a=s.project.addSourceFileAtPathIfExists(o)??null;if(a){Wn(s.sourceFiles,a);break}}}return r}function Wn(n,e){let t=zn(e.getFilePath());n.set(t,e);try{n.set(zn(jo(t)),e)}catch(r){if(!fe(r))throw r}}function Tr(n,e){try{return zn(ft(n,e,{inputKind:"indexed TypeScript source file"}).absolutePath)}catch(t){if(!fe(t))throw t;return null}}function zn(n){return qo.resolve(n)}function Kn(n,e){for(let t of n)if(e===t.name||e.startsWith(`${t.name}/`))return t.name;return null}function kr(n){let e=`${n.relativeDir}/src`;return[`${e}/index.ts`,`${e}/index.tsx`,`${e}/index.mts`,`${e}/index.cts`]}import{existsSync as Me}from"fs";import A from"path";var Hn=["tsconfig.json","tsconfig.app.json","tsconfig.node.json","tsconfig.base.json"];function Vn(n,e){let r=e?A.dirname(A.join(n,e)):n,i=A.resolve(n);for(;r.startsWith(i);){for(let s of Hn){let a=A.join(r,s);if(Me(a))return a}let o=A.dirname(r);if(o===r)break;r=o}for(let o of Hn){let s=A.join(n,o);if(Me(s))return s}return null}function wr(n){let e=n.config.projectRoot,t=new Set(zo(e,n.config.semantic?.typescript?.tsconfigs)),r=Ee(n,{includeIgnored:!1,extensions:Ue});for(let i of r){let o=Vn(e,i);o&&t.add(A.resolve(o))}if(t.size===0){let i=Vn(e);i&&t.add(A.resolve(i))}return[...t].filter(i=>!Pr(e,i)).sort((i,o)=>i.localeCompare(o))}function zo(n,e=[]){let t=new Set;for(let r of e){let i=A.isAbsolute(r)?r:A.join(n,r);Me(i)&&t.add(A.resolve(i))}for(let r of Ko(n))for(let i of Hn){let o=A.join(r,i);Me(o)&&t.add(A.resolve(o))}if(t.size===0){let r=Vn(n);r&&t.add(A.resolve(r))}return[...t].filter(r=>!Pr(n,r)).sort((r,i)=>r.localeCompare(i))}function Ko(n){let e=A.join(n,"package.json");if(!Me(e))return[];let t;try{t=JSON.parse(nt(e,"project package manifest"))}catch{return[]}return(Array.isArray(t.workspaces)?t.workspaces:t.workspaces?.packages??[]).flatMap(i=>ct(n,i))}function Pr(n,e){let t=A.relative(n,e).replace(/\\/g,"/");return t.startsWith("..")||t.includes("/node_modules/")||t.startsWith("node_modules/")||t.includes("/dist/")||t.startsWith("dist/")}var Ho=32;function Lr(n,e){let t=w("typescript.provider.load",()=>xt());if(!t)return Be("ts-morph is not installed");let r=w("typescript.provider.tsconfig-discovery",()=>wr(n));if(r.length===0)return Be("no tsconfig found");try{let i=w("typescript.provider.project-bundles",()=>Ct(t,r),()=>({tsconfigs:r.length}));return Vo(n,t,i)}catch(i){return Be(i instanceof Error?i.message:String(i),r[0],r)}}function Vo(n,e,t,r={}){return w("typescript.provider.construct",()=>new $n(n,e,t),()=>({tsconfigs:t.length,reusedProjects:r.reusedProjects===!0}))}var $n=class{constructor(e,t,r){this.db=e;this.tsMorph=t;this.projects=r;this.workspacePackages=at(e.config.projectRoot),this.sourceFiles=Cr(e,r)}db;tsMorph;projects;language="typescript";importUsageCache=new Map;referencesCache=new Map;calleesCache=new Map;fileCalleesCache=new Map;signatureCache=new Map;definitionNodeCache=new Map;fileDefinitionNodeCache=new Map;indexedDefinitionLeafCache=new Map;compilerCheckerCache=new WeakMap;packageImportReferenceIndex=null;packageExportIndex=null;workspacePackages;sourceFiles;availability(){return{available:!0,tsconfigPath:this.projects[0]?.tsconfigPath,tsconfigPaths:this.projects.map(e=>e.tsconfigPath)}}importUsage(e){return L(this.importUsageCache,e,()=>{let t=this.sourceFiles.sourceFile(e);if(!t)return[];let r=Yo();return w("typescript.import-usage.file",()=>this.importUsageForSourceFile(e,t,r),()=>({file:e,...r}))})}referencesFor(e){return L(this.referencesCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);return this.referencesForDefinitionNode(e,t)})}referencesForDefinitions(e,t={}){let r=new Map,i=_(),o=[];for(let f of e){let c=this.referencesCache.get(f.symbolId);c?r.set(f.symbolId,c):o.push(f)}if(o.length===0)return r;let s=o,a=t.exact?[]:o.filter(f=>!Ar(f));if(a.length>=Ho){let f=this.referencesForDefinitionsBySymbolScan(a);for(let c of a){let p=f.get(c.symbolId)??[];this.referencesCache.set(c.symbolId,p),r.set(c.symbolId,p)}if(s=o.filter(c=>Ar(c)),s.length===0)return r}let l=new Map;for(let f of s){let c=l.get(f.relativePath);c?c.push(f):l.set(f.relativePath,[f])}let u=[];for(let[f,c]of l){let p=Fr();w("typescript.references-map.file",()=>{let d=this.definitionNodesForFile(f);for(let y of c){i&&(p.cacheMisses+=1);let R=d.get(y.symbolId)??null;i&&(R?p.nodeHits+=1:p.nodeMisses+=1);try{let b=this.referencesForDefinitionNode(y,R,i?p:void 0);this.referencesCache.set(y.symbolId,b),r.set(y.symbolId,b)}catch{p.preciseSearchFailures+=1,u.push(y)}}},()=>({relativePath:f,definitions:c.length,...Nr(p)}))}if(u.length>0){let f=this.referencesForDefinitionsBySymbolScan(u);for(let c of u){let p=f.get(c.symbolId)??[];this.referencesCache.set(c.symbolId,p),r.set(c.symbolId,p)}}return r}referenceFragmentsForFiles(e){let t=_e(this.db).filter(o=>ne(o.relativePath)),r=e.filter(o=>this.sourceFiles.sourceFile(o)!==null),i=this.referencesForDefinitionsBySymbolScan(t,r);return Tt(t,i,r)}referencesForDefinitionsBySymbolScan(e,t){let r=_(),i=Fr(),o=new Map,s=new Set(e.map(l=>l.symbolId)),a=new Map(e.map(l=>[l.symbolId,l]));for(let l of e)o.set(l.symbolId,[]);return w("typescript.references-map.inverted-scan",()=>{let l=r?D.now():0,u=t?this.packageImportReferencesForFiles(t):this.packageImportReferences();for(let b of e){let S=u.get(b.symbolId)??[];if(S.length>0){let M=o.get(b.symbolId)??[];M.push(...S),o.set(b.symbolId,M)}r&&(i.packageReferenceCount+=S.length)}r&&(i.packageRefsMs+=D.now()-l);let f=new Map,c=new Map,p=this.hierarchyTargetsForDefinitions(e),d=new Set(e.map(b=>b.leaf).filter(Boolean)),y=r?D.now():0;for(let b of t??this.sourceFiles.indexedTypeScriptLikeDocuments()){if(this.db.isIgnored(b))continue;let S=this.sourceFiles.sourceFile(b);S&&(r&&(i.scanFiles+=1),this.addReferencesFromSourceFileScan(S,b,s,a,p,d,f,c,o,r?i:void 0))}r&&(i.scanMs+=D.now()-y);let R=r?D.now():0;this.addHierarchyMemberReferences(e,o,r?i:void 0),r&&(i.hierarchyMs+=D.now()-R);for(let[b,S]of o){let M=se(S);o.set(b,M),r&&(i.referenceCount+=M.length)}},()=>({definitions:e.length,...Nr(i)})),o}addReferencesFromSourceFileScan(e,t,r,i,o,s,a,l,u,f){let c=this.compilerCheckerForSourceFile(e),p=e.compilerNode,d=Qo(e),y=R=>{if(this.tsMorph.ts.isIdentifier(R)){if(f&&(f.identifiers+=1),!s.has(R.text)&&!d.has(R.text)){this.tsMorph.ts.forEachChild(R,y);return}let b=this.compilerReferenceSymbol(c,R,f);if(b){let S;a.has(b)?S=a.get(b)??null:(S=this.referenceDefinitionFromCompilerSymbol(b),a.set(b,S)),f&&(S?f.targetHits+=1:f.targetMisses+=1);let M=L(l,b,()=>this.compilerSymbolKeys(b)),P=null,h=null,C=S&&r.has(S.symbolId)?i.get(S.symbolId):void 0;if(C&&(P=en(p,R),!Er(C,t,P))){let x=p.getLineAndCharacterOfPosition(R.getStart(p));h={file:t,line:x.line,column:x.character};let v=u.get(C.symbolId)??[];v.push(h),u.set(C.symbolId,v),f&&(f.requestedHits+=1)}for(let x of M)for(let v of o.get(x)?.values()??[]){if(P??=en(p,R),Er(v,t,P))continue;if(!h){let m=p.getLineAndCharacterOfPosition(R.getStart(p));h={file:t,line:m.line,column:m.character}}let g=u.get(v.symbolId)??[];g.push(h),u.set(v.symbolId,g),f&&(f.requestedHits+=1)}}}this.tsMorph.ts.forEachChild(R,y)};y(p)}hierarchyTargetsForDefinitions(e){let t=new Map;for(let r of e){let i=this.nodeForDefinition(r),o=i?.compilerNode;if(!o||!this.isHierarchyMethod(o))continue;let s=o.parent;if(!this.isHierarchyContainer(s))continue;let a=this.compilerCheckerForSourceFile(i.getSourceFile()),l=a.getSymbolAtLocation(o.name);if(l)for(let u of this.hierarchyMemberSymbols(a,s,l))for(let f of this.compilerSymbolKeys(u)){let c=t.get(f)??new Map;c.set(r.symbolId,r),t.set(f,c)}}return t}hierarchyMemberSymbols(e,t,r){let i=new Set,o=new Set,s=(a,l,u)=>{if(!o.has(a)){o.add(a),i.add(l);for(let f of u){let c=f.getProperty(r.name);c&&s(f,c,this.hierarchyAncestorTypesForType(e,f))}}};return s(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}addHierarchyMemberReferences(e,t,r){let i=new Map;for(let o of e){let s=this.nodeForDefinition(o),a=s?.compilerNode;if(!a||!this.isHierarchyMethod(a))continue;let l=a.parent;if(!this.isHierarchyContainer(l))continue;let u=this.compilerCheckerForSourceFile(s.getSourceFile()),f=u.getSymbolAtLocation(a.name);if(!f)continue;let c=a.getSourceFile(),p=c.getLineAndCharacterOfPosition(a.name.getStart(c)),d={definition:o,location:{file:o.relativePath,line:p.line,column:p.character}},y=t.get(o.symbolId)??[];for(let b of this.hierarchyMemberSymbols(u,l,f))if(b!==f)for(let S of this.compilerSymbolLocations(b))y.push(S),r&&(r.hierarchyReferences+=1);t.set(o.symbolId,y);let R=this.hierarchyRootMemberSymbols(u,l,f);for(let b of R){let S=i.get(b)??new Map;S.set(o.symbolId,d),i.set(b,S)}r&&(r.hierarchyDefinitions+=1)}for(let o of i.values())if(!(o.size<2)){r&&(r.hierarchyFamilies+=1);for(let{definition:s}of o.values()){let a=t.get(s.symbolId)??[];for(let l of o.values())l.definition.symbolId!==s.symbolId&&(a.push(l.location),r&&(r.hierarchyReferences+=1));t.set(s.symbolId,a)}}}hierarchyRootMemberSymbols(e,t,r){let i=new Set,o=new Set,s=(a,l,u)=>{if(o.has(a))return;o.add(a);let f=!1;for(let c of u){let p=c.getProperty(r.name);p&&(f=!0,s(c,p,this.hierarchyAncestorTypesForType(e,c)))}if(!f)for(let c of this.compilerSymbolKeys(l))i.add(c)};return s(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}compilerSymbolKeys(e){return(e.declarations??[]).map(t=>{let r=t.getSourceFile();return`${r.fileName}\0${t.getStart(r)}\0${e.name}`})}compilerSymbolLocations(e){let t=[];for(let r of e.declarations??[]){let i=r.getSourceFile(),o=ae(this.db.config.projectRoot,i.fileName);if(!o)continue;let s=r.name,a=i.getLineAndCharacterOfPosition((s??r).getStart(i));t.push({file:o,line:a.line,column:a.character})}return t}baseTypes(e,t){try{return e.getBaseTypes(t)??[]}catch{return[]}}hierarchyAncestorTypes(e,t){let r=new Set(this.hierarchyAncestorTypesForType(e,e.getTypeAtLocation(t)));for(let i of t.heritageClauses??[])for(let o of i.types)r.add(e.getTypeAtLocation(o));return[...r]}hierarchyAncestorTypesForType(e,t){let r=new Set(this.baseTypes(e,t));for(let i of t.getSymbol()?.declarations??[])if(this.isHierarchyContainer(i))for(let o of i.heritageClauses??[])for(let s of o.types)r.add(e.getTypeAtLocation(s));return[...r]}isHierarchyMethod(e){return this.tsMorph.ts.isMethodDeclaration(e)||this.tsMorph.ts.isMethodSignature(e)}isHierarchyContainer(e){return this.tsMorph.ts.isClassDeclaration(e)||this.tsMorph.ts.isClassExpression(e)||this.tsMorph.ts.isInterfaceDeclaration(e)}compilerReferenceSymbol(e,t,r){r&&(r.symbolLookups+=1);let i=e.getSymbolAtLocation(t);if(i){if((i.flags&this.tsMorph.ts.SymbolFlags.Alias)===0)return i;try{return r&&(r.aliasResolutions+=1),e.getAliasedSymbol(i)}catch{return i}}}calleesFor(e){return L(this.calleesCache,e.symbolId,()=>L(this.fileCalleesCache,e.relativePath,()=>this.calleeMapForFile(e.relativePath)).get(e.symbolId)??[])}calleesForDefinitions(e){let t=new Map,r=new Map;for(let i of e){let o=r.get(i.relativePath);o?o.push(i):r.set(i.relativePath,[i])}for(let[i,o]of r){let s=this.fileCalleesCache.get(i),a=new Set(o.map(u=>u.symbolId)),l=s??this.calleeMapForFile(i,a);for(let u of o){let f=l.get(u.symbolId)??[];this.calleesCache.set(u.symbolId,f),t.set(u.symbolId,f)}}return t}referencesForDefinitionNode(e,t,r){let i=r?D.now():0,o=this.packageImportReferencesForDefinition(e);if(r&&(r.packageRefsMs+=D.now()-i,r.packageReferenceCount+=o.length),!t)return o;let s=r?D.now():0,a=hr(t,e,o,this.db.config.projectRoot);return r&&(r.semanticRefsMs+=D.now()-s,r.referenceCount+=a.length),a}signatureFor(e){return L(this.signatureCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);if(!t||!this.tsMorph.Node.isFunctionDeclaration(t)&&!this.tsMorph.Node.isMethodDeclaration(t)&&!this.tsMorph.Node.isArrowFunction(t)&&!this.tsMorph.Node.isFunctionExpression(t)&&!this.tsMorph.Node.isConstructorDeclaration(t))return null;let r=t.getType().getCallSignatures()[0];if(!r)return null;let i=r.getParameters().map(s=>{let a=s.getDeclarations()[0],l=a?s.getTypeAtLocation(a).getText(a):s.getValueDeclaration()?.getType().getText()??"unknown";return _r(l)}),o=r.getReturnType().getText(t);return`(${i.join(",")})=>${_r(o)}`})}importUsageForSourceFile(e,t,r){let i=[],o=new Map;for(let s of t.getImportDeclarations()){r.declarations+=1;let a=ln(this.db,e,s.getModuleSpecifierValue()),l=s.getImportClause()?.isTypeOnly()??!1;for(let u of Yn(s)){r.entries+=1;let f=l?null:u.identifier?.getSymbol()?.compilerSymbol??null;!l&&u.identifier&&(f?r.bindingSymbols+=1:r.missingBindingSymbols+=1);let c={sourcePath:a,entry:u,typeOnlyDeclaration:l,bindingSymbol:f,references:[]};if(i.push(c),l||!u.localName||!f)continue;let p=o.get(u.localName);p?p.push(c):o.set(u.localName,[c])}}return o.size>0&&t.forEachDescendant(s=>{if(s.getKindName()!=="Identifier")return;let a=o.get(s.getText());if(!a||Jo(s))return;r.scannedIdentifiers+=1;let l=s.getSymbol()?.compilerSymbol;if(r.symbolLookups+=1,!!l){for(let u of a)if(u.bindingSymbol===l){u.references.push({location:Ze(s,this.db.config.projectRoot),node:s}),r.matchedReferences+=1;break}}}),i.map(s=>s.typeOnlyDeclaration?$o(e,s.sourcePath,s.entry):s.entry.identifier&&!s.bindingSymbol?(r.fallbackEntries+=1,this.valueImportUsageForEntry(e,s.sourcePath,s.entry)):this.valueImportUsageFromLocations(e,s.sourcePath,s.entry,s.references))}valueImportUsageForEntry(e,t,r){let i=r.identifier?r.identifier.findReferences():[],o=[];for(let s of i)for(let a of Ir(s,e,r.identifier,this.db.config.projectRoot))o.push(a);return this.valueImportUsageFromLocations(e,t,r,o)}valueImportUsageFromLocations(e,t,r,i){let o=i.some(l=>!On(l.node)),s=i.some(l=>On(l.node)),a=r.isTypeOnly;return{importer:e,sourcePath:t,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:a,isUsed:a||i.length>0,isTypeUsed:a||s,isValueUsed:o,references:i.map(l=>l.location)}}packageImportReferencesForDefinition(e){return this.packageImportReferences().get(e.symbolId)??[]}packageImportReferencesForFiles(e){let t=new Map,r=new Set;for(let o of e){let s=this.sourceFiles.sourceFile(o);if(s)for(let a of s.getImportDeclarations()){let l=Kn(this.workspacePackages,a.getModuleSpecifierValue());l&&r.add(l)}}if(r.size===0)return t;let i=this.packageExportsForNames(r);for(let o of e)this.addPackageImportReferencesForDocument(t,i,o);for(let[o,s]of t)t.set(o,se(s));return t}packageImportReferences(){if(this.packageImportReferenceIndex)return this.packageImportReferenceIndex;let e=new Map,t=this.packageExports();for(let r of this.sourceFiles.indexedTypeScriptLikeDocuments())this.addPackageImportReferencesForDocument(e,t,r);for(let[r,i]of e)e.set(r,se(i));return this.packageImportReferenceIndex=e,e}addPackageImportReferencesForDocument(e,t,r){if(this.db.isIgnored(r))return;let i=this.sourceFiles.sourceFileMatch(r);if(i)for(let o of i.sourceFile.getImportDeclarations())this.addPackageImportReferencesForDeclaration(e,t,r,o)}addPackageImportReferencesForDeclaration(e,t,r,i){let o=Kn(this.workspacePackages,i.getModuleSpecifierValue());if(!o)return;let s=t.get(o);if(s)for(let a of Yn(i)){if(a.kind!=="named"||!a.identifier)continue;let l=s.get(a.importedName);if(!l||l.size===0)continue;let u=Mr(a.identifier,r,this.db.config.projectRoot);u.length>0&&ns(e,l,u)}}packageExports(){return this.packageExportIndex?this.packageExportIndex:(this.packageExportIndex=this.packageExportsForNames(new Set(this.workspacePackages.map(e=>e.name))),this.packageExportIndex)}packageExportsForNames(e){let t=new Map;for(let r of this.workspacePackages){if(!e.has(r.name))continue;let i=new Map;for(let o of kr(r))this.collectPackageExports(r,o,i,new Set);i.size>0&&t.set(r.name,i)}return t}collectPackageExports(e,t,r,i){if(i.has(t))return;i.add(t);let o=this.sourceFiles.sourceFile(t);if(o)for(let s of o.getExportDeclarations()){let a=s.getModuleSpecifierValue(),l=a?ln(this.db,t,a):t;if(!l||!l.startsWith(`${e.relativeDir}/src/`))continue;let u=s.getNamedExports();if(u.length===0){if(s.isNamespaceExport())continue;this.collectPackageExports(e,l,r,i);continue}for(let f of u){let c=f.getNameNode().getText(),p=f.getAliasNode()?.getText()??c,d=this.indexedDefinitionByLeaf(l,c);if(!d)continue;let y=r.get(p);y||(y=new Set,r.set(p,y)),y.add(d.symbolId)}}}indexedDefinitionByLeaf(e,t){return L(this.indexedDefinitionLeafCache,e,()=>xr(this.db,e)).get(t)??null}nodeForDefinition(e){return L(this.definitionNodeCache,e.symbolId,()=>this.definitionNodesForFile(e.relativePath).get(e.symbolId)??null)}definitionNodesForFile(e){return L(this.fileDefinitionNodeCache,e,()=>{let t=this.sourceFiles.sourceFile(e);return t?vr(this.tsMorph,this.db,t,e):new Map})}referenceDefinitionFromCompilerSymbol(e){return this.definitionFromCompilerSymbol(e,void 0,!0)}definitionFromCompilerSymbol(e,t,r=!1){let i=e.name,o=t?D.now():0,s=e.declarations??[];t&&(t.declarationsMs+=D.now()-o,t.declarationChecks+=s.length);for(let a of s){let l=t?D.now():0,u=a.getSourceFile(),f=ae(this.db.config.projectRoot,u.fileName),c=u.getLineAndCharacterOfPosition(a.getStart(u)).line;if(t&&(t.declarationLocationMs+=D.now()-l),!f||this.db.isIgnored(f))continue;let p=t?D.now():0,d=this.compilerDeclarationName(a),y=r?qn(this.db,f,c,i)??(d&&d!==i?qn(this.db,f,c,d):null):Dr(this.db,f,c,i);if(t&&(t.indexedLookupMs+=D.now()-p),y)return{symbolId:y.symbolId,symbol:y.symbol,file:y.relativePath,line:y.startLine}}return null}compilerDeclarationName(e){let t=e.name;return t&&this.tsMorph.ts.isIdentifier(t)?t.text:null}calleeMapForFile(e,t){let r=_(),i=0,o=0,s=0,a=0,l=0,u=0,f=0,c=0,p=r?Zo():void 0;return w("typescript.callee-map.file",()=>{let d=r?D.now():0,y=this.sourceFiles.sourceFile(e);if(r&&(l=Math.round(D.now()-d)),!y)return new Map;let R=r?D.now():0,b=z(this.db,e).sort((g,m)=>g.startLine-m.startLine||m.endLine-g.endLine);if(r&&(u=Math.round(D.now()-R)),i=b.length,b.length===0)return new Map;let S=new Map,M=r?D.now():0,P=this.compilerCheckerForSourceFile(y),h=y.compilerNode;r&&(f=Math.round(D.now()-M));let C=new Map,x=g=>{if(this.tsMorph.ts.isCallExpression(g)||this.tsMorph.ts.isNewExpression(g)){r&&(o+=1);let m=this.semanticCalleeForCallNode(P,h,b,g,C,t,p);m&&(r&&(s+=1),Go(S,m.callerId,m.target))}this.tsMorph.ts.forEachChild(g,x)},v=r?D.now():0;x(h),r&&(c=Math.round(D.now()-v));for(let[g,m]of S)S.set(g,ts(m));return a=S.size,S},()=>({relativePath:e,definitions:i,callNodes:o,resolvedCallees:s,outputRows:a,requestedDefinitions:t?.size??i,sourceFileLookupMs:l,definitionsLoadMs:u,checkerLookupMs:f,traversalMs:c,...p?es(p):{}}))}semanticCalleeForCallNode(e,t,r,i,o,s,a){let l=a?D.now():0,u=Xo(r,en(t,i));if(a&&(a.callerLookupMs+=D.now()-l),!u)return null;if(s&&!s.has(u.symbolId))return a&&(a.skippedUnrequestedCallers+=1),null;let f=i.expression,c=this.compilerSymbolForExpression(e,f,a),p=null;if(c)if(a&&(a.targetSymbolHits+=1),o.has(c))a&&(a.compilerSymbolCacheHits+=1),p=o.get(c)??null;else{a&&(a.compilerSymbolCacheMisses+=1);let d=a?D.now():0;p=this.definitionFromCompilerSymbol(c,a),a&&(a.targetLookupMs+=D.now()-d),o.set(c,p)}else a&&(a.targetMisses+=1);return p?{callerId:u.symbolId,target:{symbol:p.symbol,file:p.file,line:p.line,callsiteLine:en(t,i)}}:null}compilerSymbolForExpression(e,t,r){let i=r?D.now():0,o=e.getSymbolAtLocation(t);if(r&&(r.expressionSymbolMs+=D.now()-i),o)return o;r&&(r.typeFallbacks+=1);let s=r?D.now():0,a=e.getTypeAtLocation(t).getSymbol();return r&&(r.typeSymbolMs+=D.now()-s),a}compilerCheckerForSourceFile(e){let t=e.getProject(),r=this.compilerCheckerCache.get(t);return r||(r=t.getTypeChecker().compilerObject,this.compilerCheckerCache.set(t,r)),r}};function Yn(n){let e=[],t=n.getDefaultImport();t&&e.push({identifier:t,importedName:"default",localName:t.getText(),kind:"default",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});let r=n.getNamespaceImport();r&&e.push({identifier:r,importedName:"*",localName:r.getText(),kind:"namespace",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});for(let i of n.getNamedImports()){let o=i.getNameNode(),a=i.getAliasNode()??(o.getKindName()==="Identifier"?o:null);e.push({identifier:a,importedName:o.getText(),localName:a?.getText()??o.getText(),kind:"named",isTypeOnly:i.isTypeOnly()||(n.getImportClause()?.isTypeOnly()??!1)})}return e.length===0&&e.push({identifier:null,importedName:"*",localName:null,kind:"side-effect",isTypeOnly:!1}),e}function $o(n,e,t){return{importer:n,sourcePath:e,importedName:t.importedName,localName:t.localName,kind:t.kind,isTypeOnly:!0,isUsed:!0,isTypeUsed:!0,isValueUsed:!1,references:[]}}function Yo(){return{declarations:0,entries:0,bindingSymbols:0,missingBindingSymbols:0,scannedIdentifiers:0,symbolLookups:0,matchedReferences:0,fallbackEntries:0}}function Jo(n){for(let e=n;e;e=e.getParent())if(e.getKindName()==="ImportDeclaration")return!0;return!1}function Go(n,e,t){let r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}function Qo(n){let e=new Set;for(let t of n.getImportDeclarations())for(let r of Yn(t))r.localName&&e.add(r.localName);return e}function Xo(n,e){let t=null;for(let r of n)e<r.startLine||e>r.endLine||(!t||r.startLine>=t.startLine)&&(t=r);return t}function en(n,e){return n.getLineAndCharacterOfPosition(e.getStart(n)).line}function Er(n,e,t){return e===n.relativePath&&t>=n.startLine&&t<=n.endLine}function Ar(n){return n.symbol.includes("#")?Ne(n.symbol)==="type"&&n.relativePath.endsWith(".d.ts"):!1}function Zo(){return{callerLookupMs:0,expressionSymbolMs:0,typeSymbolMs:0,targetLookupMs:0,declarationsMs:0,declarationLocationMs:0,indexedLookupMs:0,compilerSymbolCacheHits:0,compilerSymbolCacheMisses:0,targetSymbolHits:0,targetMisses:0,typeFallbacks:0,declarationChecks:0,skippedUnrequestedCallers:0}}function es(n){return{...n,callerLookupMs:Math.round(n.callerLookupMs),expressionSymbolMs:Math.round(n.expressionSymbolMs),typeSymbolMs:Math.round(n.typeSymbolMs),targetLookupMs:Math.round(n.targetLookupMs),declarationsMs:Math.round(n.declarationsMs),declarationLocationMs:Math.round(n.declarationLocationMs),indexedLookupMs:Math.round(n.indexedLookupMs)}}function Fr(){return{cacheHits:0,cacheMisses:0,nodeHits:0,nodeMisses:0,scanFiles:0,identifiers:0,symbolLookups:0,aliasResolutions:0,targetHits:0,targetMisses:0,requestedHits:0,scanMs:0,packageRefsMs:0,semanticRefsMs:0,packageReferenceCount:0,referenceCount:0,preciseSearchFailures:0,hierarchyDefinitions:0,hierarchyFamilies:0,hierarchyReferences:0,hierarchyMs:0}}function Nr(n){return{...n,scanMs:Math.round(n.scanMs),packageRefsMs:Math.round(n.packageRefsMs),semanticRefsMs:Math.round(n.semanticRefsMs),hierarchyMs:Math.round(n.hierarchyMs)}}function ns(n,e,t){for(let r of e){let i=n.get(r)??[];i.push(...t),n.set(r,i)}}function ts(n){let e=new Set,t=[];for(let r of n){let i=`${r.symbol}|${r.file}|${r.line}|${r.callsiteLine??""}`;e.has(i)||(e.add(i),t.push(r))}return t}function _r(n){return n.replace(/\s+/g," ").replace(/\bimport\("[^"]+"\)\./g,"").trim()}import{join as rs}from"path";var nn=3;var is="typescript-semantic";function Or(n){let e=rs(n,is),t=Le(e);return{...t,requestDir:t.legacyRequestDir}}var cs=12e4,ls=5;function qr(n,e,t={}){let r=new Jn(n,t),i=null,o=null,s=process.env.SCIP_QUERY_SKIP_WATCH_SERVICE==="1",a=()=>(i??=Lr(n,e),i),l=(c,p,d)=>{if(s)return d();try{return p(r.request(c))}catch{return s=!0,d()}},u=(c,p)=>l({kind:"references",definitions:[...c],...p?.exact?{exact:!0}:{}},d=>Br(d),()=>a().referencesForDefinitions?.(c,p)??new Map(c.map(d=>[d.symbolId,a().referencesFor(d)]))),f=c=>l({kind:"callees",definitions:[...c]},p=>Br(p),()=>a().calleesForDefinitions?.(c)??new Map(c.map(p=>[p.symbolId,a().calleesFor(p)])));return{language:"typescript",availability:()=>(o??=l({kind:"availability"},ps,()=>a().availability()),o),importUsage:c=>l({kind:"import-usage",file:c},p=>p,()=>a().importUsage(c)),referencesFor:c=>u([c]).get(c.symbolId)??[],referencesForDefinitions:u,referenceFragmentsForFiles:c=>l({kind:"reference-fragments",files:[...c]},p=>fs(p),()=>a().referenceFragmentsForFiles?.(c)??new Map),calleesFor:c=>f([c]).get(c.symbolId)??[],calleesForDefinitions:f,signatureFor:c=>l({kind:"signature",definition:c},ds,()=>a().signatureFor(c)),dispose:()=>i?.dispose?.()}}var Jn=class{constructor(e,t={}){this.db=e;this.runtime=t.runtime??ys,this.timeoutMs=t.timeoutMs??ms(),this.mailboxLimits=t.mailboxLimits??{},this.cacheDir=as(e.config.dbPath),this.projectRoot=ut(e.config.projectRoot)}db;runtime;timeoutMs;cacheDir;projectRoot;mailboxLimits;request(e){let t=Dt(this.cacheDir),r=Or(this.cacheDir),i=pn(t.statePath);if(!Ur(i,this.projectRoot,this.runtime))throw new Error("Compatible TypeScript semantic service is not running.");let o=this.db.generation.identity;if(!o)throw new Error("Published TypeScript generation identity is unavailable.");let s=this.runtime.now(),a=s+this.timeoutMs,l=(this.runtime.monotonicNow??q)()+this.timeoutMs,u=lt(),f=Z("typescript-semantic-v3",{generation:o,profileEnvironment:u,request:e}),c=ee(f),p=Oe(r,{mailboxVersion:$,operationKey:f,clientId:this.runtime.randomId(),enqueuedAtMs:s,deadlineAtMs:a,protocolVersion:nn,id:c,generation:o,profileEnvironment:u,request:e},{nowMs:s,limits:this.mailboxLimits});for(;(this.runtime.monotonicNow??q)()<=l;){if(ss(p.responsePath))return us(B(p.responsePath,{maxBytes:this.mailboxLimits.maxItemBytes??64*1024*1024,inputKind:"TypeScript semantic mailbox response"}),c,o,f);let d=pn(t.statePath);if(!Ur(d,this.projectRoot,this.runtime))throw new Error("TypeScript semantic service stopped while processing a request.");this.runtime.sleep(ls)}throw new Error(`TypeScript semantic service timed out after ${this.timeoutMs}ms.`)}};function Ur(n,e,t){let r=n?.processIdentity?t.readProcessIdentity?.(n.pid):null;return n!==null&&n.projectRoot===e&&n.typescriptSemantic?.protocolVersion===nn&&t.isProcessAlive(n.pid)&&(!n.processIdentity||r!=null&&Ce(n.processIdentity,r))}function us(n,e,t,r){let i=JSON.parse(n);if(i.protocolVersion!==nn||i.id!==e||i.operationKey!==r||i.ok===!0&&i.generation!==t)throw new Error("TypeScript semantic service wrote an incompatible response.");if(i.ok===!0)return i.response;throw new Error(typeof i.error=="string"?i.error:"TypeScript semantic service request failed.")}function Br(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid numeric map.");return new Map(n)}function fs(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid string map.");return new Map(n)}function ps(n){let e=Sr(n);if(!e)throw new Error("TypeScript semantic service wrote invalid availability.");return e}function ds(n){if(n!==null&&typeof n!="string")throw new Error("TypeScript semantic service wrote an invalid signature.");return n}function ms(){let n=Number(process.env.SCIP_TYPESCRIPT_SEMANTIC_TIMEOUT_MS);return Number.isInteger(n)&&n>0?n:cs}var ys={now:Date.now,monotonicNow:q,randomId:os,sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)},isProcessAlive:Pe,readProcessIdentity:we};var jr=new Xe;tt({name:"semantic-provider",groups:["semantic-provider"],clearAll:n=>jr.clear(n)});function Q(n,e){let t=U(e)??"typescript";return jr.getOrCreate(n,t,()=>t==="rust"?pr(n.config.projectRoot,{sourceImportUsageResolver:{importUsageFacts:r=>wt(n,r)},calleeSymbolResolver:kt(n),sourceZeroCalleeOracle:r=>Ss(n,r),scipOccurrenceCalleeOracle:r=>yr(n,r)}):qr(n,e))}function U(n){return n?mt(n)==="rust"?"rust":ne(n)?"typescript":null:"typescript"}function Ss(n,e){let t=Fe(n,e.relativePath);if(!t||t.language!=="rust")return!1;let r=t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine&&i.name===e.leaf)??t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine);return r?!t.callSites.some(i=>i.line>=r.startLine&&i.line<=r.endLine):!1}var gs=/^[A-Za-z_][A-Za-z0-9_]*$/,Wr=/\bDefault::default\b/g,Rs=/^\.\.\s*Default::default\b/;function zr(n,e){let t=new Map,r=new Map;for(let i of e){let o=Gn(n,i,r);o!==null&&t.set(i.symbolId,o)}return t}function Gn(n,e,t=new Map){let r=hs(e.symbol);if(!r)return null;let i=ht(n,[e.symbolId]);if(i.length===0)return null;let o=new RegExp(`(^|[^A-Za-z0-9_])${pe(r)}::default\\b`,"g"),s=new RegExp(`(^|[^A-Za-z0-9_])${pe(r)}\\s*$`),a=bs(n,e.symbolId),l=[];for(let u of i){let f=Is(n,u.relative_path,t);if(f===null)return null;let c=f.split(/\r?\n/),p=0,d=[],y=0;for(let R=u.chunk_start;R<=u.chunk_end&&R<c.length;R+=1){let S=c[R]??"",M=new Set;o.lastIndex=0;let P;for(;P=o.exec(S);)l.push({file:u.relative_path,line:R,column:P.index+P[1].length+r.length+2}),y+=1;for(let h=0;h<S.length;h+=1){let C=Rs.exec(S.slice(h));if(C){if(a&&d.includes(p)){let v=h+C[0].lastIndexOf("default");l.push({file:u.relative_path,line:R,column:v}),M.add(v),y+=1}h+=C[0].length-1;continue}let x=S[h];if(x==="{"){let v=s.test(S.slice(0,h));p+=1,v&&d.push(p);continue}if(x==="}")for(p=Math.max(0,p-1);d.length>0&&d[d.length-1]>p;)d.pop()}for(Wr.lastIndex=0;P=Wr.exec(S);){let h=P.index+9;if(!M.has(h))return null}}if(y===0)return null}return We(l)}function bs(n,e){return n.get("SELECT 1 AS present FROM mentions WHERE symbol_id = ? AND role = 1 LIMIT 1",e)?.present===1}function hs(n){let e=/impl#\[([^\]]+)\]\[Default\]default\(\)\./.exec(n)?.[1]??null;return!e||!gs.test(e)?null:e}function Is(n,e,t){if(t.has(e))return t.get(e)??null;let r=n.get("SELECT text FROM documents WHERE relative_path = ?",e),i=typeof r?.text=="string"?r.text:Ms(n,e);return t.set(e,i),i}function Ms(n,e){try{return pt(n.config.projectRoot,e,{inputKind:"indexed Rust source file"})}catch(t){if(!fe(t))throw t;return null}}function Kr(n){let e=new Map;for(let t of n){let r=e.get(t.relativePath)??[];r.push(t),e.set(t.relativePath,r)}return e}var vs="typescript-import-usage-v1",Ds="typescript-signatures-v1",Qn=it("semantic-prefetched-callees",{clearGroups:["whole-project","source-file","semantic-provider"]}),Hr=fn({kind:"semantic-import-usage",invalidation:ue("semantic-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Zr}),Vr=fn({kind:"semantic-signatures",invalidation:ue("semantic-signatures"),serialize:n=>JSON.stringify(n),deserialize:Ns}),$r=un({kind:"typescript-import-usage",invalidation:ue("typescript-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Zr}),Yr=un({kind:"typescript-signatures",invalidation:ue("typescript-signatures"),serialize:n=>JSON.stringify(n),deserialize:_s});function De(n){let e=new Map,t=new Set;return{capability:(r,i)=>ei(n,r,i),importUsage:r=>Cs(n,r),references:r=>Gr(n,r),materializeReferences:(r,i)=>Qr(n,r,e,t,i),callerMap:r=>Ts(n,r,e,t),calleeMap:r=>Es(n,r),signature:r=>As(n,r)}}function xs(n,e){if(e.size===0)return;let t=Qn.get(n,()=>new Map);for(let[r,i]of e)t.set(r,[...i])}function Ru(n,e){if(!Qn.has(n))return{hits:[],misses:[...e]};let t=Qn.get(n,()=>new Map),r=[],i=[];for(let o of e)t.has(o.symbolId)?r.push({definition:o,callees:t.get(o.symbolId)??[]}):i.push(o);return{hits:r,misses:i}}function bu(n,e){return De(n).importUsage(e)}function Cs(n,e){if(U(e)==="typescript"){let o="fallback",s=0,a=0,l=0,u=0;return w("typescript.import-usage.materialize",()=>{let f=dn(n,e,vs);if(f?.key){s=1;let p=$r.read(n,e,f.key);if(p)return o="hit",a=1,p;l=1;let d=j(n,e);if(!d)return o="unavailable",[];let y=d.importUsage(e);return $r.write(n,e,f.key,y),o="computed",y}u=1;let c=j(n,e);return c?(o="direct-fallback",c.importUsage(e)):(o="unavailable",[])},()=>({state:o,eligible:s,cacheHits:a,cacheMisses:l,fallbacks:u}))}let t=Xr(n,"semantic-import-usage",e);if(t){let o=Hr.read(n,e,t);if(o)return o}let r=j(n,e);if(!r)return[];let i=r.importUsage(e);return t&&Hr.write(n,e,t,i),i}function hu(n,e){return De(n).references(e)}function Gr(n,e){let t=Gn(n,e);if(t)return t;let r=At(n,e);if(r)return r;let i=j(n,e.relativePath);return i?i.referencesFor(e):[]}function Iu(n,e){return De(n).callerMap(e)}function Mu(n,e){let t=new Map,r=new Map;for(let i of e){if(U(i.relativePath)==="typescript"){let o=j(n,i.relativePath);if(!o)continue;let s=r.get(o)??[];s.push(i),r.set(o,s);continue}Xn(n,t,i,Gr(n,i))}for(let[i,o]of r){let s=yn(n,o,l=>Q(n,l)),a=s?.references??(i.referencesForDefinitions?i.referencesForDefinitions(o,{exact:!0}):new Map(o.map(l=>[l.symbolId,i.referencesFor(l)])));!s&&_()&&mn(n,o,a,l=>Q(n,l));for(let l of o)Xn(n,t,l,a.get(l.symbolId)??[])}return t}function Ts(n,e,t=new Map,r=new Set){let i=new Map,o=Qr(n,e,t,r),s=0;return w("semantic.callers.from-references",()=>{for(let a of e)s+=Xn(n,i,a,t.get(a.symbolId)??[])},()=>({definitions:e.length,materialized:o.definitions,inMemoryHits:o.inMemoryHits,incompleteInMemoryHits:o.incompleteInMemoryHits,resultRows:i.size,callerFiles:s})),i}function Qr(n,e,t,r,i={}){let o=cn(n),s=[],a=[],l=[],u=0,f=0,c=0,p=0,d=0,y=0,R=0,b=0,S=0,M=0,P=0,h=0,C=[],x=new Map,v=e.filter(m=>U(m.relativePath)==="typescript"&&!t.has(m.symbolId)&&!r.has(m.symbolId)),g=yn(n,v,m=>Q(n,m));if(g){S=v.length,M=g.cacheHits,P=g.cacheMisses,h=g.computedFiles;for(let m of v)t.set(m.symbolId,g.references.get(m.symbolId)??[])}if(w("semantic.references.cache-scan",()=>{for(let[m,I]of Kr(e)){let T=[];for(let k of I)t.has(k.symbolId)?f+=1:r.has(k.symbolId)?b+=1:T.push(k);if(T.length===0){R+=1;continue}let W=ks(n,o,m);if(!W){for(let k of T)U(k.relativePath)||(u+=1),l.push(k);continue}y+=1;let F=ot(n,m,W);for(let k of T){let O=F.get(k.symbol)??null;if(O!==null){let E=Ps(O);if(E){c+=1,t.set(k.symbolId,E);continue}p+=1}a.push({definition:k,cacheFingerprint:W})}}},()=>({definitions:e.length,skippedUnsupportedLanguage:u,cacheHits:c,parseFailures:p,misses:a.length,unkeyed:l.length,inMemoryHits:f,incompleteInMemoryHits:b,fullyInMemoryFiles:R,cacheReadFiles:y})),a.length>0||l.length>0){C=[...l,...a.map(m=>m.definition)],x=w("semantic.references.compute-misses",()=>{let m=ws(n,C,i);return d=m.size,m},()=>({definitions:C.length,misses:a.length,unkeyed:l.length,rows:d}));for(let m of C)x.has(m.symbolId)?(t.set(m.symbolId,x.get(m.symbolId)??[]),r.delete(m.symbolId)):r.add(m.symbolId);for(let{definition:m,cacheFingerprint:I}of a)x.has(m.symbolId)&&ei(n,"semantic-references",m.relativePath).available&&s.push({relativePath:m.relativePath,symbol:m.symbol,projectFingerprint:I,payload:JSON.stringify(x.get(m.symbolId)??[])})}return s.length>0&&w("semantic.references.cache-write",()=>st(n,s),()=>({entries:s.length})),x.size>0&&mn(n,C,x,m=>Q(n,m)),{definitions:e.length,inMemoryHits:f,incompleteInMemoryHits:b,cacheHits:c,misses:a.length,unkeyed:l.length,skippedUnsupportedLanguage:u,parseFailures:p,computed:d,incomplete:r.size,cacheWrites:s.length,fragmentDefinitions:S,fragmentCacheHits:M,fragmentCacheMisses:P,fragmentComputedFiles:h}}function ks(n,e,t){if(!e)return null;let r=U(t);return r==="typescript"?e:r==="rust"?an(JSON.stringify({kind:"semantic-references",language:r,engine:hn(n.config.projectRoot),projectFingerprint:e})):null}function ws(n,e,t={}){let r=_(),i=new Map,o=0,s=0,a=0,l=0,u=0,f=0,c=0,p=0,d=0;return w("semantic.references.provider-loop",()=>{let y=zr(n,e),R=Et(n,e),b=new Map,S=t.prefetchCallees?new Map:null,M=[];for(let h of e){let C,x=()=>(C??=j(n,h.relativePath),C);if(S){let I=x();if(I?.referencesAndCalleesForDefinitions){let T=S.get(I);T?T.push(h):S.set(I,[h]),d+=1}}let v=y.get(h.symbolId);if(v){a+=1,l+=v.length,ve(i,h.symbolId,v,r,I=>{c+=1,p+=I});continue}let g=R.get(h.symbolId);if(g){u+=1,f+=g.length,ve(i,h.symbolId,g,r,I=>{c+=1,p+=I});continue}let m=x();if(!m){r&&(s+=1);continue}if(r&&(o+=1),m.referencesForDefinitions){let I=b.get(m);I?I.push(h):b.set(m,[h])}else M.push({provider:m,definition:h})}let P=new Set;if(S)for(let[h,C]of S){if(!h.referencesAndCalleesForDefinitions)continue;let x=b.get(h)??[],v=h.referencesAndCalleesForDefinitions(x,C);P.add(h),xs(n,v.callees);for(let g of x){if(!v.references.has(g.symbolId))continue;let m=v.references.get(g.symbolId)??[];ve(i,g.symbolId,m,r,I=>{c+=1,p+=I})}}for(let[h,C]of b){if(P.has(h))continue;let x=h.referencesForDefinitions(C);for(let v of C){if(!x.has(v.symbolId))continue;let g=x.get(v.symbolId)??[];ve(i,v.symbolId,g,r,m=>{c+=1,p+=m})}}for(let{provider:h,definition:C}of M){let x=h.referencesFor(C);ve(i,C.symbolId,x,r,v=>{c+=1,p+=v})}return i},()=>({definitions:e.length,providerHits:o,providerMisses:s,rustDefaultFastPathRows:a,rustDefaultFastPathReferences:l,rustScipOccurrenceFastPathRows:u,rustScipOccurrenceFastPathReferences:f,prefetchCalleeDefinitions:d,definitionsWithReferences:c,referenceCount:p,rows:i.size}))}function ve(n,e,t,r,i){n.set(e,t),r&&t.length>0&&i(t.length)}function Xn(n,e,t,r){let i=0;for(let o of r){if(o.file===t.relativePath||n.isIgnored(o.file))continue;let s=e.get(t.symbolId);s||(s=new Set,e.set(t.symbolId,s));let a=s.size;s.add(o.file),s.size!==a&&(i+=1)}return i}function Ps(n){try{return JSON.parse(n)}catch{return null}}function vu(n,e){return De(n).calleeMap(e)}function Es(n,e){let t=_(),r=new Map,i=0,o=0,s=0,a=0;return w("semantic.callees.provider-loop",()=>{let l=new Map,u=[];for(let f of e){let c=j(n,f.relativePath);if(!c){t&&(o+=1);continue}t&&(i+=1);let p=f;if(c.calleesForDefinitions){let d=l.get(c);d?d.push(p):l.set(c,[p])}else u.push({provider:c,definition:p})}for(let[f,c]of l){let p=f.calleesForDefinitions(c);for(let d of c){let y=p.get(d.symbolId)??[];Jr(r,d.symbolId,y,t,R=>{s+=1,a+=R})}}for(let{provider:f,definition:c}of u){let p=f.calleesFor(c);Jr(r,c.symbolId,p,t,d=>{s+=1,a+=d})}return r},()=>({definitions:e.length,providerHits:i,providerMisses:o,definitionsWithCallees:s,calleeCount:a,rows:r.size}))}function Jr(n,e,t,r,i){t.length>0&&(n.set(e,t),r&&i(t.length))}function Du(n,e){return De(n).signature(e)}function As(n,e){if(U(e.relativePath)==="typescript"){let s="fallback",a=0,l=0,u=0,f=0;return w("typescript.signature.materialize",()=>{let c=dn(n,e.relativePath,Ds);if(c?.key){a=1;let d=Yr.read(n,e.relativePath,c.key)??{};if(Object.prototype.hasOwnProperty.call(d,e.symbol))return s="hit",l=1,d[e.symbol]??null;u=1;let y=j(n,e.relativePath);if(!y)return s="unavailable",null;let R=y.signatureFor(e);return Yr.write(n,e.relativePath,c.key,{...d,[e.symbol]:R}),s="computed",R}f=1;let p=j(n,e.relativePath);return p?(s="direct-fallback",p.signatureFor(e)):(s="unavailable",null)},()=>({state:s,eligible:a,cacheHits:l,cacheMisses:u,fallbacks:f}))}let t=Xr(n,"semantic-signatures",e.relativePath),r=Fs(e);if(t){let s=Vr.read(n,r,t);if(s)return s.signature}let i=j(n,e.relativePath);if(!i)return null;let o=i.signatureFor(e);return t&&Vr.write(n,r,t,{signature:o}),o}function Xr(n,e,t){let r=cn(n);if(!r)return null;let i=U(t);return i!=="rust"?null:an(JSON.stringify({kind:e,language:i,engine:hn(n.config.projectRoot),projectFingerprint:r}))}function Fs(n){return`${n.relativePath}\0${n.symbol}`}function Zr(n){try{let e=JSON.parse(n);return Array.isArray(e)?e:null}catch{return null}}function Ns(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e.signature;return t!==null&&typeof t!="string"?null:{signature:t}}catch{return null}}function _s(n){try{let e=JSON.parse(n);if(!e||typeof e!="object"||Array.isArray(e))return null;for(let t of Object.values(e))if(t!==null&&typeof t!="string")return null;return e}catch{return null}}function ei(n,e,t){let r=U(t);if(!r)return{slot:e,language:"typescript",available:!1,reason:"semantic evidence is only available for TypeScript or Rust files"};try{return{slot:e,language:r,...Q(n,t).availability()}}catch(i){return{slot:e,language:r,available:!1,reason:i instanceof Error?i.message:String(i)}}}function j(n,e){if(!U(e))return null;let t=Q(n,e);return t.availability().available?t:null}export{Kr as a,hn as b,U as c,De as d,Ru as e,bu as f,hu as g,Iu as h,Mu as i,ws as j,vu as k,Du as l};
|
|
3
|
-
//# sourceMappingURL=chunk-63MBA7EG.js.map
|
package/dist/chunk-6T7H2AFY.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
import{y as Y,z as we}from"./chunk-4UUCUASK.js";import{Ad as z,Ba as fe,Be as ke,C as pe,Cd as R,Ce as We,Dd as _,Ea as F,Ed as Re,Ja as H,Ka as me,La as ye,Me as Ee,Nd as J,Oa as I,Od as Ie,Pa as ge,Pd as K,Qa as ve,Qd as be,Rd as Ce,Sd as Q,Va as w,W as S,g as C,id as g,jd as Se,kd as T,ld as V,md as q,rd as k,sd as U,ua as N,za as he,zd as B}from"./chunk-OIVZ7PW6.js";import{spawn as bt}from"child_process";import{existsSync as Ct,rmSync as xe}from"fs";import{dirname as wt,resolve as $}from"path";import{fileURLToPath as kt}from"url";import{createHash as rt,randomUUID as Ae}from"crypto";import{existsSync as nt,linkSync as it,readdirSync as ot,rmSync as st}from"fs";import{basename as at,dirname as ct,join as v}from"path";var O=1,dt=10*6e4,Yt=10080*6e4,X="requests",lt="claims",ut="completions",pt="staging";function Pe(e,t,r={}){let n=r.now?.()??new Date,i=St(r.ttlMs),o=Rt(r.idempotencyKey),d=o?`key-${rt("sha256").update(o).digest("hex")}`:`request-${(r.randomId??Ae)()}`,s={version:O,requestId:d,...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"},c=vt(e,d),a=mt(e,c,s,r.onStage);if(a.published)return{disposition:"accepted",request:s,achievedDurability:a.achievedDurability,directorySync:a.directorySync};let l=Z(c);if(!l)throw new Error(`Watch refresh request identity ${d} exists but is malformed.`);return{disposition:"duplicate",request:l}}function Xt(e){let t=yt(e),r=new Map,n=gt(v(e,X),Z);for(let c of D(v(e,ut))){let a=ft(c);if(!a){n++;continue}r.set(a.requestId,a)}let i=new Set;for(let c of D(v(e,lt))){let a=ht(c);if(!a){n++;continue}i.add(a.requestId)}let o=t.filter(c=>!r.has(c.requestId)&&!i.has(c.requestId)),d=[...r.values()].filter(c=>c.outcome==="completed").length,s=[...r.values()].filter(c=>c.outcome==="expired").length;return{pending:o.length,claimed:t.filter(c=>!r.has(c.requestId)&&i.has(c.requestId)).length,completed:d,expired:s,invalid:n,...o.length>0?{oldestPendingAt:o.map(c=>c.createdAt).reduce((c,a)=>It(c,a))}:{}}}function Z(e){return ee(e,t=>{let r=t;return r.version===O&&W(r.requestId)&&(r.idempotencyKey===void 0||typeof r.idempotencyKey=="string")&&C(r.createdAt)&&C(r.deadlineAt)&&Date.parse(r.deadlineAt)>=Date.parse(r.createdAt)&&typeof r.detail=="string"&&r.detail.length>0})}function ht(e){return ee(e,t=>{let r=t;return r.version===O&&W(r.requestId)&&W(r.claimId)&&C(r.claimedAt)})}function ft(e){return ee(e,t=>{let r=t;return r.version===O&&W(r.requestId)&&(r.claimId===void 0||W(r.claimId))&&(r.outcome==="completed"||r.outcome==="expired")&&C(r.completedAt)})}function mt(e,t,r,n){let i=v(e,pt),o=ct(t),d=H(i),s=H(o),c=v(i,`${at(t)}.${process.pid}.${Ae()}.tmp`);try{let a=U(c,r,{spacing:2,trailingNewline:!0});n?.("after-staged");try{it(c,t)}catch(u){if(u.code==="EEXIST")return{published:!1};throw u}let l=ye(d,s,a.directorySync,me(o));return n?.("after-published"),{published:!0,achievedDurability:l==="synced"?"directory-durable":"file-flushed",directorySync:l}}finally{st(c,{force:!0})}}function yt(e){let t=[];for(let r of D(v(e,X))){let n=Z(r);n&&t.push(n)}return t}function gt(e,t){return D(e).filter(r=>!t(r)).length}function D(e,t=".json"){return nt(e)?ot(e,{withFileTypes:!0}).filter(r=>r.isFile()&&r.name.endsWith(t)).map(r=>v(e,r.name)).sort():[]}function ee(e,t){try{let r=JSON.parse(S(e,"watch refresh request record"));return t(r)?r:null}catch{return null}}function vt(e,t){return v(e,X,`${t}.json`)}function St(e){if(e===void 0)return dt;if(!Number.isFinite(e)||e<=0)throw new Error("Watch refresh request ttlMs must be positive.");return Math.floor(e)}function Rt(e){let t=e?.trim();return t?t.slice(0,512):void 0}function W(e){return typeof e=="string"&&/^[a-z0-9][a-z0-9-]{0,127}$/i.test(e)}function It(e,t){return Date.parse(t)<Date.parse(e)?t:e}var Te=5e3,Wt=6e3,Et=1e3,re=10,At=new Set(["capabilities","check-deps","config-validate","continue","doctor","init","install-skills","reindex","setup","setup-agent","status","suppress","uninstall","watch"]);function gr(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 Pt(e,t=process.env){return t.SCIP_QUERY_SKIP_WATCH_SERVICE!=="1"&&!e.startsWith("__")&&!At.has(e)}function vr(e){let t=e.env??process.env;if(t.SCIP_QUERY_SKIP_WATCH_SERVICE==="1")return{kind:"skipped",reason:"environment"};if(!Pt(e.commandName,t))return{kind:"skipped",reason:"excluded-command"};if(e.config.watch?.enabled!==!0)return{kind:"skipped",reason:"disabled"};try{let r=xt({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($(e));if(r&&F(r.projectRoot)===n)return{projectRoot:n,worktreeKind:"git",worktreeId:r.worktreeId,cliVersion:t};let i=he(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 Sr(e){return M(e,Oe(e.projectRoot,e.cliVersion,e.gitContext))}function M(e,t){let r=e.runtime??se,n=R(e.cacheDir),i=_(n.statePath),o=oe(n.lockPath);return{identity:t,classification:Tt(i,t,r.now(),r.isProcessAlive),lock:o,lockIsLive:o!==null&&r.isProcessAlive(o.pid),paths:n}}function xt(e){let t=e.runtime??se,r=Oe(e.projectRoot,e.cliVersion,e.gitContext),n=M(e,r),i=ne("ensure",n.classification);if(i.kind==="reuse")return L(n.paths.activityPath,t),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`scip-query 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")ie(i.state,e,t),E(n.paths,i.state.pid,t);else if(i.kind==="start"){if(n.lockIsLive){let s=qe(e,r,t,Math.min(e.startupTimeoutMs??1e3,1e3));if(s)return L(n.paths.activityPath,t),{disposition:"reused",state:s};throw new Error(`scip-query watch is already running for ${$(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"&&E(n.paths,n.classification.state.pid,t)}else throw new Error(`Unexpected ensure action: ${i.kind}`);if(n=M(e,r),i=ne("ensure",n.classification),i.kind==="reuse")return L(n.paths.activityPath,t),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`scip-query watch service pid ${i.state.pid} remains alive with an old heartbeat; automatic replacement is not authorized.`);let o=e.serverPath??kt(new URL("./watch-server.js",import.meta.url));t.spawnServer(o,r.projectRoot,e.cliVersion,e.watchOverrides??{});let d=qe(e,r,t,e.startupTimeoutMs??Te);if(!d)throw new Error(`scip-query watch service did not become ready within ${e.startupTimeoutMs??Te}ms.`);return L(n.paths.activityPath,t),{disposition:"started",state:d}}function Le(e){let t=e.runtime??se,r=R(e.cacheDir),n=_(r.statePath),i=n?_e(n,t)?{kind:"live",state:n}:{kind:"stale",state:n,reason:"dead-process"}:{kind:"stopped"},o=ne("stop",i);if(o.kind==="signal-stop")return ie(o.state,e,t),E(r,o.state.pid,t),{disposition:"stopped",pid:o.state.pid};if(o.kind==="clean-stale")return E(r,o.state.pid,t),{disposition:"stopped",pid:o.state.pid};let d=oe(r.lockPath);return o.kind==="already-stopped"&&d?(_e(d,t)&&ie(d,e,t),E(r,d.pid,t),{disposition:"stopped",pid:d.pid}):{disposition:"already-stopped"}}function Me(e,t=Date.now()){k(e,{version:1,at:new Date(t).toISOString()})}function Rr(e,t,r=Date.now(),n={}){Pe(R(wt(e)).refreshRequestsPath,t,{...n,now:()=>new Date(r)}),Me(e,r)}function Ir(e,t,r={}){let n=r.pid??process.pid,i=r.isProcessAlive??g,o=()=>{},d=r.readProcessIdentity??V,s=r.now??(()=>new Date),c={...J,wallNow:()=>s().getTime(),isProcessAlive:i,readProcessIdentity:d},a=Ie(e,{kind:"watch",pid:n,processIdentity:d(n),detail:{projectRoot:$(t)},parseLegacy:G,runtime:c});if(a.kind==="contended"){let l=Ge(a.observation);return{acquired:!1,lockPath:e,message:qt(e,t,l),release:o}}return{acquired:!0,lockPath:e,message:"",release:()=>{a.lock.release()}}}function oe(e){return Ge(K(e,{parseLegacy:G}))}var G=e=>{let t=$e(e);return t?{pid:t.pid,...t.processIdentity?{processIdentity:t.processIdentity}:{}}:null};function Ge(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 $e(e.parsed)}function $e(e){try{let t=e;if(t.version!==1||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.projectRoot!="string"||!Re(t.startedAt))return null;let r=t.processIdentity===void 0?null:Se(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 Tt(e,t,r,n){if(!e)return{kind:"stopped"};if(e.protocolVersion!==B)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>z?{kind:"stale",state:e,reason:"old-heartbeat"}:{kind:"live",state:e}}function ne(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 te(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 te(t)}default:return te(e)}}function qe(e,t,r,n){let i=r.monotonicNow??q,o=i()+n;for(;i()<=o;){let d=M(e,t).classification;if(d.kind==="live")return d.state;r.sleep(re)}return null}function ie(e,t,r){let{pid:n}=e;if(!r.isProcessAlive(n))return;De(e,r),r.signalProcess(n);let i=t.stopTimeoutMs??Wt,o=r.monotonicNow??q,d=o()+i;for(;o()<=d;){if(!r.isProcessAlive(n))return;r.sleep(re)}if(!r.forceSignalProcess)throw new Error(`scip-query watch service pid ${n} did not stop within ${i}ms and forced termination is unavailable.`);De(e,r),r.forceSignalProcess(n);let s=t.forceStopTimeoutMs??Et,c=o()+s;for(;o()<=c;){if(!r.isProcessAlive(n))return;let a=r.readProcessIdentity(n);if(e.processIdentity&&a&&!T(e.processIdentity,a))return;r.sleep(re)}throw new Error(`scip-query watch service pid ${n} remained alive ${s}ms after forced termination.`)}function E(e,t,r){if(xe(e.statePath,{force:!0}),xe(e.activityPath,{force:!0}),oe(e.lockPath)?.pid===t){let i={...J,wallNow:r.now,isProcessAlive:r.isProcessAlive,readProcessIdentity:r.readProcessIdentity},o=K(e.lockPath,{parseLegacy:G,runtime:i});be(e.lockPath,o,{parseLegacy:G,runtime:i})}}function _e(e,t){if(!t.isProcessAlive(e.pid))return!1;if(!e.processIdentity)return!0;let r=t.readProcessIdentity(e.pid);return r===null||T(e.processIdentity,r)}function qt(e,t,r){return`error: scip-query watch is already running for ${$(t)}${r?` (pid ${r.pid}, started ${r.startedAt}; lock: ${e})`:` (lock: ${e})`}. Stop that watcher before starting another.`}function L(e,t){try{(t.recordActivity??Me)(e,t.now())}catch(r){let n=_t(r);if(n!=="EPERM"&&n!=="EACCES"&&n!=="EROFS")throw r}}function _t(e){return e.code}var se={now:Date.now,monotonicNow:q,isProcessAlive:g,readProcessIdentity:V,spawnServer(e,t,r,n){if(!Ct(e))throw new Error(`Watch service helper was not found at ${e}. Run npm run build first.`);bt(process.execPath,[e,t,r,JSON.stringify(n)],{detached:!0,stdio:"ignore",env:{...process.env,SCIP_QUERY_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 De(e,t){if(!e.processIdentity)throw new Error(`Refusing to signal scip-query 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 scip-query watch pid ${e.pid}: its process identity is unavailable.`);if(!T(e.processIdentity,r))throw new Error(`Refusing to signal scip-query watch pid ${e.pid}: its process identity does not match the ownership record.`)}function te(e){throw new Error(`Unhandled watch service value: ${JSON.stringify(e)}`)}import{existsSync as j,lstatSync as A,readdirSync as Fe,realpathSync as je,rmSync as b,statSync as He}from"fs";import{join as p,resolve as P,sep as Ve}from"path";var Dt=3600*1e3,Ot=2*1024*1024*1024,Ue=300*1e3,Lt="gc-state.json",Mt="gc.lock";function Gt(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,c)=>n[s.generationId]-n[c.generationId]||s.generationId.localeCompare(c.generationId)),o=new Set;for(let s of i)e.nowMs-n[s.generationId]>=e.policy.generationTtlMs&&o.add(s.generationId);let d=e.generations.filter(s=>!o.has(s.generationId)).reduce((s,c)=>s+c.size,0);for(let s of i){if(d<=e.policy.budgetBytes)break;o.has(s.generationId)||(o.add(s.generationId),d-=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 Lr(e,t,r={}){if(!ve())return{kind:"disabled"};let n=r.repositoryId===void 0?N(e)?.repositoryId:r.repositoryId;if(!n)return{kind:"unavailable"};let i=p(I(),"repositories",n),o=(r.now??Date.now)(),d=j(i)?ze(e,i,n,t,o,r):{kind:"unavailable"};return $t(e,n,t,o,r),d}function ze(e,t,r,n,i,o){let d=p(t,"gc-state.json"),s=Ke(d);if(!o.force&&s&&i-Date.parse(s.lastSweepAt)<Ue)return{kind:"throttled",sweptAt:s.lastSweepAt};let c=Ce(t,{now:()=>i});if(!c)return{kind:"busy"};try{let a=Je(e,t,r,s?.unreferencedSince??{}),l=Gt({nowMs:i,...a,policy:{generationTtlMs:o.policy?.generationTtlMs??Dt,budgetBytes:o.policy?.budgetBytes??Ot}}),u=0,f=0;for(let h of l.deleteWorktrees){if(!de(h.lease))continue;if(!j(h.lease.localCacheDir)){b(h.leasePath,{force:!0}),f+=1;continue}if(!Nt(h.lease))continue;let ue=Q(p(h.lease.localCacheDir,"cache-lifecycle.lock"));if(ue)try{if(ae(h.lease,!0))continue;try{Le({projectRoot:h.lease.projectRoot,cacheDir:h.lease.localCacheDir,cliVersion:n})}catch{continue}if(ae(h.lease,!0))continue;b(h.lease.localCacheDir,{recursive:!0,force:!0}),b(h.leasePath,{force:!0}),f+=1}finally{ue.release()}}for(let h of l.deleteLocks)b(h.path,{force:!0});for(let h of l.deleteTemporaries)b(h.path,{recursive:!0,force:!0});for(let h of l.deleteGenerations)b(h.path,{recursive:!0,force:!0}),u+=h.size;pe(p(t,"evidence.db"));let y={kind:"swept",sweptAt:new Date(i).toISOString(),deletedWorktrees:f,deletedGenerations:l.deleteGenerations.length,deletedBytes:u,protectedGenerations:l.protectedGenerationIds.length},m={version:1,lastSweepAt:y.sweptAt,unreferencedSince:l.unreferencedSince,lastResult:y};return k(d,m,{spacing:2,trailingNewline:!0}),y}catch(a){return{kind:"failed",error:a instanceof Error?a.message:String(a)}}finally{c.release()}}function $t(e,t,r,n,i){let o=p(I(),"repositories");if(!j(o))return;let d=p(o,Lt),s=Ht(d);if(!i.force&&s!==void 0&&n-s<Ue)return;let c=Q(p(o,Mt));if(c)try{for(let a of x(o)){if(a===t||!/^[a-f0-9]{24}$/.test(a))continue;let l=p(o,a),u;try{u=A(l)}catch{continue}if(!u.isDirectory()||u.isSymbolicLink())continue;let f=Ft(l)??e;ze(f,l,a,r,n,i)}k(d,{version:1,lastSweepAt:new Date(n).toISOString()},{spacing:2,trailingNewline:!0})}finally{c.release()}}function Mr(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=N(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=p(I(),"repositories",i.repositoryId),d=le(p(o,"worktrees",`${i.worktreeId}.json`)),s=Ke(p(o,"gc-state.json")),c=Je(e,o,i.repositoryId,s?.unreferencedSince??{}),a=Be(c.leases,c.locks),l=c.generations.filter(m=>!a.has(m.generationId)),u=c.generations.reduce((m,h)=>m+h.size,0),f=We(e,t),y=0;return f&&(y=jt(f)),{state:"managed",repositoryId:i.repositoryId,worktreeId:i.worktreeId,localCacheDir:r.cacheDir,...d?{baseGenerationId:d.baseGenerationId,activeGenerationId:d.activeGenerationId,lastAction:d.lastAction,reason:d.lastReason,lastSeenAt:d.lastSeenAt}:{},generations:c.generations.length,generationBytes:u,protectedGenerations:c.generations.filter(m=>a.has(m.generationId)).length,unreferencedGenerations:l.length,unreferencedBytes:l.reduce((m,h)=>m+h.size,0),temporaryGenerations:c.temporaries.length,sharedEvidence:{path:f,exists:y>0,bytes:y},cleanup:s?.lastResult}}function jt(e){return[e,`${e}-wal`,`${e}-shm`].reduce((t,r)=>{try{return t+He(r).size}catch{return t}},0)}function Je(e,t,r,n){let i=new Set(fe(e).map(a=>P(a.path))),o=[];for(let a of x(p(t,"worktrees"))){if(!a.endsWith(".json"))continue;let l=p(t,"worktrees",a),u=le(l);if(!u)continue;let f=P(u.projectRoot);o.push({leasePath:l,lease:u,managed:u.repositoryId===r&&de(u),live:i.has(f)||j(f),busy:ae(u)})}let d=[];for(let a of x(p(t,"locks"))){let l=/^([a-f0-9]{64})\.lock$/.exec(a);if(!l)continue;let u=p(t,"locks",a),f=ce(u),y=f!==void 0&&g(f),m=l[1];d.push({generationId:m,path:u,live:y})}let s=[],c=[];for(let a of x(p(t,"generations"))){let l=/^\.tmp-(\d+)-/.exec(a);if(l){let y=p(t,"generations",a),m=Number(l[1]);try{c.push({path:y,size:Ne(y),live:Number.isSafeInteger(m)&&g(m)})}catch{}continue}if(!/^[a-f0-9]{64}$/.test(a))continue;let u=p(t,"generations",a),f;try{f=A(u)}catch{continue}!f.isDirectory()||f.isSymbolicLink()||s.push({generationId:a,path:u,size:Ne(u),...n[a]===void 0?{}:{unreferencedAt:n[a]}})}return{leases:o,generations:s,locks:d,temporaries:c}}function de(e){if(e.ownershipChecksum!==Ee(e)||w(e.localCacheDir)!==w(ge(e.projectRoot)))return!1;let t=w(p(I(),"projects"));return w(e.localCacheDir).startsWith(`${t}${Ve}`)}function Nt(e){if(!de(e))return!1;let t=P(I()),r=P(p(t,"projects")),n=P(e.localCacheDir);try{let i=A(t),o=A(r),d=A(n);if(!i.isDirectory()||i.isSymbolicLink()||!o.isDirectory()||o.isSymbolicLink()||!d.isDirectory()||d.isSymbolicLink())return!1;let s=je(r);return je(n).startsWith(`${s}${Ve}`)}catch{return!1}}function Ft(e){for(let t of x(p(e,"worktrees"))){if(!t.endsWith(".json"))continue;let r=le(p(e,"worktrees",t));if(r)return r.projectRoot}}function ae(e,t=!1){for(let n of t?["index.lock"]:["index.lock","cache-lifecycle.lock"]){let i=ce(p(e.localCacheDir,n));if(i!==void 0&&g(i))return!0}let r=ce(R(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 ce(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 Ke(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 Ht(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 x(e){try{return Fe(e)}catch{return[]}}function Ne(e){let t=0,r=[e];for(;r.length>0;){let n=r.pop();for(let i of Fe(n,{withFileTypes:!0})){let o=p(n,i.name);i.isDirectory()?r.push(o):i.isFile()&&(t+=He(o).size)}}return t}var Qe=[{question:"Who can call or reach this?",family:"execution",direction:"incoming"},{question:"What can this call or reach?",family:"execution",direction:"outgoing"},{question:"Where can this value come from?",family:"dataflow",direction:"incoming"},{question:"Where can this value go?",family:"dataflow",direction:"outgoing"},{question:"Which producer and consumer rendezvous?",family:"runtime",direction:"both"},{question:"What resource is observed or changed?",family:"state",direction:"both"},{question:"What occurs before or after this?",family:"temporal",direction:"both"},{question:"What interface constrains this?",family:"contract",direction:"both"},{question:"Are these observations the same entity?",family:"identity",direction:"both"},{question:"What contains or owns this?",family:"ownership",direction:"both"},{question:"What does this statically rely on?",family:"dependencies",direction:"outgoing"}],Ye={execution:{establishes:"Static may-call reachability between resolved program constructs.",nonClaims:["A may-call edge does not prove that a runtime invocation occurred."]},runtime:{establishes:"A source-grounded handoff between producer and consumer participants through a runtime mechanism.",nonClaims:["An unresolved or candidate join does not prove a runtime handoff."]},dataflow:{establishes:"A value, definition, argument, parameter, return, or statically resolved value may flow to another construct.",nonClaims:["Current partial providers do not establish general interprocedural definition-use coverage."]},state:{establishes:"A construct reads, writes, creates, deletes, or otherwise changes an identified state resource.",nonClaims:["A state edge does not prove transactionality, durability, or exclusive ownership unless qualified."]},temporal:{establishes:"One observed construct is locally ordered before or after another under the reported source evidence.",nonClaims:["Source order does not imply cross-process happens-before or durability."]},contract:{establishes:"A program construct implements, constrains, or is typed by an identified contract.",nonClaims:["Contract identity does not prove runtime invocation or conformance outside reported checks."]},identity:{establishes:"Two observations refer to the same compiler-owned or source-owned program entity.",nonClaims:["Shared identity does not establish execution or value transfer."]},ownership:{establishes:"A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity.",nonClaims:["Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified."]},dependencies:{establishes:"A file, module, or symbol statically relies on another indexed entity.",nonClaims:["A dependency edge does not establish that the depended-on code executes."]}};function Xe(e){return Y.flatMap(t=>t.relations.filter(r=>r.family===e).map(r=>({...r,providerId:t.id,providerLabel:t.label})))}function Ze(e){return[...new Set(Y.filter(t=>t.relations.some(r=>r.family===e)).map(t=>t.label))]}var Nr=we.map(e=>({family:e,...Ye[e],providers:Ze(e),relations:Xe(e)}));function et(e){return{family:e,...Ye[e],providers:Ze(e),relations:Xe(e)}}var Vr=["search","outline","entrypoints","evidence","inspect","code"];function Ur(){return Qe.map(e=>{let t=et(e.family);return{...e,establishes:t.establishes,evidenceStrengths:tt(t.relations.flatMap(r=>r.evidenceStrengths)),supportCeilings:tt(t.relations.map(r=>r.supportCeiling)),nonClaim:t.nonClaims.join(" ")}})}function tt(e){return[...new Set(e)]}export{Nr as a,Xt as b,gr as c,Pt as d,vr as e,Sr as f,xt as g,Le as h,Rr as i,Ir as j,oe as k,Lr as l,Mr as m,Vr as n,Ur as o};
|
|
3
|
-
//# sourceMappingURL=chunk-6T7H2AFY.js.map
|
package/dist/chunk-7COHFNJK.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import{v as M,w as _}from"./chunk-I3U2FN2T.js";import{a as S}from"./chunk-AA7K3XLM.js";import{c as I,g as A,i as F,r as m,v as G,w as b}from"./chunk-DMQ7ZKJG.js";var C=G({kind:"file-dependency-graph",invalidation:b("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:T}),x=I("file-dep-graph",{clearGroups:["whole-project"]});function Q(e,n,r){if(r.length===0)return[];let i=new Set(r),s=w(e),t=new Set;if(n==="forward")for(let c of i)for(let o of s.get(c)??[])i.has(o)||t.add(o);else for(let[c,o]of s)if(!i.has(c))for(let d of i)o.has(d)&&t.add(c);return[...t].sort()}function w(e,n,r={}){let i=r.scipEdges??"all-references",s=r.sourceEdges??"imports-only",t=N(n,i,s);return x.get(e,t,()=>{let c=new Set(S(e,{includeIgnored:!1})),o=F(e),d=0,a=0,u=null,O=!1,p=0,E=0,D=null;return m("file-dep-graph.product",()=>{if(o){let l=C.read(e,t,o);if(l){O=!0,D=l.construction;let y=$(l);return d=l.sourceFileCount,a=l.sourceEdgeCount,p=l.scipEdgeCount,E=y.size,u=l.sourceDependencyFingerprint,y}}let f=m("file-dep-graph.source-imports",()=>{let l=J(e,c,n,s);return d=l.files.length,a=l.edges.length,u=l.fingerprint,l},()=>({scope:n??null,sourceEdges:s,files:d,edges:a})),g=new Map,P=(l,y)=>h(e,g,c,l,y);m("file-dep-graph.scip-edges",()=>{for(let l of K(e,n,i))p=(p??0)+1,P(l.from_file,l.to_file)},()=>({scope:n??null,edges:p}));for(let l of f.edges)P(l.fromFile,l.toFile);return E=g.size,o&&(D="full",C.write(e,t,o,{version:2,construction:"full",sourceDependencyFingerprint:f.fingerprint,sourceFileCount:f.files.length,sourceEdgeCount:f.edges.length,scipEdgeCount:p,edgeCount:v(g),graph:R(g)})),g},()=>({scope:n??null,available:o!==null,hit:O,construction:D,files:d,sourceEdges:a,sourceEdgeMode:s,scipEdges:p,graphFiles:E,sourceDependencyFingerprint:u}))})}function X(e){let n=N(void 0,"all-references","imports-only"),r=w(e);return{cacheKey:n,graph:H(r)}}function Z(e,n,r){let i=F(e);if(!i)return!1;let s=N(void 0,"all-references","imports-only");if(n.cacheKey!==s)return!1;let t=new Set(S(e,{includeIgnored:!1})),c=new Set(r),o=new Map;for(let[d,a]of n.graph)if(!(c.has(d)||!t.has(d)))for(let u of a)h(e,o,t,d,u);for(let d of L(e,c,"all-references"))h(e,o,t,d.from_file,d.to_file);for(let d of c)if(t.has(d))for(let a of _(e,d))a.sourcePath&&h(e,o,t,d,a.sourcePath);return C.write(e,s,i,{version:2,construction:"carried",sourceDependencyFingerprint:null,sourceFileCount:t.size,sourceEdgeCount:null,scipEdgeCount:null,edgeCount:v(o),graph:R(o)}),!0}function J(e,n,r,i){let s=[],t=[];for(let c of n)if(!(r&&!c.includes(r))){s.push(c);for(let o of _(e,c))o.sourcePath&&t.push({fromFile:c,toFile:o.sourcePath});if(i==="imports-and-reexports")for(let o of M(e,c))o.sourcePath&&t.push({fromFile:c,toFile:o.sourcePath})}return{files:s,edges:t,fingerprint:k(s,t)}}function k(e,n){let r=n.map(i=>`${i.fromFile}\0${i.toFile}`).sort();return A(JSON.stringify({files:e,edges:r}))}function N(e,n,r){return`edge-mode-v4:${n}:${r}:${e??"<all>"}`}function R(e){return[...e].map(([n,r])=>[n,[...r].sort()]).sort(([n],[r])=>n.localeCompare(r))}function $(e){return new Map(e.graph.map(([n,r])=>[n,new Set(r)]))}function T(e){let n=JSON.parse(e);return j(n)?n:null}function j(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(z)}function H(e){return new Map([...e].map(([n,r])=>[n,new Set(r)]))}function v(e){let n=0;for(let r of e.values())n+=r.size;return n}function z(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(n=>typeof n=="string")}function K(e,n,r){let i=n?"AND d1.relative_path LIKE ?":"",s=n?[`%${n}%`]:[],t=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
|
-
${t}
|
|
18
|
-
${e.pathExclusionsFor("d1","d2")}
|
|
19
|
-
${i}`,...s)}function L(e,n,r){let i=[...n].sort();if(i.length===0)return[];let s=r==="imports-only"?"AND m.role = 2":"AND m.role != 1",t=[];for(let c=0;c<i.length;c+=500){let o=i.slice(c,c+500),d=o.map(()=>"?").join(", ");t.push(...e.all(`SELECT DISTINCT
|
|
20
|
-
d1.relative_path AS from_file,
|
|
21
|
-
d2.relative_path AS to_file
|
|
22
|
-
FROM mentions m
|
|
23
|
-
JOIN chunks c ON m.chunk_id = c.id
|
|
24
|
-
JOIN documents d1 ON c.document_id = d1.id
|
|
25
|
-
JOIN global_symbols gs ON m.symbol_id = gs.id
|
|
26
|
-
JOIN (
|
|
27
|
-
SELECT m2.symbol_id, c2.document_id
|
|
28
|
-
FROM mentions m2
|
|
29
|
-
JOIN chunks c2 ON m2.chunk_id = c2.id
|
|
30
|
-
WHERE m2.role = 1
|
|
31
|
-
GROUP BY m2.symbol_id
|
|
32
|
-
) sym_def ON sym_def.symbol_id = gs.id
|
|
33
|
-
JOIN documents d2 ON sym_def.document_id = d2.id
|
|
34
|
-
WHERE d1.id != d2.id
|
|
35
|
-
${s}
|
|
36
|
-
${e.pathExclusionsFor("d1","d2")}
|
|
37
|
-
AND d1.relative_path IN (${d})`,...o))}return t}function h(e,n,r,i,s){if(i===s||e.isIgnored(i)||e.isIgnored(s)||!r.has(s))return;let t=n.get(i);t||(t=new Set,n.set(i,t)),t.add(s)}export{Q as a,w as b,X as c,Z as d};
|
|
38
|
-
//# sourceMappingURL=chunk-7COHFNJK.js.map
|
package/dist/chunk-7HU2IJ2T.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{$ as ue,F as ne,H as re,K as ie,M as k,N as se,T as oe,U as ce,V as ae,a as F,ba as le,e as P,f as B,g as _,h as te}from"./chunk-MO226P4Q.js";import{createRequire as ke}from"module";import{existsSync as Ne,lstatSync as Jt,readdirSync as Oe,statSync as Re}from"fs";import p from"path";import{AsyncLocalStorage as Te}from"async_hooks";var Ee=new Te;function j(e,t){let n=N(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 x(e,t){let n=N(e);if(n)return n.missing.has(t)?"missing":n.paths.includes(t)?"present":"missing"}function fe(e,t){return N(e)?.fingerprints.get(t)}function w(e){return N(e)?.paths}function N(e){let t=Ee.getStore();if(t)return t.projectRoot===ue(e)?t:void 0}var _e=ke(import.meta.url),pe=new Set([".cache",".git",".next",".nuxt",".turbo",".nx","build","coverage","dist","node_modules","tmp","vendor"]);function Ae(e,t=[]){let n=p.resolve(e),r=t.flatMap(a=>We(n,a));if(r.length>0)return ge(n,he(r));let i=De(n),s=he(i),o=Je(n,s)?[n,...s]:s,c=o.length>0?o:[n];return ge(n,c)}function me(e,t,n=[]){let r;try{r=_e("@ts-morph/common/dist/typescript.js")}catch{return null}let i=p.resolve(e),s=t==="workspace"?Ae(i,n):["."],o=new Set;for(let c of s){let a=c==="."?i:p.join(i,c),u=p.join(a,"tsconfig.json"),g=He(r,i);if(!g.fileExists(u))return null;let l=r.readConfigFile(u,g.readFile);if(l.error)return null;let f=r.parseJsonConfigFileContent(l.config,g,a);if(f.errors.length>0)return null;for(let S of f.fileNames){let d=p.resolve(S);P(i,d)&&o.add(p.relative(i,d).split(p.sep).join("/"))}}return o}function ge(e,t){return[...new Set(t.map(n=>v(e,n)))].sort((n,r)=>n.localeCompare(r))}function De(e){let t=w(e);if(t)return t.flatMap(i=>{if(i.split("/").some(o=>pe.has(o)))return[];let s=p.join(e,...i.split("/"));return de(e,s)?[p.dirname(s)]:[]});let n=[],r=[e];for(;r.length>0;){let i=r.pop(),s;try{s=Oe(i,{withFileTypes:!0})}catch{continue}for(let o of s){let c=p.join(i,o.name);if(o.isDirectory()){!pe.has(o.name)&&!o.name.startsWith(".")&&r.push(c);continue}o.isFile()&&de(e,c)&&n.push(p.dirname(c))}}return n}function We(e,t){let n=t.trim();if(!n)return[];let r=p.resolve(e,n);if(!P(e,r))return[];let i=w(e);if(i){let s=v(e,r);if(i.includes(s)&&A(p.basename(r)))return[p.dirname(r)];let o=s==="."?"":`${s}/`;return i.some(c=>c.startsWith(o))?[r]:[]}try{let s=Re(r);if(s.isDirectory())return[r];if(s.isFile()&&A(p.basename(r)))return[p.dirname(r)]}catch{return[]}return[]}function de(e,t){if(!A(p.basename(t)))return!1;let n=ye(e,t);return n?p.basename(t)==="tsconfig.json"||"include"in n||"files"in n||"references"in n:!1}function A(e){return e.startsWith("tsconfig")&&e.endsWith(".json")}function he(e){let t=[...new Set(e.map(n=>p.resolve(n)))].sort((n,r)=>n.localeCompare(r));return t.length<=1?t:t.filter(n=>!t.some(r=>r!==n&&qe(n,r)))}function Je(e,t){if(t.length===0||t.some(r=>p.resolve(r)===e))return!1;let n=p.join(e,"tsconfig.json");return Ue(e,n)&&$e(e,n)}function $e(e,t){let r=ye(e,t)?.include;return Array.isArray(r)?r.some(i=>typeof i=="string"&&i.trim()!==""&&!i.startsWith("!")&&(i.includes("/")||i.includes("**")||!p.extname(i))):!1}function ye(e,t){try{let n=JSON.parse(Ke(e,t));return n&&typeof n=="object"&&!Array.isArray(n)?n:null}catch{return null}}function Ue(e,t){let n=v(e,t),r=x(e,n);return r?r==="present":Ne(t)}function Ke(e,t){let n=v(e,t);if(w(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 re(t,"TypeScript project config")}function He(e,t){let n=w(t);if(!n)return e.sys;let r=p.resolve(t),i=new Set(n),s=Ge(r,n),o=e,c=a=>{let u=p.resolve(a);return P(r,u)?v(r,u):null};return{useCaseSensitiveFileNames:e.sys.useCaseSensitiveFileNames,fileExists(a){let u=c(a);return u===null?e.sys.fileExists(a):i.has(u)},readFile(a){let u=c(a);return u===null?e.sys.readFile(a):j(r,u)?.content.toString("utf8")},readDirectory(a,u,g,l,f){let S=p.resolve(a);return P(r,S)?o.matchFiles(S,u,g,l,e.sys.useCaseSensitiveFileNames,r,f,d=>s.get(p.resolve(d))??{files:[],directories:[]},d=>d):e.sys.readDirectory(a,u,g,l,f)}}}function Ge(e,t){let n=new Map,r=new Map,i=s=>{n.has(s)||n.set(s,new Set),r.has(s)||r.set(s,new Set)};i(e);for(let s of t){let o=s.split("/"),c=e;for(let a=0;a<o.length-1;a+=1){let u=o[a];i(c),r.get(c).add(u),c=p.join(c,u),i(c)}n.get(c).add(o.at(-1))}return new Map([...n].map(([s,o])=>[s,{files:[...o].sort(),directories:[...r.get(s)??[]].sort()}]))}function v(e,t){let n=p.relative(e,t);return n?n.split(p.sep).join("/"):"."}function qe(e,t){let n=p.relative(e,t);return!!n&&!n.startsWith("..")&&!p.isAbsolute(n)}import{execFileSync as lt}from"child_process";import{isUtf8 as we}from"buffer";import{createHash as K}from"crypto";import{closeSync as Ie,fstatSync as L,lstatSync as G,openSync as ze,readdirSync as ft,readFileSync as pt,readSync as Be,readlinkSync as gt,realpathSync as T}from"fs";import{isAbsolute as dt,join as q,relative as ht,resolve as mt,sep as yt}from"path";import{closeSync as Se,existsSync as W,openSync as Ye,realpathSync as Ve,renameSync as Xe,unlinkSync as Fe,writeSync as Qe}from"fs";import{dirname as Ze,join as et}from"path";var tt="fingerprint-stat-cache.json",Pe=1,nt=8*1024*1024,D=new Map;function J(e,t,n,r){let i=be(e),s=i.files.get(t);if(!(!s||!je(s,n,r)))return i.hits+=1,{hash:s.hash,size:s.fingerprintSize}}function $(e,t,n,r,i){if(i.hash==="unreadable"||i.size<0||!Number.isFinite(i.size))return;let s=be(e),o={kind:n,dev:r.dev,ino:r.ino,mtimeMs:r.mtimeMs,ctimeMs:r.ctimeMs,size:r.size,hash:i.hash,fingerprintSize:i.size},c=s.files.get(t);c&&at(c,o)||(s.files.set(t,o),s.stores+=1,s.dirty=!0)}function U(e){let t=D.get(xe(e));if(!(!t?.dirty||!t.cachePath))try{let n=Ze(t.cachePath);if(!W(n))return;ut(t.cachePath,st(t)),t.dirty=!1}catch{}}function be(e){let t=xe(e),n=D.get(t);if(n)return n;let r=rt(t),i=it(r),s={cachePath:r,files:i,dirty:!1,hits:0,stores:0};return D.set(t,s),s}function rt(e){try{let t=le(e);return W(t)?et(t,tt):null}catch{return null}}function it(e){let t=new Map;if(!e||!W(e))return t;try{let n=JSON.parse(ne(e,{inputKind:"fingerprint stat cache",maxBytes:nt}).toString("utf8"));if(!ot(n))return t;for(let[r,i]of Object.entries(n.files))i&&t.set(r,i)}catch{return t}return t}function st(e){return{version:Pe,files:Object.fromEntries(e.files)}}function ot(e){if(typeof e!="object"||e===null)return!1;let t=e;return t.version!==Pe||typeof t.files!="object"||t.files===null?!1:Object.values(t.files).every(ct)}function ct(e){if(typeof e!="object"||e===null)return!1;let t=e;return(t.kind==="file"||t.kind==="symlink")&&Number.isFinite(t.dev)&&Number.isFinite(t.ino)&&Number.isFinite(t.mtimeMs)&&Number.isFinite(t.ctimeMs)&&Number.isFinite(t.size)&&Number.isFinite(t.fingerprintSize)&&typeof t.hash=="string"&&t.hash!=="unreadable"}function je(e,t,n){return e.kind===t&&e.dev===n.dev&&e.ino===n.ino&&e.mtimeMs===n.mtimeMs&&e.ctimeMs===n.ctimeMs&&e.size===n.size}function at(e,t){return je(e,t.kind,t)&&e.hash===t.hash&&e.fingerprintSize===t.fingerprintSize}function ut(e,t){let n=`${e}.${process.pid}.tmp`;try{Fe(n)}catch{}let r=Buffer.from(`${JSON.stringify(t)}
|
|
2
|
-
`,"utf8"),i=Ye(n,"wx",384);try{se(i,r,{writeFile:(s,o,c,a)=>Qe(s,o,c,a)},"fingerprint stat cache")}catch(s){throw Se(i),Fe(n),s}Se(i),Xe(n,e)}function xe(e){return Ve(e)}var E=64*1024*1024,St=1024*1024,Ft=1024,C=class extends Error{constructor(n,r,i,s){super(`${n} ${JSON.stringify(r)} is ${i} bytes; the safety limit is ${s} bytes`);this.inputKind=n;this.inputPath=r;this.observedBytes=i;this.limitBytes=s;this.name="InputTooLargeError"}inputKind;inputPath;observedBytes;limitBytes;code="SCIP_QUERY_INPUT_TOO_LARGE"};function Pt(e){return[...new Set((e??[]).map(t=>t.trim()).filter(Boolean))].sort((t,n)=>t.localeCompare(n))}function Y(e,t,n={}){let r=B(t),i=oe(e,()=>T(e)),s=mt(i,...r.split("/"));if(!P(i,s)||s===i)throw new F(t,"outside-project");let o=T(s);if(!P(i,o)||o===i)throw new F(t,"outside-project");let c=G(o);if(!c.isFile())throw new F(t,"not-a-file");let a={projectRoot:i,relativePath:r,absolutePath:o,size:c.size,mtimeMs:c.mtimeMs,device:c.dev,inode:c.ino},u=n.maxBytes??E;if(k(u),a.size>u)throw new C(n.inputKind??"project file",a.relativePath,a.size,u);return a}function bt(e,t,n={}){let r=B(t),i=x(e,r);if(i){if(i==="missing")throw Object.assign(new Error(`Snapshot project file ${JSON.stringify(r)} does not exist.`),{code:"ENOENT"});let a=j(e,r);if(!a)throw new F(r,"changed-during-read");let u=n.maxBytes??E;if(k(u),a.size>u)throw new C(n.inputKind??"project file",r,a.size,u);return Buffer.from(a.content)}let s=Y(e,t,n),o=n.maxBytes??E,c=ze(s.absolutePath,"r");try{let a=L(c);if(M(a,s,t),a.size>o)throw new C(n.inputKind??"project file",s.relativePath,a.size,o);let u=pt(c),g=L(c);if(M(g,s,t),u.byteLength!==a.size)throw new F(t,"changed-during-read");return u}finally{Ie(c)}}function gn(e,t,n,r={}){if(n.byteLength===0)throw new Error("Project file probe literal must not be empty.");let{matchedLiteralIndexes:i,...s}=jt(e,t,[n],r);return{...s,includesLiteral:i.length>0}}function jt(e,t,n,r={}){if(n.length===0||n.some(a=>a.byteLength===0))throw new Error("Project file probe literals must not be empty.");let i=B(t),s=x(e,i);if(s){if(s==="missing")throw Object.assign(new Error(`Snapshot project file ${JSON.stringify(i)} does not exist.`),{code:"ENOENT"});let a=j(e,i);if(!a)throw new F(i,"changed-during-read");let u=r.maxBytes??E;if(k(u),a.size>u)throw new C(r.inputKind??"project file",i,a.size,u);let g=!a.content.includes(0)&&we(a.content),l=n.map(Ce),f=g?wt(a.content,n,l):[];return{byteLength:a.size,isUtf8Text:g,matchedLiteralIndexes:f,bytes:f.length>0?Buffer.from(a.content):null,...r.computeSha256?{sha256:a.sha256}:{}}}let o=Y(e,t,r),c=ze(o.absolutePath,"r");try{let a=L(c);M(a,o,t);let u=r.computeSha256?K("sha256"):null,g=r.scratchBuffer??Buffer.allocUnsafe(St);if(g.byteLength===0)throw new Error("Project file probe scratch buffer must not be empty.");let l=0,f=n.map(()=>!1),S=!1,d=!0,b=Buffer.alloc(0),X=n.map(()=>Buffer.alloc(0)),Me=n.map(Ce);for(;l<a.size;){let m=Be(c,g,0,Math.min(g.byteLength,a.size-l),l);if(m<=0)throw new F(t,"changed-during-read");let y=g.subarray(0,m);if(u?.update(y),S||=y.includes(0),d){let h=b.byteLength>0?Buffer.concat([b,y]):y,z=xt(h);d=we(h.subarray(0,z)),b=Buffer.from(h.subarray(z))}for(let h=0;h<n.length;h+=1){if(f[h])continue;let z=n[h],ee=X[h];f[h]=Bt(y,z,ee,Me[h]),X[h]=Ct(y,z,ee)}l+=m}d&&=b.byteLength===0,M(L(c),o,t);let Q=!S&&d,Z=Q?f.flatMap((m,y)=>m?[y]:[]):[],I=null;if(Z.length>0){I=Buffer.allocUnsafe(a.size);let m=0;for(;m<I.byteLength;){let y=Be(c,I,m,I.byteLength-m,m);if(y<=0)throw new F(t,"changed-during-read");m+=y}M(L(c),o,t)}return{byteLength:a.size,isUtf8Text:Q,matchedLiteralIndexes:Z,bytes:I,...u?{sha256:u.digest("hex")}:{}}}finally{Ie(c)}}function dn(e,t,n={}){return bt(e,t,n).toString("utf8")}function M(e,t,n){if(!e.isFile()||e.dev!==t.device||e.ino!==t.inode||e.size!==t.size)throw new F(n,"changed-during-read")}function xt(e){if(e.byteLength===0)return 0;let t=e.byteLength-1,n=0;for(;t>=0&&n<3&&(e[t]&192)===128;)n+=1,t-=1;if(t<0)return e.byteLength;let r=e[t];return((r&128)===0?1:(r&224)===192?2:(r&240)===224?3:(r&248)===240?4:0)>e.byteLength-t?t:e.byteLength}function wt(e,t,n){return t.flatMap((r,i)=>H(e,r,n[i])?[i]:[])}function Bt(e,t,n,r){if(H(e,t,r))return!0;if(n.byteLength===0||t.byteLength===1)return!1;let i=e.subarray(0,Math.min(e.byteLength,t.byteLength-1));return H(Buffer.concat([n,i]),t,r)}function H(e,t,n){if(n<0)return e.includes(t);let r=t[n],i=e.indexOf(r),s=0;for(;i>=0;){if(s+=1,s>Ft)return e.includes(t);let o=i-n;if(o>=0&&o+t.byteLength<=e.byteLength&&e.compare(t,0,t.byteLength,o,o+t.byteLength)===0)return!0;i=e.indexOf(r,i+1)}return!1}function Ce(e){for(let n=1;n<e.byteLength;n+=1){let r=e[n];if(r>=65&&r<=90)return n}let t=e[0];return t>=65&&t<=90?0:-1}function Ct(e,t,n){let r=t.byteLength-1;if(r===0)return Buffer.alloc(0);if(e.byteLength>=r)return Buffer.from(e.subarray(e.byteLength-r));let i=Buffer.concat([n,e]);return Buffer.from(i.subarray(Math.max(0,i.byteLength-r)))}function V(e){return typeof e=="object"&&e!==null&&"code"in e&&(e.code==="ENOENT"||e.code==="ENOTDIR")}function hn(e,t){try{return Y(e,t),!0}catch(n){if(V(n))return!1;throw n}}function It(e){let t=w(e);return t?t.filter(n=>n&&!R(n)).sort():(kt(e)??Nt(e)).filter(n=>n&&!R(n)).sort()}function zt(e,t={}){let n=(t.includePaths??[]).map(B),r=[...new Set([...It(e),...n])].filter(o=>!R(o)).filter(o=>!t.language||te(o,t.language,t.markerFiles)).filter(o=>!t.includePath||t.includePath(o)).sort(),i=T(e),s=r.flatMap(o=>ve(e,i,o));return U(i),s}function ve(e,t,n){let r=fe(e,n);if(r)return[{path:n,size:r.fingerprintSize??r.size,hash:r.sha256}];if(x(e,n)==="present"){let s=j(e,n);if(s)return[{path:n,size:s.fingerprintSize??s.size,hash:s.sha256}]}let i=q(e,n);try{let s=G(i);if(s.isSymbolicLink()){let g=J(t,n,"symlink",O(s));if(g)return[{path:n,size:g.size,hash:g.hash}];let l=T(i),f=ht(t,l);if(f===".."||f.startsWith(`..${yt}`)||dt(f))throw new Error("external symlink");let S=gt(i),d=K("sha256").update("symlink\0").update(S).digest("hex"),b=Buffer.byteLength(S);return $(t,n,"symlink",O(s),{hash:d,size:b}),[{path:n,size:b,hash:d}]}let o=J(t,n,"file",O(s));if(o)return[{path:n,size:o.size,hash:o.hash}];let c=K("sha256"),a=ie(i,{inputKind:"project fingerprint input",maxBytes:E},g=>c.update(g)),u=c.digest("hex");return $(t,n,"file",O(s),{hash:u,size:a}),[{path:n,size:a,hash:u}]}catch(s){return V(s)?[]:[{path:n,size:-1,hash:"unreadable"}]}}function O(e){return{dev:e.dev,ino:e.ino,mtimeMs:e.mtimeMs,ctimeMs:e.ctimeMs,size:e.size}}function vt(e,t,n){let r=Le(t,n),i=[...r.typescriptProjects.filter(o=>Tt(e,o)),...r.clojureConfigPath?[r.clojureConfigPath]:[]],s=r.languages.includes("typescript")?me(e,r.typescriptProjectMode,r.typescriptProjects):null;return{...r,files:zt(e,{includePath:o=>{let c=_(o,t,i);return c==="other"?!1:c!=="source"||!Mt(o)||!s?!0:s.has(o)},includePaths:i})}}function mn(e,t,n,r,i,s){let o=l=>({mode:"full",fingerprint:vt(e,t,n),reason:l});if(!i)return o("change-journal-unavailable");if(!i.complete)return o(`change-journal-incomplete:${i.incompleteReason??"unknown"}`);if(!s)return o("accepted-generation-unavailable");if(i.baseGeneration!==s)return o("change-journal-base-mismatch");if(!r)return o("prior-project-input-snapshot-unavailable");let c=Le(t,n);if(!Lt(r,c))return o("project-input-configuration-changed");if(new Set(r.files.map(l=>l.path)).size!==r.files.length)return o("prior-project-input-snapshot-has-duplicate-paths");if(i.entries.length===0)return{mode:"delta",fingerprint:{...c,files:[...r.files].sort((l,f)=>l.path.localeCompare(f.path))},changedPaths:[]};let a=[...c.typescriptProjects,...c.clojureConfigPath?[c.clojureConfigPath]:[]],u=new Map(r.files.map(l=>[l.path,l]));for(let l of i.entries){let f=u.get(l.path);if(_(l.path,t,a)!=="source")return o("non-source-project-input-changed");if(l.kind==="add"&&f)return o("added-path-already-in-prior-project-input-snapshot");if(l.kind==="delete"&&!f)return o("deleted-path-not-in-prior-project-input-snapshot");if(l.kind==="change"&&!f)return o("changed-path-not-in-prior-project-input-snapshot");if(f&&(f.hash==="unreadable"||f.size<0))return o("changed-path-was-unreadable")}let g=T(e);for(let l of i.entries){let f=ve(e,g,l.path);if(l.kind==="delete"){if(f.length!==0)return o("deleted-source-is-still-readable");u.delete(l.path);continue}if(f.length!==1||f[0].hash==="unreadable"||f[0].size<0)return o(l.kind==="add"?"added-source-is-not-readable":"changed-source-no-longer-readable");u.set(l.path,f[0])}return U(g),{mode:"delta",fingerprint:{...c,files:[...u.values()].sort((l,f)=>l.path.localeCompare(f.path))},changedPaths:i.entries.map(l=>l.path).sort()}}function Lt(e,t){return e.version===t.version&&JSON.stringify([...e.languages].sort())===JSON.stringify(t.languages)&&e.pnpmWorkspaces===t.pnpmWorkspaces&&e.typescriptProjectMode===t.typescriptProjectMode&&JSON.stringify([...e.typescriptProjects].sort())===JSON.stringify(t.typescriptProjects)&&e.clojureConfigPath===t.clojureConfigPath}function Mt(e){return/\.(?:[cm]?[jt]sx?|vue)$/iu.test(e)}function Tt(e,t){let n;try{n=B(t)}catch{return!1}let r=x(e,n);if(r)return r==="present";try{return G(q(e,n)).isFile()}catch(i){if(V(i))return!1;throw i}}function Le(e,t){return{version:3,languages:[...e].sort(),pnpmWorkspaces:t.typescriptProjectMode!=="workspace"&&t.pnpmWorkspaces===!0,typescriptProjectMode:t.typescriptProjectMode??"single",typescriptProjects:Pt(t.typescriptProjects),clojureConfigPath:Et(t.clojureConfigPath)}}function Et(e){return e?.trim()||void 0}function kt(e){try{let t=ce(e,52428800,()=>lt("git",["-C",e,"ls-files","-co","-v","-z","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:104857600,stdio:["ignore","pipe","ignore"],timeout:3e4,killSignal:"SIGKILL"}));return[...ae(t)]}catch{return null}}function Nt(e){let t=[],n=[""];for(;n.length>0;){let r=n.pop(),i=r?q(e,r):e,s;try{s=ft(i,{withFileTypes:!0})}catch{continue}for(let o of s){let c=r?`${r}/${o.name}`:o.name;if(o.isDirectory()){R(c)||n.push(c);continue}t.push(c)}}return t}function R(e){let t=e.split("/");return e==="meta.json"||t[0]===".scipquery"&&(t[1]==="events"||t[1]==="ledger"||t[1]==="releases"||t[1]==="suppressions")||t.some(n=>Ot.has(n))||e.endsWith(".db")||e.endsWith(".db-wal")||e.endsWith(".db-shm")||e.endsWith(".scip")}var Ot=new Set([".git","node_modules",".scipquery-cache",".scipquery-generations",".stryker-tmp","dist","build","coverage",".next",".nuxt","target"]);export{Ae as a,C as b,Pt as c,Y as d,bt as e,gn as f,jt as g,dn as h,V as i,hn as j,It as k,zt as l,vt as m,mn as n,Le as o};
|
|
3
|
-
//# sourceMappingURL=chunk-7HU2IJ2T.js.map
|
package/dist/chunk-7PPYXENX.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{d as T}from"./chunk-DOPCR5BY.js";import{C as v,Z as x,aa as m,ba as P,ca as k,ea as b,ga as j}from"./chunk-4DCKBY6T.js";import{createHash as A}from"crypto";import{isUtf8 as K}from"buffer";import{TextDecoder as _}from"util";var O=new _("utf-8",{fatal:!0});function H(e){return j(e.config.projectRoot)}function Q(e,t){let a=v(t),r;try{r=m(e.config.projectRoot,a,{inputKind:"repository text file"})}catch(o){if(b(o)||o instanceof x)return null;throw o}let n=C(r);return n===null?null:w(a,r,n,E(e),L(e))}function V(e,t,a){let r=H(e).filter(i=>!t.scope||i.includes(t.scope)),n=E(e),o=L(e),u=[],S=[],B=[],f=0,d=0,h={aligned:0,stale:0,unavailable:0},l=t.literalBytes?Buffer.isBuffer(t.literalBytes)?[t.literalBytes]:[...t.literalBytes]:[],F=l.length>0?Buffer.allocUnsafe(1024*1024):void 0;for(let i of r){let c,p,g=[],y=o.has(i);try{if(l.length>0){let s=l.length===1?P(e.config.projectRoot,i,l[0],{inputKind:"repository text file",computeSha256:y,scratchBuffer:F}):k(e.config.projectRoot,i,l,{inputKind:"repository text file",computeSha256:y,scratchBuffer:F});if(!s.isUtf8Text){u.push(i);continue}f+=s.byteLength,d+=1,p=s.sha256;let z=R(i,p,n,o);if(h[z.state]+=1,g="matchedLiteralIndexes"in s?s.matchedLiteralIndexes:s.includesLiteral?[0]:[],g.length===0||!s.bytes)continue;c=s.bytes}else c=m(e.config.projectRoot,i,{inputKind:"repository text file"})}catch(s){if(s instanceof x){B.push(i);continue}if(b(s))continue;S.push(i);continue}if(l.length===0&&!I(c)){u.push(i);continue}if(l.length===0){f+=c.byteLength,d+=1,p=y?M(c):void 0;let s=R(i,p,n,o);h[s.state]+=1}if(t.includeBytes&&!t.includeBytes(i,c))continue;let U=O.decode(c);a(w(i,c,U,n,o,p),g)}return{candidateFiles:r.length,scannedTextFiles:d,semanticFiles:h,scannedBytes:f,skippedBinaryPaths:u,skippedUnreadablePaths:S,skippedOversizedPaths:B}}function w(e,t,a,r,n,o){let u=o??M(t);return{relativePath:e,text:a,bytes:t.byteLength,freshness:{exactText:{state:"current",basis:"working-tree-read",sha256:u},semantic:R(e,u,r,n)}}}function R(e,t,a,r){if(!r.has(e))return{state:"unavailable",basis:"no-compiler-document"};let n=a.get(e);return!n||!t?{state:"unavailable",basis:"fingerprint-unavailable"}:{state:n===t?"aligned":"stale",basis:"indexed-input-fingerprint"}}function L(e){return new Set(e.all(`SELECT documents.relative_path FROM documents WHERE 1 = 1 ${e.pathExclusionsFor("documents")}`).map(t=>t.relative_path))}function E(e){let t=new Map;if(!e.generation.metadataRaw)return t;let a=T(e.generation.metadataRaw);if(a.kind!=="legacy"&&a.kind!=="supported")return t;let r=a.metadata.fingerprint;if(!D(r)||!Array.isArray(r.files))return t;for(let n of r.files)!D(n)||typeof n.path!="string"||typeof n.hash!="string"||t.set(n.path,n.hash);return t}function C(e){return I(e)?O.decode(e):null}function I(e){return!e.includes(0)&&K(e)}function M(e){return A("sha256").update(e).digest("hex")}function D(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}export{H as a,Q as b,V as c};
|
|
2
|
-
//# sourceMappingURL=chunk-7PPYXENX.js.map
|