scip-query 0.21.1 → 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.
Files changed (354) hide show
  1. package/CHANGELOG.md +60 -0
  2. package/dist/augment-vue-worker.js +1 -1
  3. package/dist/by-kind-4IYG2SKW.js +2 -0
  4. package/dist/call-graph-WQNXMNNN.js +2 -0
  5. package/dist/{chunk-5QM7QT5B.js → chunk-25GWKRUZ.js} +2 -2
  6. package/dist/chunk-2BTJALUS.js +454 -0
  7. package/dist/{chunk-4ZCLDH6T.js → chunk-2KVU55CW.js} +2 -2
  8. package/dist/{chunk-CQVDALWQ.js → chunk-2OXVP5U5.js} +2 -2
  9. package/dist/{chunk-I2LY3KN7.js → chunk-2RE5OCHZ.js} +2 -2
  10. package/dist/{chunk-5J3A6RBZ.js → chunk-2XCGSDIT.js} +2 -2
  11. package/dist/{chunk-4KIPF45P.js → chunk-2YC7YNKT.js} +2 -2
  12. package/dist/{chunk-ZNW5A5VX.js → chunk-3QXC54FQ.js} +2 -2
  13. package/dist/{chunk-SGSPCEFC.js → chunk-3TJY6M3B.js} +2 -2
  14. package/dist/chunk-42W3LFUK.js +13 -0
  15. package/dist/chunk-44T4DUAA.js +2 -0
  16. package/dist/{chunk-YBWE6J32.js → chunk-4GAQ6FI4.js} +2 -2
  17. package/dist/{chunk-OU6SDWAM.js → chunk-4HE7MVWD.js} +2 -2
  18. package/dist/{chunk-QN2AI3D2.js → chunk-4TQU4TX2.js} +2 -2
  19. package/dist/{chunk-OMVNRPST.js → chunk-56NQAEPJ.js} +2 -2
  20. package/dist/{chunk-O4PZFAXA.js → chunk-57N6LN2A.js} +2 -2
  21. package/dist/{chunk-7MUHSZGN.js → chunk-5H5WTJSD.js} +2 -2
  22. package/dist/{chunk-J4HUBIVF.js → chunk-5YRQIE2B.js} +2 -2
  23. package/dist/{chunk-3XQLJG7V.js → chunk-5ZMBRQFC.js} +2 -2
  24. package/dist/{chunk-H2RBDP5S.js → chunk-6HRZQLOI.js} +2 -2
  25. package/dist/{chunk-PJBYDCBQ.js → chunk-6NC3YSPY.js} +2 -2
  26. package/dist/{chunk-MLTSTKXD.js → chunk-6VEFRPTD.js} +2 -2
  27. package/dist/{chunk-JLZWYDCZ.js → chunk-7C26EKLZ.js} +2 -2
  28. package/dist/{chunk-LXMW6ZAX.js → chunk-7IQXARSQ.js} +2 -2
  29. package/dist/chunk-7JYHQAH2.js +22 -0
  30. package/dist/{chunk-YA72ZUKO.js → chunk-7KSO2OAP.js} +2 -2
  31. package/dist/{chunk-YT4IQBET.js → chunk-7U2YQSDE.js} +2 -2
  32. package/dist/{chunk-XDOEHEET.js → chunk-7XA3OM44.js} +2 -2
  33. package/dist/{chunk-BCTCADNB.js → chunk-7XZGZBSQ.js} +2 -2
  34. package/dist/{chunk-3KXFB2FM.js → chunk-7YQOCABQ.js} +2 -2
  35. package/dist/chunk-A77SCPW2.js +3 -0
  36. package/dist/chunk-AK3PYTIK.js +5 -0
  37. package/dist/{chunk-6X4KO5A7.js → chunk-AMIMMNA4.js} +2 -2
  38. package/dist/{chunk-PWEQ6CZZ.js → chunk-AQ2PORIO.js} +2 -2
  39. package/dist/{chunk-E6N6YTVM.js → chunk-ARVO6TTW.js} +2 -2
  40. package/dist/{chunk-U7DOYZDH.js → chunk-AUY5BL74.js} +2 -2
  41. package/dist/{chunk-B3AREUQK.js → chunk-AYPDH2LU.js} +2 -2
  42. package/dist/{chunk-HR5JYLVV.js → chunk-AZS7YPCB.js} +2 -2
  43. package/dist/{chunk-ZQUNCTEZ.js → chunk-BDGTPN27.js} +2 -2
  44. package/dist/{chunk-DZNWXJN2.js → chunk-BDHFVH2M.js} +2 -2
  45. package/dist/{chunk-743MEVFJ.js → chunk-BECZLYNU.js} +2 -2
  46. package/dist/{chunk-4IASLUOP.js → chunk-BJT7LSPK.js} +2 -2
  47. package/dist/{chunk-X5MWO4DM.js → chunk-BTVKZGWT.js} +2 -2
  48. package/dist/{chunk-HYU4W353.js → chunk-BUTEIZKP.js} +2 -2
  49. package/dist/{chunk-UXNXOMXJ.js → chunk-BVFYEEBH.js} +2 -2
  50. package/dist/{chunk-UM56ZET4.js → chunk-BWVQP3LB.js} +2 -2
  51. package/dist/chunk-BYDAFMSR.js +57 -0
  52. package/dist/{chunk-P3UFF22M.js → chunk-C76O5MDS.js} +2 -2
  53. package/dist/chunk-C7IJMOFP.js +134 -0
  54. package/dist/{chunk-IM23CSG5.js → chunk-CBBHFNLX.js} +2 -2
  55. package/dist/{chunk-IZKJQQCQ.js → chunk-CKRWA452.js} +2 -2
  56. package/dist/{chunk-YLNCTPOI.js → chunk-CLG6DWVS.js} +2 -2
  57. package/dist/{chunk-DXEJ4FLZ.js → chunk-D2MVJSP4.js} +8 -8
  58. package/dist/chunk-D35XIZGN.js +2 -0
  59. package/dist/{chunk-AQF35NGT.js → chunk-DEAB5TGT.js} +2 -2
  60. package/dist/{chunk-7G2WIVIX.js → chunk-DJAO2OZJ.js} +2 -2
  61. package/dist/{chunk-PRLU3I7G.js → chunk-DKM723YF.js} +4 -4
  62. package/dist/{chunk-RSUH7G5T.js → chunk-DPWKKNKI.js} +2 -2
  63. package/dist/chunk-E44IVWIJ.js +367 -0
  64. package/dist/{chunk-W7HN6V4E.js → chunk-EDMB6SSO.js} +2 -2
  65. package/dist/{chunk-YCXQQ3YB.js → chunk-EELG7D3Q.js} +2 -2
  66. package/dist/{chunk-T2PBOVDI.js → chunk-EELPBR7E.js} +2 -2
  67. package/dist/{chunk-PAZSBPJR.js → chunk-EETGXQY7.js} +2 -2
  68. package/dist/{chunk-DUDUIT5P.js → chunk-ENWQWA2R.js} +2 -2
  69. package/dist/{chunk-QH5Q6M5C.js → chunk-ERCYGVAM.js} +2 -2
  70. package/dist/{chunk-ZGDHC5AT.js → chunk-EWWY2ZFL.js} +2 -2
  71. package/dist/{chunk-LJMWILX6.js → chunk-F24G5NBE.js} +2 -2
  72. package/dist/{chunk-XNF5T4T2.js → chunk-F24QUEQP.js} +2 -2
  73. package/dist/{chunk-IH3K5J6K.js → chunk-FBCVASUG.js} +2 -2
  74. package/dist/{chunk-EPLE5O5O.js → chunk-FELGD32K.js} +2 -2
  75. package/dist/{chunk-PU6XDQ2X.js → chunk-FFJQZG6J.js} +5 -5
  76. package/dist/{chunk-JGMD6JGB.js → chunk-FGNCOQUX.js} +2 -2
  77. package/dist/chunk-FKGQOTKD.js +2 -0
  78. package/dist/{chunk-27OUNZW5.js → chunk-GDRJB3SB.js} +2 -2
  79. package/dist/chunk-GH5YSGZL.js +5 -0
  80. package/dist/{chunk-IHGK3SZ7.js → chunk-GIQ6CSL4.js} +2 -2
  81. package/dist/{chunk-ITF3CWS5.js → chunk-GPGRZJ3R.js} +2 -2
  82. package/dist/{chunk-EJHNTAEE.js → chunk-GQIDEID3.js} +2 -2
  83. package/dist/{chunk-UEQORB2A.js → chunk-GRX7JOXQ.js} +2 -2
  84. package/dist/{chunk-6QN4FYQW.js → chunk-GVOMSPGL.js} +2 -2
  85. package/dist/{chunk-NT4NVEHU.js → chunk-GY7CCCEZ.js} +2 -2
  86. package/dist/{chunk-BVR44XXB.js → chunk-H7CG6LOE.js} +2 -2
  87. package/dist/{chunk-67FK5KGV.js → chunk-HCVJR2V4.js} +2 -2
  88. package/dist/{chunk-FOP7HD6H.js → chunk-HG722PO7.js} +2 -2
  89. package/dist/{chunk-YR7VRWNX.js → chunk-HISEUIL2.js} +2 -2
  90. package/dist/{chunk-Y2S4YNLH.js → chunk-HXOU4XNH.js} +2 -2
  91. package/dist/{chunk-DZA7MQMU.js → chunk-I6UTXNHU.js} +2 -2
  92. package/dist/{chunk-QZCACNV5.js → chunk-IJMD6BRI.js} +2 -2
  93. package/dist/{chunk-QGVUPYBC.js → chunk-IKVNEGTW.js} +2 -2
  94. package/dist/chunk-IMKZEXZG.js +2 -0
  95. package/dist/{chunk-LGVTIZPV.js → chunk-ISIQLPJ2.js} +2 -2
  96. package/dist/{chunk-BYXWXLKM.js → chunk-ISWFRGJ6.js} +2 -2
  97. package/dist/chunk-IW5XQG5G.js +2 -0
  98. package/dist/{chunk-ZMS4YCY7.js → chunk-IXESDH3J.js} +2 -2
  99. package/dist/{chunk-K63CAPS2.js → chunk-JAT6C3VX.js} +2 -2
  100. package/dist/{chunk-U2MNECDU.js → chunk-JFQBRL3J.js} +2 -2
  101. package/dist/{chunk-4SZJF4GK.js → chunk-JHH5SCZ3.js} +2 -2
  102. package/dist/{chunk-AAOEROT3.js → chunk-JJ62MTQH.js} +2 -2
  103. package/dist/chunk-JT6XX7QY.js +8 -0
  104. package/dist/{chunk-OY7PCALC.js → chunk-JUN5DOAK.js} +2 -2
  105. package/dist/{chunk-DXYMTQZ4.js → chunk-K3XFWJI2.js} +2 -2
  106. package/dist/{chunk-ZP2WUVZ5.js → chunk-KFVSJX25.js} +2 -2
  107. package/dist/{chunk-ND3BWIVN.js → chunk-KQHJEU6V.js} +2 -2
  108. package/dist/{chunk-KGKCJFWZ.js → chunk-KZYID5KV.js} +2 -2
  109. package/dist/{chunk-2LJLEM5B.js → chunk-LO5JSW2C.js} +2 -2
  110. package/dist/{chunk-CNT4ND5O.js → chunk-LRI5OMPE.js} +2 -2
  111. package/dist/{chunk-FCGMQETU.js → chunk-LXQUF2RP.js} +2 -2
  112. package/dist/{chunk-FSPENGSU.js → chunk-MHIEP7EG.js} +2 -2
  113. package/dist/{chunk-LIWIV26I.js → chunk-MSR2QRUE.js} +2 -2
  114. package/dist/chunk-N7FP5H5U.js +57 -0
  115. package/dist/{chunk-527HV7JY.js → chunk-NEIQPFBI.js} +2 -2
  116. package/dist/chunk-NK3JMP22.js +2 -0
  117. package/dist/{chunk-DK6MB565.js → chunk-NRBNAECH.js} +2 -2
  118. package/dist/{chunk-4HQYNZ3P.js → chunk-NVSZNESQ.js} +2 -2
  119. package/dist/{chunk-QLWZUFDT.js → chunk-OJNK5ALA.js} +2 -2
  120. package/dist/{chunk-MRXBLYRE.js → chunk-OPSAW5DT.js} +2 -2
  121. package/dist/{chunk-4TOU7HHQ.js → chunk-OTSPRVNW.js} +2 -2
  122. package/dist/{chunk-IQMGNIGY.js → chunk-OXYAWIEA.js} +2 -2
  123. package/dist/chunk-OZETODHH.js +2 -0
  124. package/dist/chunk-PBUH2P5S.js +3 -0
  125. package/dist/{chunk-5BJPJUXF.js → chunk-PIFTZEEM.js} +2 -2
  126. package/dist/{chunk-C52Q3JEQ.js → chunk-PLJUQFQN.js} +2 -2
  127. package/dist/{chunk-NODZYYGC.js → chunk-PLYUVM4F.js} +2 -2
  128. package/dist/{chunk-47WX6UC4.js → chunk-PXXYQK55.js} +2 -2
  129. package/dist/{chunk-SBFDPHKH.js → chunk-Q55NF3ZG.js} +2 -2
  130. package/dist/{chunk-N4EFQIRX.js → chunk-Q5TA4OY4.js} +2 -2
  131. package/dist/{chunk-HW7FASEL.js → chunk-Q6T2CAJL.js} +2 -2
  132. package/dist/chunk-Q7GBK5T7.js +81 -0
  133. package/dist/{chunk-CXT3GZSQ.js → chunk-QKT4UI2Y.js} +2 -2
  134. package/dist/{chunk-DGM2RJ3I.js → chunk-QLBSG7U5.js} +2 -2
  135. package/dist/chunk-QWKHW6VZ.js +2 -0
  136. package/dist/{chunk-3T5U2EQ2.js → chunk-R6M456QG.js} +2 -2
  137. package/dist/{chunk-RZWBTKXO.js → chunk-RDULNRSJ.js} +2 -2
  138. package/dist/{chunk-YKHL4J3G.js → chunk-RHHCLWQ6.js} +2 -2
  139. package/dist/{chunk-YF25RQER.js → chunk-RNKPYYYE.js} +2 -2
  140. package/dist/{chunk-XKM5D2XS.js → chunk-RPL3ARU7.js} +2 -2
  141. package/dist/{chunk-XFRHBAIT.js → chunk-RYOYJMGF.js} +2 -2
  142. package/dist/chunk-SB25YMEQ.js +2 -0
  143. package/dist/{chunk-SRIZDEWX.js → chunk-SVHTMVA4.js} +2 -2
  144. package/dist/{chunk-AFRS7WJU.js → chunk-SWK4XPUS.js} +2 -2
  145. package/dist/{chunk-YDTK77JP.js → chunk-T6QD2ZQB.js} +2 -2
  146. package/dist/{chunk-Z2QB75BS.js → chunk-TAYD3AE7.js} +2 -2
  147. package/dist/chunk-TD7VKJ2Y.js +117 -0
  148. package/dist/{chunk-K2DZCH2K.js → chunk-TH6IC56G.js} +2 -2
  149. package/dist/{chunk-FIO44MVK.js → chunk-TKDNDQA7.js} +2 -2
  150. package/dist/{chunk-Q4MRRB3C.js → chunk-TNG2FYS5.js} +2 -2
  151. package/dist/chunk-TQZV7KV4.js +2 -0
  152. package/dist/{chunk-NSDPPUDY.js → chunk-TUQIPUDS.js} +2 -2
  153. package/dist/chunk-TUSPIVZ3.js +4 -0
  154. package/dist/{chunk-RNKRYK6B.js → chunk-U2N2KE7A.js} +2 -2
  155. package/dist/{chunk-G47MFF47.js → chunk-UAQ4T73O.js} +2 -2
  156. package/dist/{chunk-5KIJMEPC.js → chunk-UDY7MIAW.js} +2 -2
  157. package/dist/{chunk-MLTKGHD2.js → chunk-URSGGIZX.js} +2 -2
  158. package/dist/{chunk-IGBQVEHE.js → chunk-UT7TADJX.js} +2 -2
  159. package/dist/{chunk-Z67JOKRE.js → chunk-V4NG5OMS.js} +105 -105
  160. package/dist/{chunk-OA2BO4DR.js → chunk-VMWUV6WB.js} +2 -2
  161. package/dist/{chunk-PX6QNUYF.js → chunk-VTCIYFEK.js} +2 -2
  162. package/dist/{chunk-6DO3VBLV.js → chunk-VU6LIWHT.js} +2 -2
  163. package/dist/{chunk-CTO3TRX7.js → chunk-VUSKPCUB.js} +2 -2
  164. package/dist/{chunk-V6XENWOF.js → chunk-VXJJTQYE.js} +2 -2
  165. package/dist/{chunk-BM4OTGSY.js → chunk-VZ7NXSHV.js} +2 -2
  166. package/dist/{chunk-ARGPDW2Y.js → chunk-WHADK6OS.js} +2 -2
  167. package/dist/chunk-WN3TCGJ4.js +2 -0
  168. package/dist/{chunk-GBZCVYWA.js → chunk-WOOAY3PA.js} +2 -2
  169. package/dist/{chunk-FLSVYEPL.js → chunk-WSLEJSFR.js} +2 -2
  170. package/dist/{chunk-BMKTDJI6.js → chunk-WYZIHUPZ.js} +2 -2
  171. package/dist/{chunk-WZ7V4BQV.js → chunk-XE33FV5W.js} +2 -2
  172. package/dist/{chunk-JO6FK3Q5.js → chunk-XFMVKFSF.js} +2 -2
  173. package/dist/{chunk-3YETOKNO.js → chunk-XGGBK66W.js} +2 -2
  174. package/dist/{chunk-BZCRHP46.js → chunk-XJX6LGHL.js} +2 -2
  175. package/dist/{chunk-OFZVFIDF.js → chunk-XN22RGSR.js} +2 -2
  176. package/dist/{chunk-VJAD5WX5.js → chunk-XSWYJCAK.js} +2 -2
  177. package/dist/{chunk-WV6R37XV.js → chunk-XU75YQN4.js} +2 -2
  178. package/dist/{chunk-UBETC3Q2.js → chunk-Y2VM4CJC.js} +2 -2
  179. package/dist/{chunk-7YZGSLW6.js → chunk-Y334QQU5.js} +2 -2
  180. package/dist/{chunk-TP2X2C2Y.js → chunk-YAGYMBEX.js} +2 -2
  181. package/dist/{chunk-KBIC6JHJ.js → chunk-YIHNPKWD.js} +2 -2
  182. package/dist/{chunk-5Z2H76VD.js → chunk-YXPUP5G2.js} +2 -2
  183. package/dist/{chunk-G6VV7ROY.js → chunk-Z2AWCTN6.js} +2 -2
  184. package/dist/{chunk-O3EX5STE.js → chunk-Z2PZVKPR.js} +2 -2
  185. package/dist/{chunk-OG5UK2K7.js → chunk-ZAZGGSM3.js} +2 -2
  186. package/dist/{chunk-GTZFKDP3.js → chunk-ZGW4HLPD.js} +2 -2
  187. package/dist/chunk-ZOXKSQQB.js +2 -0
  188. package/dist/{chunk-KFFQURUZ.js → chunk-ZPASRBLF.js} +2 -2
  189. package/dist/{chunk-WZRNEVYC.js → chunk-ZYM4HOFA.js} +2 -2
  190. package/dist/{chunk-FUUDUAKM.js → chunk-ZZ3Z7D56.js} +2 -2
  191. package/dist/cli-main.js +2 -2
  192. package/dist/code-EQJFDT6I.js +2 -0
  193. package/dist/code-result-json-7UWIWBOO.js +2 -0
  194. package/dist/{command-descriptors-6INSCKLW.js → command-descriptors-ORNTVNYV.js} +89 -89
  195. package/dist/dataflow-6VL54GX5.js +2 -0
  196. package/dist/dependence-slice-DT2NUHD2.js +2 -0
  197. package/dist/deps-DB7H5IKC.js +2 -0
  198. package/dist/direct-navigation-O3LUAYWQ.js +3 -0
  199. package/dist/entry-map-6K62RV3D.js +2 -0
  200. package/dist/files-MSLD7MO6.js +2 -0
  201. package/dist/hierarchy-IVBXAKFA.js +2 -0
  202. package/dist/imports-FRAVZ3Y2.js +2 -0
  203. package/dist/index.js +1 -1
  204. package/dist/members-KJOJDYGO.js +2 -0
  205. package/dist/methods-2AYABBT3.js +2 -0
  206. package/dist/output-continuation-command-JHMPH6NC.js +3 -0
  207. package/dist/project-reindex-HYO4WD7Z.js +3 -0
  208. package/dist/queries/affected.js +1 -1
  209. package/dist/queries/anchors.js +1 -1
  210. package/dist/queries/architecture.js +1 -1
  211. package/dist/queries/bottlenecks.js +1 -1
  212. package/dist/queries/by-kind.js +1 -1
  213. package/dist/queries/call-graph.js +1 -1
  214. package/dist/queries/change-surface.js +1 -1
  215. package/dist/queries/cleanup-plan.js +1 -1
  216. package/dist/queries/co-change.js +1 -1
  217. package/dist/queries/code.js +1 -1
  218. package/dist/queries/complexity-hotspots.js +1 -1
  219. package/dist/queries/complexity.d.ts +11 -0
  220. package/dist/queries/complexity.js +1 -1
  221. package/dist/queries/context.js +1 -1
  222. package/dist/queries/convergence.js +1 -1
  223. package/dist/queries/coupling.js +1 -1
  224. package/dist/queries/cycles.js +1 -1
  225. package/dist/queries/dataflow.js +1 -1
  226. package/dist/queries/dead.js +1 -1
  227. package/dist/queries/decorative-checkers.js +1 -1
  228. package/dist/queries/deep-chains.js +1 -1
  229. package/dist/queries/dependence-slice.js +1 -1
  230. package/dist/queries/dependency-depth.js +1 -1
  231. package/dist/queries/deps.js +1 -1
  232. package/dist/queries/diff-impact.js +1 -1
  233. package/dist/queries/doc-drift.js +1 -1
  234. package/dist/queries/drift.js +1 -1
  235. package/dist/queries/duplicate-bodies.js +1 -1
  236. package/dist/queries/entry-map.js +1 -1
  237. package/dist/queries/evidence.js +1 -1
  238. package/dist/queries/extract-candidates.js +1 -1
  239. package/dist/queries/fan.js +1 -1
  240. package/dist/queries/files.js +1 -1
  241. package/dist/queries/health.js +1 -1
  242. package/dist/queries/hierarchy.js +1 -1
  243. package/dist/queries/hotspots.js +1 -1
  244. package/dist/queries/imports.js +1 -1
  245. package/dist/queries/incomplete-migration.js +1 -1
  246. package/dist/queries/index.js +1 -1
  247. package/dist/queries/isolated.js +1 -1
  248. package/dist/queries/locality-candidates.js +1 -1
  249. package/dist/queries/members.js +1 -1
  250. package/dist/queries/methods.js +1 -1
  251. package/dist/queries/not-implemented.js +1 -1
  252. package/dist/queries/outline.js +1 -1
  253. package/dist/queries/passthrough-candidates.js +1 -1
  254. package/dist/queries/plan-context.js +1 -1
  255. package/dist/queries/react-component-duplicates.js +1 -1
  256. package/dist/queries/react-hook-candidates.js +1 -1
  257. package/dist/queries/react-large-component-pressure.js +1 -1
  258. package/dist/queries/recent-duplicates.js +1 -1
  259. package/dist/queries/redundant-reexports.js +1 -1
  260. package/dist/queries/reference-neighborhood.js +1 -1
  261. package/dist/queries/reference-reachability.js +1 -1
  262. package/dist/queries/refs.js +1 -1
  263. package/dist/queries/self-audit.js +1 -1
  264. package/dist/queries/similar-chains.js +1 -1
  265. package/dist/queries/similar-files.js +1 -1
  266. package/dist/queries/similar-signatures.js +1 -1
  267. package/dist/queries/similar.js +1 -1
  268. package/dist/queries/slice.js +1 -1
  269. package/dist/queries/source-inspection.js +1 -1
  270. package/dist/queries/source-search.js +1 -1
  271. package/dist/queries/stale-abstractions.js +1 -1
  272. package/dist/queries/surface.js +1 -1
  273. package/dist/queries/symbols.js +1 -1
  274. package/dist/queries/system-map.js +1 -1
  275. package/dist/queries/system.js +1 -1
  276. package/dist/queries/test-quality.js +1 -1
  277. package/dist/queries/trace.js +1 -1
  278. package/dist/queries/twin-ab.js +1 -1
  279. package/dist/queries/twin-drift.js +1 -1
  280. package/dist/queries/unused-imports.js +1 -1
  281. package/dist/queries/unused-params.js +1 -1
  282. package/dist/queries/value-flow.js +1 -1
  283. package/dist/queries/vue-component-duplicates.js +1 -1
  284. package/dist/queries/vue-composable-candidates.js +1 -1
  285. package/dist/queries/vue-large-view-pressure.js +1 -1
  286. package/dist/queries/wrapper-candidates.js +1 -1
  287. package/dist/query-service-fastpath.js +5 -5
  288. package/dist/query-service-server.js +2 -2
  289. package/dist/refs-ARMA6XUJ.js +2 -0
  290. package/dist/{refs-pagination-SRCUOYRD.js → refs-pagination-VUGIWN6U.js} +2 -2
  291. package/dist/reindex-worker.js +64 -22
  292. package/dist/reindex.js +74 -32
  293. package/dist/runtime.js +1 -1
  294. package/dist/rust-semantic-session-server.js +1 -1
  295. package/dist/rust-semantic-session-worker.js +1 -1
  296. package/dist/rust-semantic-worker.js +1 -1
  297. package/dist/slice-YOB5YFAM.js +2 -0
  298. package/dist/surface-VY5EFWTW.js +2 -0
  299. package/dist/{symbol-resolution-SVSMX4RN.js → symbol-resolution-DGQN4XIV.js} +2 -2
  300. package/dist/system-2KQ3QD2P.js +2 -0
  301. package/dist/trace-HTIPTXAE.js +2 -0
  302. package/dist/typescript-mailbox-worker.js +1 -1
  303. package/dist/value-flow-5FV3VQI7.js +2 -0
  304. package/dist/watch-server.js +3 -3
  305. package/package.json +1 -1
  306. package/dist/by-kind-XXGZGNZ6.js +0 -2
  307. package/dist/call-graph-VGY3R4L3.js +0 -2
  308. package/dist/chunk-3XZELASU.js +0 -2
  309. package/dist/chunk-63TFRBMB.js +0 -2
  310. package/dist/chunk-6LS3IG2I.js +0 -13
  311. package/dist/chunk-7Z4GMCHM.js +0 -117
  312. package/dist/chunk-ANCHW2R4.js +0 -57
  313. package/dist/chunk-C7WSQA6A.js +0 -21
  314. package/dist/chunk-DNPETNXT.js +0 -2
  315. package/dist/chunk-E7CJ6O72.js +0 -2
  316. package/dist/chunk-FYCH2EYQ.js +0 -2
  317. package/dist/chunk-GSHTVE56.js +0 -3
  318. package/dist/chunk-JSHDCVUM.js +0 -81
  319. package/dist/chunk-L7WRUNKJ.js +0 -2
  320. package/dist/chunk-LFWB7TOJ.js +0 -2
  321. package/dist/chunk-MFBVUQJZ.js +0 -2
  322. package/dist/chunk-MR4ZKWO6.js +0 -57
  323. package/dist/chunk-NP4JFCLE.js +0 -133
  324. package/dist/chunk-NQXWWE6S.js +0 -8
  325. package/dist/chunk-O2VY47Y5.js +0 -325
  326. package/dist/chunk-SIGVQT43.js +0 -2
  327. package/dist/chunk-UAQQR55F.js +0 -2
  328. package/dist/chunk-VRJG7N3I.js +0 -453
  329. package/dist/chunk-WCIKJ2E3.js +0 -3
  330. package/dist/chunk-WEXQYJY3.js +0 -5
  331. package/dist/chunk-WOPZX5GM.js +0 -2
  332. package/dist/chunk-XDQX6LDT.js +0 -4
  333. package/dist/chunk-XIPGCT3D.js +0 -5
  334. package/dist/chunk-Z2KGMIL4.js +0 -2
  335. package/dist/code-AXLJBZ6T.js +0 -2
  336. package/dist/code-result-json-CTZHAQXJ.js +0 -2
  337. package/dist/dataflow-AFXY423Q.js +0 -2
  338. package/dist/dependence-slice-2G4X6VSJ.js +0 -2
  339. package/dist/deps-LMCAV5DO.js +0 -2
  340. package/dist/direct-navigation-2ONV22Y2.js +0 -3
  341. package/dist/entry-map-ZOC3VXO5.js +0 -2
  342. package/dist/files-WJQJLHMH.js +0 -2
  343. package/dist/hierarchy-ASNIHAX4.js +0 -2
  344. package/dist/imports-JICEKDKK.js +0 -2
  345. package/dist/members-C5H2K3MS.js +0 -2
  346. package/dist/methods-KZOZHSD4.js +0 -2
  347. package/dist/output-continuation-command-NX3RH3TP.js +0 -3
  348. package/dist/project-reindex-A2SXUH2H.js +0 -3
  349. package/dist/refs-ZOORVRQC.js +0 -2
  350. package/dist/slice-NOTBWA7S.js +0 -2
  351. package/dist/surface-BTBCLKNA.js +0 -2
  352. package/dist/system-2EIUFP6B.js +0 -2
  353. package/dist/trace-BB2GHQPG.js +0 -2
  354. package/dist/value-flow-OA7AHSUG.js +0 -2
@@ -1,6 +1,6 @@
1
- import{A as Ie,B as st,C as we,G as at,b as Ze,f as M,g as et,h as xe,i as ie,j as _,k as q,l as tt,m as nt,n as G,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 B,z as V}from"./chunk-KFOYCQAJ.js";import{createRequire as Un}from"module";var Hn=Un(import.meta.url),Q=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 Gs,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:Q},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","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 Me}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 $=["typescript","javascript","java","scala","kotlin","rust","python","ruby","go","cpp","c","csharp","vb","dart","php","clojure"];var Ae=2,U=3;var Oe=new Set($);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"&&Oe.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"&&Oe.has(e.language)&&typeof e.reason=="string")}function Ir(t){return f(t)&&Object.entries(t).every(([e,n])=>Oe.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 Or=1;var Mr=".scipquery-generations";var fa={pid:process.pid,now:()=>new Date,randomToken:()=>Cr(),isProcessAlive:V,readProcessIdentity:B};function _r(t){return Me(It(t),Mr)}function jr(t){try{let e=JSON.parse(I(Me(_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=Me(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===Or&&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,Gr="./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:Gr,schemaVersion:H,...i}}import{createHash as ba}from"crypto";var _e=1,Ct=2,Br=1,Vr=1,Qr="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 $r(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 Ot(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(!Ot(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===Br&&t.canonicalizationVersion===Vr&&t.hashAlgorithm===Qr&&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 $r(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 Ot(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($);function Mt(t){let e=ni(t,de);if(!ti(e))return{};let n;try{n=G(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 Ba,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 Gt(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=O(n);return{root:a,gitDir:O(le(a,r)),commonDir:O(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=Gt(n);return r?.headCommit!==t.headCommit?void 0:{...Bt(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=O(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=Gt(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=O(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=O(le(i,o));return{kind:"worktree",identity:Bt(i,s)}}function Bt(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 O(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 Qt(t=qe(),e=void 0){if(e===void 0&&Vt?.projectRoot===t)return Vt;let n=Mt(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 $t(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 $e,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 Ge(t,Ii)}function Ge(t,e){return Array.isArray(t)?`[${t.map(n=>Ge(n,e)).join(",")}]`:t&&typeof t=="object"?`{${Object.entries(t).sort(([n],[r])=>e(n,r)).map(([n,r])=>`${JSON.stringify(n)}:${Ge(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{existsSync as Y,lstatSync as ne,mkdirSync as rc,readdirSync as K,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),Oi(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=Qe(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 Oi(t,e,n,r,i,o){let s=g(t.rootDir,".admission.lock"),a=`${process.pid}-${Yt()}`,c=r()+Math.max(0,n);for(;!Mi(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{Be(s).ownerToken===a&&(F(s,{recursive:!0,force:!0}),i==="durable"&&_(t.rootDir))}catch{}}}function Mi(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{Be(e).ownerToken===n&&(F(e,{force:!0}),r==="durable"&&_(t))}catch{}throw o}}function _i(t){let e=null;try{let r=Be(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 Be(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=Qe(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=Qe(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 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 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 vc}from"fs";import{dirname as xc,resolve as eo}from"path";import{fileURLToPath as wc}from"url";import{join as he}from"path";var on=6,sn=1e4,Wi="watch.lock",qi="watch-state.json",Gi="watch-activity.json",Bi="watch-refresh-requests";function an(t){return{lockPath:he(t,Wi),statePath:he(t,qi),activityPath:he(t,Gi),refreshRequestsPath:he(t,Bi)}}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)||!Qi(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&&!$i(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 Qi(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 $i(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(!$.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=O(eo(t));if(n&&O(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:B,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}),Go,"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}),$o,"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 On(t,e,n={}){return m(t,r=>({kind:"value-flow",expectedGeneration:r,symbolPattern:e}),z,"value-flow result",n)}function Mn(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}),Bo,"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=Qt(t,s);if(!$e(a.dbPath))return null;let c=wt(a.dbPath);if(!c||o&&!Oo(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 Oo(t,e,n){if(t.config.watch?.enabled!==!0)return!1;try{return dn(ln({projectRoot:t.projectRoot,cacheDir:t.paths.cacheDir,cliVersion:Q,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(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!==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=B(t.pid);return r!==null&&ee(t.processIdentity,r)}function Mo(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(!$e(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($e(x.responsePath))return Do(G(x.responsePath,{maxBytes:He,inputKind:"query service response"}),{id:R,operationKey:y,clientId:p,deadlineAtMs:x.authoritativeDeadlineAtMs,generation:t.generationIdentity},n,r);let ze=Mo(Ye);if(ze.checkServerState){let Xe=be(s);(!Xe||!Se(Xe))&&yn(s,t.projectRoot,i,l)}Gn(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;Gn(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 Go(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(Qo)}function Bo(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 Qo(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 $o(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 Gn(t){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,t)}async function ou(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?(M(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=On(n,e.symbolPattern,{allowDefault:!0});return i?(await w(i.result.serializedJson,e.kind,t),!0):!1}if(e.kind==="dependence-slice"){let i=Mn(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?(M(JSON.stringify(i.result)),!0):!1}if(e.kind==="entrypoints"){let i=bn(n,e.options,{allowDefault:!0});return i?(M(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?(M(JSON.stringify(r.result)),!0):!1}function ys(t){return t[0]==="search"?Ms(t):t[0]==="outline"?_s(t):t[0]==="code"?Os(t):t[0]==="entrypoints"?As(t):t[0]==="files"?Es(t):t[0]==="stats"?Qn(t,"stats"):t[0]==="kind-counts"?Qn(t,"kind-counts"):t[0]==="members"?Bn(t,"members"):t[0]==="methods"?Bn(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 Bn(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 $n(t)?(M(t),!0):!1}async function w(t,e,n){if($n(t)){M(t);return}let{runWithCliOutputPagination:r}=await import("./output-pagination-3OFL2MJV.js");await r({command:e,producerVersion:Q,invocationPrefix:$t(),argv:[...n],cwd:process.cwd(),json:!0,sourceSession:!0,reemitSource:!1},()=>M(t))}function $n(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 Qn(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 Os(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 Ms(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,$n as serializedJsonFitsClientBudget,ou 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-ZGDHC5AT.js";import"./chunk-JO6FK3Q5.js";import"./chunk-YR7VRWNX.js";import"./chunk-7G2WIVIX.js";import"./chunk-DXEJ4FLZ.js";import"./chunk-26CT72HM.js";import"./chunk-QN2AI3D2.js";import"./chunk-HR5JYLVV.js";import"./chunk-RSUH7G5T.js";import"./chunk-QGVUPYBC.js";import"./chunk-YKHL4J3G.js";import"./chunk-K63CAPS2.js";import"./chunk-YT4IQBET.js";import"./chunk-BM4OTGSY.js";import"./chunk-3TNRNKAT.js";import{a as O}from"./chunk-6YTSKJJ3.js";import"./chunk-KBIC6JHJ.js";import"./chunk-EJHNTAEE.js";import"./chunk-7KCZELVM.js";import{a as ye}from"./chunk-NSDPPUDY.js";import"./chunk-OFZVFIDF.js";import{c as M}from"./chunk-YA72ZUKO.js";import"./chunk-6QN4FYQW.js";import"./chunk-OMVNRPST.js";import"./chunk-SBFDPHKH.js";import"./chunk-J4HUBIVF.js";import{h as he}from"./chunk-YF25RQER.js";import"./chunk-5KIJMEPC.js";import{d as be}from"./chunk-SRIZDEWX.js";import"./chunk-BGBBVSH4.js";import"./chunk-PJBYDCBQ.js";import"./chunk-MTDBHTSF.js";import{b as Re}from"./chunk-ZMS4YCY7.js";import{b as ge,c as Se}from"./chunk-IQMGNIGY.js";import"./chunk-MR4ZKWO6.js";import"./chunk-XFRHBAIT.js";import"./chunk-MFBVUQJZ.js";import{a as I,b as re}from"./chunk-EPLE5O5O.js";import"./chunk-5J3A6RBZ.js";import"./chunk-WRQXLNYE.js";import"./chunk-YDTK77JP.js";import"./chunk-T2PBOVDI.js";import"./chunk-YUKYB54I.js";import"./chunk-4IASLUOP.js";import{d as ue}from"./chunk-FLSVYEPL.js";import"./chunk-CTO3TRX7.js";import"./chunk-F4FNK44D.js";import"./chunk-67FK5KGV.js";import{a as fe}from"./chunk-IM23CSG5.js";import"./chunk-PAZSBPJR.js";import"./chunk-P3UFF22M.js";import"./chunk-UAQQR55F.js";import{P as ee,W as te,b as K,c as Y,i as A,y as J,z as X}from"./chunk-NP4JFCLE.js";import"./chunk-5Z2H76VD.js";import{c as k,h as Z}from"./chunk-DRENNWRG.js";import{a as me}from"./chunk-U7DOYZDH.js";import"./chunk-MXNGIEPU.js";import"./chunk-UXNXOMXJ.js";import"./chunk-4SZJF4GK.js";import{a as pe,b as g}from"./chunk-WOPZX5GM.js";import{a as de}from"./chunk-DHEQMPLW.js";import"./chunk-DUDUIT5P.js";import"./chunk-SIGVQT43.js";import{b as W,d as z}from"./chunk-PRLU3I7G.js";import{d as Q}from"./chunk-DXYMTQZ4.js";import"./chunk-DK6MB565.js";import{b as q}from"./chunk-FYCH2EYQ.js";import{b as U}from"./chunk-O4PZFAXA.js";import{a as B,c as G,d as $,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-NQXWWE6S.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import{c as P,d as C,e as F}from"./chunk-Z2KGMIL4.js";import{S as V,n as L}from"./chunk-XIPGCT3D.js";import{createHash as h,randomUUID as xt}from"crypto";import{rmSync as Et}from"fs";import{join as Fe,resolve as qe}from"path";import{pathToFileURL as Ct}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(`
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 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{execFileSync as nr}from"child_process";import{createHash as or}from"crypto";import{lstatSync as ar,readlinkSync as cr,readdirSync as lr,realpathSync as ur,statSync as pr}from"fs";import{dirname as fr,isAbsolute as mr,join as yr,posix as hr,relative as gr,resolve as Sr,sep as Rr}from"path";var vr=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=L(t.metadata.fingerprint);return i&&Number.isSafeInteger(i.version)&&i.version>0?g(Te,i.version,T(i)):void 0}var ct=1,lt=1,ut=25e3,pt=2500;var dt=4,ft=12,He=1;var qr=10*6e4;var Wr=10*6e4;var mt=new Set(["vue-component-duplicates","vue-composable-candidates","vue-large-view-pressure"]),zr=new Set([...mt,"suppressions"]);var Ne=2,je=K({kind:"health-semantic-prewarm",invalidation:Y("health-semantic-prewarm"),serialize:e=>JSON.stringify(e),deserialize:yt});function yt(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 Le(e){let t=O(e);return t.symbols>=ut||t.documents>=pt}var Kr={env:process.env,projectFingerprint:z,semanticEngineFingerprint:ht,readMarker:(e,t,i)=>je.read(e,t,i),writeMarker:(e,t,i,o)=>je.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"]})};function ht(e){return W(JSON.stringify({kind:"health-semantic-prewarm-engine",rust:ue(e.config.projectRoot)}))}var Yr=D({envKey:"SCIP_QUERY_HEALTH_CONCURRENCY",defaultMinimum:dt,defaultMaximum:ft}),Jr=D({envKey:"SCIP_QUERY_HEALTH_FULL_CONCURRENCY",defaultMinimum:He,defaultMaximum:He});var Xr=D({envKey:"SCIP_QUERY_DIFF_IMPACT_CONCURRENCY",defaultMinimum:ct,defaultMaximum:lt});function D(e){return(t,i=process.env,o=at)=>gt(t,i,o,e)}function gt(e,t,i,o){let u=t[o.envKey],r=St(i,o),n=u?parseInt(u,10):r;return!Number.isFinite(n)||n<1?Math.min(r,e):Math.min(n,e)}function St(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 tn}from"child_process";import{createHash as Rt,randomUUID as nn}from"crypto";import{existsSync as sn,realpathSync as an}from"fs";import{tmpdir as ln}from"os";import{join as pn,resolve as bt}from"path";import{fileURLToPath as fn}from"url";var y=18,H=1e3,yn=2*H;var vt=64*1024*1024,hn={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:vt,maxBatch:1,responseRetentionMs:6e4};function Qe(e){return Rt("sha256").update(ie({kind:"scip-query-service-mailbox",protocolVersion:y,sessionDir:bt(e)})).digest("hex")}var It=3e4,Be=5,wt=100,Pt=1024*1024,At=1280*1024,w={maxItems:64,maxBytes:128*1024*1024,maxItemBytes:64*1024*1024,maxBatch:1,responseRetentionMs:6e4};async function kt(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 j={protocolVersion:y,sessionIdentity:s,pid:process.pid,...c?{processIdentity:c}:{},generation:u.generation.identity,heartbeatAtMs:Date.now()};b?$(n,j):G(n,j)};try{R(!0);let b=Ht();for(;!a&&!l&&C()-p<b;){let E=await _t(i,u,s,()=>{l=!0});E>0?(f=0,p=C(),R()):(f+=1,R()),await r.wait(Nt(E,f))}}finally{r.close(),u.close(),Et(n,{force:!0}),o.lock.release()}}async function _t(e,t,i,o){let u=ae(e,{ownerId:jt,nowMs:Date.now(),limits:w,owner:Lt,liveness:Qt,durability:"visibility"}),r=0;for(let n of u){let s=n.requestId;try{let c=Ot(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 Mt(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 Mt(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-ZOC3VXO5.js");return n(e,t.options)}if(t.kind==="files"){let{files:n}=await import("./files-WJQJLHMH.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-C5H2K3MS.js"),import("./code-result-json-CTZHAQXJ.js")]);return{...s(e,t.symbolPattern),members:n(e,t.symbolPattern)}}if(t.kind==="methods"){let{resolveMethods:n}=await import("./methods-KZOZHSD4.js");return n(e,{className:t.className})}if(t.kind==="file-dependencies"){let{deps:n,rdeps:s}=await import("./deps-LMCAV5DO.js");return t.direction==="outgoing"?n(e,t.filePattern):s(e,t.filePattern)}if(t.kind==="imported-by"){let{importedBy:n}=await import("./imports-JICEKDKK.js");return n(e,t.symbolPattern)}if(t.kind==="hierarchy"){let[{hierarchy:n},{withSymbolResolutionJson:s}]=await Promise.all([import("./hierarchy-ASNIHAX4.js"),import("./symbol-resolution-SVSMX4RN.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-XXGZGNZ6.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-ZOORVRQC.js"),import("./refs-pagination-SRCUOYRD.js"),import("./symbol-resolution-SVSMX4RN.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-BB2GHQPG.js"),import("./symbol-resolution-SVSMX4RN.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,At),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-OA7AHSUG.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-2G4X6VSJ.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-VGY3R4L3.js"),import("./symbol-resolution-SVSMX4RN.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-AFXY423Q.js"),import("./symbol-resolution-SVSMX4RN.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-NOTBWA7S.js"),import("./symbol-resolution-SVSMX4RN.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-JICEKDKK.js");return n(e,t.filePattern,{semantic:S(e)})}if(t.kind==="unused-imports"){let{unusedImports:n}=await import("./imports-JICEKDKK.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-2EIUFP6B.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-BTBCLKNA.js");return n(e,t.modulePattern)}let[{codeBatch:i},{codeBatchResultOnlyJsonForSelectors:o}]=await Promise.all([import("./code-AXLJBZ6T.js"),import("./code-result-json-CTZHAQXJ.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 Ot(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:Tt(s.limit,"limit")},...s.regexp===void 0?{}:{regexp:Ge(s.regexp,"regexp")},...s.ignoreCase===void 0?{}:{ignoreCase:Ge(s.ignoreCase,"ignoreCase")},...s.ranking===void 0?{}:{ranking:Dt(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=Pt){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=!Le(e);return Ue.set(e,i),i}function Tt(e,t){if(!Number.isSafeInteger(e)||e<=0)throw new Error(`Query service option ${t} must be a positive safe integer.`);return e}function Ge(e,t){if(typeof e!="boolean")throw new Error(`Query service option ${t} must be a boolean.`);return e}function Dt(e){if(e!=="structural")throw new Error("Query service option ranking must be structural.");return e}function Ht(){let e=Number(process.env.SCIP_QUERY_QUERY_SERVICE_IDLE_MS);return Number.isInteger(e)&&e>=0?e:It}function Nt(e,t){return F(e,t,Be,Be,wt,5)}var jt=`query-service-${process.pid}-${xt()}`,$e=P(process.pid),Lt={pid:process.pid,...$e?{processIdentity:$e}:{}},Qt={isProcessAlive:B,readProcessIdentity:P},Ft=process.argv[1]?Ct(qe(process.argv[1])).href:null;if(Ft===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 kt(e,t)}export{kt 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
@@ -1,2 +1,2 @@
1
- import{a as y}from"./chunk-QN2AI3D2.js";import"./chunk-ZMS4YCY7.js";import"./chunk-IQMGNIGY.js";import"./chunk-MFBVUQJZ.js";import{k as v,l as S,n as w}from"./chunk-5J3A6RBZ.js";import"./chunk-WRQXLNYE.js";import"./chunk-YDTK77JP.js";import{a as u}from"./chunk-T2PBOVDI.js";import{c as d}from"./chunk-4IASLUOP.js";import"./chunk-FLSVYEPL.js";import"./chunk-CTO3TRX7.js";import"./chunk-F4FNK44D.js";import"./chunk-67FK5KGV.js";import"./chunk-PAZSBPJR.js";import"./chunk-UAQQR55F.js";import"./chunk-NP4JFCLE.js";import"./chunk-5Z2H76VD.js";import{g}from"./chunk-DRENNWRG.js";import"./chunk-UXNXOMXJ.js";import"./chunk-4SZJF4GK.js";import"./chunk-DUDUIT5P.js";import"./chunk-PRLU3I7G.js";import"./chunk-DXYMTQZ4.js";import"./chunk-FYCH2EYQ.js";import"./chunk-NQXWWE6S.js";import"./chunk-H5EXS3HM.js";import"./chunk-HGFDYOVB.js";import"./chunk-Z2KGMIL4.js";import"./chunk-XIPGCT3D.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-SRCUOYRD.js.map
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