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
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{B as
|
|
2
|
-
`;try{let u=gr(s,c,n),l=q(i,u);return{kind:"published",cacheDir:o,achievedDurability:l==="synced"?"directory-durable":"file-flushed",directorySync:l}}catch(u){if(hr(u))return ut(r,o),{kind:"existing",cacheDir:o};throw u}}function ut(t,e){let n=T(t),r=T(e);return dr(r,n,r)}function cr(t,e){let n;try{n=at(e)}catch(s){throw s instanceof C?oe(e,s.reason):s}let r=ke(t,...n.split("/"));if(r===t||!xe(t,r))throw oe(e,"outside-project");let i=ur(r),o=T(i);if(!xe(t,o)&&o!==t)throw oe(e,"symlink-escape");return r}function ur(t){let e=t;for(;!se(e);){let n=we(e);if(n===e)throw oe(t,"no-existing-ancestor");e=n}return e}function dr(t,e,n){let r=E(t,ce);if(!se(r)||Ie(r).isSymbolicLink())throw D(t,"missing regular ownership record");let i=Ie(r);if(!i.isFile()||i.size>tr)throw D(t,"invalid ownership record file");let o=I(r,"cache ownership record"),s=lr(o,t);if(e!==void 0&&s.canonicalProjectRoot!==e)throw D(t,"ownership record belongs to a different project");if(s.canonicalCacheDir!==n)throw D(t,"ownership record names a different cache directory");return{record:s,ownerSha256:lt("sha256").update(o).digest("hex"),physicalCacheDir:t}}function lr(t,e){try{let n=JSON.parse(t);if(n.schemaVersion!==yt||typeof n.canonicalProjectRoot!="string"||typeof n.canonicalCacheDir!="string"||typeof n.creatorVersion!="string"||!ct(n.canonicalProjectRoot)||!ct(n.canonicalCacheDir))throw new Error("invalid fields");return n}catch(n){throw D(e,`malformed ownership record: ${n instanceof Error?n.message:String(n)}`)}}function dt(t){let e=ft(t).filter(n=>n!==ce&&!pr(n));if(e.length>0)throw D(t,`unrecognized existing entries: ${e.slice(0,3).join(", ")}`)}function pr(t){return t.startsWith(`${ce}.tmp-`)||t.startsWith("git-worktree-context.json.tmp-")||[".scipquery-generations","affected-shadow-latest.json","affected-shadow.jsonl","agent-hooks","augment-vue-meta.json","cache-lifecycle.lock","evidence.db","evidence.db-shm","evidence.db-wal","health-report-cache.json","git-worktree-context.json","index.db","index.db-shm","index.db-wal","index.lock","index.scip","language-indexes","meta.json","reindex-activity.jsonl","shared-cache.json","typescript-index","typescript-scip-fragments","typescript-scip-overlays","typescript-semantic","watch-activity.json","watch-refresh-requests","watch-state.json","watch.lock"].includes(t)?!0:/^(?:reindex-|rust-|typescript-)/.test(t)}function fr(t){for(let e of ft(t)){let n=E(t,e);try{let r=Ie(n);if(r.isSymbolicLink())throw D(t,`legacy cache entry ${e} is a symlink`);if(r.isDirectory())ae(n);else if(r.isFile())ht(n);else throw D(t,`legacy cache entry ${e} is not a file or directory`)}catch(r){if(yr(r))continue;throw r}}ae(t)}function yr(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}function mr(t,e=ve){let n=re(t,e);return ae(t),n}function gr(t,e,n){let r=`${t}.tmp-${process.pid}-${n.randomToken()}`,i,o=!1;try{i=n.openFile(r,"wx",384),o=!0,Xe(i,Buffer.from(e),n,"cache ownership record"),n.syncFile(i),n.closeFile(i),i=void 0,n.linkFile(r,t);let s=_(we(t),n);return n.removeFile(r),o=!1,q(s,_(we(t),n))}finally{if(i!==void 0)try{n.closeFile(i)}catch{}if(o)try{n.removeFile(r)}catch{}}}function ae(t){process.platform!=="win32"&&pt(t,448)}function ht(t){process.platform!=="win32"&&pt(t,384)}function hr(t){return typeof t=="object"&&t!==null&&"code"in t&&t.code==="EEXIST"}import{createHash as kr,randomUUID as Pr}from"crypto";import{existsSync as Cr,mkdirSync as ra,readdirSync as ia,rmSync as oa,statSync as Er}from"fs";import{basename as aa,dirname as Rt,join as Ee}from"path";function bt(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.path=="string"&&typeof e.size=="number"&&Number.isFinite(e.size)&&typeof e.hash=="string"}var $=["typescript","javascript","java","scala","kotlin","rust","python","ruby","go","cpp","c","csharp","vb","dart","php","clojure"];var Pe=2,U=3;var Ce=new Set($);function St(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(s){return{kind:"malformed",reason:`invalid JSON: ${wr(s)}`}}if(!f(e))return{kind:"malformed",reason:"metadata must be a JSON object"};let n=e.version;if(!Number.isInteger(n))return{kind:"malformed",reason:"version must be an integer"};if(n!==Pe&&n!==U)return{kind:"unsupported",version:n,direction:n<Pe?"older":"future"};let r=Sr(e,n);if(r)return{kind:"malformed",reason:r};let i=e,o={metadata:i,capabilities:br(i)};return n===Pe?{kind:"legacy",...o,metadata:i}:{kind:"supported",...o,metadata:i}}function vt(t){if(t.kind!=="legacy"&&t.kind!=="supported"||!t.capabilities.stableGenerationIdentity)return null;let e=t.metadata;return JSON.stringify({version:e.version,status:e.status,updatedAt:e.updatedAt,fingerprint:e.fingerprint,indexedLanguages:e.indexedLanguages,scipCompanion:e.scipCompanion,sqliteLayoutVersion:e.version===U?e.sqliteLayoutVersion:void 0})}function br(t){let e=t.fingerprint!==void 0,n=f(t.fingerprint),r=t.indexedLanguages!==void 0,i=t.status==="complete",o=t.version===U?t:null;return{usableForQuery:r,usableForEvidenceCache:e,publishableGeneration:i&&n&&r,stableGenerationIdentity:i&&e&&typeof t.updatedAt=="string",languageShardReuse:!!o?.languageFingerprints,typescriptProjectShardReuse:!!o?.typescriptProjectShards}}function Sr(t,e){if(t.status!=="complete"&&t.status!=="partial")return"status must be complete or partial";if(t.updatedAt!==void 0&&!ie(t.updatedAt))return"updatedAt must be a valid timestamp";for(let n of["requestedLanguages","indexedLanguages"])if(t[n]!==void 0&&!vr(t[n]))return`${n} must contain unique supported languages`;return t.skipped!==void 0&&!Rr(t.skipped)?"skipped must contain supported language/reason pairs":t.scipCompanion!==void 0&&t.scipCompanion!=="current"&&t.scipCompanion!=="deferred"?"scipCompanion must be current or deferred":e===U&&t.sqliteLayoutVersion!==void 0&&(!Number.isSafeInteger(t.sqliteLayoutVersion)||t.sqliteLayoutVersion<1)?"sqliteLayoutVersion must be a positive safe integer":e===U&&t.languageFingerprints!==void 0&&!xr(t.languageFingerprints)?"languageFingerprints must map supported languages to fingerprint objects":e===U&&t.typescriptProjectShards!==void 0&&!Ir(t.typescriptProjectShards)?"typescriptProjectShards must map project names to file fingerprints":null}function vr(t){return!Array.isArray(t)||!t.every(e=>typeof e=="string"&&Ce.has(e))?!1:new Set(t).size===t.length}function Rr(t){return Array.isArray(t)&&t.every(e=>f(e)&&typeof e.language=="string"&&Ce.has(e.language)&&typeof e.reason=="string")}function xr(t){return f(t)&&Object.entries(t).every(([e,n])=>Ce.has(e)&&f(n))}function Ir(t){return f(t)&&Object.values(t).every(e=>f(e)&&Array.isArray(e.files)&&e.files.every(bt))}function wr(t){return t instanceof Error?t.message:String(t)}function A(){return performance.now()}var Ar=1;var Or=".scipquery-generations";var pa={pid:process.pid,now:()=>new Date,randomToken:()=>Pr(),isProcessAlive:V,readProcessIdentity:B};function Mr(t){return Ee(Rt(t),Or)}function _r(t){try{let e=JSON.parse(I(Ee(Mr(t),"state.json"),"SQLite generation state"));return Nr(e)?e:null}catch{return null}}function xt(t){let e=_r(t);if(e)return e.currentGeneration;try{let n=Ee(Rt(t),"meta.json"),r=Cr(n)?I(n,"reindex metadata"):void 0;return Dr(t,r)}catch{return null}}function jr(t){return vt(St(t))??t}function Dr(t,e){let n=kr("sha256").update("sqlite-generation-legacy-v1\0");return e!==void 0&&n.update(jr(e)),n.update(`\0${Tr(t)}`),n.digest("hex")}function Tr(t){let e=Er(t);return`${e.dev}:${e.ino}:${e.size}:${e.mtimeMs}`}function Nr(t){return t.version===Ar&&typeof t.currentGeneration=="string"&&!!t.currentGeneration&&typeof t.publishedAt=="string"&&Number.isFinite(Date.parse(t.publishedAt))&&(t.artifactSet===void 0||t.artifactSet==="immutable-v1")&&Fr(t.stableMirrors)&&Lr(t.previousGeneration)&&Wr(t.publication)}function Fr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.databaseFileIdentity=="string"&&!!e.databaseFileIdentity&&(e.indexFileIdentity===void 0||typeof e.indexFileIdentity=="string"&&!!e.indexFileIdentity)}function Lr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.generationIdentity=="string"&&!!e.generationIdentity&&typeof e.databasePath=="string"&&!!e.databasePath&&(e.metadataPath===void 0||typeof e.metadataPath=="string"&&!!e.metadataPath)}function Wr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t,n=[e.converterDurationMs,e.affectedDocumentCount,e.changedDocumentCount,e.producerDurationMs,e.materializationDurationMs,e.patchDurationMs].filter(r=>r!==void 0);return(e.mode==="incremental"||e.mode==="full")&&e.validation==="passed"&&e.converterDurationMs!==void 0&&n.every(r=>typeof r=="number"&&Number.isFinite(r)&&r>=0)&&(e.scipCompanion===void 0||e.scipCompanion==="current"||e.scipCompanion==="deferred")&&(e.typescriptOverlayGeneration===void 0||typeof e.typescriptOverlayGeneration=="string"&&!!e.typescriptOverlayGeneration)&&(e.scipCompanion!=="deferred"||!!e.typescriptOverlayGeneration)&&(e.fallbackReason===void 0||typeof e.fallbackReason=="string")}import{existsSync as ei}from"fs";import{randomUUID as Ia}from"crypto";import{isAbsolute as ka,join as ti,relative as Pa,resolve as Ca}from"path";var L=1,H=2,qr="./node_modules/scip-query/docs/schemas/project-config.schema.json";function It(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(a){return{kind:"malformed",reason:`invalid JSON: ${a instanceof Error?a.message:String(a)}`}}if(!f(e))return{kind:"malformed",reason:"project config must be a JSON object"};let n=e.schemaVersion;if(n!==void 0&&!Number.isInteger(n))return{kind:"malformed",reason:"schemaVersion must be an integer"};let r=n===void 0?L:n;if(r!==L&&r!==H)return{kind:"unsupported",schemaVersion:r,direction:r<L?"older":"future"};let i=e.$schema;if(i!==void 0&&(typeof i!="string"||i.trim()===""))return{kind:"malformed",reason:"$schema must be a non-empty string when present"};let o=wt(e),s=r!==H||typeof e.$schema!="string";return r===L?{kind:"legacy",sourceVersion:L,config:o,needsMigration:s}:{kind:"supported",sourceVersion:H,config:o,needsMigration:s}}function wt(t){let e=t,{$schema:n,schemaVersion:r,...i}=e;return{$schema:typeof n=="string"&&n.trim()!==""?n:qr,schemaVersion:H,...i}}import{createHash as ha}from"crypto";var Ae=1,kt=2,Gr=1,Br=1,Vr="sha256";function Pt(t){if(!f(t))return{kind:"malformed",reason:"observation receipt must be an object"};let e=t.schemaVersion;if(!Number.isInteger(e))return{kind:"malformed",reason:"observation receipt schemaVersion must be an integer"};if(e===Ae)return $r(t)?{kind:"legacy",schemaVersion:Ae,receipt:t}:{kind:"malformed",reason:"observation receipt v1 fields are malformed or contradictory"};if(e===kt)return Ur(t)?{kind:"supported",schemaVersion:kt,receipt:t}:{kind:"malformed",reason:"observation receipt v2 facts are malformed or contradictory"};let n=e;return{kind:"unsupported",schemaVersion:n,direction:n<Ae?"older":"future"}}function Qr(t,e){return t.schemaVersion===e.schemaVersion&&t.canonicalizationVersion===e.canonicalizationVersion&&t.hashAlgorithm===e.hashAlgorithm&&t.projection.name===e.projection.name&&t.projection.version===e.projection.version}function $r(t){if(!f(t))return!1;let e=t.index,n=t.worktree;return Et(t.observedAt)&&k(t.projectIdentity)&&Zr(t.authorityKind)&&(e===void 0||f(e)&&k(e.generationIdentity)&&(e.source==="immutable"||e.source==="legacy")&&(e.alignment==="not-certified"||e.alignment==="leased"))&&(n===void 0||f(n)&&k(n.identity)&&typeof n.clean=="boolean"&&(n.headCommit===void 0||k(n.headCommit))&&(n.treeOid===void 0||k(n.treeOid)))&&Xr(t.authorityKind,e,n)}function Ur(t){if(!f(t))return!1;let e=t.facts,n=t.observedSources,r=t.stabilityProofs;if(!Et(t.observedAt)||!f(e)||!Array.isArray(n)||n.length===0||!n.every(Jr)||!Me(n,c=>c.kind)||!Array.isArray(r)||!r.every(Kr)||!Me(r,c=>c.source)||r.some(c=>!n.some(u=>u.kind===c.source))||!r.every(c=>zr(c,e))||["collaborationDomain","repositoryLineage","workspaceInstance","wholeContent"].some(c=>e[c]!==void 0&&!N(e[c])))return!1;let o=e.relevantInputs;if(o!==void 0&&(!Array.isArray(o)||!o.every(Hr)||!Me(o,c=>`${c.subject}\0${c.identity.projection.name}`)))return!1;let s=e.index;if(s!==void 0&&(!f(s)||!N(s.generation)||s.inputs!==void 0&&!N(s.inputs)||s.source!=="immutable"&&s.source!=="legacy"))return!1;let a=t.diagnostics;return(a===void 0||f(a)&&(a.clean===void 0||typeof a.clean=="boolean")&&(a.headCommit===void 0||k(a.headCommit))&&(a.treeOid===void 0||k(a.treeOid)))&&Yr(e,n)}function N(t){return!f(t)||!f(t.projection)?!1:t.schemaVersion===Gr&&t.canonicalizationVersion===Br&&t.hashAlgorithm===Vr&&k(t.projection.name)&&tt(t.projection.version)&&nt(t.digest)}function Hr(t){return f(t)&&k(t.subject)&&N(t.identity)}function Jr(t){return f(t)&&Ct(t.kind)&&(t.identity===void 0||N(t.identity))}function Kr(t){return f(t)&&Ct(t.source)&&(t.kind==="immutable"||t.kind==="fixed-snapshot"||t.kind==="bracketed"||t.kind==="not-established"||t.kind==="invalidated")}function Yr(t,e){let n=t.index,r=e.find(c=>c.kind==="index-generation");if(r){if(!f(n)||!N(n.generation)||r.identity&&!Oe(r.identity,n.generation))return!1}else if(n!==void 0)return!1;let i=t.workspaceInstance,o=e.find(c=>c.kind==="live-workspace");if(o?.identity&&(!N(i)||!Oe(o.identity,i)))return!1;let s=t.wholeContent,a=e.find(c=>c.kind==="repository-snapshot");return!(a?.identity&&(!N(s)||!Oe(a.identity,s)))}function zr(t,e){return t.kind==="not-established"||t.kind==="invalidated"?!0:t.source==="index-generation"?t.kind==="immutable"&&f(e.index)&&e.index.source==="immutable":t.source==="repository-snapshot"?t.kind==="fixed-snapshot":t.source==="live-workspace"?t.kind==="bracketed":!1}function Oe(t,e){return Qr(t,e)&&t.digest===e.digest}function Xr(t,e,n){return t==="index-worktree"?e!==void 0&&n!==void 0:t==="index-only"?e!==void 0&&n===void 0:t==="worktree-only"?e===void 0&&n!==void 0:t==="process-local"&&e===void 0&&n===void 0}function Zr(t){return t==="index-worktree"||t==="index-only"||t==="worktree-only"||t==="process-local"}function Ct(t){return t==="index-generation"||t==="repository-snapshot"||t==="live-workspace"||t==="process"}function Et(t){return typeof t=="string"&&!Number.isNaN(Date.parse(t))}function Me(t,e){return new Set(t.map(e)).size===t.length}var ue=".scipquery.json";var Ma=15*6e4,_a={enabled:!0,windowMs:15*6e4,maxRebuilds:2,maxEstimatedWriteBytes:1024*1024*1024};var ja=new Set($);function At(t){let e=ti(t,ue);if(!ei(e))return{};let n;try{n=G(e,{maxBytes:Ze,inputKind:"scip-query project config"})}catch(r){let i=r instanceof Error?r.message:String(r);throw new Error(`unable to read ${ue} at ${e}: ${i}`,{cause:r})}return ni(It(n),e,"read").config}function ni(t,e,n){if(t.kind==="legacy"||t.kind==="supported")return t;if(t.kind==="malformed"){let i=n==="read"?`invalid ${ue} at ${e}: ${t.reason}`:`Cannot update ${e}: the latest project config is ${t.reason}.`;throw new Error(`${i} The file was left untouched.`)}let r=n==="read"?`invalid ${ue} at ${e}`:`Cannot update ${e}: the latest project config is invalid`;throw new Error(`${r} (unsupported ${t.direction} schemaVersion ${t.schemaVersion}; this scip-query reads legacy v${L} and current v${H}). Upgrade scip-query before retrying; the file was left untouched.`)}import{spawnSync as ri}from"child_process";import{createHash as ii}from"crypto";import{existsSync as oi,lstatSync as si,realpathSync as ai}from"fs";import{dirname as ci,isAbsolute as ui,join as di,relative as Ga,resolve as le,sep as Ba}from"path";var Ot=Symbol.for("scip-query.project-file-listing-context.v1"),Mt=globalThis,_e=Mt[Ot],_t=_e&&typeof _e=="object"?_e:{};Mt[Ot]=_t;function jt(){return _t.sequence??0}var De={run(t,e){let n=Nt(t,e);return n.kind==="success"?n.output:void 0},runResult:Nt},li=["rev-parse","--show-toplevel","--absolute-git-dir","--git-common-dir","HEAD","HEAD^{tree}"],Ft=["status","--porcelain=v2","--branch","-z","--untracked-files=all"],je=/^[0-9a-f]{40,64}$/;function Lt(t,e=De){return pi(t,e)?.context}function pi(t,e=De){let n=e.runResult(t,li);if(n.kind==="success"){let i=fi(n.output);if(i){let o=yi(i,e);if(o)return Dt(o)}}let r=mi(t,e);return r?Dt(r):void 0}function Dt(t){return{context:t,projectFileInventorySequence:jt()}}function Wt(t){let e=t.split("\0").filter(Boolean),n=e.find(i=>i.startsWith("# branch.oid "))?.slice(13),r=n==="(initial)"?void 0:n;if(!(r!==void 0&&!je.test(r))&&n!==void 0)return{headCommit:r,clean:e.every(i=>i.startsWith("# "))}}function fi(t){let e=t.split(`
|
|
3
|
-
`).map(c=>c.trim());if(e.length!==5)return;let[n,r,i,o,s]=e;if(!n||!r||!i||!o||!s||!
|
|
4
|
-
`,l=Buffer.byteLength(u),p=
|
|
5
|
-
`;try{return Re(e,i,{durability:r}),!0}catch(o){if(o.code==="EEXIST")return!1;try{Le(e).ownerToken===n&&(F(e,{force:!0}),r==="durable"&&_(t))}catch{}throw o}}function Pi(t){let e=null;try{let r=Le(t);typeof r.ownerToken=="string"&&Number.isSafeInteger(r.pid)&&Number(r.pid)>0&&(e=Number(r.pid))}catch{}if(e===null||Ci(e))return;let n=`${t}.stale-${$t()}`;try{Ut(t,n)}catch(r){let i=r.code;if(i==="ENOENT"||i==="EEXIST")return;throw r}F(n,{recursive:!0,force:!0})}function Le(t){try{return JSON.parse(I(t,"mailbox lock record"))}catch(e){if(e.code!=="EISDIR"&&!(e instanceof et&&e.reason==="not-regular"))throw e;return JSON.parse(I(g(t,"owner.json"),"mailbox lock owner record"))}}function Ci(t){try{return process.kill(t,0),!0}catch(e){let n=e.code;return n==="EPERM"||n!=="ESRCH"}}function Ei(t,e,n){let r=Ai(g(t.inflightDir,Xt(e),vi));if(!r)return"unknown";if(!n.isProcessAlive(r.pid))return"dead";if(!r.processIdentity)return"live";let i=n.readProcessIdentity(r.pid);return i?ee(r.processIdentity,i)?"live":"dead":"unknown"}function Ai(t){try{let e=JSON.parse(I(t,"mailbox owner record"));if(e.version!==1||typeof e.ownerId!="string"||!e.ownerId||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0)return null;let n=e.processIdentity===void 0?null:j(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{version:1,ownerId:e.ownerId,pid:e.pid,...n?{processIdentity:n}:{}}}catch{return null}}function Gt(t,e){for(let n of[g(t.pendingDir,`${e}.json`),g(t.legacyRequestDir,`${e}.json`),g(t.responseDir,`${e}.json`)])if(Y(n))return n;for(let n of We(t.inflightDir))if(n.requestId===e)return n.path;return null}function Bt(t,e,n){let r=qe(t);if(r?.operationKey===e)return r;if(fe(t)===`${me(e)}.json`)return{id:n,operationKey:e};throw new Error(`Mailbox operation ${n} conflicts with an existing retained record.`)}function Oi(t){if(t.mailboxVersion!==ye||t.id!==me(t.operationKey)||!t.clientId.trim()||!Number.isFinite(t.enqueuedAtMs)||!Number.isFinite(t.deadlineAtMs)||t.deadlineAtMs<t.enqueuedAtMs)throw new Error("Mailbox request has an invalid lifecycle identity.")}function We(t){if(!Y(t))return[];let e=[];for(let n of K(t,{withFileTypes:!0})){if(!n.isDirectory())continue;let r=Qt(n.name);if(r===null)continue;let i=g(t,n.name);for(let o of K(i,{withFileTypes:!0})){if(!o.isFile()||!o.name.endsWith(".claim"))continue;let s=/^(.*)\.(\d+)\.claim$/.exec(o.name);if(!s)continue;let a=Qt(s[1]),c=Number(s[2]);if(a===null||fe(a)!==a||!a.endsWith(".json")||!Number.isSafeInteger(c))continue;let u=g(i,o.name),l=qe(u)??{id:fe(a,".json")},p;try{p=ne(u)}catch(y){if(y.code==="ENOENT")continue;throw y}e.push({requestId:l.id,ownerId:r,path:u,originalFile:a,claimedAtMs:p.mtimeMs,claimExpiresAtMs:c,byteLength:p.size,...l.operationKey?{operationKey:l.operationKey}:{},...l.clientId?{clientId:l.clientId}:{},...l.enqueuedAtMs===void 0?{}:{enqueuedAtMs:l.enqueuedAtMs},...l.deadlineAtMs===void 0?{}:{deadlineAtMs:l.deadlineAtMs},legacy:l.operationKey===void 0})}}return e.sort((n,r)=>n.claimedAtMs-r.claimedAtMs||n.path.localeCompare(r.path))}function qe(t){try{let e=JSON.parse(I(t,"mailbox record"));return typeof e.id!="string"||!e.id?null:{id:e.id,...typeof e.operationKey=="string"?{operationKey:e.operationKey}:{},...typeof e.clientId=="string"?{clientId:e.clientId}:{},...typeof e.enqueuedAtMs=="number"?{enqueuedAtMs:e.enqueuedAtMs}:{},...typeof e.deadlineAtMs=="number"?{deadlineAtMs:e.deadlineAtMs}:{}}}catch{return null}}function Vt(t,e,n,r,i){for(let o of te(t)){if(e<=0)break;let s;try{s=ne(o)}catch(a){if(a.code==="ENOENT")continue;throw a}n(o,s.mtimeMs)>r||(F(o,{force:!0}),i(),e--)}return e}function te(t){return Y(t)?K(t,{withFileTypes:!0}).filter(e=>e.isFile()).map(e=>g(t,e.name)).sort():[]}function zt(t){if(!Y(t))return[];let e=[];for(let n of K(t,{withFileTypes:!0})){let r=g(t,n.name);n.isFile()?e.push(r):n.isDirectory()&&e.push(...zt(r))}return e.sort()}function Mi(t){if(Y(t))for(let e of K(t,{withFileTypes:!0})){if(!e.isDirectory())continue;let n=g(t,e.name);K(n).some(r=>r.endsWith(".claim"))||F(n,{recursive:!0,force:!0})}}function _i(t){try{return ne(t).size}catch{return 0}}function Xt(t){return Buffer.from(t,"utf8").toString("base64url")}function Qt(t){try{let e=Buffer.from(t,"base64url").toString("utf8");return Xt(e)===t?e:null}catch{return null}}function Ge(){return process.env.SCIP_QUERY_PROJECT_ROOT??process.cwd()}var Zt;function en(t=Ge(),e=void 0){if(e===void 0&&Zt?.projectRoot===t)return Zt;let n=At(t),r=gt(t,n),i=process.env.SCIP_QUERY_INDEX_DB;if(i)return{projectRoot:t,config:n,paths:r,dbPath:i,dbPathSource:"env",gitContext:e};if(ji(r.dbPath))return{projectRoot:t,config:n,paths:r,dbPath:r.dbPath,dbPathSource:"configured",gitContext:e};let o=Ti(t,"index.db");return{projectRoot:t,config:n,paths:r,dbPath:o,dbPathSource:"root-fallback",rootFallbackWarning:Ni(o,r.dbPath),gitContext:e}}function Ni(t,e){let n="unknown time";try{n=Di(t).mtime.toISOString()}catch{}return`warning: using legacy project-root index.db (${t}, modified ${n}) because the configured index was not found at ${e}. This fallback may be stale; run 'scip-query reindex' to refresh the configured index.`}import{basename as Fi}from"path";function tn(t=process.argv,e=process.execPath){let n=t[1];return!n||Fi(n)==="scip-query"?["scip-query"]:[e,n]}import{spawn as ao}from"child_process";import{createHash as be,randomUUID as co}from"crypto";import{existsSync as Be,realpathSync as uo}from"fs";import{tmpdir as lo}from"os";import{join as fn,resolve as he}from"path";import{fileURLToPath as po}from"url";import{spawn as zi}from"child_process";import{existsSync as Xi,rmSync as vc}from"fs";import{dirname as xc,resolve as Zi}from"path";import{fileURLToPath as wc}from"url";import{join as ge}from"path";var nn=6,rn=1e4,Li="watch.lock",Wi="watch-state.json",qi="watch-activity.json",Gi="watch-refresh-requests";function on(t){return{lockPath:ge(t,Li),statePath:ge(t,Wi),activityPath:ge(t,qi),refreshRequestsPath:ge(t,Gi)}}function sn(t){try{return Bi(JSON.parse(I(t,"watch service state")))}catch{return null}}function Bi(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!h(e.startedAt)||!h(e.heartbeatAt)||!h(e.lastActivityAt)||!Vi(e.watcher)||e.idleDeadlineAt!==void 0&&!h(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let n=j(e.processIdentity);if(!n||n.pid!==e.pid)return null;e.processIdentity=n}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!Qi(e.lastError)||e.lastRefresh!==void 0&&!$i(e.lastRefresh)||e.reindexActivity!==void 0&&!Ui(e.reindexActivity)||e.refreshRequests!==void 0&&!Ji(e.refreshRequests)||e.typescriptSemantic!==void 0&&!Ki(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!Yi(e.typescriptIndex)?null:e}function h(t){return ie(t)}function Vi(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return b(e.changedFiles)&&b(e.reindexAt);case"indexing":return b(e.startedAt);case"cooldown":return b(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return b(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&d(e.rebuilt)&&d(e.estimatedWriteBytes);case"draining":return b(e.startedAt)&&typeof e.reason=="string";default:return!1}}function Qi(t){if(!t||typeof t!="object")return!1;let e=t;return h(e.at)&&typeof e.message=="string"}function $i(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&h(e.startedAt)&&h(e.completedAt)&&b(e.durationMs)}function Ui(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!d(e.recordsRead)||e.invalidRecords!==void 0&&!d(e.invalidRecords)||e.skippedRecords!==void 0&&!d(e.skippedRecords)||e.readErrors!==void 0&&!d(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!d(e.ignoredPartialTailBytes)||!h(e.windowStartedAt)||!h(e.windowEndedAt)||!d(e.runs)||!d(e.rebuilt)||e.fullRebuilds!==void 0&&!d(e.fullRebuilds)||!d(e.reused)||!d(e.failed)||!d(e.suppressed)||!b(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!d(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!d(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!d(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!h(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!h(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!d(e.attributedRuns)||e.unattributedRuns!==void 0&&!d(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!d(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!Hi(e.byLanguage)?!1:Object.values(e.byTrigger).every(n=>n===void 0||d(n))}function Hi(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,n]of Object.entries(t)){if(!$.includes(e)||!n||typeof n!="object")return!1;let r=n;if(!d(r.runs)||!d(r.rebuilt)||!d(r.reused)||!d(r.producedOutputBytes)||!rt(r.durationMs)||r.rebuilt+r.reused!==r.runs)return!1}return!0}function Ji(t){if(!t||typeof t!="object")return!1;let e=t;return d(e.pending)&&d(e.claimed)&&d(e.completed)&&d(e.expired)&&d(e.invalid)&&(e.oldestPendingAt===void 0||h(e.oldestPendingAt))}function Ki(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&b(e.requests)&&b(e.sessionsCreated)&&b(e.sessionsReused)&&b(e.sessionsRefreshed)&&b(e.sessionsReplaced)&&b(e.projectsCreated)&&(e.lastRequestAt===void 0||h(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||h(e.busyUntil))&&(e.mailbox===void 0||an(e.mailbox))}function Yi(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&d(e.requests)&&d(e.sessionsCreated)&&d(e.sessionsReplaced)&&(e.sessionsEvicted===void 0||d(e.sessionsEvicted))&&(e.activeSessions===void 0||d(e.activeSessions))&&(e.maxActiveSessions===void 0||d(e.maxActiveSessions))&&(e.heapUsedBytes===void 0||d(e.heapUsedBytes))&&(e.heapLimitBytes===void 0||d(e.heapLimitBytes))&&(e.softMemoryLimitBytes===void 0||d(e.softMemoryLimitBytes))&&(e.retireRequested===void 0||typeof e.retireRequested=="boolean")&&d(e.initializations)&&d(e.programUpdates)&&d(e.documentsEmitted)&&d(e.documentsRemoved)&&(e.lastRequestAt===void 0||h(e.lastRequestAt))&&(e.lastDurationMs===void 0||b(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||h(e.busyUntil))&&(e.mailbox===void 0||an(e.mailbox))}function an(t){if(!t||typeof t!="object")return!1;let e=t;return d(e.pending)&&d(e.inflight)&&d(e.responses)&&d(e.deadLetters)&&d(e.invalid)&&d(e.totalItems)&&b(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||h(e.oldestPendingAt))}function b(t){return typeof t=="number"&&Number.isFinite(t)}function cn(t){let e=t.classification;if(e.kind!=="live")return;let{state:n}=e;return n.watcher.state==="idle"&&n.lastError===void 0?n.indexGeneration:void 0}function eo(t,e,n){let r=O(Zi(t));if(n&&O(n.projectRoot)===r)return{projectRoot:r,worktreeKind:"git",worktreeId:n.worktreeId,cliVersion:e};let i=Te(r);if(i.kind==="error")throw new Error(`Could not establish Git worktree identity for ${r}: ${i.message}`);return i.kind==="non-git"?{projectRoot:r,worktreeKind:"non-git",cliVersion:e}:{projectRoot:r,worktreeKind:"git",worktreeId:i.identity.worktreeId,cliVersion:e}}function un(t){return to(t,eo(t.projectRoot,t.cliVersion,t.gitContext))}function to(t,e){let n=t.runtime??so,r=on(t.cacheDir),i=sn(r.statePath),o=no(r.lockPath);return{identity:e,classification:oo(i,e,n.now(),n.isProcessAlive),lock:o,lockIsLive:o!==null&&n.isProcessAlive(o.pid),paths:r}}function no(t){return io(it(t,{parseLegacy:ro}))}var ro=t=>{let e=dn(t);return e?{pid:e.pid,...e.processIdentity?{processIdentity:e.processIdentity}:{}}:null};function io(t){if(t.state==="valid"&&t.record?.kind==="watch"){let e=t.record.detail?.projectRoot;return typeof e!="string"?null:{version:1,pid:t.record.pid,...t.record.processIdentity?{processIdentity:t.record.processIdentity}:{},projectRoot:e,startedAt:t.record.startedAt}}return dn(t.parsed)}function dn(t){try{let e=t;if(e.version!==1||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||!h(e.startedAt))return null;let n=e.processIdentity===void 0?null:j(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{version:1,pid:e.pid,...n?{processIdentity:n}:{},projectRoot:e.projectRoot,startedAt:e.startedAt}}catch{return null}}function oo(t,e,n,r){if(!t)return{kind:"stopped"};if(t.protocolVersion!==nn)return{kind:"incompatible",state:t,reason:"protocol"};if(t.projectRoot!==e.projectRoot)return{kind:"incompatible",state:t,reason:"project"};let i=e.worktreeKind==="git"?e.worktreeId:void 0;if(t.worktreeId!==i)return{kind:"incompatible",state:t,reason:"worktree"};if(t.cliVersion!==e.cliVersion)return{kind:"incompatible",state:t,reason:"cli-version"};if(!r(t.pid))return{kind:"stale",state:t,reason:"dead-process"};let o=Date.parse(t.heartbeatAt);return n-o>rn?{kind:"stale",state:t,reason:"old-heartbeat"}:{kind:"live",state:t}}var so={now:Date.now,monotonicNow:A,isProcessAlive:V,readProcessIdentity:B,spawnServer(t,e,n,r){if(!Xi(t))throw new Error(`Watch service helper was not found at ${t}. Run npm run build first.`);zi(process.execPath,[t,e,n,JSON.stringify(r)],{detached:!0,stdio:"ignore",env:{...process.env,SCIP_QUERY_SKIP_WATCH_SERVICE:"1"}}).unref()},signalProcess(t){process.kill(t,"SIGTERM")},forceSignalProcess(t){process.kill(t,"SIGKILL")},sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)}};var W=18,fo=1e3,yo=2*fo,mo=6,go=4,ho=5,bo=3,So=3,vo=4,Ro=3,xo=3,Io=8,ln=3e4,wo=5e3,yn=5,ko=10,Po=1,Co=5,$e=64*1024*1024,Eo={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:$e,maxBatch:1,responseRetentionMs:6e4};function mn(t,e,n={},r={}){return m(t,i=>({kind:"source-search",expectedGeneration:i,pattern:e,options:n}),ss,"search result",r)}function gn(t,e,n={}){return m(t,r=>({kind:"outline",expectedGeneration:r,filePattern:e}),Do,"outline result",n)}function hn(t,e={},n={}){return m(t,r=>({kind:"entrypoints",expectedGeneration:r,options:e}),To,"entrypoints result",n)}function bn(t,e,n={}){return m(t,r=>({kind:"files",expectedGeneration:r,pattern:e}),No,"files result",n)}function Sn(t,e={}){return m(t,n=>({kind:"stats",expectedGeneration:n}),Fo,"stats result",e)}function vn(t,e,n={}){return m(t,r=>({kind:"members",expectedGeneration:r,symbolPattern:e}),Lo,"members result",n)}function Rn(t,e,n={}){return m(t,r=>({kind:"methods",expectedGeneration:r,className:e}),Wo,"methods result",n)}function xn(t,e,n,r={}){return m(t,i=>({kind:"file-dependencies",expectedGeneration:i,direction:e,filePattern:n}),qo,"file dependencies result",r)}function In(t,e,n={}){return m(t,r=>({kind:"imported-by",expectedGeneration:r,symbolPattern:e}),Ln,"imported-by result",n)}function wn(t,e,n={}){return m(t,r=>({kind:"hierarchy",expectedGeneration:r,symbolPattern:e}),Qo,"hierarchy result",n)}function kn(t,e,n={}){return m(t,r=>({kind:"by-kind",expectedGeneration:r,kindQuery:e}),Uo,"by-kind result",n)}function Pn(t,e={}){return m(t,n=>({kind:"kind-counts",expectedGeneration:n}),Jo,"kind-counts result",e)}function Cn(t,e,n={}){return m(t,r=>({kind:"refs",expectedGeneration:r,symbolPattern:e}),Yo,"refs result",n)}function En(t,e,n={}){return m(t,r=>({kind:"trace",expectedGeneration:r,symbolPattern:e}),z,"trace result",n)}function An(t,e,n={}){return m(t,r=>({kind:"value-flow",expectedGeneration:r,symbolPattern:e}),z,"value-flow result",n)}function On(t,e,n={}){return m(t,r=>({kind:"dependence-slice",expectedGeneration:r,criterion:e}),z,"dependence-slice result",n)}function Mn(t,e,n,r={}){return m(t,i=>({kind:e,expectedGeneration:i,symbolPattern:n}),z,`${e} result`,r)}function _n(t,e,n={}){return m(t,r=>({kind:"system",expectedGeneration:r,modulePattern:e}),z,"system result",n)}function jn(t,e,n={}){return m(t,r=>({kind:"imports",expectedGeneration:r,filePattern:e}),Ln,"imports result",n)}function Dn(t,e,n={}){return m(t,r=>({kind:"unused-imports",expectedGeneration:r,filePattern:e}),Go,"unused imports result",n)}function Tn(t,e,n={}){return m(t,r=>({kind:"surface",expectedGeneration:r,modulePattern:e}),Xo,"surface result",n)}function Nn(t,e,n,r={}){return m(t,i=>({kind:"code",expectedGeneration:i,selectors:[...e],options:n}),z,"serialized code result",r)}function m(t,e,n,r,i){if(!us(i.allowDefault===!0))return null;try{let o=i.allowDefault===!0&&process.env.SCIP_QUERY_QUERY_SERVICE!=="1",s=o?Lt(t):void 0,a=en(t,s);if(!Be(a.dbPath))return null;let c=xt(a.dbPath);if(!c||o&&!Ao(a,s,c))return null;let u=Mo({projectRoot:a.projectRoot,dbPath:a.dbPath,generationIdentity:c},e(c),n,r);return{result:u.result,generationIdentity:c,observationReceipt:u.observationReceipt}}catch(o){return Wn()&&console.error(`query-service fallback: ${o instanceof Error?o.message:String(o)}`),null}}function Ao(t,e,n){if(t.config.watch?.enabled!==!0)return!1;try{return cn(un({projectRoot:t.projectRoot,cacheDir:t.paths.cacheDir,cliVersion:Q,gitContext:e}))===n}catch{return!1}}function Fn(t){return be("sha256").update(pe({kind:"scip-query-service-mailbox",protocolVersion:W,sessionDir:he(t)})).digest("hex")}function Ve(t){let e=fn(t,"server.json");try{let n=JSON.parse(G(e,{maxBytes:65536,inputKind:"query service state"}));if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n,i=r.processIdentity===void 0?void 0:j(r.processIdentity);return r.protocolVersion!==W||typeof r.sessionIdentity!="string"||r.sessionIdentity!==Fn(t)||typeof r.pid!="number"||!Number.isSafeInteger(r.pid)||r.pid<=0||r.processIdentity!==void 0&&(!i||i.pid!==r.pid)||typeof r.generation!="string"||typeof r.heartbeatAtMs!="number"||!Number.isFinite(r.heartbeatAtMs)?null:{protocolVersion:W,sessionIdentity:r.sessionIdentity,pid:r.pid,...i?{processIdentity:i}:{},generation:r.generation,heartbeatAtMs:r.heartbeatAtMs}}catch{return null}}function Qe(t,e=Date.now()){if(!V(t.pid))return!1;let n=e-t.heartbeatAtMs;if(n>=0&&n<=yo||!t.processIdentity)return!0;let r=B(t.pid);return r!==null&&ee(t.processIdentity,r)}function Oo(t){let e=t<ko;return{intervalMs:e?Po:yn,checkServerState:!e||t%Co===0}}function Mo(t,e,n,r){let i=cs();if(!Be(i))throw new Error("Query service server executable is unavailable.");let o=Math.abs(process.pid)%ls(e),s=as(t,i,o),a=Ht(s),c=Date.now(),u=c+ln,l=A()+ln,p=co(),y=_o(p,e),R=me(y),P=Fn(s),x=Kt(a,{mailboxVersion:ye,protocolVersion:W,id:R,operationKey:y,clientId:p,enqueuedAtMs:c,deadlineAtMs:u,sessionIdentity:P,request:e},{nowMs:c,limits:Eo,durability:"visibility"});pn(s,t.projectRoot,i,l);let Je=0;for(;A()<=l;){if(Be(x.responsePath))return jo(G(x.responsePath,{maxBytes:$e,inputKind:"query service response"}),{id:R,operationKey:y,clientId:p,deadlineAtMs:x.authoritativeDeadlineAtMs,generation:t.generationIdentity},n,r);let Ke=Oo(Je);if(Ke.checkServerState){let Ye=Ve(s);(!Ye||!Qe(Ye))&&pn(s,t.projectRoot,i,l)}qn(Ke.intervalMs),Je+=1}throw new Error("Persistent query service timed out.")}function _o(t,e){return be("sha256").update(pe({namespace:"query-service-v18",payload:{clientId:t,request:e}})).digest("hex")}function pn(t,e,n,r){let i=Ve(t);if(i&&Qe(i))return;let o=Wn();ao(process.execPath,[n,t,e],{cwd:e,detached:!o,stdio:o?["ignore","ignore","inherit"]:"ignore",env:{...process.env,SCIP_QUERY_QUERY_SERVICE_SERVER:"1"}}).unref();let s=Math.min(r,A()+wo);for(;A()<=s;){let a=Ve(t);if(a&&Qe(a))return;qn(yn)}throw new Error("Persistent query service did not become ready within 5s.")}function jo(t,e,n,r){let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid query service response.");let o=i;if(o.mailboxVersion!==ye||o.protocolVersion!==W||o.id!==e.id||o.operationKey!==e.operationKey||o.clientId!==e.clientId||o.deadlineAtMs!==e.deadlineAtMs)throw new Error("Query service response identity does not match the request.");if(o.ok!==!0)throw new Error(typeof o.error=="string"?o.error:"Persistent query service rejected the request.");if(o.generation!==e.generation)throw new Error("Persistent query service generation changed.");if(!n(o.result))throw new Error(`Persistent query service returned an invalid ${r}.`);let s=Pt(o.observationReceipt);if(s.kind!=="supported")throw new Error("Persistent query service returned an invalid observation receipt.");return{ok:!0,protocolVersion:W,id:e.id,generation:e.generation,result:o.result,observationReceipt:s.receipt}}function Do(t){if(!Array.isArray(t))return!1;let e=[...t];for(;e.length>0;){let n=e.pop();if(!n||typeof n!="object"||Array.isArray(n))return!1;let r=n;if(typeof r.symbol!="string"||typeof r.shortName!="string"||!Number.isSafeInteger(r.startLine)||r.startLine<0||!Number.isSafeInteger(r.endLine)||r.endLine<r.startLine||r.signature!==null&&typeof r.signature!="string"||!Array.isArray(r.children))return!1;e.push(...r.children)}return!0}function To(t){return Array.isArray(t)?t.every(e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=e;return typeof n.symbol=="string"&&typeof n.shortName=="string"&&typeof n.file=="string"&&Number.isSafeInteger(n.startLine)&&n.startLine>=0&&Number.isSafeInteger(n.endLine)&&n.endLine>=n.startLine&&(n.documentation===null||typeof n.documentation=="string")&&(n.confidence==="root"||n.confidence==="candidate")&&Array.isArray(n.evidence)&&n.evidence.every(r=>typeof r=="string")&&Number.isSafeInteger(n.indexedCallerCount)&&n.indexedCallerCount>=0}):!1}function No(t){return Array.isArray(t)?t.every(e=>!e||typeof e!="object"||Array.isArray(e)?!1:typeof e.relativePath=="string"):!1}function Fo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return S(e.documents)&&S(e.symbols)&&S(e.definitions)&&S(e.references)&&S(e.indexSizeBytes)&&(e.lastBuilt===null||typeof e.lastBuilt=="string")}function Lo(t){if(!Ue(t))return!1;let e=t.members;return Array.isArray(e)&&e.every(es)}function Ue(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return e.matched===!1?e.resolved===void 0&&e.otherMatches===void 0&&e.totalMatches===void 0&&Array.isArray(e.suggestions)&&e.suggestions.every(n=>typeof n=="string"):e.matched===!0&&rs(e.resolved)&&Array.isArray(e.otherMatches)&&e.otherMatches.every(is)&&S(e.totalMatches)&&e.totalMatches>=1&&e.suggestions===void 0}function Wo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.query!="string"?!1:e.kind==="missing"?Array.isArray(e.suggestions)&&e.suggestions.every(n=>typeof n=="string"):e.kind==="ambiguous"?S(e.total)&&e.total>1&&Array.isArray(e.candidates)&&e.candidates.every(os):e.kind==="matched"&&ns(e.owner)&&Array.isArray(e.methods)&&e.methods.every(ts)}function qo(t){return Array.isArray(t)?t.every(e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=e;return typeof n.relativePath=="string"&&(n.edgeBasis===void 0||n.edgeBasis==="symbol-references")&&(n.evidence===void 0||n.evidence==="cross-file SCIP references plus resolved source imports")}):!1}function Ln(t){return Array.isArray(t)&&t.every(Vo)}function Go(t){return Array.isArray(t)&&t.every(Bo)}function Bo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.importedIn=="string"}function Vo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.fromFile=="string"}function Qo(t){if(!Ue(t))return!1;let e=t.hierarchy;return Array.isArray(e)&&e.every($o)}function $o(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&S(e.depth)}function Uo(t){return Array.isArray(t)&&t.every(Ho)}function Ho(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&S(e.kind)&&typeof e.kindName=="string"&&typeof e.relativePath=="string"&&Se(e)}function Jo(t){return Array.isArray(t)&&t.every(Ko)}function Ko(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return S(e.kind)&&typeof e.kindName=="string"&&S(e.count)}function Yo(t){if(!Ue(t))return!1;let e=t,n=e.references,r=e.pagination;if(!Array.isArray(n)||!n.every(zo)||!r||typeof r!="object"||Array.isArray(r))return!1;let i=r;return i.cursorVersion===2&&i.producer==="complete-only"&&typeof i.semanticEnrichment=="boolean"}function zo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.relativePath=="string"&&S(e.line)}function Xo(t){return Array.isArray(t)&&t.every(Zo)}function Zo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.consumer=="string"&&typeof e.symbol=="string"&&typeof e.shortName=="string"&&e.basis==="external-reference"}function es(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.kind=="string"&&Se(e)}function ts(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.name=="string"&&Se(e)}function ns(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"&&Se(e)}function rs(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"}function is(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.shortName=="string"&&typeof e.relativePath=="string"&&S(e.startLine)&&e.symbol===void 0}function os(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"&&S(e.startLine)}function Se(t){return S(t.startLine)&&S(t.endLine)&&t.endLine>=t.startLine}function S(t){return Number.isSafeInteger(t)&&t>=0}function ss(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.pattern=="string"&&(e.mode==="literal"||e.mode==="regexp")&&Array.isArray(e.matches)&&typeof e.matchingLines=="number"&&Number.isSafeInteger(e.matchingLines)&&e.matchingLines>=0&&typeof e.omittedMatches=="number"&&Number.isSafeInteger(e.omittedMatches)&&e.omittedMatches>=0&&typeof e.scannedFiles=="number"&&Number.isSafeInteger(e.scannedFiles)&&e.scannedFiles>=0}function z(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;if(typeof e.serializedJson!="string"||typeof e.sha256!="string"||e.serializedJson.length>$e||be("sha256").update(e.serializedJson).digest("hex")!==e.sha256)return!1;try{let n=JSON.parse(e.serializedJson);return n!==null&&typeof n=="object"&&!Array.isArray(n)}catch{return!1}}function as(t,e,n){let r=ps(t.projectRoot),i=be("sha256").update(pe({protocolVersion:W,projectRoot:r,dbPath:he(t.dbPath),serverPath:he(e),lane:n})).digest("hex");return fn(lo(),"scip-query-query-service",i)}function cs(){return process.env.SCIP_QUERY_QUERY_SERVICE_SERVER_PATH??po(new URL("./query-service-server.js",import.meta.url))}function us(t){let e=process.env.SCIP_QUERY_QUERY_SERVICE;return process.env.SCIP_QUERY_QUERY_SERVICE_SERVER!=="1"&&e!=="0"&&(e==="1"||t)}function Wn(){return process.env.SCIP_QUERY_QUERY_SERVICE_DEBUG==="1"}function ds(){let t=Number(process.env.SCIP_QUERY_QUERY_SERVICE_POOL_SIZE);return Number.isInteger(t)&&t>=1&&t<=Io?t:mo}function ls(t){let e=ds();return t.kind==="value-flow"?Math.min(e,Ro):t.kind==="dependence-slice"?Math.min(e,xo):t.kind==="call-graph"?Math.min(e,bo):t.kind==="system"?Math.min(e,vo):t.kind==="reference-reachability"||t.kind==="slice"?Math.min(e,So):t.kind==="refs"||t.kind==="trace"||t.kind==="reference-neighborhood"||t.kind==="dataflow"||t.kind==="imports"||t.kind==="unused-imports"?Math.min(e,ho):t.kind==="imported-by"||t.kind==="hierarchy"||t.kind==="by-kind"||t.kind==="kind-counts"?Math.min(e,go):e}function ps(t){try{return uo.native(t)}catch{return he(t)}}function qn(t){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,t)}async function iu(t){if(process.env.SCIP_QUERY_PROFILE==="1"||process.env.SCIP_QUERY_PROFILE==="true")return!1;let e=fs(t);if(!e)return!1;let n=Ge();if(e.kind==="code"){try{ot(n,"code",e.session)}catch{return!1}let i=Nn(n,e.selectors,e.options,{allowDefault:!0});return i?(M(i.result.serializedJson),!0):!1}if(e.kind==="files"){let i=bn(n,e.pattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="members"){let i=vn(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="methods"){let i=Rn(n,e.className,{allowDefault:!0});return!i||!X(i.result)?!1:(i.result.kind!=="matched"&&(process.exitCode=1),!0)}if(e.kind==="file-dependencies"){let i=xn(n,e.direction,e.filePattern,{allowDefault:!0});if(!i)return!1;let o=e.direction==="outgoing"?"deps":"rdeps";return await w(JSON.stringify(i.result),o,t),!0}if(e.kind==="imported-by"){let i=In(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="hierarchy"){let i=wn(n,e.symbolPattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="by-kind"){let i=kn(n,e.kindQuery,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="kind-counts"){let i=Pn(n,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="refs"){let i=Cn(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="trace"){let i=En(n,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="value-flow"){let i=An(n,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="dependence-slice"){let i=On(n,e.criterion,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="call-graph"||e.kind==="reference-neighborhood"||e.kind==="reference-reachability"||e.kind==="slice"||e.kind==="dataflow"){let i=Mn(n,e.kind,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="imports"){let i=jn(n,e.filePattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="unused-imports"){let i=Dn(n,e.filePattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="system"){let i=_n(n,e.modulePattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="surface"){let i=Tn(n,e.modulePattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="stats"){let i=Sn(n,{allowDefault:!0});return i?(M(JSON.stringify(i.result)),!0):!1}if(e.kind==="entrypoints"){let i=hn(n,e.options,{allowDefault:!0});return i?(M(JSON.stringify(i.result)),!0):!1}let r=e.kind==="source-search"?mn(n,e.pattern,e.options,{allowDefault:!0}):gn(n,e.filePattern,{allowDefault:!0});return r?(M(JSON.stringify(r.result)),!0):!1}function fs(t){return t[0]==="search"?Os(t):t[0]==="outline"?Ms(t):t[0]==="code"?As(t):t[0]==="entrypoints"?Es(t):t[0]==="files"?Cs(t):t[0]==="stats"?Vn(t,"stats"):t[0]==="kind-counts"?Vn(t,"kind-counts"):t[0]==="members"?Gn(t,"members"):t[0]==="methods"?Gn(t,"methods"):t[0]==="deps"?Bn(t,"outgoing"):t[0]==="rdeps"?Bn(t,"incoming"):t[0]==="imported-by"?ys(t):t[0]==="hierarchy"?ms(t):t[0]==="by-kind"?gs(t):t[0]==="refs"?hs(t):t[0]==="trace"?bs(t):t[0]==="value-flow"?Ss(t):t[0]==="dependence-slice"?vs(t):t[0]==="call-graph"||t[0]==="reference-neighborhood"||t[0]==="reference-reachability"||t[0]==="slice"||t[0]==="dataflow"?Rs(t):t[0]==="imports"?xs(t):t[0]==="unused-imports"?Is(t):t[0]==="system"?ws(t):t[0]==="surface"?ks(t):null}function Gn(t,e){let n=v(t);return n===null?null:e==="members"?{kind:e,symbolPattern:n}:{kind:e,className:n}}function Bn(t,e){let n=v(t);return n===null?null:{kind:"file-dependencies",direction:e,filePattern:n}}function ys(t){let e=v(t);return e===null?null:{kind:"imported-by",symbolPattern:e}}function ms(t){let e=v(t);return e===null?null:{kind:"hierarchy",symbolPattern:e}}function gs(t){let e=v(t);return e===null?null:{kind:"by-kind",kindQuery:e}}function hs(t){let e=v(t);return e===null?null:{kind:"refs",symbolPattern:e}}function bs(t){let e=v(t);return e===null?null:{kind:"trace",symbolPattern:e}}function Ss(t){let e=v(t);return e===null?null:{kind:"value-flow",symbolPattern:e}}function vs(t){let e=v(t);return e===null?null:{kind:"dependence-slice",criterion:e}}function Rs(t){let e=t[0];if(e!=="call-graph"&&e!=="reference-neighborhood"&&e!=="reference-reachability"&&e!=="slice"&&e!=="dataflow")return null;let n=v(t);return n===null?null:{kind:e,symbolPattern:n}}function xs(t){let e=v(t);return e===null?null:{kind:"imports",filePattern:e}}function Is(t){let e=v(t);return e===null?null:{kind:"unused-imports",filePattern:e}}function ws(t){let e=v(t);return e===null?null:{kind:"system",modulePattern:e}}function ks(t){let e=v(t);return e===null?null:{kind:"surface",modulePattern:e}}function v(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s.startsWith("-")||e!==void 0)return null;e=s}return!n||!r||!i||e===void 0?null:e}function X(t){return Ps(JSON.stringify(t))}function Ps(t){return Qn(t)?(M(t),!0):!1}async function w(t,e,n){if(Qn(t)){M(t);return}let{runWithCliOutputPagination:r}=await import("./output-pagination-VAWOGX4R.js");await r({command:e,producerVersion:Q,invocationPrefix:tn(),argv:[...n],cwd:process.cwd(),json:!0,sourceSession:!0,reemitSource:!1},()=>M(t))}function Qn(t){return Buffer.byteLength(t)+1<=ze}function Cs(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s.startsWith("-")||e!==void 0)return null;e=s}return!n||!r||!i||e===void 0?null:{kind:"files",pattern:e}}function Vn(t,e){let n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}return null}return n&&r&&i?{kind:e}:null}function Es(t){let e,n,r=!1,i=!1,o=!1;for(let s=1;s<t.length;s+=1){let a=t[s];if(a==="--"){let u=t.slice(s+1);if(u.length!==1||e!==void 0)return null;e=u[0];break}if(a==="--json"){r=!0;continue}if(a==="--result-only"){i=!0;continue}if(a==="--compact"){o=!0;continue}let c=Z(t,s,a,"--scope","-s");if(c){n=c.value,s=c.nextIndex;continue}if(a.startsWith("-")||e!==void 0)return null;e=a}return!r||!i||!o?null:{kind:"entrypoints",options:{...e===void 0?{}:{search:e},...n===void 0?{}:{scope:n}}}}function As(t){let e=[],n=0,r="exported",i=!0,o=!1,s=!1,a=!1;for(let c=1;c<t.length;c+=1){let u=t[c];if(u==="--"){e.push(...t.slice(c+1));break}if(u==="--json"){o=!0;continue}if(u==="--result-only"){s=!0;continue}if(u==="--compact"){a=!0;continue}if(u==="--no-session"){i=!1;continue}let l=Z(t,c,u,"--context","-C");if(l){let y=He(l.value,0);if(y===null)return null;n=y,c=l.nextIndex;continue}let p=Z(t,c,u,"--members");if(p){if(p.value!=="exported"&&p.value!=="all")return null;r=p.value,c=p.nextIndex;continue}if(u.startsWith("-"))return null;e.push(u)}return!o||!s||!a||e.length<1||e.length>24||e.some(c=>c.length===0)?null:{kind:"code",selectors:e,options:{context:n,members:r},session:i}}function Os(t){let e,n,r=2,i=6,o=!1,s=!1,a=!1,c=!1,u=!1;for(let l=1;l<t.length;l+=1){let p=t[l];if(p==="--"){let x=t.slice(l+1);if(x.length!==1||e!==void 0)return null;e=x[0];break}if(p==="--json"){a=!0;continue}if(p==="--result-only"){c=!0;continue}if(p==="--compact"){u=!0;continue}if(p==="--regexp"){o=!0;continue}if(p==="--ignore-case"||p==="-i"){s=!0;continue}let y=Z(t,l,p,"--scope","-s");if(y){n=y.value,l=y.nextIndex;continue}let R=Z(t,l,p,"--context","-C");if(R){let x=He(R.value,0);if(x===null)return null;r=x,l=R.nextIndex;continue}let P=Z(t,l,p,"--limit","-n");if(P){let x=He(P.value,1);if(x===null)return null;i=x,l=P.nextIndex;continue}if(p.startsWith("-")||e!==void 0)return null;e=p}return!a||!c||!u||e===void 0?null:{kind:"source-search",pattern:e,options:{scope:n,context:r,limit:i,regexp:o,ignoreCase:s,ranking:"structural"}}}function Ms(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s!=="--signatures"){if(s.startsWith("-")||e!==void 0)return null;e=s}}return!n||!r||!i||e===void 0?null:{kind:"outline",filePattern:e}}function Z(t,e,n,r,i){if(n.startsWith(`${r}=`))return{value:n.slice(r.length+1),nextIndex:e};if(n!==r&&(i===void 0||n!==i))return null;let o=t[e+1];return o===void 0?null:{value:o,nextIndex:e+1}}function He(t,e){if(!/^\d+$/.test(t))return null;let n=Number(t);return Number.isSafeInteger(n)&&n>=e?n:null}export{fs as parseFastPathInvocation,Qn as serializedJsonFitsClientBudget,iu as tryRunQueryServiceFastPath};
|
|
1
|
+
import{A as Ie,B as st,C as we,G as at,b as Ze,f as O,g as et,h as xe,i as ie,j as _,k as q,l as tt,m as nt,n as B,o as I,p as f,q as oe,r as d,s as rt,t as it,u as k,v as ot,w as j,x as ee,y as G,z as V}from"./chunk-KFOYCQAJ.js";import{createRequire as Un}from"module";var Hn=Un(import.meta.url),$=Jn().version;function Jn(){for(let t of["../package.json","../../package.json"])try{return Hn(t)}catch{}return{version:"0.0.0"}}import{existsSync as bi,statSync as Si}from"fs";import{join as vi}from"path";import{createHash as ft,randomUUID as zn}from"crypto";import{chmodSync as yt,existsSync as ae,linkSync as Xn,lstatSync as Pe,readdirSync as mt,realpathSync as T,unlinkSync as Zn,writeSync as er}from"fs";import{homedir as tr}from"os";import{basename as Bs,dirname as Ce,isAbsolute as dt,join as E,resolve as Ee}from"path";import{isAbsolute as ct,relative as Kn}from"path";var C=class extends Error{constructor(n,r){super(`refusing unsafe project file path ${JSON.stringify(n)} (${r})`);this.relativePath=n;this.reason=r;this.name="UnsafeProjectPathError"}relativePath;reason;code="SCIP_QUERY_UNSAFE_PROJECT_PATH"};function Yn(t){return t.replace(/\\/g,"/").replace(/^\.\//,"")}function ke(t,e){let n=Kn(t,e);return n===""||!n.startsWith("..")&&!ct(n)}function ut(t){if(!t)throw new C(t,"empty-path");if(t.includes("\0"))throw new C(t,"nul-byte");if(ct(t)||/^[A-Za-z]:/.test(t)||t.startsWith("//")||t.startsWith("\\\\"))throw new C(t,"absolute-path");let e=Yn(t);if(e.split("/").some(r=>r===".."))throw new C(t,"parent-traversal");if(!e||e===".")throw new C(t,"empty-path");return e}var gt=1,ue=".scip-query-cache-owner.json",nr=16*1024,ht=Object.freeze({...xe,randomToken:()=>zn(),linkFile:(t,e)=>Xn(t,e),removeFile:t=>Zn(t),writeFile:(t,e,n,r)=>er(t,e,n,r)});function se(t,e){return Object.assign(new Error(`refusing unsafe project dbPath ${JSON.stringify(t)} (${e}); use a repository-relative directory that remains inside the checkout`),{name:"UnsafeCachePathError",code:"SCIP_QUERY_UNSAFE_CACHE_PATH",configuredPath:t,reason:e})}function D(t,e){return Object.assign(new Error(`refusing unowned cache directory ${JSON.stringify(t)} (${e}); move unrelated data elsewhere or choose a new empty dbPath`),{name:"CacheOwnershipError",code:"SCIP_QUERY_CACHE_OWNERSHIP",cacheDir:t,reason:e})}function rr(t,e){let n=T(t);return ar(n,ir(n,e))}function ir(t,e){let n=T(t),r=process.env.SCIP_QUERY_CACHE_DIR;return r?Ee(r):e?.dbPath?ur(n,e.dbPath):sr(n)}function or(){let t=process.env.XDG_CACHE_HOME;return E(t||E(tr(),".cache"),"scip-query")}function sr(t){let e=Ee(t);try{e=T(e)}catch{}let n=ft("sha256").update(e).digest("hex").slice(0,12);return E(or(),"projects",n)}function bt(t,e){let n=rr(t,e);return{cacheDir:n,dbPath:E(n,"index.db"),indexPath:E(n,"index.scip"),metaPath:E(n,"meta.json")}}function ar(t,e,n=ht){return cr(t,e,n).cacheDir}function cr(t,e,n=ht){let r=T(t),i=ae(e)?"synced":gr(e,n),o=T(e),s=E(o,ue);if(ae(s))return lt(r,o),St(s),ce(o),{kind:"existing",cacheDir:o};pt(o),yr(o),pt(o);let c=`${JSON.stringify({schemaVersion:gt,canonicalProjectRoot:r,canonicalCacheDir:o,creatorVersion:$},null,2)}
|
|
2
|
+
`;try{let u=hr(s,c,n),l=q(i,u);return{kind:"published",cacheDir:o,achievedDurability:l==="synced"?"directory-durable":"file-flushed",directorySync:l}}catch(u){if(br(u))return lt(r,o),{kind:"existing",cacheDir:o};throw u}}function lt(t,e){let n=T(t),r=T(e);return lr(r,n,r)}function ur(t,e){let n;try{n=ut(e)}catch(s){throw s instanceof C?se(e,s.reason):s}let r=Ee(t,...n.split("/"));if(r===t||!ke(t,r))throw se(e,"outside-project");let i=dr(r),o=T(i);if(!ke(t,o)&&o!==t)throw se(e,"symlink-escape");return r}function dr(t){let e=t;for(;!ae(e);){let n=Ce(e);if(n===e)throw se(t,"no-existing-ancestor");e=n}return e}function lr(t,e,n){let r=E(t,ue);if(!ae(r)||Pe(r).isSymbolicLink())throw D(t,"missing regular ownership record");let i=Pe(r);if(!i.isFile()||i.size>nr)throw D(t,"invalid ownership record file");let o=I(r,"cache ownership record"),s=pr(o,t);if(e!==void 0&&s.canonicalProjectRoot!==e)throw D(t,"ownership record belongs to a different project");if(s.canonicalCacheDir!==n)throw D(t,"ownership record names a different cache directory");return{record:s,ownerSha256:ft("sha256").update(o).digest("hex"),physicalCacheDir:t}}function pr(t,e){try{let n=JSON.parse(t);if(n.schemaVersion!==gt||typeof n.canonicalProjectRoot!="string"||typeof n.canonicalCacheDir!="string"||typeof n.creatorVersion!="string"||!dt(n.canonicalProjectRoot)||!dt(n.canonicalCacheDir))throw new Error("invalid fields");return n}catch(n){throw D(e,`malformed ownership record: ${n instanceof Error?n.message:String(n)}`)}}function pt(t){let e=mt(t).filter(n=>n!==ue&&!fr(n));if(e.length>0)throw D(t,`unrecognized existing entries: ${e.slice(0,3).join(", ")}`)}function fr(t){return t.startsWith(`${ue}.tmp-`)||t.startsWith("git-worktree-context.json.tmp-")||[".scipquery-generations","affected-shadow-latest.json","affected-shadow.jsonl","agent-hooks","augment-vue-meta.json","cache-lifecycle.lock","evidence.db","evidence.db-shm","evidence.db-wal","health-report-cache.json","git-worktree-context.json","index.db","index.db-shm","index.db-wal","index.lock","index.scip","language-indexes","meta.json","reindex-activity.jsonl","shared-cache.json","typescript-index","typescript-scip-fragments","typescript-scip-overlays","typescript-semantic","typescript-shard-costs.json","watch-activity.json","watch-refresh-requests","watch-state.json","watch.lock"].includes(t)?!0:/^(?:reindex-|rust-|typescript-)/.test(t)}function yr(t){for(let e of mt(t)){let n=E(t,e);try{let r=Pe(n);if(r.isSymbolicLink())throw D(t,`legacy cache entry ${e} is a symlink`);if(r.isDirectory())ce(n);else if(r.isFile())St(n);else throw D(t,`legacy cache entry ${e} is not a file or directory`)}catch(r){if(mr(r))continue;throw r}}ce(t)}function mr(t){let e=t?.code;return e==="ENOENT"||e==="ENOTDIR"}function gr(t,e=xe){let n=ie(t,e);return ce(t),n}function hr(t,e,n){let r=`${t}.tmp-${process.pid}-${n.randomToken()}`,i,o=!1;try{i=n.openFile(r,"wx",384),o=!0,et(i,Buffer.from(e),n,"cache ownership record"),n.syncFile(i),n.closeFile(i),i=void 0,n.linkFile(r,t);let s=_(Ce(t),n);return n.removeFile(r),o=!1,q(s,_(Ce(t),n))}finally{if(i!==void 0)try{n.closeFile(i)}catch{}if(o)try{n.removeFile(r)}catch{}}}function ce(t){process.platform!=="win32"&&yt(t,448)}function St(t){process.platform!=="win32"&&yt(t,384)}function br(t){return typeof t=="object"&&t!==null&&"code"in t&&t.code==="EEXIST"}import{createHash as Pr,randomUUID as Cr}from"crypto";import{existsSync as Er,mkdirSync as ia,readdirSync as oa,rmSync as sa,statSync as Ar}from"fs";import{basename as ca,dirname as It,join as Oe}from"path";function vt(t){if(typeof t!="object"||t===null)return!1;let e=t;return typeof e.path=="string"&&typeof e.size=="number"&&Number.isFinite(e.size)&&typeof e.hash=="string"&&(e.semanticHash===void 0||typeof e.semanticHash=="string")}var Q=["typescript","javascript","java","scala","kotlin","rust","python","ruby","go","cpp","c","csharp","vb","dart","php","clojure"];var Ae=2,U=3;var Me=new Set(Q);function Rt(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(s){return{kind:"malformed",reason:`invalid JSON: ${kr(s)}`}}if(!f(e))return{kind:"malformed",reason:"metadata must be a JSON object"};let n=e.version;if(!Number.isInteger(n))return{kind:"malformed",reason:"version must be an integer"};if(n!==Ae&&n!==U)return{kind:"unsupported",version:n,direction:n<Ae?"older":"future"};let r=vr(e,n);if(r)return{kind:"malformed",reason:r};let i=e,o={metadata:i,capabilities:Sr(i)};return n===Ae?{kind:"legacy",...o,metadata:i}:{kind:"supported",...o,metadata:i}}function xt(t){if(t.kind!=="legacy"&&t.kind!=="supported"||!t.capabilities.stableGenerationIdentity)return null;let e=t.metadata;return JSON.stringify({version:e.version,status:e.status,updatedAt:e.updatedAt,fingerprint:e.fingerprint,indexedLanguages:e.indexedLanguages,scipCompanion:e.scipCompanion,sqliteLayoutVersion:e.version===U?e.sqliteLayoutVersion:void 0})}function Sr(t){let e=t.fingerprint!==void 0,n=f(t.fingerprint),r=t.indexedLanguages!==void 0,i=t.status==="complete",o=t.version===U?t:null;return{usableForQuery:r,usableForEvidenceCache:e,publishableGeneration:i&&n&&r,stableGenerationIdentity:i&&e&&typeof t.updatedAt=="string",languageShardReuse:!!o?.languageFingerprints,typescriptProjectShardReuse:!!o?.typescriptProjectShards}}function vr(t,e){if(t.status!=="complete"&&t.status!=="partial")return"status must be complete or partial";if(t.updatedAt!==void 0&&!oe(t.updatedAt))return"updatedAt must be a valid timestamp";for(let n of["requestedLanguages","indexedLanguages"])if(t[n]!==void 0&&!Rr(t[n]))return`${n} must contain unique supported languages`;return t.skipped!==void 0&&!xr(t.skipped)?"skipped must contain supported language/reason pairs":t.scipCompanion!==void 0&&t.scipCompanion!=="current"&&t.scipCompanion!=="deferred"?"scipCompanion must be current or deferred":e===U&&t.sqliteLayoutVersion!==void 0&&(!Number.isSafeInteger(t.sqliteLayoutVersion)||t.sqliteLayoutVersion<1)?"sqliteLayoutVersion must be a positive safe integer":e===U&&t.languageFingerprints!==void 0&&!Ir(t.languageFingerprints)?"languageFingerprints must map supported languages to fingerprint objects":e===U&&t.typescriptProjectShards!==void 0&&!wr(t.typescriptProjectShards)?"typescriptProjectShards must map project names to file fingerprints":null}function Rr(t){return!Array.isArray(t)||!t.every(e=>typeof e=="string"&&Me.has(e))?!1:new Set(t).size===t.length}function xr(t){return Array.isArray(t)&&t.every(e=>f(e)&&typeof e.language=="string"&&Me.has(e.language)&&typeof e.reason=="string")}function Ir(t){return f(t)&&Object.entries(t).every(([e,n])=>Me.has(e)&&f(n))}function wr(t){return f(t)&&Object.values(t).every(e=>f(e)&&Array.isArray(e.files)&&e.files.every(vt))}function kr(t){return t instanceof Error?t.message:String(t)}function A(){return performance.now()}var Mr=1;var Or=".scipquery-generations";var fa={pid:process.pid,now:()=>new Date,randomToken:()=>Cr(),isProcessAlive:V,readProcessIdentity:G};function _r(t){return Oe(It(t),Or)}function jr(t){try{let e=JSON.parse(I(Oe(_r(t),"state.json"),"SQLite generation state"));return Fr(e)?e:null}catch{return null}}function wt(t){let e=jr(t);if(e)return e.currentGeneration;try{let n=Oe(It(t),"meta.json"),r=Er(n)?I(n,"reindex metadata"):void 0;return Tr(t,r)}catch{return null}}function Dr(t){return xt(Rt(t))??t}function Tr(t,e){let n=Pr("sha256").update("sqlite-generation-legacy-v1\0");return e!==void 0&&n.update(Dr(e)),n.update(`\0${Nr(t)}`),n.digest("hex")}function Nr(t){let e=Ar(t);return`${e.dev}:${e.ino}:${e.size}:${e.mtimeMs}`}function Fr(t){return t.version===Mr&&typeof t.currentGeneration=="string"&&!!t.currentGeneration&&typeof t.publishedAt=="string"&&Number.isFinite(Date.parse(t.publishedAt))&&(t.artifactSet===void 0||t.artifactSet==="immutable-v1")&&Lr(t.stableMirrors)&&Wr(t.previousGeneration)&&qr(t.publication)}function Lr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.databaseFileIdentity=="string"&&!!e.databaseFileIdentity&&(e.indexFileIdentity===void 0||typeof e.indexFileIdentity=="string"&&!!e.indexFileIdentity)}function Wr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t;return typeof e.generationIdentity=="string"&&!!e.generationIdentity&&typeof e.databasePath=="string"&&!!e.databasePath&&(e.metadataPath===void 0||typeof e.metadataPath=="string"&&!!e.metadataPath)}function qr(t){if(t===void 0)return!0;if(!t||typeof t!="object")return!1;let e=t,n=[e.converterDurationMs,e.affectedDocumentCount,e.changedDocumentCount,e.producerDurationMs,e.materializationDurationMs,e.patchDurationMs].filter(r=>r!==void 0);return(e.mode==="incremental"||e.mode==="full")&&e.validation==="passed"&&e.converterDurationMs!==void 0&&n.every(r=>typeof r=="number"&&Number.isFinite(r)&&r>=0)&&(e.scipCompanion===void 0||e.scipCompanion==="current"||e.scipCompanion==="deferred")&&(e.typescriptOverlayGeneration===void 0||typeof e.typescriptOverlayGeneration=="string"&&!!e.typescriptOverlayGeneration)&&(e.scipCompanion!=="deferred"||!!e.typescriptOverlayGeneration)&&(e.fallbackReason===void 0||typeof e.fallbackReason=="string")}import{existsSync as ti}from"fs";import{randomUUID as wa}from"crypto";import{isAbsolute as Pa,join as ni,relative as Ca,resolve as Ea}from"path";var L=1,H=2,Br="./node_modules/scip-query/docs/schemas/project-config.schema.json";function kt(t){let e=t;if(typeof t=="string")try{e=JSON.parse(t)}catch(a){return{kind:"malformed",reason:`invalid JSON: ${a instanceof Error?a.message:String(a)}`}}if(!f(e))return{kind:"malformed",reason:"project config must be a JSON object"};let n=e.schemaVersion;if(n!==void 0&&!Number.isInteger(n))return{kind:"malformed",reason:"schemaVersion must be an integer"};let r=n===void 0?L:n;if(r!==L&&r!==H)return{kind:"unsupported",schemaVersion:r,direction:r<L?"older":"future"};let i=e.$schema;if(i!==void 0&&(typeof i!="string"||i.trim()===""))return{kind:"malformed",reason:"$schema must be a non-empty string when present"};let o=Pt(e),s=r!==H||typeof e.$schema!="string";return r===L?{kind:"legacy",sourceVersion:L,config:o,needsMigration:s}:{kind:"supported",sourceVersion:H,config:o,needsMigration:s}}function Pt(t){let e=t,{$schema:n,schemaVersion:r,...i}=e;return{$schema:typeof n=="string"&&n.trim()!==""?n:Br,schemaVersion:H,...i}}import{createHash as ba}from"crypto";var _e=1,Ct=2,Gr=1,Vr=1,$r="sha256";function Et(t){if(!f(t))return{kind:"malformed",reason:"observation receipt must be an object"};let e=t.schemaVersion;if(!Number.isInteger(e))return{kind:"malformed",reason:"observation receipt schemaVersion must be an integer"};if(e===_e)return Ur(t)?{kind:"legacy",schemaVersion:_e,receipt:t}:{kind:"malformed",reason:"observation receipt v1 fields are malformed or contradictory"};if(e===Ct)return Hr(t)?{kind:"supported",schemaVersion:Ct,receipt:t}:{kind:"malformed",reason:"observation receipt v2 facts are malformed or contradictory"};let n=e;return{kind:"unsupported",schemaVersion:n,direction:n<_e?"older":"future"}}function Qr(t,e){return t.schemaVersion===e.schemaVersion&&t.canonicalizationVersion===e.canonicalizationVersion&&t.hashAlgorithm===e.hashAlgorithm&&t.projection.name===e.projection.name&&t.projection.version===e.projection.version}function Ur(t){if(!f(t))return!1;let e=t.index,n=t.worktree;return Mt(t.observedAt)&&k(t.projectIdentity)&&ei(t.authorityKind)&&(e===void 0||f(e)&&k(e.generationIdentity)&&(e.source==="immutable"||e.source==="legacy")&&(e.alignment==="not-certified"||e.alignment==="leased"))&&(n===void 0||f(n)&&k(n.identity)&&typeof n.clean=="boolean"&&(n.headCommit===void 0||k(n.headCommit))&&(n.treeOid===void 0||k(n.treeOid)))&&Zr(t.authorityKind,e,n)}function Hr(t){if(!f(t))return!1;let e=t.facts,n=t.observedSources,r=t.stabilityProofs;if(!Mt(t.observedAt)||!f(e)||!Array.isArray(n)||n.length===0||!n.every(Kr)||!De(n,c=>c.kind)||!Array.isArray(r)||!r.every(Yr)||!De(r,c=>c.source)||r.some(c=>!n.some(u=>u.kind===c.source))||!r.every(c=>Xr(c,e))||["collaborationDomain","repositoryLineage","workspaceInstance","wholeContent"].some(c=>e[c]!==void 0&&!N(e[c])))return!1;let o=e.relevantInputs;if(o!==void 0&&(!Array.isArray(o)||!o.every(Jr)||!De(o,c=>`${c.subject}\0${c.identity.projection.name}`)))return!1;let s=e.index;if(s!==void 0&&(!f(s)||!N(s.generation)||s.inputs!==void 0&&!N(s.inputs)||s.source!=="immutable"&&s.source!=="legacy"))return!1;let a=t.diagnostics;return(a===void 0||f(a)&&(a.clean===void 0||typeof a.clean=="boolean")&&(a.headCommit===void 0||k(a.headCommit))&&(a.treeOid===void 0||k(a.treeOid)))&&zr(e,n)}function N(t){return!f(t)||!f(t.projection)?!1:t.schemaVersion===Gr&&t.canonicalizationVersion===Vr&&t.hashAlgorithm===$r&&k(t.projection.name)&&rt(t.projection.version)&&it(t.digest)}function Jr(t){return f(t)&&k(t.subject)&&N(t.identity)}function Kr(t){return f(t)&&At(t.kind)&&(t.identity===void 0||N(t.identity))}function Yr(t){return f(t)&&At(t.source)&&(t.kind==="immutable"||t.kind==="fixed-snapshot"||t.kind==="bracketed"||t.kind==="not-established"||t.kind==="invalidated")}function zr(t,e){let n=t.index,r=e.find(c=>c.kind==="index-generation");if(r){if(!f(n)||!N(n.generation)||r.identity&&!je(r.identity,n.generation))return!1}else if(n!==void 0)return!1;let i=t.workspaceInstance,o=e.find(c=>c.kind==="live-workspace");if(o?.identity&&(!N(i)||!je(o.identity,i)))return!1;let s=t.wholeContent,a=e.find(c=>c.kind==="repository-snapshot");return!(a?.identity&&(!N(s)||!je(a.identity,s)))}function Xr(t,e){return t.kind==="not-established"||t.kind==="invalidated"?!0:t.source==="index-generation"?t.kind==="immutable"&&f(e.index)&&e.index.source==="immutable":t.source==="repository-snapshot"?t.kind==="fixed-snapshot":t.source==="live-workspace"?t.kind==="bracketed":!1}function je(t,e){return Qr(t,e)&&t.digest===e.digest}function Zr(t,e,n){return t==="index-worktree"?e!==void 0&&n!==void 0:t==="index-only"?e!==void 0&&n===void 0:t==="worktree-only"?e===void 0&&n!==void 0:t==="process-local"&&e===void 0&&n===void 0}function ei(t){return t==="index-worktree"||t==="index-only"||t==="worktree-only"||t==="process-local"}function At(t){return t==="index-generation"||t==="repository-snapshot"||t==="live-workspace"||t==="process"}function Mt(t){return typeof t=="string"&&!Number.isNaN(Date.parse(t))}function De(t,e){return new Set(t.map(e)).size===t.length}var de=".scipquery.json";var _a=15*6e4,ja={enabled:!0,windowMs:15*6e4,maxRebuilds:2,maxEstimatedWriteBytes:1024*1024*1024};var Da=new Set(Q);function Ot(t){let e=ni(t,de);if(!ti(e))return{};let n;try{n=B(e,{maxBytes:tt,inputKind:"scip-query project config"})}catch(r){let i=r instanceof Error?r.message:String(r);throw new Error(`unable to read ${de} at ${e}: ${i}`,{cause:r})}return ri(kt(n),e,"read").config}function ri(t,e,n){if(t.kind==="legacy"||t.kind==="supported")return t;if(t.kind==="malformed"){let i=n==="read"?`invalid ${de} at ${e}: ${t.reason}`:`Cannot update ${e}: the latest project config is ${t.reason}.`;throw new Error(`${i} The file was left untouched.`)}let r=n==="read"?`invalid ${de} at ${e}`:`Cannot update ${e}: the latest project config is invalid`;throw new Error(`${r} (unsupported ${t.direction} schemaVersion ${t.schemaVersion}; this scip-query reads legacy v${L} and current v${H}). Upgrade scip-query before retrying; the file was left untouched.`)}import{spawnSync as ii}from"child_process";import{createHash as oi}from"crypto";import{existsSync as si,lstatSync as ai,realpathSync as ci}from"fs";import{dirname as ui,isAbsolute as di,join as li,relative as Ga,resolve as pe,sep as Va}from"path";var _t=Symbol.for("scip-query.project-file-listing-context.v1"),jt=globalThis,Te=jt[_t],Dt=Te&&typeof Te=="object"?Te:{};jt[_t]=Dt;function Tt(){return Dt.sequence??0}var Fe={run(t,e){let n=Lt(t,e);return n.kind==="success"?n.output:void 0},runResult:Lt},pi=["rev-parse","--show-toplevel","--absolute-git-dir","--git-common-dir","HEAD","HEAD^{tree}"],Wt=["status","--porcelain=v2","--branch","-z","--untracked-files=all"],Ne=/^[0-9a-f]{40,64}$/;function qt(t,e=Fe){return fi(t,e)?.context}function fi(t,e=Fe){let n=e.runResult(t,pi);if(n.kind==="success"){let i=yi(n.output);if(i){let o=mi(i,e);if(o)return Nt(o)}}let r=gi(t,e);return r?Nt(r):void 0}function Nt(t){return{context:t,projectFileInventorySequence:Tt()}}function Bt(t){let e=t.split("\0").filter(Boolean),n=e.find(i=>i.startsWith("# branch.oid "))?.slice(13),r=n==="(initial)"?void 0:n;if(!(r!==void 0&&!Ne.test(r))&&n!==void 0)return{headCommit:r,clean:e.every(i=>i.startsWith("# "))}}function yi(t){let e=t.split(`
|
|
3
|
+
`).map(c=>c.trim());if(e.length!==5)return;let[n,r,i,o,s]=e;if(!n||!r||!i||!o||!s||!Ne.test(o)||!Ne.test(s))return;let a=M(n);return{root:a,gitDir:M(le(a,r)),commonDir:M(le(a,i)),headCommit:o,treeOid:s}}function mi(t,e){let n=e.run(t.root,Wt);if(n===void 0)return;let r=Bt(n);return r?.headCommit!==t.headCommit?void 0:{...Gt(t.root,t.gitDir),commonDir:t.commonDir,repositoryId:We("repository",t.commonDir),headCommit:t.headCommit,treeOid:t.treeOid,clean:r.clean}}function gi(t,e){let n=Le(t,e);if(n.kind!=="worktree")return;let r=n.identity,i=r.projectRoot,o=e.run(i,["rev-parse","--git-common-dir"])?.trim();if(!o)return;let s=M(le(i,o)),a=Ft(e.run(i,["rev-parse","--verify","HEAD"])),c=Ft(e.run(i,["rev-parse","--verify","HEAD^{tree}"])),u=e.run(i,Wt);if(u===void 0)return;let l=Bt(u);if(!(!l||l.headCommit!==a))return{...r,commonDir:s,repositoryId:We("repository",s),headCommit:a,treeOid:c,clean:l.clean}}function Le(t,e=Fe){let n=e.runResult(t,["rev-parse","--show-toplevel"]);if(n.kind==="not-repository")return{kind:"non-git"};if(n.kind==="error")return n;let r=n.output.trim();if(!r)return{kind:"error",message:"Git returned an empty worktree root."};let i=M(r),o=e.run(i,["rev-parse","--absolute-git-dir"])?.trim();if(!o)return{kind:"error",message:"Git did not return an absolute worktree directory."};let s=M(le(i,o));return{kind:"worktree",identity:Gt(i,s)}}function Gt(t,e){return{projectRoot:t,gitDir:e,worktreeId:We("worktree",`${t}\0${e}`)}}function le(t,e){return di(e)?e:pe(t,e)}function M(t){try{return ci(t)}catch{return pe(t)}}function We(t,e){return oi("sha256").update(`${t}\0${e}`).digest("hex").slice(0,24)}function Ft(t){return t?.trim()||void 0}function Lt(t,e){let n=ii("git",["-C",t,...e],{encoding:"utf-8",env:{...process.env,LC_ALL:"C"},maxBuffer:52428800,stdio:["ignore","pipe","pipe"],timeout:3e4,killSignal:"SIGKILL"});if(n.status===0)return{kind:"success",output:n.stdout.trimEnd()};let i=(typeof n.stderr=="string"?n.stderr.trim():"")||n.error?.message||`git exited with status ${n.status??"unknown"}`,o=n.error?.code;return(/not a git repository/i.test(i)||o==="ENOENT"&&si(pe(t)))&&!hi(t)?{kind:"not-repository"}:{kind:"error",message:i}}function hi(t){if(process.env.GIT_DIR||process.env.GIT_COMMON_DIR)return!0;let e=pe(t);for(;;){try{return ai(li(e,".git")),!0}catch(r){let i=r.code;if(i!=="ENOENT"&&i!=="ENOTDIR")return!0}let n=ui(e);if(n===e)return!1;e=n}}function qe(){return process.env.SCIP_QUERY_PROJECT_ROOT??process.cwd()}var Vt;function $t(t=qe(),e=void 0){if(e===void 0&&Vt?.projectRoot===t)return Vt;let n=Ot(t),r=bt(t,n),i=process.env.SCIP_QUERY_INDEX_DB;if(i)return{projectRoot:t,config:n,paths:r,dbPath:i,dbPathSource:"env",gitContext:e};if(bi(r.dbPath))return{projectRoot:t,config:n,paths:r,dbPath:r.dbPath,dbPathSource:"configured",gitContext:e};let o=vi(t,"index.db");return{projectRoot:t,config:n,paths:r,dbPath:o,dbPathSource:"root-fallback",rootFallbackWarning:Ri(o,r.dbPath),gitContext:e}}function Ri(t,e){let n="unknown time";try{n=Si(t).mtime.toISOString()}catch{}return`warning: using legacy project-root index.db (${t}, modified ${n}) because the configured index was not found at ${e}. This fallback may be stale; run 'scip-query reindex' to refresh the configured index.`}import{basename as xi}from"path";function Qt(t=process.argv,e=process.execPath){let n=t[1];return!n||xi(n)==="scip-query"?["scip-query"]:[e,n]}import{spawn as co}from"child_process";import{createHash as ve,randomUUID as uo}from"crypto";import{existsSync as Qe,realpathSync as lo}from"fs";import{tmpdir as po}from"os";import{join as Ue,resolve as re}from"path";import{fileURLToPath as fo}from"url";function fe(t){return Be(t,Ii)}function Be(t,e){return Array.isArray(t)?`[${t.map(n=>Be(n,e)).join(",")}]`:t&&typeof t=="object"?`{${Object.entries(t).sort(([n],[r])=>e(n,r)).map(([n,r])=>`${JSON.stringify(n)}:${Be(r,e)}`).join(",")}}`:JSON.stringify(t)}function Ii(t,e){return t<e?-1:t>e?1:0}import{createHash as tc,randomUUID as Yt}from"crypto";import{closeSync as rc,existsSync as Y,fstatSync as ic,lstatSync as ne,mkdirSync as oc,openSync as sc,readdirSync as K,readSync as ac,renameSync as zt,rmSync as F}from"fs";import{basename as ye,dirname as wi,join as g}from"path";var me=1,ki=Object.freeze({maxItems:1024,maxBytes:512*1024*1024,maxItemBytes:64*1024*1024,maxBatch:16,claimLeaseMs:5*6e4,responseRetentionMs:10*6e4,deadLetterRetentionMs:1440*6e4,temporaryRetentionMs:6e4,cleanupBatch:64}),J=class extends Error{constructor(n,r,i,o){let s=n==="item-too-large"?`request is ${o} bytes; per-item limit is ${i.maxItemBytes}`:n==="item-capacity"?`mailbox has ${r.totalItems} retained items; limit is ${i.maxItems}`:n==="byte-capacity"?`mailbox retains ${r.totalBytes} bytes and the request adds ${o}; limit is ${i.maxBytes}`:"another writer held the admission coordinator through the bounded wait";super(`Mailbox backpressure: ${s}. Retry after the service drains or expires retained work.`);this.code=n;this.status=r;this.limits=i;this.attemptedBytes=o;this.name="MailboxBackpressureError"}code;status;limits;attemptedBytes},Pi=".owner.json",Ci={isProcessAlive:()=>!0,readProcessIdentity:()=>null};function Xt(t){return{rootDir:t,pendingDir:g(t,"pending"),inflightDir:g(t,"inflight"),responseDir:g(t,"responses"),deadLetterDir:g(t,"dead-letter"),legacyRequestDir:g(t,"requests")}}function Ei(t={}){let e={...ki,...t};for(let[n,r]of Object.entries(e))if(!Number.isFinite(r)||r<=0||!Number.isInteger(r))throw new Error(`Mailbox limit ${n} must be a positive integer.`);return e}function Zt(t){let e=[t.pendingDir,t.inflightDir,t.responseDir,t.deadLetterDir,t.legacyRequestDir].map(n=>ie(n));return q(...e)}function ge(t){if(!/^[a-f0-9]{64}$/.test(t))throw new Error("Mailbox operation keys must be lowercase SHA-256 identities.");return`op-${t}`}function en(t,e,n={}){let r=Ei(n.limits),i=n.nowMs??Date.now(),o=Zt(t);return Ni(e),Mi(t,r,n.admissionLockTimeoutMs??2e3,n.monotonicNow??A,n.durability??"durable",()=>{Ai(t,i,r);let s=g(t.pendingDir,`${e.id}.json`),a=g(t.responseDir,`${e.id}.json`),c=Ut(t,e.id);if(c){let y=Ht(c,e.operationKey,e.id);return{disposition:"duplicate",requestId:e.id,responsePath:a,authoritativeDeadlineAtMs:y.deadlineAtMs??e.deadlineAtMs}}let u=`${JSON.stringify(e)}
|
|
4
|
+
`,l=Buffer.byteLength(u),p=tn(t);if(l>r.maxItemBytes)throw new J("item-too-large",p,r,l);if(p.totalItems+1>r.maxItems)throw new J("item-capacity",p,r,l);if(p.totalBytes+l>r.maxBytes)throw new J("byte-capacity",p,r,l);n.onBeforePublish?.();try{let y=n.durability??"durable",R=we(s,u,{durability:y}),P=y==="durable"?q(o,R.directorySync):"not-requested";return{disposition:"accepted",requestId:e.id,responsePath:a,authoritativeDeadlineAtMs:e.deadlineAtMs,achievedDurability:R.achievedDurability,directorySync:P}}catch(y){if(y.code!=="EEXIST")throw y;let R=Ut(t,e.id);if(!R)throw y;let P=Ht(R,e.operationKey,e.id);return{disposition:"duplicate",requestId:e.id,responsePath:a,authoritativeDeadlineAtMs:P.deadlineAtMs??e.deadlineAtMs}}})}function Ai(t,e,n,r=Ci){let i={reclaimed:0,completedClaimsRemoved:0,responsesRemoved:0,deadLettersRemoved:0,temporaryFilesRemoved:0},o=n.cleanupBatch;for(let s of Ve(t.inflightDir)){if(o<=0)break;let a=g(t.responseDir,`${s.requestId}.json`);if(Y(a)){F(s.path,{force:!0}),i.completedClaimsRemoved++,o--;continue}if(s.claimExpiresAtMs>e||Di(t,s.ownerId,r)!=="dead")continue;let c=g(t.pendingDir,s.originalFile);try{zt(s.path,c),i.reclaimed++}catch(u){if(u.code!=="EEXIST")throw u;F(s.path,{force:!0})}_(wi(s.path)),_(t.pendingDir),o--}o=Jt(t.responseDir,o,(s,a)=>a+n.responseRetentionMs,e,()=>{i.responsesRemoved++}),o=Jt(t.deadLetterDir,o,(s,a)=>a+n.deadLetterRetentionMs,e,()=>{i.deadLettersRemoved++});for(let s of[t.pendingDir,t.inflightDir,t.responseDir,t.deadLetterDir,t.legacyRequestDir]){if(o<=0)break;for(let a of nn(s)){if(o<=0)break;if(!ye(a).includes(".tmp-"))continue;let c;try{c=ne(a).mtimeMs}catch(u){if(u.code==="ENOENT")continue;throw u}c+n.temporaryRetentionMs>e||(F(a,{force:!0}),i.temporaryFilesRemoved++,o--)}}return Fi(t.inflightDir),i}function tn(t){Zt(t);let e=[...te(t.pendingDir).map(c=>({path:c,pending:!0})),...te(t.legacyRequestDir).map(c=>({path:c,pending:!0}))],n=Ve(t.inflightDir).map(c=>({path:c.path,pending:!1})),r=te(t.responseDir).map(c=>({path:c,pending:!1})),i=te(t.deadLetterDir).map(c=>({path:c,pending:!1})),o=[...e,...n,...r,...i],s=0,a;for(let c of e){let u=$e(c.path);if(!u){s++;continue}let l=u.enqueuedAtMs;if(l===void 0)try{l=ne(c.path).mtimeMs}catch(p){if(p.code==="ENOENT")continue;throw p}a=a===void 0?l:Math.min(a,l)}return{pending:e.length,inflight:n.length,responses:r.length,deadLetters:i.length,invalid:s,totalItems:o.length,totalBytes:o.reduce((c,u)=>c+Li(u.path),0),...a===void 0?{}:{oldestPendingAt:new Date(a).toISOString()}}}function Mi(t,e,n,r,i,o){let s=g(t.rootDir,".admission.lock"),a=`${process.pid}-${Yt()}`,c=r()+Math.max(0,n);for(;!Oi(t.rootDir,s,a,i);){if(_i(s),r()>=c)throw new J("admission-busy",tn(t),e,0);Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,5)}try{return o()}finally{try{Ge(s).ownerToken===a&&(F(s,{recursive:!0,force:!0}),i==="durable"&&_(t.rootDir))}catch{}}}function Oi(t,e,n,r){let i=`${JSON.stringify({ownerToken:n,pid:process.pid,acquiredAtMs:Date.now()})}
|
|
5
|
+
`;try{return we(e,i,{durability:r}),!0}catch(o){if(o.code==="EEXIST")return!1;try{Ge(e).ownerToken===n&&(F(e,{force:!0}),r==="durable"&&_(t))}catch{}throw o}}function _i(t){let e=null;try{let r=Ge(t);typeof r.ownerToken=="string"&&Number.isSafeInteger(r.pid)&&Number(r.pid)>0&&(e=Number(r.pid))}catch{}if(e===null||ji(e))return;let n=`${t}.stale-${Yt()}`;try{zt(t,n)}catch(r){let i=r.code;if(i==="ENOENT"||i==="EEXIST")return;throw r}F(n,{recursive:!0,force:!0})}function Ge(t){try{return JSON.parse(I(t,"mailbox lock record"))}catch(e){if(e.code!=="EISDIR"&&!(e instanceof nt&&e.reason==="not-regular"))throw e;return JSON.parse(I(g(t,"owner.json"),"mailbox lock owner record"))}}function ji(t){try{return process.kill(t,0),!0}catch(e){let n=e.code;return n==="EPERM"||n!=="ESRCH"}}function Di(t,e,n){let r=Ti(g(t.inflightDir,rn(e),Pi));if(!r)return"unknown";if(!n.isProcessAlive(r.pid))return"dead";if(!r.processIdentity)return"live";let i=n.readProcessIdentity(r.pid);return i?ee(r.processIdentity,i)?"live":"dead":"unknown"}function Ti(t){try{let e=JSON.parse(I(t,"mailbox owner record"));if(e.version!==1||typeof e.ownerId!="string"||!e.ownerId||typeof e.pid!="number"||!Number.isSafeInteger(e.pid)||e.pid<=0)return null;let n=e.processIdentity===void 0?null:j(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{version:1,ownerId:e.ownerId,pid:e.pid,...n?{processIdentity:n}:{}}}catch{return null}}function Ut(t,e){for(let n of[g(t.pendingDir,`${e}.json`),g(t.legacyRequestDir,`${e}.json`),g(t.responseDir,`${e}.json`)])if(Y(n))return n;for(let n of Ve(t.inflightDir))if(n.requestId===e)return n.path;return null}function Ht(t,e,n){let r=$e(t);if(r?.operationKey===e)return r;if(ye(t)===`${ge(e)}.json`)return{id:n,operationKey:e};throw new Error(`Mailbox operation ${n} conflicts with an existing retained record.`)}function Ni(t){if(t.mailboxVersion!==me||t.id!==ge(t.operationKey)||!t.clientId.trim()||!Number.isFinite(t.enqueuedAtMs)||!Number.isFinite(t.deadlineAtMs)||t.deadlineAtMs<t.enqueuedAtMs)throw new Error("Mailbox request has an invalid lifecycle identity.")}function Ve(t){if(!Y(t))return[];let e=[];for(let n of K(t,{withFileTypes:!0})){if(!n.isDirectory())continue;let r=Kt(n.name);if(r===null)continue;let i=g(t,n.name);for(let o of K(i,{withFileTypes:!0})){if(!o.isFile()||!o.name.endsWith(".claim"))continue;let s=/^(.*)\.(\d+)\.claim$/.exec(o.name);if(!s)continue;let a=Kt(s[1]),c=Number(s[2]);if(a===null||ye(a)!==a||!a.endsWith(".json")||!Number.isSafeInteger(c))continue;let u=g(i,o.name),l=$e(u)??{id:ye(a,".json")},p;try{p=ne(u)}catch(y){if(y.code==="ENOENT")continue;throw y}e.push({requestId:l.id,ownerId:r,path:u,originalFile:a,claimedAtMs:p.mtimeMs,claimExpiresAtMs:c,byteLength:p.size,...l.operationKey?{operationKey:l.operationKey}:{},...l.clientId?{clientId:l.clientId}:{},...l.enqueuedAtMs===void 0?{}:{enqueuedAtMs:l.enqueuedAtMs},...l.deadlineAtMs===void 0?{}:{deadlineAtMs:l.deadlineAtMs},legacy:l.operationKey===void 0})}}return e.sort((n,r)=>n.claimedAtMs-r.claimedAtMs||n.path.localeCompare(r.path))}function $e(t){try{let e=JSON.parse(I(t,"mailbox record"));return typeof e.id!="string"||!e.id?null:{id:e.id,...typeof e.operationKey=="string"?{operationKey:e.operationKey}:{},...typeof e.clientId=="string"?{clientId:e.clientId}:{},...typeof e.enqueuedAtMs=="number"?{enqueuedAtMs:e.enqueuedAtMs}:{},...typeof e.deadlineAtMs=="number"?{deadlineAtMs:e.deadlineAtMs}:{}}}catch{return null}}function Jt(t,e,n,r,i){for(let o of te(t)){if(e<=0)break;let s;try{s=ne(o)}catch(a){if(a.code==="ENOENT")continue;throw a}n(o,s.mtimeMs)>r||(F(o,{force:!0}),i(),e--)}return e}function te(t){return Y(t)?K(t,{withFileTypes:!0}).filter(e=>e.isFile()).map(e=>g(t,e.name)).sort():[]}function nn(t){if(!Y(t))return[];let e=[];for(let n of K(t,{withFileTypes:!0})){let r=g(t,n.name);n.isFile()?e.push(r):n.isDirectory()&&e.push(...nn(r))}return e.sort()}function Fi(t){if(Y(t))for(let e of K(t,{withFileTypes:!0})){if(!e.isDirectory())continue;let n=g(t,e.name);K(n).some(r=>r.endsWith(".claim"))||F(n,{recursive:!0,force:!0})}}function Li(t){try{return ne(t).size}catch{return 0}}function rn(t){return Buffer.from(t,"utf8").toString("base64url")}function Kt(t){try{let e=Buffer.from(t,"base64url").toString("utf8");return rn(e)===t?e:null}catch{return null}}import{spawn as Xi}from"child_process";import{existsSync as Zi,rmSync as wc}from"fs";import{dirname as Pc,resolve as eo}from"path";import{fileURLToPath as Ec}from"url";import{join as he}from"path";var on=6,sn=1e4,Wi="watch.lock",qi="watch-state.json",Bi="watch-activity.json",Gi="watch-refresh-requests";function an(t){return{lockPath:he(t,Wi),statePath:he(t,qi),activityPath:he(t,Bi),refreshRequestsPath:he(t,Gi)}}function cn(t){try{return Vi(JSON.parse(I(t,"watch service state")))}catch{return null}}function Vi(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!h(e.startedAt)||!h(e.heartbeatAt)||!h(e.lastActivityAt)||!$i(e.watcher)||e.idleDeadlineAt!==void 0&&!h(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let n=j(e.processIdentity);if(!n||n.pid!==e.pid)return null;e.processIdentity=n}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!Qi(e.lastError)||e.lastRefresh!==void 0&&!Ui(e.lastRefresh)||e.reindexActivity!==void 0&&!Hi(e.reindexActivity)||e.refreshRequests!==void 0&&!Ki(e.refreshRequests)||e.typescriptSemantic!==void 0&&!Yi(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!zi(e.typescriptIndex)?null:e}function h(t){return oe(t)}function $i(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return b(e.changedFiles)&&b(e.reindexAt);case"indexing":return b(e.startedAt);case"cooldown":return b(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return b(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&d(e.rebuilt)&&d(e.estimatedWriteBytes);case"draining":return b(e.startedAt)&&typeof e.reason=="string";default:return!1}}function Qi(t){if(!t||typeof t!="object")return!1;let e=t;return h(e.at)&&typeof e.message=="string"}function Ui(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&h(e.startedAt)&&h(e.completedAt)&&b(e.durationMs)}function Hi(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!d(e.recordsRead)||e.invalidRecords!==void 0&&!d(e.invalidRecords)||e.skippedRecords!==void 0&&!d(e.skippedRecords)||e.readErrors!==void 0&&!d(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!d(e.ignoredPartialTailBytes)||!h(e.windowStartedAt)||!h(e.windowEndedAt)||!d(e.runs)||!d(e.rebuilt)||e.fullRebuilds!==void 0&&!d(e.fullRebuilds)||!d(e.reused)||!d(e.failed)||!d(e.suppressed)||!b(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!d(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!d(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!d(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!h(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!h(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!d(e.attributedRuns)||e.unattributedRuns!==void 0&&!d(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!d(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!Ji(e.byLanguage)?!1:Object.values(e.byTrigger).every(n=>n===void 0||d(n))}function Ji(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,n]of Object.entries(t)){if(!Q.includes(e)||!n||typeof n!="object")return!1;let r=n;if(!d(r.runs)||!d(r.rebuilt)||!d(r.reused)||!d(r.producedOutputBytes)||!ot(r.durationMs)||r.rebuilt+r.reused!==r.runs)return!1}return!0}function Ki(t){if(!t||typeof t!="object")return!1;let e=t;return d(e.pending)&&d(e.claimed)&&d(e.completed)&&d(e.expired)&&d(e.invalid)&&(e.oldestPendingAt===void 0||h(e.oldestPendingAt))}function Yi(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&b(e.requests)&&b(e.sessionsCreated)&&b(e.sessionsReused)&&b(e.sessionsRefreshed)&&b(e.sessionsReplaced)&&b(e.projectsCreated)&&(e.lastRequestAt===void 0||h(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||h(e.busyUntil))&&(e.mailbox===void 0||un(e.mailbox))}function zi(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&d(e.requests)&&d(e.sessionsCreated)&&d(e.sessionsReplaced)&&(e.sessionsEvicted===void 0||d(e.sessionsEvicted))&&(e.activeSessions===void 0||d(e.activeSessions))&&(e.maxActiveSessions===void 0||d(e.maxActiveSessions))&&(e.heapUsedBytes===void 0||d(e.heapUsedBytes))&&(e.heapLimitBytes===void 0||d(e.heapLimitBytes))&&(e.softMemoryLimitBytes===void 0||d(e.softMemoryLimitBytes))&&(e.retireRequested===void 0||typeof e.retireRequested=="boolean")&&d(e.initializations)&&d(e.programUpdates)&&d(e.documentsEmitted)&&d(e.documentsRemoved)&&(e.lastRequestAt===void 0||h(e.lastRequestAt))&&(e.lastDurationMs===void 0||b(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||h(e.busyUntil))&&(e.mailbox===void 0||un(e.mailbox))}function un(t){if(!t||typeof t!="object")return!1;let e=t;return d(e.pending)&&d(e.inflight)&&d(e.responses)&&d(e.deadLetters)&&d(e.invalid)&&d(e.totalItems)&&b(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||h(e.oldestPendingAt))}function b(t){return typeof t=="number"&&Number.isFinite(t)}function dn(t){let e=t.classification;if(e.kind!=="live")return;let{state:n}=e;return n.watcher.state==="idle"&&n.lastError===void 0?n.indexGeneration:void 0}function to(t,e,n){let r=M(eo(t));if(n&&M(n.projectRoot)===r)return{projectRoot:r,worktreeKind:"git",worktreeId:n.worktreeId,cliVersion:e};let i=Le(r);if(i.kind==="error")throw new Error(`Could not establish Git worktree identity for ${r}: ${i.message}`);return i.kind==="non-git"?{projectRoot:r,worktreeKind:"non-git",cliVersion:e}:{projectRoot:r,worktreeKind:"git",worktreeId:i.identity.worktreeId,cliVersion:e}}function ln(t){return no(t,to(t.projectRoot,t.cliVersion,t.gitContext))}function no(t,e){let n=t.runtime??ao,r=an(t.cacheDir),i=cn(r.statePath),o=ro(r.lockPath);return{identity:e,classification:so(i,e,n.now(),n.isProcessAlive),lock:o,lockIsLive:o!==null&&n.isProcessAlive(o.pid),paths:r}}function ro(t){return oo(st(t,{parseLegacy:io}))}var io=t=>{let e=pn(t);return e?{pid:e.pid,...e.processIdentity?{processIdentity:e.processIdentity}:{}}:null};function oo(t){if(t.state==="valid"&&t.record?.kind==="watch"){let e=t.record.detail?.projectRoot;return typeof e!="string"?null:{version:1,pid:t.record.pid,...t.record.processIdentity?{processIdentity:t.record.processIdentity}:{},projectRoot:e,startedAt:t.record.startedAt}}return pn(t.parsed)}function pn(t){try{let e=t;if(e.version!==1||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||!h(e.startedAt))return null;let n=e.processIdentity===void 0?null:j(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{version:1,pid:e.pid,...n?{processIdentity:n}:{},projectRoot:e.projectRoot,startedAt:e.startedAt}}catch{return null}}function so(t,e,n,r){if(!t)return{kind:"stopped"};if(t.protocolVersion!==on)return{kind:"incompatible",state:t,reason:"protocol"};if(t.projectRoot!==e.projectRoot)return{kind:"incompatible",state:t,reason:"project"};let i=e.worktreeKind==="git"?e.worktreeId:void 0;if(t.worktreeId!==i)return{kind:"incompatible",state:t,reason:"worktree"};if(t.cliVersion!==e.cliVersion)return{kind:"incompatible",state:t,reason:"cli-version"};if(!r(t.pid))return{kind:"stale",state:t,reason:"dead-process"};let o=Date.parse(t.heartbeatAt);return n-o>sn?{kind:"stale",state:t,reason:"old-heartbeat"}:{kind:"live",state:t}}var ao={now:Date.now,monotonicNow:A,isProcessAlive:V,readProcessIdentity:G,spawnServer(t,e,n,r){if(!Zi(t))throw new Error(`Watch service helper was not found at ${t}. Run npm run build first.`);Xi(process.execPath,[t,e,n,JSON.stringify(r)],{detached:!0,stdio:"ignore",env:{...process.env,SCIP_QUERY_SKIP_WATCH_SERVICE:"1"}}).unref()},signalProcess(t){process.kill(t,"SIGTERM")},forceSignalProcess(t){process.kill(t,"SIGKILL")},sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)}};var W=18,yo=1e3,mo=2*yo,go=4,ho=4,bo=5,So=3,vo=3,Ro=4,xo=3,Io=3,wo=8,fn=3e4,ko=5e3,mn=5,Po=10,Co=1,Eo=5,He=64*1024*1024,Ao={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:He,maxBatch:1,responseRetentionMs:6e4};function gn(t,e,n={},r={}){return m(t,i=>({kind:"source-search",expectedGeneration:i,pattern:e,options:n}),as,"search result",r)}function hn(t,e,n={}){return m(t,r=>({kind:"outline",expectedGeneration:r,filePattern:e}),To,"outline result",n)}function bn(t,e={},n={}){return m(t,r=>({kind:"entrypoints",expectedGeneration:r,options:e}),No,"entrypoints result",n)}function Sn(t,e,n={}){return m(t,r=>({kind:"files",expectedGeneration:r,pattern:e}),Fo,"files result",n)}function vn(t,e={}){return m(t,n=>({kind:"stats",expectedGeneration:n}),Lo,"stats result",e)}function Rn(t,e,n={}){return m(t,r=>({kind:"members",expectedGeneration:r,symbolPattern:e}),Wo,"members result",n)}function xn(t,e,n={}){return m(t,r=>({kind:"methods",expectedGeneration:r,className:e}),qo,"methods result",n)}function In(t,e,n,r={}){return m(t,i=>({kind:"file-dependencies",expectedGeneration:i,direction:e,filePattern:n}),Bo,"file dependencies result",r)}function wn(t,e,n={}){return m(t,r=>({kind:"imported-by",expectedGeneration:r,symbolPattern:e}),Wn,"imported-by result",n)}function kn(t,e,n={}){return m(t,r=>({kind:"hierarchy",expectedGeneration:r,symbolPattern:e}),Qo,"hierarchy result",n)}function Pn(t,e,n={}){return m(t,r=>({kind:"by-kind",expectedGeneration:r,kindQuery:e}),Ho,"by-kind result",n)}function Cn(t,e={}){return m(t,n=>({kind:"kind-counts",expectedGeneration:n}),Ko,"kind-counts result",e)}function En(t,e,n={}){return m(t,r=>({kind:"refs",expectedGeneration:r,symbolPattern:e}),zo,"refs result",n)}function An(t,e,n={}){return m(t,r=>({kind:"trace",expectedGeneration:r,symbolPattern:e}),z,"trace result",n)}function Mn(t,e,n={}){return m(t,r=>({kind:"value-flow",expectedGeneration:r,symbolPattern:e}),z,"value-flow result",n)}function On(t,e,n={}){return m(t,r=>({kind:"dependence-slice",expectedGeneration:r,criterion:e}),z,"dependence-slice result",n)}function _n(t,e,n,r={}){return m(t,i=>({kind:e,expectedGeneration:i,symbolPattern:n}),z,`${e} result`,r)}function jn(t,e,n={}){return m(t,r=>({kind:"system",expectedGeneration:r,modulePattern:e}),z,"system result",n)}function Dn(t,e,n={}){return m(t,r=>({kind:"imports",expectedGeneration:r,filePattern:e}),Wn,"imports result",n)}function Tn(t,e,n={}){return m(t,r=>({kind:"unused-imports",expectedGeneration:r,filePattern:e}),Go,"unused imports result",n)}function Nn(t,e,n={}){return m(t,r=>({kind:"surface",expectedGeneration:r,modulePattern:e}),Zo,"surface result",n)}function Fn(t,e,n,r={}){return m(t,i=>({kind:"code",expectedGeneration:i,selectors:[...e],options:n}),z,"serialized code result",r)}function m(t,e,n,r,i){if(!ds(i.allowDefault===!0))return null;try{let o=i.allowDefault===!0&&process.env.SCIP_QUERY_QUERY_SERVICE!=="1",s=o?qt(t):void 0,a=$t(t,s);if(!Qe(a.dbPath))return null;let c=wt(a.dbPath);if(!c||o&&!Mo(a,s,c))return null;let u=_o({projectRoot:a.projectRoot,dbPath:a.dbPath,generationIdentity:c},e(c),n,r);return{result:u.result,generationIdentity:c,observationReceipt:u.observationReceipt}}catch(o){return qn()&&console.error(`query-service fallback: ${o instanceof Error?o.message:String(o)}`),null}}function Mo(t,e,n){if(t.config.watch?.enabled!==!0)return!1;try{return dn(ln({projectRoot:t.projectRoot,cacheDir:t.paths.cacheDir,cliVersion:$,gitContext:e}))===n}catch{return!1}}function Ln(t){return ve("sha256").update(fe({kind:"scip-query-service-mailbox",protocolVersion:W,sessionDir:re(t)})).digest("hex")}function be(t){let e=Ue(t,"server.json");try{let n=JSON.parse(B(e,{maxBytes:65536,inputKind:"query service state"}));if(!n||typeof n!="object"||Array.isArray(n))return null;let r=n,i=r.processIdentity===void 0?void 0:j(r.processIdentity);return r.protocolVersion!==W||typeof r.sessionIdentity!="string"||r.sessionIdentity!==Ln(t)||typeof r.pid!="number"||!Number.isSafeInteger(r.pid)||r.pid<=0||r.processIdentity!==void 0&&(!i||i.pid!==r.pid)||typeof r.generation!="string"||typeof r.heartbeatAtMs!="number"||!Number.isFinite(r.heartbeatAtMs)?null:{protocolVersion:W,sessionIdentity:r.sessionIdentity,pid:r.pid,...i?{processIdentity:i}:{},generation:r.generation,heartbeatAtMs:r.heartbeatAtMs}}catch{return null}}function Se(t,e=Date.now()){if(!V(t.pid))return!1;let n=e-t.heartbeatAtMs;if(n>=0&&n<=mo||!t.processIdentity)return!0;let r=G(t.pid);return r!==null&&ee(t.processIdentity,r)}function Oo(t){let e=t<Po;return{intervalMs:e?Co:mn,checkServerState:!e||t%Eo===0}}function _o(t,e,n,r){let i=us();if(!Qe(i))throw new Error("Query service server executable is unavailable.");let o=Math.abs(process.pid)%ps(e),s=cs(t,i,o),a=Xt(s),c=Date.now(),u=c+fn,l=A()+fn,p=uo(),y=jo(p,e),R=ge(y),P=Ln(s),x=en(a,{mailboxVersion:me,protocolVersion:W,id:R,operationKey:y,clientId:p,enqueuedAtMs:c,deadlineAtMs:u,sessionIdentity:P,request:e},{nowMs:c,limits:Ao,durability:"visibility"});yn(s,t.projectRoot,i,l);let Ye=0;for(;A()<=l;){if(Qe(x.responsePath))return Do(B(x.responsePath,{maxBytes:He,inputKind:"query service response"}),{id:R,operationKey:y,clientId:p,deadlineAtMs:x.authoritativeDeadlineAtMs,generation:t.generationIdentity},n,r);let ze=Oo(Ye);if(ze.checkServerState){let Xe=be(s);(!Xe||!Se(Xe))&&yn(s,t.projectRoot,i,l)}Bn(ze.intervalMs),Ye+=1}throw new Error("Persistent query service timed out.")}function jo(t,e){return ve("sha256").update(fe({namespace:"query-service-v18",payload:{clientId:t,request:e}})).digest("hex")}function yn(t,e,n,r){let i=be(t);if(i&&Se(i))return;let o=Math.min(r,A()+ko),s=Ie(Ue(t,"startup.lock"),{kind:"query-service-startup",detail:{projectRoot:re(e)},directoryDurability:"recoverable"});try{if(s.kind==="acquired"){let a=be(t);if(!a||!Se(a)){let c=qn();co(process.execPath,[n,t,e],{cwd:e,detached:!c,stdio:c?["ignore","ignore","inherit"]:"ignore",env:{...process.env,SCIP_QUERY_QUERY_SERVICE_SERVER:"1"}}).unref()}}for(;A()<=o;){let a=be(t);if(a&&Se(a))return;Bn(mn)}}finally{s.kind==="acquired"&&s.lock.release()}throw new Error("Persistent query service did not become ready within 5s.")}function Do(t,e,n,r){let i=JSON.parse(t);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid query service response.");let o=i;if(o.mailboxVersion!==me||o.protocolVersion!==W||o.id!==e.id||o.operationKey!==e.operationKey||o.clientId!==e.clientId||o.deadlineAtMs!==e.deadlineAtMs)throw new Error("Query service response identity does not match the request.");if(o.ok!==!0)throw new Error(typeof o.error=="string"?o.error:"Persistent query service rejected the request.");if(o.generation!==e.generation)throw new Error("Persistent query service generation changed.");if(!n(o.result))throw new Error(`Persistent query service returned an invalid ${r}.`);let s=Et(o.observationReceipt);if(s.kind!=="supported")throw new Error("Persistent query service returned an invalid observation receipt.");return{ok:!0,protocolVersion:W,id:e.id,generation:e.generation,result:o.result,observationReceipt:s.receipt}}function To(t){if(!Array.isArray(t))return!1;let e=[...t];for(;e.length>0;){let n=e.pop();if(!n||typeof n!="object"||Array.isArray(n))return!1;let r=n;if(typeof r.symbol!="string"||typeof r.shortName!="string"||!Number.isSafeInteger(r.startLine)||r.startLine<0||!Number.isSafeInteger(r.endLine)||r.endLine<r.startLine||r.signature!==null&&typeof r.signature!="string"||!Array.isArray(r.children))return!1;e.push(...r.children)}return!0}function No(t){return Array.isArray(t)?t.every(e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=e;return typeof n.symbol=="string"&&typeof n.shortName=="string"&&typeof n.file=="string"&&Number.isSafeInteger(n.startLine)&&n.startLine>=0&&Number.isSafeInteger(n.endLine)&&n.endLine>=n.startLine&&(n.documentation===null||typeof n.documentation=="string")&&(n.confidence==="root"||n.confidence==="candidate")&&Array.isArray(n.evidence)&&n.evidence.every(r=>typeof r=="string")&&Number.isSafeInteger(n.indexedCallerCount)&&n.indexedCallerCount>=0}):!1}function Fo(t){return Array.isArray(t)?t.every(e=>!e||typeof e!="object"||Array.isArray(e)?!1:typeof e.relativePath=="string"):!1}function Lo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return S(e.documents)&&S(e.symbols)&&S(e.definitions)&&S(e.references)&&S(e.indexSizeBytes)&&(e.lastBuilt===null||typeof e.lastBuilt=="string")}function Wo(t){if(!Je(t))return!1;let e=t.members;return Array.isArray(e)&&e.every(ts)}function Je(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return e.matched===!1?e.resolved===void 0&&e.otherMatches===void 0&&e.totalMatches===void 0&&Array.isArray(e.suggestions)&&e.suggestions.every(n=>typeof n=="string"):e.matched===!0&&is(e.resolved)&&Array.isArray(e.otherMatches)&&e.otherMatches.every(os)&&S(e.totalMatches)&&e.totalMatches>=1&&e.suggestions===void 0}function qo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.query!="string"?!1:e.kind==="missing"?Array.isArray(e.suggestions)&&e.suggestions.every(n=>typeof n=="string"):e.kind==="ambiguous"?S(e.total)&&e.total>1&&Array.isArray(e.candidates)&&e.candidates.every(ss):e.kind==="matched"&&rs(e.owner)&&Array.isArray(e.methods)&&e.methods.every(ns)}function Bo(t){return Array.isArray(t)?t.every(e=>{if(!e||typeof e!="object"||Array.isArray(e))return!1;let n=e;return typeof n.relativePath=="string"&&(n.edgeBasis===void 0||n.edgeBasis==="symbol-references")&&(n.evidence===void 0||n.evidence==="cross-file SCIP references plus resolved source imports")}):!1}function Wn(t){return Array.isArray(t)&&t.every($o)}function Go(t){return Array.isArray(t)&&t.every(Vo)}function Vo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.importedIn=="string"}function $o(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.fromFile=="string"}function Qo(t){if(!Je(t))return!1;let e=t.hierarchy;return Array.isArray(e)&&e.every(Uo)}function Uo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&S(e.depth)}function Ho(t){return Array.isArray(t)&&t.every(Jo)}function Jo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&S(e.kind)&&typeof e.kindName=="string"&&typeof e.relativePath=="string"&&Re(e)}function Ko(t){return Array.isArray(t)&&t.every(Yo)}function Yo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return S(e.kind)&&typeof e.kindName=="string"&&S(e.count)}function zo(t){if(!Je(t))return!1;let e=t,n=e.references,r=e.pagination;if(!Array.isArray(n)||!n.every(Xo)||!r||typeof r!="object"||Array.isArray(r))return!1;let i=r;return i.cursorVersion===2&&i.producer==="complete-only"&&typeof i.semanticEnrichment=="boolean"}function Xo(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.relativePath=="string"&&S(e.line)}function Zo(t){return Array.isArray(t)&&t.every(es)}function es(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.consumer=="string"&&typeof e.symbol=="string"&&typeof e.shortName=="string"&&e.basis==="external-reference"}function ts(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.kind=="string"&&Re(e)}function ns(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.name=="string"&&Re(e)}function rs(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"&&Re(e)}function is(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"}function os(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.shortName=="string"&&typeof e.relativePath=="string"&&S(e.startLine)&&e.symbol===void 0}function ss(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.symbol=="string"&&typeof e.shortName=="string"&&typeof e.relativePath=="string"&&S(e.startLine)}function Re(t){return S(t.startLine)&&S(t.endLine)&&t.endLine>=t.startLine}function S(t){return Number.isSafeInteger(t)&&t>=0}function as(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return typeof e.pattern=="string"&&(e.mode==="literal"||e.mode==="regexp")&&Array.isArray(e.matches)&&typeof e.matchingLines=="number"&&Number.isSafeInteger(e.matchingLines)&&e.matchingLines>=0&&typeof e.omittedMatches=="number"&&Number.isSafeInteger(e.omittedMatches)&&e.omittedMatches>=0&&typeof e.scannedFiles=="number"&&Number.isSafeInteger(e.scannedFiles)&&e.scannedFiles>=0}function z(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;if(typeof e.serializedJson!="string"||typeof e.sha256!="string"||e.serializedJson.length>He||ve("sha256").update(e.serializedJson).digest("hex")!==e.sha256)return!1;try{let n=JSON.parse(e.serializedJson);return n!==null&&typeof n=="object"&&!Array.isArray(n)}catch{return!1}}function cs(t,e,n){let r=fs(t.projectRoot),i=ve("sha256").update(fe({protocolVersion:W,projectRoot:r,dbPath:re(t.dbPath),serverPath:re(e),lane:n})).digest("hex");return Ue(po(),"scip-query-query-service",i)}function us(){return process.env.SCIP_QUERY_QUERY_SERVICE_SERVER_PATH??fo(new URL("./query-service-server.js",import.meta.url))}function ds(t){let e=process.env.SCIP_QUERY_QUERY_SERVICE;return process.env.SCIP_QUERY_QUERY_SERVICE_SERVER!=="1"&&e!=="0"&&(e==="1"||t)}function qn(){return process.env.SCIP_QUERY_QUERY_SERVICE_DEBUG==="1"}function ls(){let t=Number(process.env.SCIP_QUERY_QUERY_SERVICE_POOL_SIZE);return Number.isInteger(t)&&t>=1&&t<=wo?t:go}function ps(t){let e=ls();return t.kind==="value-flow"?Math.min(e,xo):t.kind==="dependence-slice"?Math.min(e,Io):t.kind==="call-graph"?Math.min(e,So):t.kind==="system"?Math.min(e,Ro):t.kind==="reference-reachability"||t.kind==="slice"?Math.min(e,vo):t.kind==="refs"||t.kind==="trace"||t.kind==="reference-neighborhood"||t.kind==="dataflow"||t.kind==="imports"||t.kind==="unused-imports"?Math.min(e,bo):t.kind==="imported-by"||t.kind==="hierarchy"||t.kind==="by-kind"||t.kind==="kind-counts"?Math.min(e,ho):e}function fs(t){try{return lo.native(t)}catch{return re(t)}}function Bn(t){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,t)}async function uu(t){if(process.env.SCIP_QUERY_PROFILE==="1"||process.env.SCIP_QUERY_PROFILE==="true")return!1;let e=ys(t);if(!e)return!1;let n=qe();if(e.kind==="code"){try{at(n,"code",e.session)}catch{return!1}let i=Fn(n,e.selectors,e.options,{allowDefault:!0});return i?(O(i.result.serializedJson),!0):!1}if(e.kind==="files"){let i=Sn(n,e.pattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="members"){let i=Rn(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="methods"){let i=xn(n,e.className,{allowDefault:!0});return!i||!X(i.result)?!1:(i.result.kind!=="matched"&&(process.exitCode=1),!0)}if(e.kind==="file-dependencies"){let i=In(n,e.direction,e.filePattern,{allowDefault:!0});if(!i)return!1;let o=e.direction==="outgoing"?"deps":"rdeps";return await w(JSON.stringify(i.result),o,t),!0}if(e.kind==="imported-by"){let i=wn(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="hierarchy"){let i=kn(n,e.symbolPattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="by-kind"){let i=Pn(n,e.kindQuery,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="kind-counts"){let i=Cn(n,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="refs"){let i=En(n,e.symbolPattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="trace"){let i=An(n,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="value-flow"){let i=Mn(n,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="dependence-slice"){let i=On(n,e.criterion,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="call-graph"||e.kind==="reference-neighborhood"||e.kind==="reference-reachability"||e.kind==="slice"||e.kind==="dataflow"){let i=_n(n,e.kind,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="imports"){let i=Dn(n,e.filePattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="unused-imports"){let i=Tn(n,e.filePattern,{allowDefault:!0});return!(!i||!X(i.result))}if(e.kind==="system"){let i=jn(n,e.modulePattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="surface"){let i=Nn(n,e.modulePattern,{allowDefault:!0});return i?(await w(JSON.stringify(i.result),e.kind,t),!0):!1}if(e.kind==="stats"){let i=vn(n,{allowDefault:!0});return i?(O(JSON.stringify(i.result)),!0):!1}if(e.kind==="entrypoints"){let i=bn(n,e.options,{allowDefault:!0});return i?(O(JSON.stringify(i.result)),!0):!1}let r=e.kind==="source-search"?gn(n,e.pattern,e.options,{allowDefault:!0}):hn(n,e.filePattern,{allowDefault:!0});return r?(O(JSON.stringify(r.result)),!0):!1}function ys(t){return t[0]==="search"?Os(t):t[0]==="outline"?_s(t):t[0]==="code"?Ms(t):t[0]==="entrypoints"?As(t):t[0]==="files"?Es(t):t[0]==="stats"?$n(t,"stats"):t[0]==="kind-counts"?$n(t,"kind-counts"):t[0]==="members"?Gn(t,"members"):t[0]==="methods"?Gn(t,"methods"):t[0]==="deps"?Vn(t,"outgoing"):t[0]==="rdeps"?Vn(t,"incoming"):t[0]==="imported-by"?ms(t):t[0]==="hierarchy"?gs(t):t[0]==="by-kind"?hs(t):t[0]==="refs"?bs(t):t[0]==="trace"?Ss(t):t[0]==="value-flow"?vs(t):t[0]==="dependence-slice"?Rs(t):t[0]==="call-graph"||t[0]==="reference-neighborhood"||t[0]==="reference-reachability"||t[0]==="slice"||t[0]==="dataflow"?xs(t):t[0]==="imports"?Is(t):t[0]==="unused-imports"?ws(t):t[0]==="system"?ks(t):t[0]==="surface"?Ps(t):null}function Gn(t,e){let n=v(t);return n===null?null:e==="members"?{kind:e,symbolPattern:n}:{kind:e,className:n}}function Vn(t,e){let n=v(t);return n===null?null:{kind:"file-dependencies",direction:e,filePattern:n}}function ms(t){let e=v(t);return e===null?null:{kind:"imported-by",symbolPattern:e}}function gs(t){let e=v(t);return e===null?null:{kind:"hierarchy",symbolPattern:e}}function hs(t){let e=v(t);return e===null?null:{kind:"by-kind",kindQuery:e}}function bs(t){let e=v(t);return e===null?null:{kind:"refs",symbolPattern:e}}function Ss(t){let e=v(t);return e===null?null:{kind:"trace",symbolPattern:e}}function vs(t){let e=v(t);return e===null?null:{kind:"value-flow",symbolPattern:e}}function Rs(t){let e=v(t);return e===null?null:{kind:"dependence-slice",criterion:e}}function xs(t){let e=t[0];if(e!=="call-graph"&&e!=="reference-neighborhood"&&e!=="reference-reachability"&&e!=="slice"&&e!=="dataflow")return null;let n=v(t);return n===null?null:{kind:e,symbolPattern:n}}function Is(t){let e=v(t);return e===null?null:{kind:"imports",filePattern:e}}function ws(t){let e=v(t);return e===null?null:{kind:"unused-imports",filePattern:e}}function ks(t){let e=v(t);return e===null?null:{kind:"system",modulePattern:e}}function Ps(t){let e=v(t);return e===null?null:{kind:"surface",modulePattern:e}}function v(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s.startsWith("-")||e!==void 0)return null;e=s}return!n||!r||!i||e===void 0?null:e}function X(t){return Cs(JSON.stringify(t))}function Cs(t){return Qn(t)?(O(t),!0):!1}async function w(t,e,n){if(Qn(t)){O(t);return}let{runWithCliOutputPagination:r}=await import("./output-pagination-3OFL2MJV.js");await r({command:e,producerVersion:$,invocationPrefix:Qt(),argv:[...n],cwd:process.cwd(),json:!0,sourceSession:!0,reemitSource:!1},()=>O(t))}function Qn(t){return Buffer.byteLength(t)+1<=Ze}function Es(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s.startsWith("-")||e!==void 0)return null;e=s}return!n||!r||!i||e===void 0?null:{kind:"files",pattern:e}}function $n(t,e){let n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}return null}return n&&r&&i?{kind:e}:null}function As(t){let e,n,r=!1,i=!1,o=!1;for(let s=1;s<t.length;s+=1){let a=t[s];if(a==="--"){let u=t.slice(s+1);if(u.length!==1||e!==void 0)return null;e=u[0];break}if(a==="--json"){r=!0;continue}if(a==="--result-only"){i=!0;continue}if(a==="--compact"){o=!0;continue}let c=Z(t,s,a,"--scope","-s");if(c){n=c.value,s=c.nextIndex;continue}if(a.startsWith("-")||e!==void 0)return null;e=a}return!r||!i||!o?null:{kind:"entrypoints",options:{...e===void 0?{}:{search:e},...n===void 0?{}:{scope:n}}}}function Ms(t){let e=[],n=0,r="exported",i=!0,o=!1,s=!1,a=!1;for(let c=1;c<t.length;c+=1){let u=t[c];if(u==="--"){e.push(...t.slice(c+1));break}if(u==="--json"){o=!0;continue}if(u==="--result-only"){s=!0;continue}if(u==="--compact"){a=!0;continue}if(u==="--no-session"){i=!1;continue}let l=Z(t,c,u,"--context","-C");if(l){let y=Ke(l.value,0);if(y===null)return null;n=y,c=l.nextIndex;continue}let p=Z(t,c,u,"--members");if(p){if(p.value!=="exported"&&p.value!=="all")return null;r=p.value,c=p.nextIndex;continue}if(u.startsWith("-"))return null;e.push(u)}return!o||!s||!a||e.length<1||e.length>24||e.some(c=>c.length===0)?null:{kind:"code",selectors:e,options:{context:n,members:r},session:i}}function Os(t){let e,n,r=2,i=6,o=!1,s=!1,a=!1,c=!1,u=!1;for(let l=1;l<t.length;l+=1){let p=t[l];if(p==="--"){let x=t.slice(l+1);if(x.length!==1||e!==void 0)return null;e=x[0];break}if(p==="--json"){a=!0;continue}if(p==="--result-only"){c=!0;continue}if(p==="--compact"){u=!0;continue}if(p==="--regexp"){o=!0;continue}if(p==="--ignore-case"||p==="-i"){s=!0;continue}let y=Z(t,l,p,"--scope","-s");if(y){n=y.value,l=y.nextIndex;continue}let R=Z(t,l,p,"--context","-C");if(R){let x=Ke(R.value,0);if(x===null)return null;r=x,l=R.nextIndex;continue}let P=Z(t,l,p,"--limit","-n");if(P){let x=Ke(P.value,1);if(x===null)return null;i=x,l=P.nextIndex;continue}if(p.startsWith("-")||e!==void 0)return null;e=p}return!a||!c||!u||e===void 0?null:{kind:"source-search",pattern:e,options:{scope:n,context:r,limit:i,regexp:o,ignoreCase:s,ranking:"structural"}}}function _s(t){let e,n=!1,r=!1,i=!1;for(let o=1;o<t.length;o+=1){let s=t[o];if(s==="--"){let a=t.slice(o+1);if(a.length!==1||e!==void 0)return null;e=a[0];break}if(s==="--json"){n=!0;continue}if(s==="--result-only"){r=!0;continue}if(s==="--compact"){i=!0;continue}if(s!=="--signatures"){if(s.startsWith("-")||e!==void 0)return null;e=s}}return!n||!r||!i||e===void 0?null:{kind:"outline",filePattern:e}}function Z(t,e,n,r,i){if(n.startsWith(`${r}=`))return{value:n.slice(r.length+1),nextIndex:e};if(n!==r&&(i===void 0||n!==i))return null;let o=t[e+1];return o===void 0?null:{value:o,nextIndex:e+1}}function Ke(t,e){if(!/^\d+$/.test(t))return null;let n=Number(t);return Number.isSafeInteger(n)&&n>=e?n:null}export{ys as parseFastPathInvocation,Qn as serializedJsonFitsClientBudget,uu as tryRunQueryServiceFastPath};
|
|
6
6
|
//# sourceMappingURL=query-service-fastpath.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"./chunk-
|
|
1
|
+
import"./chunk-EWWY2ZFL.js";import"./chunk-XFMVKFSF.js";import"./chunk-GPGRZJ3R.js";import"./chunk-DJAO2OZJ.js";import"./chunk-D2MVJSP4.js";import"./chunk-26CT72HM.js";import"./chunk-GDRJB3SB.js";import"./chunk-F24QUEQP.js";import"./chunk-DPWKKNKI.js";import"./chunk-IKVNEGTW.js";import"./chunk-RHHCLWQ6.js";import"./chunk-JAT6C3VX.js";import"./chunk-7U2YQSDE.js";import"./chunk-VZ7NXSHV.js";import"./chunk-3TNRNKAT.js";import{a as O}from"./chunk-6YTSKJJ3.js";import"./chunk-R6M456QG.js";import"./chunk-GQIDEID3.js";import"./chunk-7KCZELVM.js";import{a as ye}from"./chunk-TUQIPUDS.js";import"./chunk-XN22RGSR.js";import{c as M}from"./chunk-7KSO2OAP.js";import"./chunk-TH6IC56G.js";import"./chunk-56NQAEPJ.js";import"./chunk-Q55NF3ZG.js";import"./chunk-5YRQIE2B.js";import{h as he}from"./chunk-RNKPYYYE.js";import"./chunk-UDY7MIAW.js";import{d as be}from"./chunk-SVHTMVA4.js";import"./chunk-BGBBVSH4.js";import"./chunk-6NC3YSPY.js";import"./chunk-MTDBHTSF.js";import{b as Re}from"./chunk-IXESDH3J.js";import{b as ge,c as Se}from"./chunk-OXYAWIEA.js";import"./chunk-BYDAFMSR.js";import"./chunk-RYOYJMGF.js";import"./chunk-FKGQOTKD.js";import{a as I,b as re}from"./chunk-FELGD32K.js";import"./chunk-2XCGSDIT.js";import"./chunk-WRQXLNYE.js";import"./chunk-T6QD2ZQB.js";import"./chunk-EELPBR7E.js";import"./chunk-YUKYB54I.js";import"./chunk-BJT7LSPK.js";import{d as ue}from"./chunk-WSLEJSFR.js";import"./chunk-VUSKPCUB.js";import"./chunk-F4FNK44D.js";import"./chunk-HCVJR2V4.js";import{a as fe}from"./chunk-CBBHFNLX.js";import"./chunk-EETGXQY7.js";import"./chunk-C76O5MDS.js";import"./chunk-TQZV7KV4.js";import{A as J,B as X,R as ee,Y as te,b as K,c as Y,j as A}from"./chunk-C7IJMOFP.js";import"./chunk-YXPUP5G2.js";import{c as k,h as Z}from"./chunk-DRENNWRG.js";import{a as me}from"./chunk-AUY5BL74.js";import"./chunk-MXNGIEPU.js";import"./chunk-BVFYEEBH.js";import"./chunk-JHH5SCZ3.js";import{a as pe,b as g}from"./chunk-QWKHW6VZ.js";import{a as de}from"./chunk-DHEQMPLW.js";import"./chunk-ENWQWA2R.js";import"./chunk-WN3TCGJ4.js";import{b as W,d as z}from"./chunk-DKM723YF.js";import{d as Q}from"./chunk-K3XFWJI2.js";import"./chunk-NRBNAECH.js";import{b as q}from"./chunk-IW5XQG5G.js";import{b as U}from"./chunk-57N6LN2A.js";import{a as B,c as $,d as G,e as ne,f as ie,i as oe,j as se,n as ae,o as ce,p as _,q as le}from"./chunk-JT6XX7QY.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import{c as P,d as C,e as F}from"./chunk-SB25YMEQ.js";import{T as V,o as j}from"./chunk-AK3PYTIK.js";import{createHash as h,randomUUID as Et}from"crypto";import{rmSync as Ct}from"fs";import{join as Fe,resolve as qe}from"path";import{pathToFileURL as It}from"url";function xe(e,t,i,o,u=!1){let r=[...e],n=[],s=new Set,c=0;for(;r.length>0&&n.length<t;){let a=r.filter(d=>c+d.evidenceCharacters<=i||u&&n.length===0);if(a.length===0)break;let l=a.filter(d=>d.roles.includes("location")||d.roles.includes("definition")).sort(o);a.sort((d,f)=>ve(f,s)-ve(d,s)||o(d,f));let p=l[0]??a[0];n.push(p),c+=p.evidenceCharacters;for(let d of Ee(p))s.add(d.key);r.splice(r.indexOf(p),1)}return{selected:n,omitted:r.sort(o)}}function ve(e,t){let i=Ee(e).reduce((r,n)=>r+(t.has(n.key)?0:n.weight),0),o=Math.max(0,8-e.priority)*20,u=Math.min(500,Math.ceil(e.evidenceCharacters/160));return i+o-u}function Ee(e){return[...e.reasons.map(ze),...e.roles.map(t=>({key:`role:${t}`,weight:Ke(t)})),{key:`file:${e.relativePath}`,weight:180},{key:`scope:${Ye(e.relativePath)}`,weight:120},{key:`kind:${e.fileKind}`,weight:40},...e.symbols.map(t=>({key:`symbol:${t}`,weight:100})),...e.behaviorSignals.map(t=>({key:`behavior:${t}`,weight:70}))]}function ze(e){let t=e.indexOf(":"),i=t<0?e:e.slice(0,t);return i==="dependency"||i==="consumer"?{key:`reason:${i}`,weight:220}:{key:`reason:${e}`,weight:i==="location"||i==="definition"?1400:800}}function Ke(e){switch(e){case"location":return 1200;case"definition":return 1100;case"reference":return 600;case"caller":case"callee":return 550;case"dependency":case"consumer":return 500;case"search":return 400;default:return 300}}function Ye(e){let t=e.lastIndexOf("/");return t<0?e:e.slice(0,t)}var Ce=64,Ie=12;function ke(e,t,i={}){if(t.length===0)return[];let o=i.context??6;if(!Number.isSafeInteger(o)||o<0)throw new RangeError(`context must be a non-negative safe integer; received ${o}`);let u=i.limit??12;if(!Number.isSafeInteger(u)||u<=0)throw new RangeError(`limit must be a positive safe integer; received ${u}`);let r=t.map(n=>{if(n.length===0)throw new Error("The source search pattern must not be empty.");return{pattern:n,regexp:i.regexp?de(n,"source search pattern",i.ignoreCase?"iu":"u"):null,literal:i.ignoreCase?n.toLocaleLowerCase():n,identities:[],fileCoverage:[],textByPath:new Map}});if(!i.regexp&&!i.ignoreCase){let n=r.map(c=>Buffer.from(c.pattern,"utf8")),s=M(e,{scope:i.scope,literalBytes:n.length===1?n[0]:n},(c,a)=>{let l=A(c.text);if(l.length!==0)for(let p of a){let d=r[p];d&&we(e,d,c,l,i)}});return r.map(c=>Pe(c,s,o,u,i))}return r.map(n=>{let s=M(e,{scope:i.scope},c=>{let a=A(c.text);a.length>0&&we(e,n,c,a,i)});return Pe(n,s,o,u,i)})}function we(e,t,i,o,u){let r=[];for(let a=0;a<o.length;a+=1){let l=o[a]??"",p=l.endsWith("\r")?l.slice(0,-1):l;(t.regexp?t.regexp.test(p):(u.ignoreCase?p.toLocaleLowerCase():p).includes(t.literal))&&r.push(a)}if(r.length===0)return;let n=i.relativePath;t.textByPath.set(n,i.text);let s=i.freshness.semantic.state!=="stale"&&i.freshness.semantic.basis!=="no-compiler-document"?ee(e,n):[],c=X(e,n)?.callables??[];for(let a of r){let l=te(s,a),p=J(c,a),d=l&&!Z(l.symbol)?l:null,f=d?.startLine??p?.startLine??l?.startLine??a,m=d?.endLine??p?.endLine??l?.endLine??a,R=he(e,n,a,f,m);t.identities.push({relativePath:n,focusLine:a,ownerSymbol:d?.symbol??null,ownerShort:d?k(d.symbol):p?.name??(l?k(l.symbol):null),ownerStartLine:R.startLine,ownerEndLine:R.endLine,fileKind:re(n),freshness:i.freshness})}t.fileCoverage.push({relativePath:n,matchingLines:r.length,returnedMatches:0,freshness:i.freshness})}function Pe(e,t,i,o,u){e.identities.sort(_e);let r=e.identities.length>Ce?Ae(e.identities,Ce):e.identities,s=(o===Number.MAX_SAFE_INTEGER?e.identities:u.ranking?Ae(e.identities,o):e.identities.slice(0,o)).flatMap(l=>{let p=e.textByPath.get(l.relativePath),d=p===void 0?null:Je(l.relativePath,p,l.focusLine,i);return d?[{...d,...l}]:[]}),c=new Map;for(let l of s)c.set(l.relativePath,(c.get(l.relativePath)??0)+1);for(let l of e.fileCoverage)l.returnedMatches=c.get(l.relativePath)??0;let a=Xe(e.fileCoverage);return{pattern:e.pattern,mode:u.regexp?"regexp":"literal",identities:e.identities,...r.length<e.identities.length?{identityManifest:r}:{},identityCoverage:{mode:r.length===e.identities.length?"complete":"bounded",returned:r.length,total:e.identities.length,omitted:e.identities.length-r.length},matches:s,matchingLines:e.identities.length,matchingFiles:e.fileCoverage.length,omittedMatches:Math.max(0,e.identities.length-s.length),fileCoverage:e.fileCoverage,scopeHints:a.slice(0,Ie),omittedScopeHints:Math.max(0,a.length-Ie),scannedFiles:t.scannedTextFiles,textCoverage:{basis:"current-project-text-files",candidateFiles:t.candidateFiles,scannedTextFiles:t.scannedTextFiles,scannedBytes:t.scannedBytes,skippedBinaryPaths:t.skippedBinaryPaths,skippedUnreadablePaths:t.skippedUnreadablePaths,skippedOversizedPaths:t.skippedOversizedPaths,semanticFiles:t.semanticFiles}}}function Je(e,t,i,o){let u=t.split(`
|
|
2
2
|
`),r=t.endsWith(`
|
|
3
3
|
`)?u.length-1:u.length;if(i<0||i>=r)return null;let n=Math.max(0,i-o),s=Math.min(r-1,i+o);return{relativePath:e,startLine:n,endLine:s,focusLine:i,source:u.slice(n,s+1).join(`
|
|
4
|
-
`)}}function Ke(e){let t=new Map;for(let i of e){let o=Ye(i.relativePath),u=t.get(o)??{matchingLines:0,matchingFiles:0};u.matchingLines+=i.matchingLines,u.matchingFiles+=1,t.set(o,u)}return[...t.entries()].map(([i,o])=>({scope:i,...o})).sort((i,o)=>o.matchingLines-i.matchingLines||o.matchingFiles-i.matchingFiles||i.scope.localeCompare(o.scope))}function Ye(e){let t=e.lastIndexOf("/");return t<0?e:e.slice(0,t)}function we(e,t){let i=e.map((u,r)=>({...u,priority:w(u.fileKind),sequence:r,evidenceCharacters:1,roles:["search"],reasons:["search"],symbols:u.ownerSymbol?[u.ownerSymbol]:[],behaviorSignals:[]})),o=[];for(let u of[0,1,2]){let r=t-o.length;if(r===0)break;let n=i.filter(s=>w(s.fileKind)===u);o.push(...Re(n,r,Number.MAX_SAFE_INTEGER,Pe).selected)}return o.map(({priority:u,sequence:r,evidenceCharacters:n,roles:s,reasons:c,symbols:a,behaviorSignals:l,...p})=>p)}function Pe(e,t){return w(e.fileKind)-w(t.fileKind)||+(t.ownerSymbol!==null)-+(e.ownerSymbol!==null)||e.relativePath.localeCompare(t.relativePath)||e.focusLine-t.focusLine}function ke(e,t,i={}){if(t.length===0)throw new Error("The source search pattern must not be empty.");return Ie(e,[t],i)[0]}import{availableParallelism as it}from"os";import{fileURLToPath as Dr}from"url";import{execFileSync as er}from"child_process";import{createHash as rr}from"crypto";import{lstatSync as ir,readlinkSync as or,readdirSync as sr,realpathSync as ar,statSync as cr}from"fs";import{dirname as ur,isAbsolute as pr,join as dr,posix as fr,relative as mr,resolve as yr,sep as hr}from"path";var Sr=512*1024*1024;function Ae(e){return ee({version:e.version,...e.base?{base:e.base}:{},files:[...e.files].sort((t,i)=>t.path.localeCompare(i.path))})}function T(e){return JSON.stringify({...e.clojureConfigPath?{clojureConfigPath:e.clojureConfigPath}:{},files:[...e.files].sort((t,i)=>t.path.localeCompare(i.path)).map(t=>({hash:t.hash,path:t.path,size:t.size})),languages:[...e.languages].sort(),pnpmWorkspaces:e.pnpmWorkspaces,typescriptProjectMode:e.typescriptProjectMode,typescriptProjects:[...e.typescriptProjects].sort(),version:e.version})}var Xe="scip-query:collaboration-domain",Ze="scip-query:workspace-instance",et="scip-query:index-generation",tt="scip-query:repository-content",Oe="scip-query:index-inputs",rt="scip-query:index-inputs";function Me(e){let t=e.snapshot,i=e.observedSourceKinds?new Set(e.observedSourceKinds):void 0,o=e.gitContext??t?.gitContext??(i?.has("live-workspace")?F(e.projectRoot):void 0),u=e.collaborationDomainId??e.db?.config.collaborationDomainId,r=u?g(Xe,1,u):void 0,n=o?g(Ze,1,o.worktreeId):void 0,s=t?g(tt,1,Ae(t.repositoryContent)):void 0,c=t?g(Oe,t.indexInputs.version,T(t.indexInputs)):void 0,a=e.db&&t?nt(e.db.generation.metadataRaw):void 0,l=e.db?{generation:g(et,1,e.db.generation.identity),...a?{inputs:a}:{},source:e.db.generation.source}:void 0,p=i??new Set([...l?["index-generation"]:[],...s?["repository-snapshot"]:n?["live-workspace"]:[]]),d=[...l&&p.has("index-generation")?[{kind:"index-generation",identity:l.generation}]:[],...s&&p.has("repository-snapshot")?[{kind:"repository-snapshot",identity:s}]:[],...n&&p.has("live-workspace")?[{kind:"live-workspace",identity:n}]:[],...p.has("process")?[{kind:"process"}]:[]],f=[...l&&p.has("index-generation")?[{source:"index-generation",kind:l.source==="immutable"?"immutable":"not-established"}]:[],...s&&p.has("repository-snapshot")?[{source:"repository-snapshot",kind:"fixed-snapshot"}]:[],...n&&p.has("live-workspace")?[{source:"live-workspace",kind:"not-established"}]:[],...p.has("process")?[{source:"process",kind:"not-established"}]:[]];return d.length===0&&(d.push({kind:"process"}),f.push({source:"process",kind:"not-established"})),{schemaVersion:ce,observedAt:(e.observedAt??(t?new Date(t.capturedAt):new Date)).toISOString(),facts:{...r?{collaborationDomain:r}:{},...n?{workspaceInstance:n}:{},...s?{wholeContent:s}:{},...c?{relevantInputs:[{subject:rt,identity:c}]}:{},...l?{index:l}:{}},observedSources:d,stabilityProofs:f,...o?{diagnostics:{clean:o.clean,...o.headCommit?{headCommit:o.headCommit}:{},...o.treeOid?{treeOid:o.treeOid}:{}}}:{}}}function nt(e){if(!e)return;let t=H(e);if(t.kind!=="legacy"&&t.kind!=="supported")return;let i=Q(t.metadata.fingerprint);return i&&Number.isSafeInteger(i.version)&&i.version>0?g(Oe,i.version,T(i)):void 0}var ot=4,st=8,at=25e3,ct=2500;var lt=4,ut=12;var pt=new Set(["vue-component-duplicates","vue-composable-candidates","vue-large-view-pressure"]),Vr=new Set([...pt,"suppressions"]);var _e=2,Te=q({kind:"health-semantic-prewarm",invalidation:W("health-semantic-prewarm"),serialize:e=>JSON.stringify(e),deserialize:dt});function dt(e){try{let t=JSON.parse(e);if(!t||typeof t!="object")return null;let i=t;return i.version!==_e||typeof i.definitions!="number"||!Number.isFinite(i.definitions)||typeof i.referenceCacheWrites!="number"||!Number.isFinite(i.referenceCacheWrites)||typeof i.referenceIncomplete!="number"||!Number.isFinite(i.referenceIncomplete)||typeof i.calleeRows!="number"||!Number.isFinite(i.calleeRows)||typeof i.warmedAt!="number"||!Number.isFinite(i.warmedAt)?null:{version:_e,definitions:i.definitions,referenceCacheWrites:i.referenceCacheWrites,referenceIncomplete:i.referenceIncomplete,calleeRows:i.calleeRows,warmedAt:i.warmedAt}}catch{return null}}function De(e){let t=_(e);return t.symbols>=at||t.documents>=ct}var Gr={env:process.env,projectFingerprint:U,semanticEngineFingerprint:ft,readMarker:(e,t,i)=>Te.read(e,t,i),writeMarker:(e,t,i,o)=>Te.write(e,t,i,o),candidateDefinitions:(e,t)=>new ge(e).scopedDefinitions(t.scope).filter(i=>me(i.relativePath)!==null),materializeReferences:(e,t,i)=>ye(e).materializeReferences(t,i),materializeCallees:he};function ft(e){return $(JSON.stringify({kind:"health-semantic-prewarm-engine",rust:ae(e.config.projectRoot)}))}var $r=je({envKey:"SCIP_QUERY_HEALTH_CONCURRENCY",defaultMinimum:lt,defaultMaximum:ut});var Ur=je({envKey:"SCIP_QUERY_DIFF_IMPACT_CONCURRENCY",defaultMinimum:ot,defaultMaximum:st});function je(e){return(t,i=process.env,o=it)=>mt(t,i,o,e)}function mt(e,t,i,o){let u=t[o.envKey],r=yt(i,o),n=u?parseInt(u,10):r;return!Number.isFinite(n)||n<1?Math.min(r,e):Math.min(n,e)}function yt(e,t){let i=e(),o=Number.isFinite(i)?Math.max(t.defaultMinimum,i-1):0;return Math.min(t.defaultMaximum,Math.max(t.defaultMinimum,o))}import{spawn as zr}from"child_process";import{createHash as ht,randomUUID as Yr}from"crypto";import{existsSync as Xr,realpathSync as Zr}from"fs";import{tmpdir as tn}from"os";import{join as nn,resolve as gt}from"path";import{fileURLToPath as sn}from"url";var y=18,D=1e3,cn=2*D;var St=64*1024*1024,ln={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:St,maxBatch:1,responseRetentionMs:6e4};function Ne(e){return ht("sha256").update(te({kind:"scip-query-service-mailbox",protocolVersion:y,sessionDir:gt(e)})).digest("hex")}var xt=3e4,He=5,Et=100,Ct=1024*1024,wt=1280*1024,I={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:64*1024*1024,maxBatch:1,responseRetentionMs:6e4};async function It(e,t){let i=re(e);ne(i);let o=B(Qe(e,"server.lock"),{kind:"query-service-server",detail:{projectRoot:Ge(t)}});if(o.kind!=="acquired")return;let u;try{u=ue(t)}catch(b){throw o.lock.release(),b}let r=pe([i.pendingDir,i.legacyRequestDir]),n=Qe(e,"server.json"),s=Ne(e),c=P(process.pid),a=!1,l=!1,p=C(),d=Number.NEGATIVE_INFINITY,f=0,m=()=>{a=!0};process.once("SIGINT",m),process.once("SIGTERM",m);let R=(b=!1)=>{let E=C();if(!b&&E-d<D)return;d=E;let N={protocolVersion:y,sessionIdentity:s,pid:process.pid,...c?{processIdentity:c}:{},generation:u.generation.identity,heartbeatAtMs:Date.now()};b?G(n,N):V(n,N)};try{R(!0);let b=_t();for(;!a&&!l&&C()-p<b;){let E=await Pt(i,u,s,()=>{l=!0});E>0?(f=0,p=C(),R()):(f+=1,R()),await r.wait(Tt(E,f))}}finally{r.close(),u.close(),bt(n,{force:!0}),o.lock.release()}}async function Pt(e,t,i,o){let u=ie(e,{ownerId:Dt,nowMs:Date.now(),limits:I,owner:jt,liveness:Nt,durability:"visibility"}),r=0;for(let n of u){let s=n.requestId;try{let c=At(oe(n,I),i);if(s=c.id,c.id!==n.requestId||c.operationKey!==n.operationKey||c.clientId!==n.clientId||c.deadlineAtMs!==n.deadlineAtMs)throw new Error("Query service request identity does not match its mailbox claim.");if(c.deadlineAtMs<Date.now())throw new Error("Query service request expired before processing.");if(c.request.expectedGeneration!==t.generation.identity){O(e,n,{ok:!1,protocolVersion:y,id:s,generation:t.generation.identity,errorCode:"generation-mismatch",error:"Persistent query service opened a different generation."},{nowMs:Date.now(),limits:I,durability:"visibility"}),o(),r+=1;continue}let a=await kt(t,c.request),l=Me({projectRoot:t.config.projectRoot,db:t,observedSourceKinds:["index-generation"]}),p=Date.now();if(c.deadlineAtMs<p)throw new Error("Query service request expired while processing.");O(e,n,{ok:!0,protocolVersion:y,id:s,generation:t.generation.identity,result:a,observationReceipt:l},{nowMs:p,limits:I,durability:"visibility"})}catch(c){let a=c instanceof Error?c.message:String(c);se(e,n,{ok:!1,protocolVersion:y,id:s,errorCode:"request-failed",error:a},a,{nowMs:Date.now(),limits:I})}r+=1}return r}async function kt(e,t){if(t.kind==="source-search")return ke(e,t.pattern,t.options);if(t.kind==="outline")return de(e,t.filePattern);if(t.kind==="entrypoints"){let{entryPoints:n}=await import("./entry-map-V2NQP5JU.js");return n(e,t.options)}if(t.kind==="files"){let{files:n}=await import("./files-VM53I4IU.js");return n(e,t.pattern)}if(t.kind==="stats"){let{stats:n}=await import("./stats-OOJ74B32.js");return n(e)}if(t.kind==="members"){let[{members:n},{symbolResolutionJson:s}]=await Promise.all([import("./members-HE67475K.js"),import("./code-result-json-6E4J6LGZ.js")]);return{...s(e,t.symbolPattern),members:n(e,t.symbolPattern)}}if(t.kind==="methods"){let{resolveMethods:n}=await import("./methods-K5JK4PPH.js");return n(e,{className:t.className})}if(t.kind==="file-dependencies"){let{deps:n,rdeps:s}=await import("./deps-GQMUYVKW.js");return t.direction==="outgoing"?n(e,t.filePattern):s(e,t.filePattern)}if(t.kind==="imported-by"){let{importedBy:n}=await import("./imports-DOZAJWLW.js");return n(e,t.symbolPattern)}if(t.kind==="hierarchy"){let[{hierarchy:n},{withSymbolResolutionJson:s}]=await Promise.all([import("./hierarchy-D553WRSZ.js"),import("./symbol-resolution-3FVEKDTJ.js")]);return s(e,t.symbolPattern,n(e,t.symbolPattern),"hierarchy")}if(t.kind==="by-kind"||t.kind==="kind-counts"){let{byKind:n,kindCounts:s}=await import("./by-kind-CI3O6PQG.js");return t.kind==="by-kind"?n(e,t.kindQuery):s(e)}if(t.kind==="refs"){let[{refs:n},{compareReferenceKey:s},{withSymbolResolutionJson:c}]=await Promise.all([import("./refs-NBHKL4UQ.js"),import("./refs-pagination-BBVTIHMH.js"),import("./symbol-resolution-3FVEKDTJ.js")]),a=S(e),l=n(e,t.symbolPattern,{semantic:a}).sort(s);return{...c(e,t.symbolPattern,l,"references"),pagination:{cursorVersion:2,producer:"complete-only",semanticEnrichment:a}}}if(t.kind==="trace"){let n=S(e);if(!n){let p=v(e,t.kind,t.symbolPattern);if(p)return p}let[{qualifiedTraceEvidence:s},{symbolResolutionJson:c}]=await Promise.all([import("./trace-II5K2TMH.js"),import("./symbol-resolution-3FVEKDTJ.js")]),a=JSON.stringify({...c(e,t.symbolPattern),...s(e,t.symbolPattern,{semantic:n})}),l={serializedJson:a,sha256:h("sha256").update(a).digest("hex")};return n||x(e,t.kind,t.symbolPattern,l,wt),l}if(t.kind==="value-flow"){let n=v(e,t.kind,t.symbolPattern);if(n)return n;let{valueFlow:s}=await import("./value-flow-MKFUUE5B.js"),c=JSON.stringify(s(e,{symbols:[t.symbolPattern]},{maxDepth:2,maxEdges:48})),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.symbolPattern,a),a}if(t.kind==="dependence-slice"){let n=v(e,t.kind,t.criterion);if(n)return n;let{dependenceSlice:s}=await import("./dependence-slice-MGAJDZXB.js"),c=JSON.stringify(s(e,t.criterion)),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.criterion,a),a}if(t.kind==="call-graph"){let[{callGraph:n},{symbolResolutionJson:s}]=await Promise.all([import("./call-graph-6QTUTXH7.js"),import("./symbol-resolution-3FVEKDTJ.js")]),c=JSON.stringify({...s(e,t.symbolPattern),callGraph:n(e,t.symbolPattern,{semantic:S(e)})});return{serializedJson:c,sha256:h("sha256").update(c).digest("hex")}}if(t.kind==="reference-neighborhood"||t.kind==="dataflow"){let n=S(e),s=t.kind==="reference-neighborhood"&&!n;if(s){let m=v(e,t.kind,t.symbolPattern);if(m)return m}let[{dataflow:c,referenceNeighborhood:a},{symbolResolutionJson:l}]=await Promise.all([import("./dataflow-2BLMUZBP.js"),import("./symbol-resolution-3FVEKDTJ.js")]),p=t.kind==="dataflow"?c(e,t.symbolPattern,{semantic:n}):a(e,t.symbolPattern,{semantic:n}),d=JSON.stringify({...l(e,t.symbolPattern),[t.kind]:p}),f={serializedJson:d,sha256:h("sha256").update(d).digest("hex")};return s&&x(e,t.kind,t.symbolPattern,f),f}if(t.kind==="reference-reachability"||t.kind==="slice"){let n=S(e);if(!n){let p=v(e,t.kind,t.symbolPattern);if(p)return p}let[{referenceReachability:s},{symbolResolutionJson:c}]=await Promise.all([import("./slice-U6S6LBSB.js"),import("./symbol-resolution-3FVEKDTJ.js")]),a=JSON.stringify({...c(e,t.symbolPattern),[t.kind]:s(e,t.symbolPattern,{semantic:n})}),l={serializedJson:a,sha256:h("sha256").update(a).digest("hex")};return n||x(e,t.kind,t.symbolPattern,l),l}if(t.kind==="imports"){let{imports:n}=await import("./imports-DOZAJWLW.js");return n(e,t.filePattern,{semantic:S(e)})}if(t.kind==="unused-imports"){let{unusedImports:n}=await import("./imports-DOZAJWLW.js");return n(e,t.filePattern,{semantic:S(e)})}if(t.kind==="system"){let n=v(e,t.kind,t.modulePattern);if(n)return n;let{system:s}=await import("./system-6K2NOO5C.js"),c=JSON.stringify(s(e,t.modulePattern)),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.modulePattern,a),a}if(t.kind==="surface"){let{consumerSurface:n}=await import("./surface-C7SS5CDQ.js");return n(e,t.modulePattern)}let[{codeBatch:i},{codeBatchResultOnlyJsonForSelectors:o}]=await Promise.all([import("./code-EQL6ZBLH.js"),import("./code-result-json-6E4J6LGZ.js")]),u=i(e,t.selectors,t.options),r=JSON.stringify(o(e,t.selectors,u));return{serializedJson:r,sha256:h("sha256").update(r).digest("hex")}}function At(e,t){let i=JSON.parse(e);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid query service request.");let o=i,u=o.request;if(o.mailboxVersion!==1||o.protocolVersion!==y||typeof o.id!="string"||o.id.length===0||typeof o.operationKey!="string"||o.operationKey.length===0||typeof o.clientId!="string"||o.clientId.length===0||typeof o.enqueuedAtMs!="number"||!Number.isSafeInteger(o.enqueuedAtMs)||o.enqueuedAtMs<0||typeof o.deadlineAtMs!="number"||!Number.isSafeInteger(o.deadlineAtMs)||o.deadlineAtMs<o.enqueuedAtMs||o.sessionIdentity!==t||!u||typeof u!="object"||Array.isArray(u))throw new Error("Invalid query service request envelope.");let r=u;if(typeof r.expectedGeneration!="string")throw new Error("Invalid query service request generation.");let n={mailboxVersion:1,protocolVersion:y,id:o.id,operationKey:o.operationKey,clientId:o.clientId,enqueuedAtMs:o.enqueuedAtMs,deadlineAtMs:o.deadlineAtMs,sessionIdentity:t};if(r.kind==="outline"){if(typeof r.filePattern!="string")throw new Error("Invalid query service outline request.");return{...n,request:{kind:"outline",expectedGeneration:r.expectedGeneration,filePattern:r.filePattern}}}if(r.kind==="files"){if(typeof r.pattern!="string")throw new Error("Invalid query service files request.");return{...n,request:{kind:"files",expectedGeneration:r.expectedGeneration,pattern:r.pattern}}}if(r.kind==="stats")return{...n,request:{kind:"stats",expectedGeneration:r.expectedGeneration}};if(r.kind==="members"){if(typeof r.symbolPattern!="string")throw new Error("Invalid query service members request.");return{...n,request:{kind:"members",expectedGeneration:r.expectedGeneration,symbolPattern:r.symbolPattern}}}if(r.kind==="methods"){if(typeof r.className!="string")throw new Error("Invalid query service methods request.");return{...n,request:{kind:"methods",expectedGeneration:r.expectedGeneration,className:r.className}}}if(r.kind==="file-dependencies"){if(r.direction!=="outgoing"&&r.direction!=="incoming"||typeof r.filePattern!="string")throw new Error("Invalid query service file dependencies request.");return{...n,request:{kind:"file-dependencies",expectedGeneration:r.expectedGeneration,direction:r.direction,filePattern:r.filePattern}}}if(r.kind==="imported-by"||r.kind==="hierarchy"||r.kind==="refs"||r.kind==="trace"||r.kind==="value-flow"||r.kind==="call-graph"||r.kind==="reference-neighborhood"||r.kind==="reference-reachability"||r.kind==="slice"||r.kind==="dataflow"){if(typeof r.symbolPattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,symbolPattern:r.symbolPattern}}}if(r.kind==="dependence-slice"){if(typeof r.criterion!="string")throw new Error("Invalid query service dependence-slice request.");return{...n,request:{kind:"dependence-slice",expectedGeneration:r.expectedGeneration,criterion:r.criterion}}}if(r.kind==="by-kind"){if(typeof r.kindQuery!="string")throw new Error("Invalid query service by-kind request.");return{...n,request:{kind:"by-kind",expectedGeneration:r.expectedGeneration,kindQuery:r.kindQuery}}}if(r.kind==="kind-counts")return{...n,request:{kind:"kind-counts",expectedGeneration:r.expectedGeneration}};if(r.kind==="imports"||r.kind==="unused-imports"){if(typeof r.filePattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,filePattern:r.filePattern}}}if(r.kind==="system"||r.kind==="surface"){if(typeof r.modulePattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,modulePattern:r.modulePattern}}}if(r.kind==="code"){if(!Array.isArray(r.selectors)||r.selectors.length<1||r.selectors.length>24||r.selectors.some(p=>typeof p!="string"||p.length===0)||!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service code request.");let a=r.options,l=a.members;if(l!=="exported"&&l!=="all")throw new Error("Query service code members must be exported or all.");return{...n,request:{kind:"code",expectedGeneration:r.expectedGeneration,selectors:r.selectors,options:{context:Le(a.context,"context"),members:l}}}}if(r.kind==="entrypoints"){if(!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service entrypoints request.");let a=r.options;return{...n,request:{kind:"entrypoints",expectedGeneration:r.expectedGeneration,options:{...a.search===void 0?{}:{search:j(a.search,"search")},...a.scope===void 0?{}:{scope:j(a.scope,"scope")}}}}}if(r.kind!=="source-search"||typeof r.pattern!="string"||r.pattern.length===0||!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service source-search request.");let s=r.options,c={...s.scope===void 0?{}:{scope:j(s.scope,"scope")},...s.context===void 0?{}:{context:Le(s.context,"context")},...s.limit===void 0?{}:{limit:Ot(s.limit,"limit")},...s.regexp===void 0?{}:{regexp:Be(s.regexp,"regexp")},...s.ignoreCase===void 0?{}:{ignoreCase:Be(s.ignoreCase,"ignoreCase")},...s.ranking===void 0?{}:{ranking:Mt(s.ranking)}};return{...n,request:{kind:"source-search",expectedGeneration:r.expectedGeneration,pattern:r.pattern,options:c}}}function j(e,t){if(typeof e!="string")throw new Error(`Query service option ${t} must be a string.`);return e}function Le(e,t){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Query service option ${t} must be a non-negative safe integer.`);return e}var Fe=new WeakMap,$e=new WeakMap;function v(e,t,i){let o=$e.get(e);return o?.kind===t&&o.operand===i?o.result:null}function x(e,t,i,o,u=Ct){Buffer.byteLength(o.serializedJson)<=u&&$e.set(e,{kind:t,operand:i,result:o})}function S(e){let t=Fe.get(e);if(t!==void 0)return t;let i=!De(e);return Fe.set(e,i),i}function Ot(e,t){if(!Number.isSafeInteger(e)||e<=0)throw new Error(`Query service option ${t} must be a positive safe integer.`);return e}function Be(e,t){if(typeof e!="boolean")throw new Error(`Query service option ${t} must be a boolean.`);return e}function Mt(e){if(e!=="structural")throw new Error("Query service option ranking must be structural.");return e}function _t(){let e=Number(process.env.SCIP_QUERY_QUERY_SERVICE_IDLE_MS);return Number.isInteger(e)&&e>=0?e:xt}function Tt(e,t){if(e>0)return He;let i=Math.max(0,Math.min(5,t-1));return Math.min(Et,He*2**i)}var Dt=`query-service-${process.pid}-${Rt()}`,Ve=P(process.pid),jt={pid:process.pid,...Ve?{processIdentity:Ve}:{}},Nt={isProcessAlive:L,readProcessIdentity:P},Qt=process.argv[1]?vt(Ge(process.argv[1])).href:null;if(Qt===import.meta.url){let e=process.argv[2],t=process.argv[3];!e||!t?(console.error("query-service: expected <session-dir> <project-root>"),process.exitCode=1):await It(e,t)}export{It as runQueryServiceServer};
|
|
4
|
+
`)}}function Xe(e){let t=new Map;for(let i of e){let o=Ze(i.relativePath),u=t.get(o)??{matchingLines:0,matchingFiles:0};u.matchingLines+=i.matchingLines,u.matchingFiles+=1,t.set(o,u)}return[...t.entries()].map(([i,o])=>({scope:i,...o})).sort((i,o)=>o.matchingLines-i.matchingLines||o.matchingFiles-i.matchingFiles||i.scope.localeCompare(o.scope))}function Ze(e){let t=e.lastIndexOf("/");return t<0?e:e.slice(0,t)}function Ae(e,t){let i=e.map((u,r)=>({...u,priority:I(u.fileKind),sequence:r,evidenceCharacters:1,roles:["search"],reasons:["search"],symbols:u.ownerSymbol?[u.ownerSymbol]:[],behaviorSignals:[]})),o=[];for(let u of[0,1,2]){let r=t-o.length;if(r===0)break;let n=i.filter(s=>I(s.fileKind)===u);o.push(...xe(n,r,Number.MAX_SAFE_INTEGER,_e).selected)}return o.map(({priority:u,sequence:r,evidenceCharacters:n,roles:s,reasons:c,symbols:a,behaviorSignals:l,...p})=>p)}function _e(e,t){return I(e.fileKind)-I(t.fileKind)||+(t.ownerSymbol!==null)-+(e.ownerSymbol!==null)||e.relativePath.localeCompare(t.relativePath)||e.focusLine-t.focusLine}function Me(e,t,i={}){if(t.length===0)throw new Error("The source search pattern must not be empty.");return ke(e,[t],i)[0]}import{availableParallelism as at}from"os";import{fileURLToPath as jr}from"url";import{getHeapStatistics as ct}from"v8";import{execFileSync as ir}from"child_process";import{createHash as sr}from"crypto";import{lstatSync as cr,readlinkSync as lr,readdirSync as ur,realpathSync as pr,statSync as dr}from"fs";import{dirname as mr,isAbsolute as yr,join as hr,posix as gr,relative as Sr,resolve as Rr,sep as br}from"path";var xr=512*1024*1024;function Oe(e){return ne({version:e.version,...e.base?{base:e.base}:{},files:[...e.files].sort((t,i)=>t.path.localeCompare(i.path))})}function T(e){return JSON.stringify({...e.clojureConfigPath?{clojureConfigPath:e.clojureConfigPath}:{},files:[...e.files].sort((t,i)=>t.path.localeCompare(i.path)).map(t=>({hash:t.hash,path:t.path,size:t.size})),languages:[...e.languages].sort(),pnpmWorkspaces:e.pnpmWorkspaces,typescriptProjectMode:e.typescriptProjectMode,typescriptProjects:[...e.typescriptProjects].sort(),version:e.version})}var tt="scip-query:collaboration-domain",rt="scip-query:workspace-instance",nt="scip-query:index-generation",it="scip-query:repository-content",Te="scip-query:index-inputs",ot="scip-query:index-inputs";function De(e){let t=e.snapshot,i=e.observedSourceKinds?new Set(e.observedSourceKinds):void 0,o=e.gitContext??t?.gitContext??(i?.has("live-workspace")?V(e.projectRoot):void 0),u=e.collaborationDomainId??e.db?.config.collaborationDomainId,r=u?g(tt,1,u):void 0,n=o?g(rt,1,o.worktreeId):void 0,s=t?g(it,1,Oe(t.repositoryContent)):void 0,c=t?g(Te,t.indexInputs.version,T(t.indexInputs)):void 0,a=e.db&&t?st(e.db.generation.metadataRaw):void 0,l=e.db?{generation:g(nt,1,e.db.generation.identity),...a?{inputs:a}:{},source:e.db.generation.source}:void 0,p=i??new Set([...l?["index-generation"]:[],...s?["repository-snapshot"]:n?["live-workspace"]:[]]),d=[...l&&p.has("index-generation")?[{kind:"index-generation",identity:l.generation}]:[],...s&&p.has("repository-snapshot")?[{kind:"repository-snapshot",identity:s}]:[],...n&&p.has("live-workspace")?[{kind:"live-workspace",identity:n}]:[],...p.has("process")?[{kind:"process"}]:[]],f=[...l&&p.has("index-generation")?[{source:"index-generation",kind:l.source==="immutable"?"immutable":"not-established"}]:[],...s&&p.has("repository-snapshot")?[{source:"repository-snapshot",kind:"fixed-snapshot"}]:[],...n&&p.has("live-workspace")?[{source:"live-workspace",kind:"not-established"}]:[],...p.has("process")?[{source:"process",kind:"not-established"}]:[]];return d.length===0&&(d.push({kind:"process"}),f.push({source:"process",kind:"not-established"})),{schemaVersion:pe,observedAt:(e.observedAt??(t?new Date(t.capturedAt):new Date)).toISOString(),facts:{...r?{collaborationDomain:r}:{},...n?{workspaceInstance:n}:{},...s?{wholeContent:s}:{},...c?{relevantInputs:[{subject:ot,identity:c}]}:{},...l?{index:l}:{}},observedSources:d,stabilityProofs:f,...o?{diagnostics:{clean:o.clean,...o.headCommit?{headCommit:o.headCommit}:{},...o.treeOid?{treeOid:o.treeOid}:{}}}:{}}}function st(e){if(!e)return;let t=Q(e);if(t.kind!=="legacy"&&t.kind!=="supported")return;let i=j(t.metadata.fingerprint);return i&&Number.isSafeInteger(i.version)&&i.version>0?g(Te,i.version,T(i)):void 0}var lt=1,ut=1,pt=25e3,dt=2500;var ft=4,mt=12,He=1;var zr=10*6e4;var Kr=10*6e4;var yt=new Set(["vue-component-duplicates","vue-composable-candidates","vue-large-view-pressure"]),Yr=new Set([...yt,"suppressions"]);var Ne=2,Le=K({kind:"health-semantic-prewarm",invalidation:Y("health-semantic-prewarm"),serialize:e=>JSON.stringify(e),deserialize:ht});function ht(e){try{let t=JSON.parse(e);if(!t||typeof t!="object")return null;let i=t;return i.version!==Ne||typeof i.definitions!="number"||!Number.isFinite(i.definitions)||typeof i.referenceCacheWrites!="number"||!Number.isFinite(i.referenceCacheWrites)||typeof i.referenceIncomplete!="number"||!Number.isFinite(i.referenceIncomplete)||typeof i.calleeRows!="number"||!Number.isFinite(i.calleeRows)||typeof i.warmedAt!="number"||!Number.isFinite(i.warmedAt)?null:{version:Ne,definitions:i.definitions,referenceCacheWrites:i.referenceCacheWrites,referenceIncomplete:i.referenceIncomplete,calleeRows:i.calleeRows,warmedAt:i.warmedAt}}catch{return null}}function je(e){let t=O(e);return t.symbols>=pt||t.documents>=dt}var Jr={env:process.env,projectFingerprint:z,semanticEngineFingerprint:gt,readMarker:(e,t,i)=>Le.read(e,t,i),writeMarker:(e,t,i,o)=>Le.write(e,t,i,o),candidateDefinitions:(e,t)=>new be(e).scopedDefinitions(t.scope).filter(i=>ge(i.relativePath)!==null),materializeReferences:(e,t,i)=>Se(e).materializeReferences(t,i),materializeCallees:Re,releaseSemanticMemory:e=>q(e,{groups:["semantic-provider"]}),heapUsedFraction:()=>{let e=ct();return e.heap_size_limit>0?e.used_heap_size/e.heap_size_limit:0}};function gt(e){return W(JSON.stringify({kind:"health-semantic-prewarm-engine",rust:ue(e.config.projectRoot)}))}var Xr=D({envKey:"SCIP_QUERY_HEALTH_CONCURRENCY",defaultMinimum:ft,defaultMaximum:mt}),Zr=D({envKey:"SCIP_QUERY_HEALTH_FULL_CONCURRENCY",defaultMinimum:He,defaultMaximum:He});var en=D({envKey:"SCIP_QUERY_DIFF_IMPACT_CONCURRENCY",defaultMinimum:lt,defaultMaximum:ut});function D(e){return(t,i=process.env,o=at)=>St(t,i,o,e)}function St(e,t,i,o){let u=t[o.envKey],r=Rt(i,o),n=u?parseInt(u,10):r;return!Number.isFinite(n)||n<1?Math.min(r,e):Math.min(n,e)}function Rt(e,t){let i=e(),o=Number.isFinite(i)?Math.max(t.defaultMinimum,i-1):0;return Math.min(t.defaultMaximum,Math.max(t.defaultMinimum,o))}import{spawn as nn}from"child_process";import{createHash as bt,randomUUID as sn}from"crypto";import{existsSync as cn,realpathSync as ln}from"fs";import{tmpdir as pn}from"os";import{join as fn,resolve as vt}from"path";import{fileURLToPath as yn}from"url";var y=18,H=1e3,gn=2*H;var xt=64*1024*1024,Sn={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:xt,maxBatch:1,responseRetentionMs:6e4};function Qe(e){return bt("sha256").update(ie({kind:"scip-query-service-mailbox",protocolVersion:y,sessionDir:vt(e)})).digest("hex")}var wt=3e4,Be=5,Pt=100,At=1024*1024,kt=1280*1024,w={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:64*1024*1024,maxBatch:1,responseRetentionMs:6e4};async function _t(e,t){let i=oe(e);se(i);let o=U(Fe(e,"server.lock"),{kind:"query-service-server",detail:{projectRoot:qe(t)}});if(o.kind!=="acquired")return;let u;try{u=fe(t)}catch(b){throw o.lock.release(),b}let r=me([i.pendingDir,i.legacyRequestDir]),n=Fe(e,"server.json"),s=Qe(e),c=P(process.pid),a=!1,l=!1,p=C(),d=Number.NEGATIVE_INFINITY,f=0,m=()=>{a=!0};process.once("SIGINT",m),process.once("SIGTERM",m);let R=(b=!1)=>{let E=C();if(!b&&E-d<H)return;d=E;let L={protocolVersion:y,sessionIdentity:s,pid:process.pid,...c?{processIdentity:c}:{},generation:u.generation.identity,heartbeatAtMs:Date.now()};b?G(n,L):$(n,L)};try{R(!0);let b=Nt();for(;!a&&!l&&C()-p<b;){let E=await Mt(i,u,s,()=>{l=!0});E>0?(f=0,p=C(),R()):(f+=1,R()),await r.wait(Lt(E,f))}}finally{r.close(),u.close(),Ct(n,{force:!0}),o.lock.release()}}async function Mt(e,t,i,o){let u=ae(e,{ownerId:jt,nowMs:Date.now(),limits:w,owner:Qt,liveness:Ft,durability:"visibility"}),r=0;for(let n of u){let s=n.requestId;try{let c=Tt(ce(n,w),i);if(s=c.id,c.id!==n.requestId||c.operationKey!==n.operationKey||c.clientId!==n.clientId||c.deadlineAtMs!==n.deadlineAtMs)throw new Error("Query service request identity does not match its mailbox claim.");if(c.deadlineAtMs<Date.now())throw new Error("Query service request expired before processing.");if(c.request.expectedGeneration!==t.generation.identity){_(e,n,{ok:!1,protocolVersion:y,id:s,generation:t.generation.identity,errorCode:"generation-mismatch",error:"Persistent query service opened a different generation."},{nowMs:Date.now(),limits:w,durability:"visibility"}),o(),r+=1;continue}let a=await Ot(t,c.request),l=De({projectRoot:t.config.projectRoot,db:t,observedSourceKinds:["index-generation"]}),p=Date.now();if(c.deadlineAtMs<p)throw new Error("Query service request expired while processing.");_(e,n,{ok:!0,protocolVersion:y,id:s,generation:t.generation.identity,result:a,observationReceipt:l},{nowMs:p,limits:w,durability:"visibility"})}catch(c){let a=c instanceof Error?c.message:String(c);le(e,n,{ok:!1,protocolVersion:y,id:s,errorCode:"request-failed",error:a},a,{nowMs:Date.now(),limits:w})}r+=1}return r}async function Ot(e,t){if(t.kind==="source-search")return Me(e,t.pattern,t.options);if(t.kind==="outline")return ye(e,t.filePattern);if(t.kind==="entrypoints"){let{entryPoints:n}=await import("./entry-map-6K62RV3D.js");return n(e,t.options)}if(t.kind==="files"){let{files:n}=await import("./files-MSLD7MO6.js");return n(e,t.pattern)}if(t.kind==="stats"){let{stats:n}=await import("./stats-OOJ74B32.js");return n(e)}if(t.kind==="members"){let[{members:n},{symbolResolutionJson:s}]=await Promise.all([import("./members-KJOJDYGO.js"),import("./code-result-json-7UWIWBOO.js")]);return{...s(e,t.symbolPattern),members:n(e,t.symbolPattern)}}if(t.kind==="methods"){let{resolveMethods:n}=await import("./methods-2AYABBT3.js");return n(e,{className:t.className})}if(t.kind==="file-dependencies"){let{deps:n,rdeps:s}=await import("./deps-DB7H5IKC.js");return t.direction==="outgoing"?n(e,t.filePattern):s(e,t.filePattern)}if(t.kind==="imported-by"){let{importedBy:n}=await import("./imports-FRAVZ3Y2.js");return n(e,t.symbolPattern)}if(t.kind==="hierarchy"){let[{hierarchy:n},{withSymbolResolutionJson:s}]=await Promise.all([import("./hierarchy-IVBXAKFA.js"),import("./symbol-resolution-DGQN4XIV.js")]);return s(e,t.symbolPattern,n(e,t.symbolPattern),"hierarchy")}if(t.kind==="by-kind"||t.kind==="kind-counts"){let{byKind:n,kindCounts:s}=await import("./by-kind-4IYG2SKW.js");return t.kind==="by-kind"?n(e,t.kindQuery):s(e)}if(t.kind==="refs"){let[{refs:n},{compareReferenceKey:s},{withSymbolResolutionJson:c}]=await Promise.all([import("./refs-ARMA6XUJ.js"),import("./refs-pagination-VUGIWN6U.js"),import("./symbol-resolution-DGQN4XIV.js")]),a=S(e),l=n(e,t.symbolPattern,{semantic:a}).sort(s);return{...c(e,t.symbolPattern,l,"references"),pagination:{cursorVersion:2,producer:"complete-only",semanticEnrichment:a}}}if(t.kind==="trace"){let n=S(e);if(!n){let p=v(e,t.kind,t.symbolPattern);if(p)return p}let[{qualifiedTraceEvidence:s},{symbolResolutionJson:c}]=await Promise.all([import("./trace-HTIPTXAE.js"),import("./symbol-resolution-DGQN4XIV.js")]),a=JSON.stringify({...c(e,t.symbolPattern),...s(e,t.symbolPattern,{semantic:n})}),l={serializedJson:a,sha256:h("sha256").update(a).digest("hex")};return n||x(e,t.kind,t.symbolPattern,l,kt),l}if(t.kind==="value-flow"){let n=v(e,t.kind,t.symbolPattern);if(n)return n;let{valueFlow:s}=await import("./value-flow-5FV3VQI7.js"),c=JSON.stringify(s(e,{symbols:[t.symbolPattern]},{maxDepth:2,maxEdges:48})),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.symbolPattern,a),a}if(t.kind==="dependence-slice"){let n=v(e,t.kind,t.criterion);if(n)return n;let{dependenceSlice:s}=await import("./dependence-slice-DT2NUHD2.js"),c=JSON.stringify(s(e,t.criterion)),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.criterion,a),a}if(t.kind==="call-graph"){let[{callGraph:n},{symbolResolutionJson:s}]=await Promise.all([import("./call-graph-WQNXMNNN.js"),import("./symbol-resolution-DGQN4XIV.js")]),c=JSON.stringify({...s(e,t.symbolPattern),callGraph:n(e,t.symbolPattern,{semantic:S(e)})});return{serializedJson:c,sha256:h("sha256").update(c).digest("hex")}}if(t.kind==="reference-neighborhood"||t.kind==="dataflow"){let n=S(e),s=t.kind==="reference-neighborhood"&&!n;if(s){let m=v(e,t.kind,t.symbolPattern);if(m)return m}let[{dataflow:c,referenceNeighborhood:a},{symbolResolutionJson:l}]=await Promise.all([import("./dataflow-6VL54GX5.js"),import("./symbol-resolution-DGQN4XIV.js")]),p=t.kind==="dataflow"?c(e,t.symbolPattern,{semantic:n}):a(e,t.symbolPattern,{semantic:n}),d=JSON.stringify({...l(e,t.symbolPattern),[t.kind]:p}),f={serializedJson:d,sha256:h("sha256").update(d).digest("hex")};return s&&x(e,t.kind,t.symbolPattern,f),f}if(t.kind==="reference-reachability"||t.kind==="slice"){let n=S(e);if(!n){let p=v(e,t.kind,t.symbolPattern);if(p)return p}let[{referenceReachability:s},{symbolResolutionJson:c}]=await Promise.all([import("./slice-YOB5YFAM.js"),import("./symbol-resolution-DGQN4XIV.js")]),a=JSON.stringify({...c(e,t.symbolPattern),[t.kind]:s(e,t.symbolPattern,{semantic:n})}),l={serializedJson:a,sha256:h("sha256").update(a).digest("hex")};return n||x(e,t.kind,t.symbolPattern,l),l}if(t.kind==="imports"){let{imports:n}=await import("./imports-FRAVZ3Y2.js");return n(e,t.filePattern,{semantic:S(e)})}if(t.kind==="unused-imports"){let{unusedImports:n}=await import("./imports-FRAVZ3Y2.js");return n(e,t.filePattern,{semantic:S(e)})}if(t.kind==="system"){let n=v(e,t.kind,t.modulePattern);if(n)return n;let{system:s}=await import("./system-2KQ3QD2P.js"),c=JSON.stringify(s(e,t.modulePattern)),a={serializedJson:c,sha256:h("sha256").update(c).digest("hex")};return x(e,t.kind,t.modulePattern,a),a}if(t.kind==="surface"){let{consumerSurface:n}=await import("./surface-VY5EFWTW.js");return n(e,t.modulePattern)}let[{codeBatch:i},{codeBatchResultOnlyJsonForSelectors:o}]=await Promise.all([import("./code-EQJFDT6I.js"),import("./code-result-json-7UWIWBOO.js")]),u=i(e,t.selectors,t.options),r=JSON.stringify(o(e,t.selectors,u));return{serializedJson:r,sha256:h("sha256").update(r).digest("hex")}}function Tt(e,t){let i=JSON.parse(e);if(!i||typeof i!="object"||Array.isArray(i))throw new Error("Invalid query service request.");let o=i,u=o.request;if(o.mailboxVersion!==1||o.protocolVersion!==y||typeof o.id!="string"||o.id.length===0||typeof o.operationKey!="string"||o.operationKey.length===0||typeof o.clientId!="string"||o.clientId.length===0||typeof o.enqueuedAtMs!="number"||!Number.isSafeInteger(o.enqueuedAtMs)||o.enqueuedAtMs<0||typeof o.deadlineAtMs!="number"||!Number.isSafeInteger(o.deadlineAtMs)||o.deadlineAtMs<o.enqueuedAtMs||o.sessionIdentity!==t||!u||typeof u!="object"||Array.isArray(u))throw new Error("Invalid query service request envelope.");let r=u;if(typeof r.expectedGeneration!="string")throw new Error("Invalid query service request generation.");let n={mailboxVersion:1,protocolVersion:y,id:o.id,operationKey:o.operationKey,clientId:o.clientId,enqueuedAtMs:o.enqueuedAtMs,deadlineAtMs:o.deadlineAtMs,sessionIdentity:t};if(r.kind==="outline"){if(typeof r.filePattern!="string")throw new Error("Invalid query service outline request.");return{...n,request:{kind:"outline",expectedGeneration:r.expectedGeneration,filePattern:r.filePattern}}}if(r.kind==="files"){if(typeof r.pattern!="string")throw new Error("Invalid query service files request.");return{...n,request:{kind:"files",expectedGeneration:r.expectedGeneration,pattern:r.pattern}}}if(r.kind==="stats")return{...n,request:{kind:"stats",expectedGeneration:r.expectedGeneration}};if(r.kind==="members"){if(typeof r.symbolPattern!="string")throw new Error("Invalid query service members request.");return{...n,request:{kind:"members",expectedGeneration:r.expectedGeneration,symbolPattern:r.symbolPattern}}}if(r.kind==="methods"){if(typeof r.className!="string")throw new Error("Invalid query service methods request.");return{...n,request:{kind:"methods",expectedGeneration:r.expectedGeneration,className:r.className}}}if(r.kind==="file-dependencies"){if(r.direction!=="outgoing"&&r.direction!=="incoming"||typeof r.filePattern!="string")throw new Error("Invalid query service file dependencies request.");return{...n,request:{kind:"file-dependencies",expectedGeneration:r.expectedGeneration,direction:r.direction,filePattern:r.filePattern}}}if(r.kind==="imported-by"||r.kind==="hierarchy"||r.kind==="refs"||r.kind==="trace"||r.kind==="value-flow"||r.kind==="call-graph"||r.kind==="reference-neighborhood"||r.kind==="reference-reachability"||r.kind==="slice"||r.kind==="dataflow"){if(typeof r.symbolPattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,symbolPattern:r.symbolPattern}}}if(r.kind==="dependence-slice"){if(typeof r.criterion!="string")throw new Error("Invalid query service dependence-slice request.");return{...n,request:{kind:"dependence-slice",expectedGeneration:r.expectedGeneration,criterion:r.criterion}}}if(r.kind==="by-kind"){if(typeof r.kindQuery!="string")throw new Error("Invalid query service by-kind request.");return{...n,request:{kind:"by-kind",expectedGeneration:r.expectedGeneration,kindQuery:r.kindQuery}}}if(r.kind==="kind-counts")return{...n,request:{kind:"kind-counts",expectedGeneration:r.expectedGeneration}};if(r.kind==="imports"||r.kind==="unused-imports"){if(typeof r.filePattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,filePattern:r.filePattern}}}if(r.kind==="system"||r.kind==="surface"){if(typeof r.modulePattern!="string")throw new Error(`Invalid query service ${r.kind} request.`);return{...n,request:{kind:r.kind,expectedGeneration:r.expectedGeneration,modulePattern:r.modulePattern}}}if(r.kind==="code"){if(!Array.isArray(r.selectors)||r.selectors.length<1||r.selectors.length>24||r.selectors.some(p=>typeof p!="string"||p.length===0)||!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service code request.");let a=r.options,l=a.members;if(l!=="exported"&&l!=="all")throw new Error("Query service code members must be exported or all.");return{...n,request:{kind:"code",expectedGeneration:r.expectedGeneration,selectors:r.selectors,options:{context:Ve(a.context,"context"),members:l}}}}if(r.kind==="entrypoints"){if(!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service entrypoints request.");let a=r.options;return{...n,request:{kind:"entrypoints",expectedGeneration:r.expectedGeneration,options:{...a.search===void 0?{}:{search:N(a.search,"search")},...a.scope===void 0?{}:{scope:N(a.scope,"scope")}}}}}if(r.kind!=="source-search"||typeof r.pattern!="string"||r.pattern.length===0||!r.options||typeof r.options!="object"||Array.isArray(r.options))throw new Error("Invalid query service source-search request.");let s=r.options,c={...s.scope===void 0?{}:{scope:N(s.scope,"scope")},...s.context===void 0?{}:{context:Ve(s.context,"context")},...s.limit===void 0?{}:{limit:Dt(s.limit,"limit")},...s.regexp===void 0?{}:{regexp:$e(s.regexp,"regexp")},...s.ignoreCase===void 0?{}:{ignoreCase:$e(s.ignoreCase,"ignoreCase")},...s.ranking===void 0?{}:{ranking:Ht(s.ranking)}};return{...n,request:{kind:"source-search",expectedGeneration:r.expectedGeneration,pattern:r.pattern,options:c}}}function N(e,t){if(typeof e!="string")throw new Error(`Query service option ${t} must be a string.`);return e}function Ve(e,t){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Query service option ${t} must be a non-negative safe integer.`);return e}var Ue=new WeakMap,We=new WeakMap;function v(e,t,i){let o=We.get(e);return o?.kind===t&&o.operand===i?o.result:null}function x(e,t,i,o,u=At){Buffer.byteLength(o.serializedJson)<=u&&We.set(e,{kind:t,operand:i,result:o})}function S(e){let t=Ue.get(e);if(t!==void 0)return t;let i=!je(e);return Ue.set(e,i),i}function Dt(e,t){if(!Number.isSafeInteger(e)||e<=0)throw new Error(`Query service option ${t} must be a positive safe integer.`);return e}function $e(e,t){if(typeof e!="boolean")throw new Error(`Query service option ${t} must be a boolean.`);return e}function Ht(e){if(e!=="structural")throw new Error("Query service option ranking must be structural.");return e}function Nt(){let e=Number(process.env.SCIP_QUERY_QUERY_SERVICE_IDLE_MS);return Number.isInteger(e)&&e>=0?e:wt}function Lt(e,t){return F(e,t,Be,Be,Pt,5)}var jt=`query-service-${process.pid}-${Et()}`,Ge=P(process.pid),Qt={pid:process.pid,...Ge?{processIdentity:Ge}:{}},Ft={isProcessAlive:B,readProcessIdentity:P},Bt=process.argv[1]?It(qe(process.argv[1])).href:null;if(Bt===import.meta.url){let e=process.argv[2],t=process.argv[3];!e||!t?(console.error("query-service: expected <session-dir> <project-root>"),process.exitCode=1):await _t(e,t)}export{_t as runQueryServiceServer};
|
|
5
5
|
//# sourceMappingURL=query-service-server.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-GDRJB3SB.js";import"./chunk-IXESDH3J.js";import"./chunk-OXYAWIEA.js";import"./chunk-FKGQOTKD.js";import"./chunk-2XCGSDIT.js";import"./chunk-WRQXLNYE.js";import"./chunk-T6QD2ZQB.js";import"./chunk-EELPBR7E.js";import"./chunk-BJT7LSPK.js";import"./chunk-WSLEJSFR.js";import"./chunk-VUSKPCUB.js";import"./chunk-F4FNK44D.js";import"./chunk-HCVJR2V4.js";import"./chunk-EETGXQY7.js";import"./chunk-TQZV7KV4.js";import"./chunk-C7IJMOFP.js";import"./chunk-YXPUP5G2.js";import"./chunk-DRENNWRG.js";import"./chunk-BVFYEEBH.js";import"./chunk-JHH5SCZ3.js";import"./chunk-ENWQWA2R.js";import"./chunk-DKM723YF.js";import"./chunk-K3XFWJI2.js";import"./chunk-IW5XQG5G.js";import"./chunk-JT6XX7QY.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import"./chunk-SB25YMEQ.js";import"./chunk-AK3PYTIK.js";export{a as refs};
|
|
2
|
+
//# sourceMappingURL=refs-ARMA6XUJ.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as y}from"./chunk-GDRJB3SB.js";import"./chunk-IXESDH3J.js";import"./chunk-OXYAWIEA.js";import"./chunk-FKGQOTKD.js";import{k as v,l as S,n as w}from"./chunk-2XCGSDIT.js";import"./chunk-WRQXLNYE.js";import"./chunk-T6QD2ZQB.js";import{a as u}from"./chunk-EELPBR7E.js";import{c as d}from"./chunk-BJT7LSPK.js";import"./chunk-WSLEJSFR.js";import"./chunk-VUSKPCUB.js";import"./chunk-F4FNK44D.js";import"./chunk-HCVJR2V4.js";import"./chunk-EETGXQY7.js";import"./chunk-TQZV7KV4.js";import"./chunk-C7IJMOFP.js";import"./chunk-YXPUP5G2.js";import{g}from"./chunk-DRENNWRG.js";import"./chunk-BVFYEEBH.js";import"./chunk-JHH5SCZ3.js";import"./chunk-ENWQWA2R.js";import"./chunk-DKM723YF.js";import"./chunk-K3XFWJI2.js";import"./chunk-IW5XQG5G.js";import"./chunk-JT6XX7QY.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import"./chunk-SB25YMEQ.js";import"./chunk-AK3PYTIK.js";function j(t,r,e){if(!Number.isSafeInteger(e.limit)||e.limit<=0)throw new Error("Reference page limit must be a positive safe integer.");let n=u(t,r);if(!n)return{rows:[],hasMore:!1,producer:e.producer??"source-keyset",semanticEnrichment:!1};if(e.producer==="complete-only"||e.semantic===!0||n.relativePath.endsWith(".rb"))return m(t,r,e);let a=v(t,n);if(!a)return m(t,r,e);let i=F(t,n),c=x(t,i),f=[],R=e.producer==="source-keyset";for(let l of c){if(e.after&&l<e.after.relativePath)continue;e.instrumentation?.fileScanned?.(l);let h=S(t,a,l);h.length>0&&(R=!0);let P=new Set(h);i?.relativePath===l&&P.add(i.line);for(let k of[...P].sort((s,M)=>s-M)){let s={relativePath:l,line:k};if(!(e.after&&p(s,e.after)<=0)&&(f.push(s),e.instrumentation?.rowAccepted?.(s),R&&f.length>e.limit))return b(f,e.limit)}}return R?b(f,e.limit):m(t,r,e,i)}function p(t,r){return(t.relativePath<r.relativePath?-1:t.relativePath>r.relativePath?1:0)||t.line-r.line}function b(t,r){return{rows:t.slice(0,r),hasMore:t.length>r,producer:"source-keyset",semanticEnrichment:!1}}function m(t,r,e,n){let o=u(t,r),a=e.semantic===!0||o?.relativePath.endsWith(".rb")?y(t,r,{semantic:e.semantic}):D(t,r,n),i=E(a).filter(c=>!e.after||p(c,e.after)>0);for(let c of i.slice(0,e.limit+1))e.instrumentation?.rowAccepted?.(c);return{rows:i.slice(0,e.limit),hasMore:i.length>e.limit,producer:"complete-only",semanticEnrichment:e.semantic===!0}}function D(t,r,e){let n=u(t,r);if(!n)return[];let o=e===void 0?F(t,n):e,a=w(t,n).map(i=>({relativePath:i.file,line:i.line}));return o?[o,...a]:a}function F(t,r){return!g(r.symbol)&&!t.isIgnored(r.relativePath)?{relativePath:r.relativePath,line:r.startLine}:null}function x(t,r){let e=d(t);return!r||e.includes(r.relativePath)?e:[...e,r.relativePath].sort((n,o)=>n<o?-1:n>o?1:0)}function E(t){let r=new Map;for(let e of t)r.set(`${e.relativePath}\0${e.line}`,e);return[...r.values()].sort(p)}export{p as compareReferenceKey,j as referencePage};
|
|
2
|
+
//# sourceMappingURL=refs-pagination-VUGIWN6U.js.map
|