scip-query 0.22.0 → 0.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (386) hide show
  1. package/CHANGELOG.md +257 -0
  2. package/README.md +11 -0
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/by-kind-XI2CSWEY.js +2 -0
  5. package/dist/call-graph-UONR6JR5.js +2 -0
  6. package/dist/{chunk-FGNCOQUX.js → chunk-2E7CX53V.js} +2 -2
  7. package/dist/chunk-2GRUZAQF.js +43 -0
  8. package/dist/{chunk-DPWKKNKI.js → chunk-2LDBDR6J.js} +2 -2
  9. package/dist/{chunk-JHH5SCZ3.js → chunk-2OOY75BW.js} +2 -2
  10. package/dist/{chunk-XGGBK66W.js → chunk-2R3V3PSD.js} +2 -2
  11. package/dist/chunk-2WC2OEDO.js +4 -0
  12. package/dist/{chunk-57N6LN2A.js → chunk-3AF4TUFK.js} +2 -2
  13. package/dist/{chunk-2RE5OCHZ.js → chunk-3D3QG236.js} +2 -2
  14. package/dist/{chunk-D2MVJSP4.js → chunk-3FHOF22C.js} +2 -2
  15. package/dist/{chunk-7XZGZBSQ.js → chunk-3JKSW6LJ.js} +2 -2
  16. package/dist/chunk-3L2ZBPEX.js +133 -0
  17. package/dist/{chunk-NVSZNESQ.js → chunk-3PJABJSU.js} +2 -2
  18. package/dist/{chunk-WOOAY3PA.js → chunk-3SVF22I5.js} +2 -2
  19. package/dist/{chunk-YAGYMBEX.js → chunk-3WR4E3A3.js} +2 -2
  20. package/dist/chunk-4FTZ4P5G.js +2 -0
  21. package/dist/{chunk-F24G5NBE.js → chunk-4ILJCCXV.js} +2 -2
  22. package/dist/chunk-4UX2F3JX.js +2 -0
  23. package/dist/chunk-4WNW27SX.js +2 -0
  24. package/dist/chunk-5ENOG4VP.js +61 -0
  25. package/dist/{chunk-RHHCLWQ6.js → chunk-64BFSI5I.js} +2 -2
  26. package/dist/chunk-66DVSJQG.js +455 -0
  27. package/dist/{chunk-ISWFRGJ6.js → chunk-6HFCYNYE.js} +2 -2
  28. package/dist/{chunk-Y2VM4CJC.js → chunk-6I6L7Z62.js} +2 -2
  29. package/dist/{chunk-CKRWA452.js → chunk-6PQNKL3G.js} +2 -2
  30. package/dist/{chunk-GPGRZJ3R.js → chunk-6V5CNXL6.js} +2 -2
  31. package/dist/chunk-6VVV4WRR.js +4 -0
  32. package/dist/{chunk-BDGTPN27.js → chunk-7BWFZPPZ.js} +2 -2
  33. package/dist/{chunk-25GWKRUZ.js → chunk-7CYG22FH.js} +2 -2
  34. package/dist/chunk-7F45LJKI.js +2 -0
  35. package/dist/{chunk-4TQU4TX2.js → chunk-7IWV2EG3.js} +2 -2
  36. package/dist/{chunk-UDY7MIAW.js → chunk-AFHTBORT.js} +2 -2
  37. package/dist/chunk-AVRYW5OZ.js +2 -0
  38. package/dist/chunk-B3PYOSCX.js +2 -0
  39. package/dist/{chunk-RNKPYYYE.js → chunk-B5D7QPBE.js} +2 -2
  40. package/dist/{chunk-FFJQZG6J.js → chunk-BBCIS4DX.js} +2 -2
  41. package/dist/chunk-BDUVI7TO.js +3 -0
  42. package/dist/{chunk-BVFYEEBH.js → chunk-BE7ZZTMC.js} +2 -2
  43. package/dist/{chunk-NEIQPFBI.js → chunk-BHVUJOCQ.js} +2 -2
  44. package/dist/chunk-BKVWUP7Y.js +2 -0
  45. package/dist/{chunk-IJMD6BRI.js → chunk-BQGB4HBD.js} +2 -2
  46. package/dist/{chunk-ERCYGVAM.js → chunk-BRV7PIFF.js} +2 -2
  47. package/dist/chunk-CEEZJXEF.js +2 -0
  48. package/dist/{chunk-BTVKZGWT.js → chunk-CIYLO6SI.js} +2 -2
  49. package/dist/chunk-CJZXN4NU.js +2 -0
  50. package/dist/{chunk-VXJJTQYE.js → chunk-CNO7TOKL.js} +2 -2
  51. package/dist/{chunk-ZZ3Z7D56.js → chunk-COF23M5F.js} +2 -2
  52. package/dist/{chunk-ZGW4HLPD.js → chunk-CWFP7GM5.js} +2 -2
  53. package/dist/chunk-D2DHWI3D.js +2 -0
  54. package/dist/{chunk-Q55NF3ZG.js → chunk-D4N5SQ2M.js} +2 -2
  55. package/dist/{chunk-LXQUF2RP.js → chunk-DBRSYFXR.js} +2 -2
  56. package/dist/{chunk-PXXYQK55.js → chunk-DHUIOLDT.js} +2 -2
  57. package/dist/{chunk-KZYID5KV.js → chunk-DIRJWYBM.js} +2 -2
  58. package/dist/{chunk-IKVNEGTW.js → chunk-DIUFNHRJ.js} +2 -2
  59. package/dist/{chunk-CLG6DWVS.js → chunk-DTZCKZEU.js} +2 -2
  60. package/dist/{chunk-Z2PZVKPR.js → chunk-DULC3QFP.js} +2 -2
  61. package/dist/{chunk-AYPDH2LU.js → chunk-DYGHBZ2N.js} +2 -2
  62. package/dist/{chunk-JJ62MTQH.js → chunk-E5R6AQ73.js} +2 -2
  63. package/dist/{chunk-BWVQP3LB.js → chunk-E73UNJTF.js} +2 -2
  64. package/dist/{chunk-GVOMSPGL.js → chunk-EG2CPZMJ.js} +2 -2
  65. package/dist/{chunk-56NQAEPJ.js → chunk-EKV5HX33.js} +2 -2
  66. package/dist/{chunk-GDRJB3SB.js → chunk-EQHFIL6T.js} +2 -2
  67. package/dist/{chunk-EWWY2ZFL.js → chunk-ESIQ66Z7.js} +2 -2
  68. package/dist/chunk-EVFUMY4R.js +3 -0
  69. package/dist/{chunk-ZYM4HOFA.js → chunk-F7DY272B.js} +2 -2
  70. package/dist/chunk-FBN2FGXG.js +2 -0
  71. package/dist/{chunk-AZS7YPCB.js → chunk-FDLOBR6P.js} +2 -2
  72. package/dist/chunk-FESCRNVV.js +5 -0
  73. package/dist/{chunk-URSGGIZX.js → chunk-FFRKR4EQ.js} +2 -2
  74. package/dist/chunk-FGA2U4OR.js +8 -0
  75. package/dist/{chunk-7YQOCABQ.js → chunk-FIQRSHVM.js} +2 -2
  76. package/dist/{chunk-KFVSJX25.js → chunk-FPYLNQPT.js} +2 -2
  77. package/dist/{chunk-FELGD32K.js → chunk-FRUSVINH.js} +2 -2
  78. package/dist/chunk-GAS2LJMP.js +3 -0
  79. package/dist/{chunk-OTSPRVNW.js → chunk-GSP44ENC.js} +2 -2
  80. package/dist/{chunk-K3XFWJI2.js → chunk-GUFSG5TX.js} +2 -2
  81. package/dist/chunk-GYIZ4NXB.js +2 -0
  82. package/dist/{chunk-2OXVP5U5.js → chunk-GZIUDL6G.js} +2 -2
  83. package/dist/chunk-HCXEQRFF.js +18 -0
  84. package/dist/{chunk-LO5JSW2C.js → chunk-HEHOQQKH.js} +2 -2
  85. package/dist/{chunk-U2N2KE7A.js → chunk-HKGFPJ4T.js} +2 -2
  86. package/dist/chunk-HLZTEXRA.js +2 -0
  87. package/dist/{chunk-EELPBR7E.js → chunk-HOENASQM.js} +2 -2
  88. package/dist/{chunk-VTCIYFEK.js → chunk-HVF5VBG6.js} +2 -2
  89. package/dist/{chunk-TH6IC56G.js → chunk-HYO3NP5Q.js} +2 -2
  90. package/dist/{chunk-OPSAW5DT.js → chunk-I55I7XXP.js} +2 -2
  91. package/dist/{chunk-DEAB5TGT.js → chunk-IDFEUFKS.js} +2 -2
  92. package/dist/{chunk-DJAO2OZJ.js → chunk-IHGQTTVW.js} +2 -2
  93. package/dist/{chunk-XU75YQN4.js → chunk-IICPE7B2.js} +2 -2
  94. package/dist/{chunk-GY7CCCEZ.js → chunk-IL676XCC.js} +2 -2
  95. package/dist/{chunk-4HE7MVWD.js → chunk-ILTDAWEF.js} +2 -2
  96. package/dist/chunk-IZDPJ2QI.js +2 -0
  97. package/dist/{chunk-5YRQIE2B.js → chunk-J66VOFW6.js} +2 -2
  98. package/dist/{chunk-SB25YMEQ.js → chunk-JFMEXGFE.js} +2 -2
  99. package/dist/{chunk-QLBSG7U5.js → chunk-JGKUET5J.js} +2 -2
  100. package/dist/{chunk-VZ7NXSHV.js → chunk-JS4PGXMV.js} +2 -2
  101. package/dist/{chunk-ZAZGGSM3.js → chunk-JTQVMR42.js} +2 -2
  102. package/dist/chunk-JWTGMPIT.js +80 -0
  103. package/dist/{chunk-5ZMBRQFC.js → chunk-JYR66JN5.js} +2 -2
  104. package/dist/chunk-KLFEXGQA.js +2 -0
  105. package/dist/chunk-KYSDI3GE.js +5 -0
  106. package/dist/{chunk-MSR2QRUE.js → chunk-L6PJPETJ.js} +2 -2
  107. package/dist/{chunk-VU6LIWHT.js → chunk-LDVT66YM.js} +2 -2
  108. package/dist/chunk-LEECKFCJ.js +2 -0
  109. package/dist/{chunk-H7CG6LOE.js → chunk-LMZ5PRUV.js} +2 -2
  110. package/dist/{chunk-ZPASRBLF.js → chunk-LQRQN2XA.js} +2 -2
  111. package/dist/{chunk-HISEUIL2.js → chunk-LXABEJX3.js} +2 -2
  112. package/dist/{chunk-WHADK6OS.js → chunk-M2O5NY6W.js} +2 -2
  113. package/dist/{chunk-Y334QQU5.js → chunk-MNV5FSBW.js} +2 -2
  114. package/dist/{chunk-RYOYJMGF.js → chunk-MPQ4OTBM.js} +2 -2
  115. package/dist/{chunk-6NC3YSPY.js → chunk-MV3CDXPI.js} +2 -2
  116. package/dist/{chunk-NRBNAECH.js → chunk-MWN53KRN.js} +2 -2
  117. package/dist/chunk-N2ZSIIGR.js +117 -0
  118. package/dist/chunk-N5B2NILC.js +5 -0
  119. package/dist/{chunk-Q6T2CAJL.js → chunk-NJITK2GP.js} +2 -2
  120. package/dist/{chunk-ENWQWA2R.js → chunk-NOGJXYFO.js} +2 -2
  121. package/dist/{chunk-V4NG5OMS.js → chunk-NOYBFVJA.js} +106 -106
  122. package/dist/chunk-NWQXSFFU.js +3 -0
  123. package/dist/chunk-ODDUPDP7.js +13 -0
  124. package/dist/{chunk-A77SCPW2.js → chunk-OLIWTZI3.js} +2 -2
  125. package/dist/{chunk-XFMVKFSF.js → chunk-OLNV6I6U.js} +2 -2
  126. package/dist/{chunk-QKT4UI2Y.js → chunk-OR2E3AGZ.js} +2 -2
  127. package/dist/chunk-OSR2GEHQ.js +2 -0
  128. package/dist/{chunk-5H5WTJSD.js → chunk-OSSESPDX.js} +2 -2
  129. package/dist/{chunk-KQHJEU6V.js → chunk-OWOOWNJ5.js} +2 -2
  130. package/dist/{chunk-GRX7JOXQ.js → chunk-P42EIXTA.js} +2 -2
  131. package/dist/{chunk-AQ2PORIO.js → chunk-PJFGPYTU.js} +2 -2
  132. package/dist/{chunk-LRI5OMPE.js → chunk-PP7KNN7L.js} +2 -2
  133. package/dist/{chunk-PLJUQFQN.js → chunk-PU7T5QYQ.js} +2 -2
  134. package/dist/{chunk-JUN5DOAK.js → chunk-PWWAJSKV.js} +2 -2
  135. package/dist/{chunk-7IQXARSQ.js → chunk-PZL5T7SU.js} +2 -2
  136. package/dist/{chunk-UAQ4T73O.js → chunk-QBE3YX64.js} +2 -2
  137. package/dist/{chunk-3TJY6M3B.js → chunk-QGVTFRY2.js} +2 -2
  138. package/dist/chunk-QOJONDS7.js +2 -0
  139. package/dist/chunk-QU5XRYB5.js +4 -0
  140. package/dist/{chunk-2KVU55CW.js → chunk-QUU5OBVK.js} +2 -2
  141. package/dist/{chunk-Q5TA4OY4.js → chunk-RBLQNW26.js} +2 -2
  142. package/dist/chunk-RTQ7NEKG.js +81 -0
  143. package/dist/{chunk-F24QUEQP.js → chunk-SQXRS7BG.js} +2 -2
  144. package/dist/chunk-SSK6LDPC.js +2 -0
  145. package/dist/chunk-SZHGTCPP.js +7 -0
  146. package/dist/chunk-T4N4P2K5.js +16 -0
  147. package/dist/chunk-TA3QKLLU.js +2 -0
  148. package/dist/chunk-TEBQMNVI.js +43 -0
  149. package/dist/{chunk-NK3JMP22.js → chunk-TPFHAQ2G.js} +2 -2
  150. package/dist/chunk-TQPCBMWT.js +5 -0
  151. package/dist/{chunk-HG722PO7.js → chunk-TRNAEQ6P.js} +2 -2
  152. package/dist/chunk-TY7CRN3Z.js +2 -0
  153. package/dist/{chunk-7XA3OM44.js → chunk-UHFYCMZO.js} +2 -2
  154. package/dist/{chunk-ARVO6TTW.js → chunk-UICY4GTQ.js} +2 -2
  155. package/dist/{chunk-SWK4XPUS.js → chunk-UVGEWT4Y.js} +2 -2
  156. package/dist/{chunk-GIQ6CSL4.js → chunk-UXW33INU.js} +2 -2
  157. package/dist/{chunk-RDULNRSJ.js → chunk-VMPRET3I.js} +2 -2
  158. package/dist/{chunk-I6UTXNHU.js → chunk-VNLGKHS6.js} +2 -2
  159. package/dist/{chunk-44T4DUAA.js → chunk-VQILFTEH.js} +2 -2
  160. package/dist/{chunk-N7FP5H5U.js → chunk-VUPHCS7Y.js} +8 -8
  161. package/dist/{chunk-JAT6C3VX.js → chunk-VVZSBTSU.js} +2 -2
  162. package/dist/{chunk-FBCVASUG.js → chunk-VZRNID6A.js} +2 -2
  163. package/dist/{chunk-TUQIPUDS.js → chunk-W5OXRYGE.js} +2 -2
  164. package/dist/chunk-W6STWDQI.js +57 -0
  165. package/dist/chunk-W7CXK74K.js +2 -0
  166. package/dist/chunk-WB3WYIRE.js +4 -0
  167. package/dist/{chunk-C76O5MDS.js → chunk-WDNVY4E7.js} +2 -2
  168. package/dist/{chunk-TAYD3AE7.js → chunk-WIWY3CRX.js} +2 -2
  169. package/dist/chunk-WK46TNUM.js +3 -0
  170. package/dist/chunk-WNTFFKAX.js +12 -0
  171. package/dist/{chunk-JFQBRL3J.js → chunk-WOIKCX6A.js} +2 -2
  172. package/dist/{chunk-PIFTZEEM.js → chunk-WUN6KBHV.js} +2 -2
  173. package/dist/chunk-WYCTJDVR.js +2 -0
  174. package/dist/chunk-WYPL7GF7.js +2 -0
  175. package/dist/{chunk-XN22RGSR.js → chunk-XBGWL66K.js} +2 -2
  176. package/dist/{chunk-R6M456QG.js → chunk-XDQMU3BT.js} +2 -2
  177. package/dist/{chunk-XJX6LGHL.js → chunk-XFA4SSO3.js} +2 -2
  178. package/dist/{chunk-2YC7YNKT.js → chunk-XGZEP6GR.js} +2 -2
  179. package/dist/chunk-XPDPNWTQ.js +368 -0
  180. package/dist/chunk-XRYABF57.js +8 -0
  181. package/dist/{chunk-YIHNPKWD.js → chunk-YBGKCQIS.js} +2 -2
  182. package/dist/{chunk-2XCGSDIT.js → chunk-YEN6CYC7.js} +2 -2
  183. package/dist/{chunk-VMWUV6WB.js → chunk-YF5IB2LF.js} +2 -2
  184. package/dist/{chunk-TNG2FYS5.js → chunk-YI2AWIHC.js} +2 -2
  185. package/dist/{chunk-EELG7D3Q.js → chunk-YPWBKGFU.js} +2 -2
  186. package/dist/{chunk-GQIDEID3.js → chunk-YPWHBBIS.js} +2 -2
  187. package/dist/{chunk-TKDNDQA7.js → chunk-YSH6U3L4.js} +2 -2
  188. package/dist/{chunk-BUTEIZKP.js → chunk-YU5DZUZI.js} +2 -2
  189. package/dist/chunk-YWO5DDRC.js +16 -0
  190. package/dist/{chunk-6HRZQLOI.js → chunk-Z4CDXYNQ.js} +2 -2
  191. package/dist/{chunk-XSWYJCAK.js → chunk-ZF5KHH7C.js} +2 -2
  192. package/dist/chunk-ZOHS7AQV.js +21 -0
  193. package/dist/{chunk-7U2YQSDE.js → chunk-ZTI4SBFV.js} +2 -2
  194. package/dist/cli-main.js +2 -2
  195. package/dist/code-MI6F2TTU.js +2 -0
  196. package/dist/code-result-json-FXALY4HE.js +2 -0
  197. package/dist/{command-descriptors-ORNTVNYV.js → command-descriptors-P34VABY5.js} +136 -135
  198. package/dist/dataflow-4KEMJPC6.js +2 -0
  199. package/dist/dependence-slice-R7FPWD5M.js +2 -0
  200. package/dist/deps-7EMQUYUT.js +2 -0
  201. package/dist/direct-navigation-6YO234F2.js +3 -0
  202. package/dist/entry-map-KOOLR26E.js +2 -0
  203. package/dist/files-OPIPJIGZ.js +2 -0
  204. package/dist/hierarchy-QPD2CAER.js +2 -0
  205. package/dist/imports-M6HUXRXC.js +2 -0
  206. package/dist/index.js +1 -1
  207. package/dist/members-I5MEFOCT.js +2 -0
  208. package/dist/methods-5JYGGHXA.js +2 -0
  209. package/dist/output-continuation-command-UPQAAKBP.js +3 -0
  210. package/dist/postinstall.js +1 -1
  211. package/dist/project-reindex-UKKQ5PLS.js +3 -0
  212. package/dist/queries/affected.js +1 -1
  213. package/dist/queries/anchors.js +1 -1
  214. package/dist/queries/architecture.js +1 -1
  215. package/dist/queries/bottlenecks.js +1 -1
  216. package/dist/queries/by-kind.js +1 -1
  217. package/dist/queries/call-graph.js +1 -1
  218. package/dist/queries/change-surface.js +1 -1
  219. package/dist/queries/cleanup-plan.js +1 -1
  220. package/dist/queries/co-change.js +1 -1
  221. package/dist/queries/code.js +1 -1
  222. package/dist/queries/complexity-hotspots.js +1 -1
  223. package/dist/queries/complexity.js +1 -1
  224. package/dist/queries/context.js +1 -1
  225. package/dist/queries/convergence.js +1 -1
  226. package/dist/queries/coupling.js +1 -1
  227. package/dist/queries/cycles.js +1 -1
  228. package/dist/queries/dataflow.js +1 -1
  229. package/dist/queries/dead.js +1 -1
  230. package/dist/queries/decorative-checkers.js +1 -1
  231. package/dist/queries/deep-chains.js +1 -1
  232. package/dist/queries/dependence-slice.js +1 -1
  233. package/dist/queries/dependency-depth.js +1 -1
  234. package/dist/queries/deps.js +1 -1
  235. package/dist/queries/diff-impact.d.ts +9 -0
  236. package/dist/queries/diff-impact.js +1 -1
  237. package/dist/queries/doc-drift.js +1 -1
  238. package/dist/queries/drift.js +1 -1
  239. package/dist/queries/duplicate-bodies.js +1 -1
  240. package/dist/queries/entry-map.js +1 -1
  241. package/dist/queries/evidence.js +1 -1
  242. package/dist/queries/extract-candidates.js +1 -1
  243. package/dist/queries/fan.js +1 -1
  244. package/dist/queries/files.js +1 -1
  245. package/dist/queries/health.js +1 -1
  246. package/dist/queries/hierarchy.js +1 -1
  247. package/dist/queries/hotspots.js +1 -1
  248. package/dist/queries/imports.js +1 -1
  249. package/dist/queries/incomplete-migration.js +1 -1
  250. package/dist/queries/index.js +1 -1
  251. package/dist/queries/isolated.js +1 -1
  252. package/dist/queries/locality-candidates.js +1 -1
  253. package/dist/queries/members.js +1 -1
  254. package/dist/queries/methods.js +1 -1
  255. package/dist/queries/not-implemented.js +1 -1
  256. package/dist/queries/outline.js +1 -1
  257. package/dist/queries/passthrough-candidates.js +1 -1
  258. package/dist/queries/plan-context.js +1 -1
  259. package/dist/queries/react-component-duplicates.js +1 -1
  260. package/dist/queries/react-hook-candidates.js +1 -1
  261. package/dist/queries/react-large-component-pressure.js +1 -1
  262. package/dist/queries/recent-duplicates.js +1 -1
  263. package/dist/queries/redundant-reexports.js +1 -1
  264. package/dist/queries/reference-neighborhood.js +1 -1
  265. package/dist/queries/reference-reachability.js +1 -1
  266. package/dist/queries/refs.js +1 -1
  267. package/dist/queries/self-audit.js +1 -1
  268. package/dist/queries/similar-chains.js +1 -1
  269. package/dist/queries/similar-files.js +1 -1
  270. package/dist/queries/similar-signatures.js +1 -1
  271. package/dist/queries/similar.js +1 -1
  272. package/dist/queries/slice.js +1 -1
  273. package/dist/queries/source-inspection.js +1 -1
  274. package/dist/queries/source-search.js +1 -1
  275. package/dist/queries/stale-abstractions.js +1 -1
  276. package/dist/queries/surface.js +1 -1
  277. package/dist/queries/symbols.js +1 -1
  278. package/dist/queries/system-map.js +1 -1
  279. package/dist/queries/system.js +1 -1
  280. package/dist/queries/test-quality.js +1 -1
  281. package/dist/queries/trace.js +1 -1
  282. package/dist/queries/twin-ab.js +1 -1
  283. package/dist/queries/twin-drift.js +1 -1
  284. package/dist/queries/unused-imports.js +1 -1
  285. package/dist/queries/unused-params.js +1 -1
  286. package/dist/queries/value-flow.js +1 -1
  287. package/dist/queries/vue-component-duplicates.js +1 -1
  288. package/dist/queries/vue-composable-candidates.js +1 -1
  289. package/dist/queries/vue-large-view-pressure.js +1 -1
  290. package/dist/queries/wrapper-candidates.js +1 -1
  291. package/dist/query-service-server.js +3 -3
  292. package/dist/refs-PSU4JZZW.js +2 -0
  293. package/dist/refs-pagination-JG6CJMRC.js +2 -0
  294. package/dist/reindex-worker.js +25 -25
  295. package/dist/reindex.d.ts +3 -2
  296. package/dist/reindex.js +35 -35
  297. package/dist/runtime.d.ts +34 -2
  298. package/dist/runtime.js +4 -4
  299. package/dist/rust-semantic-session-server.js +1 -1
  300. package/dist/rust-semantic-session-worker.js +1 -1
  301. package/dist/rust-semantic-worker.js +1 -1
  302. package/dist/{scip-cli-H-n59izO.d.ts → scip-cli-DOerTq-R.d.ts} +42 -4
  303. package/dist/slice-HYRATV64.js +2 -0
  304. package/dist/surface-VTGDYWF5.js +2 -0
  305. package/dist/symbol-resolution-WD5EU5JE.js +2 -0
  306. package/dist/system-LRQNFOR2.js +2 -0
  307. package/dist/trace-F4B6OLL4.js +2 -0
  308. package/dist/typescript-mailbox-worker.js +1 -1
  309. package/dist/value-flow-VRPZY72V.js +2 -0
  310. package/dist/watch-server.js +3 -3
  311. package/package.json +1 -1
  312. package/dist/by-kind-4IYG2SKW.js +0 -2
  313. package/dist/call-graph-WQNXMNNN.js +0 -2
  314. package/dist/chunk-2BTJALUS.js +0 -454
  315. package/dist/chunk-3QXC54FQ.js +0 -3
  316. package/dist/chunk-42W3LFUK.js +0 -13
  317. package/dist/chunk-4GAQ6FI4.js +0 -43
  318. package/dist/chunk-6VEFRPTD.js +0 -5
  319. package/dist/chunk-7C26EKLZ.js +0 -4
  320. package/dist/chunk-7JYHQAH2.js +0 -22
  321. package/dist/chunk-7KSO2OAP.js +0 -2
  322. package/dist/chunk-AK3PYTIK.js +0 -5
  323. package/dist/chunk-AMIMMNA4.js +0 -11
  324. package/dist/chunk-AUY5BL74.js +0 -2
  325. package/dist/chunk-BDHFVH2M.js +0 -18
  326. package/dist/chunk-BECZLYNU.js +0 -8
  327. package/dist/chunk-BYDAFMSR.js +0 -57
  328. package/dist/chunk-BZYSGZRK.js +0 -2
  329. package/dist/chunk-C7IJMOFP.js +0 -134
  330. package/dist/chunk-CBBHFNLX.js +0 -2
  331. package/dist/chunk-D35XIZGN.js +0 -2
  332. package/dist/chunk-DKM723YF.js +0 -79
  333. package/dist/chunk-E44IVWIJ.js +0 -367
  334. package/dist/chunk-EDMB6SSO.js +0 -7
  335. package/dist/chunk-EETGXQY7.js +0 -3
  336. package/dist/chunk-FKGQOTKD.js +0 -2
  337. package/dist/chunk-GH5YSGZL.js +0 -5
  338. package/dist/chunk-HCVJR2V4.js +0 -3
  339. package/dist/chunk-HXOU4XNH.js +0 -3
  340. package/dist/chunk-IMKZEXZG.js +0 -2
  341. package/dist/chunk-ISIQLPJ2.js +0 -61
  342. package/dist/chunk-IXESDH3J.js +0 -2
  343. package/dist/chunk-JT6XX7QY.js +0 -8
  344. package/dist/chunk-MHIEP7EG.js +0 -4
  345. package/dist/chunk-OJNK5ALA.js +0 -2
  346. package/dist/chunk-OXYAWIEA.js +0 -2
  347. package/dist/chunk-OZETODHH.js +0 -2
  348. package/dist/chunk-PBUH2P5S.js +0 -3
  349. package/dist/chunk-PLYUVM4F.js +0 -2
  350. package/dist/chunk-Q7GBK5T7.js +0 -81
  351. package/dist/chunk-QWKHW6VZ.js +0 -2
  352. package/dist/chunk-RPL3ARU7.js +0 -16
  353. package/dist/chunk-SVHTMVA4.js +0 -4
  354. package/dist/chunk-T6QD2ZQB.js +0 -43
  355. package/dist/chunk-TD7VKJ2Y.js +0 -117
  356. package/dist/chunk-TUSPIVZ3.js +0 -4
  357. package/dist/chunk-UT7TADJX.js +0 -2
  358. package/dist/chunk-VUSKPCUB.js +0 -2
  359. package/dist/chunk-WN3TCGJ4.js +0 -2
  360. package/dist/chunk-WSLEJSFR.js +0 -2
  361. package/dist/chunk-WYZIHUPZ.js +0 -16
  362. package/dist/chunk-XE33FV5W.js +0 -2
  363. package/dist/chunk-Z2AWCTN6.js +0 -2
  364. package/dist/chunk-ZOXKSQQB.js +0 -2
  365. package/dist/code-EQJFDT6I.js +0 -2
  366. package/dist/code-result-json-7UWIWBOO.js +0 -2
  367. package/dist/dataflow-6VL54GX5.js +0 -2
  368. package/dist/dependence-slice-DT2NUHD2.js +0 -2
  369. package/dist/deps-DB7H5IKC.js +0 -2
  370. package/dist/direct-navigation-O3LUAYWQ.js +0 -3
  371. package/dist/entry-map-6K62RV3D.js +0 -2
  372. package/dist/files-MSLD7MO6.js +0 -2
  373. package/dist/hierarchy-IVBXAKFA.js +0 -2
  374. package/dist/imports-FRAVZ3Y2.js +0 -2
  375. package/dist/members-KJOJDYGO.js +0 -2
  376. package/dist/methods-2AYABBT3.js +0 -2
  377. package/dist/output-continuation-command-JHMPH6NC.js +0 -3
  378. package/dist/project-reindex-HYO4WD7Z.js +0 -3
  379. package/dist/refs-ARMA6XUJ.js +0 -2
  380. package/dist/refs-pagination-VUGIWN6U.js +0 -2
  381. package/dist/slice-YOB5YFAM.js +0 -2
  382. package/dist/surface-VY5EFWTW.js +0 -2
  383. package/dist/symbol-resolution-DGQN4XIV.js +0 -2
  384. package/dist/system-2KQ3QD2P.js +0 -2
  385. package/dist/trace-HTIPTXAE.js +0 -2
  386. package/dist/value-flow-5FV3VQI7.js +0 -2
@@ -1,2 +0,0 @@
1
- import{a as fe,c as Ve,d as Qe}from"./chunk-FKGQOTKD.js";import{a as rt}from"./chunk-WRQXLNYE.js";import{a as mt,b as ft,c as pt,d as Se,i as G,j as Y,k as dt,l as Z,n as St}from"./chunk-WSLEJSFR.js";import{j as ct}from"./chunk-VUSKPCUB.js";import{h as ut}from"./chunk-HCVJR2V4.js";import{b as gt}from"./chunk-EETGXQY7.js";import{b as Ze}from"./chunk-TQZV7KV4.js";import{B as K,G as Ge,I as Ye,R as tt,S as nt,a as ce,b as ue,c as z,m as me,o as Je,x as Ke}from"./chunk-C7IJMOFP.js";import{d as Xe,g as et,i as pe}from"./chunk-DRENNWRG.js";import{c as lt,d as de}from"./chunk-BVFYEEBH.js";import{a as V,b as yt}from"./chunk-ENWQWA2R.js";import{b as oe,d as le,m as He,o as $e}from"./chunk-DKM723YF.js";import{a as We,d as qe}from"./chunk-IW5XQG5G.js";import{a as Ne,g as it,k as st,l as at,m as ot}from"./chunk-JT6XX7QY.js";import{a as ae,c as Oe,e as T}from"./chunk-HGFDYOVB.js";import{b as ke,c as Le,d as J}from"./chunk-SB25YMEQ.js";import{_ as Be,c as Fe,f as _e,g as Ue,ma as je,na as ze}from"./chunk-AK3PYTIK.js";function Rt(e){let t=new Map,n=Jt(e),r=new Map;return i=>{let s=$t(i),a=r.get(s);if(a!==void 0)return a;if(!n.has(i.file))return r.set(s,i.symbol),i.symbol;let o=t.get(i.file);o||(o=Kt(tt(e,i.file)),t.set(i.file,o));let u=Gt(o,i);return r.set(s,u),u}}function $t(e){return`${e.file}\0${e.symbol}\0${e.line}`}function Jt(e){return new Set(e.all("SELECT relative_path FROM documents").map(t=>t.relative_path))}function Kt(e){let t=new Map,n=new Map;for(let r of e){let i=t.get(r.leaf);i?i.push(r):t.set(r.leaf,[r]);let s=n.get(r.startLine);s?s.push(r):n.set(r.startLine,[r])}return{definitions:e,byLeaf:t,byStartLine:n}}function Gt(e,t){if(e.definitions.length===0)return t.symbol;let n=Vt(t.symbol),r=Yt(e.byLeaf,n),i=Zt(r,t.line);if(i)return i.symbol;let s=e.byStartLine.get(t.line)??[];return s.length===1?s[0].symbol:t.symbol}function Yt(e,t){let n=[],r=new Set;for(let i of t)for(let s of e.get(i)??[])r.has(s.symbolId)||(r.add(s.symbolId),n.push(s));return n}function Zt(e,t){let n=null;for(let r of e)if(!(r.startLine>t||r.endLine<t)){if(r.startLine===t)return r;(!n||r.endLine-r.startLine<n.endLine-n.startLine)&&(n=r)}return n}function Vt(e){let t=new Set([e]),r=e.split(/::|\.|#/).filter(Boolean).at(-1);return r&&t.add(r),t}function bt(e,t){let r=Ye(e,t).map(i=>Xt(t,i));return{usage:r,positions:en(e,t,r)}}function vt(e,t){return{importUsage(n){let r=e.importUsageFacts(n);if(!t||r.positions.length===0)return r.usage;let i=t.importDefinitionsForFile(n,r.positions);return i.available?Qt(r.usage,i.sourcePaths):r.usage}}}function Qt(e,t){return e.map((n,r)=>{let i=t.get(String(r));return i?{...n,sourcePath:i}:n})}function Xt(e,t){let n=t.isTypeOnly===!0,r=t.kind==="side-effect"||n||t.used;return{importer:e,sourcePath:t.sourcePath,importedName:t.importedName,localName:t.localName,kind:t.kind,isTypeOnly:n,isUsed:r,isTypeUsed:n,isValueUsed:t.kind==="side-effect"||!n&&t.used,references:[]}}function en(e,t,n){let r=Ke(e,t);if(!r)return[];let i=tn(r.rootNode),s=new Map;for(let o of i){let u=s.get(ye(o.importedName,o.localName));u?u.push(o.position):s.set(ye(o.importedName,o.localName),[o.position])}let a=[];return n.forEach((o,u)=>{let c=s.get(ye(o.importedName,o.localName??o.importedName))?.shift();c&&a.push({...c,id:String(u),file:t})}),a}function tn(e){let t=[];for(let n of e.descendantsOfType("use_declaration")){let r=n.namedChildren.find(i=>i.type!=="visibility_modifier");r&&t.push(...Q(r,""))}return t.filter(n=>n.importedName!=="*")}function Q(e,t){switch(e.type){case"identifier":case"super":case"self":case"crate":return[{importedName:e.text,localName:e.text,position:ge(e,e.text)}];case"scoped_identifier":{let n=e.text.split("::").pop()??e.text;return[{importedName:n,localName:n,position:ge(e,n)}]}case"scoped_use_list":{let n=e.namedChild(0),r=e.namedChild(1);if(!n||!r)return[];let i=Ge(t,n.text);return r.namedChildren.flatMap(s=>Q(s,i))}case"use_list":return e.namedChildren.flatMap(n=>Q(n,t));case"use_as_clause":{let n=e.namedChild(0),r=e.namedChild(1);return!n||!r?[]:Q(n,t).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let n=e.namedChild(0),r="*";return[{importedName:r,localName:r,position:ge(n??e,r)}]}default:return[]}}function ge(e,t){let n=Math.max(0,e.text.lastIndexOf(t));return{id:"",file:"",line:e.startPosition.row,column:e.startPosition.column+n+nn(t)}}function nn(e){return Math.max(0,Math.min(e.length-1,1))}function ye(e,t){return`${e}\0${t}`}import{spawnSync as Re}from"child_process";import{existsSync as be}from"fs";import{fileURLToPath as rn}from"url";var ve=15e3,he=8;function Dt(e,t={}){let n=t.status??pt,r=on(e,n),i=ln(e,n),s=cn(e,n),a=t.referenceResolver||t.calleeResolver||t.signatureResolver||!sn(t)?null:dt(e,n,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:s}),o=t.referenceResolver??a??r,u=t.calleeResolver??a??i,c=t.signatureResolver??a??s,p=t.importUsageResolver??vt(t.sourceImportUsageResolver??an(),t.importDefinitionResolver??a),l=t.calleeSymbolResolver,m=t.sourceZeroCalleeOracle,S=t.scipOccurrenceCalleeOracle,M=new Map,D=new Map,A=null,v=null,x=()=>(A??=n(e),A),w=()=>{let g=x();return g.dependencyAvailable?v??g:g},y=g=>{if(g.length===0)return new Map;let f=q(g);try{let d=o.referencesForDefinitions(f),R=x();return v=X(R,d),d.available?new Map(d.references):G(f,d.references)}catch(d){let R=x();return v=W(R,d),L(f)}},I=g=>{if(g.length===0)return new Map;let f=q(g),d=f.filter(ht);if(d.length===0)return O(f);let R=new Map,U=Ct(d,S),E=[];for(let b of d)D.has(b.symbolId)?R.set(b.symbolId,D.get(b.symbolId)??[]):U.has(b.symbolId)?R.set(b.symbolId,U.get(b.symbolId)??[]):It(b,m)?R.set(b.symbolId,[]):E.push(b);if(E.length===0)return N(f,R,void 0);try{let b=u.calleesForDefinitions(E),F=x();v=X(F,b);let P=N(E,b.callees,l);for(let[j,re]of P)R.set(j,re);return N(f,R,void 0)}catch(b){let F=x();return v=W(F,b),O(f)}},C=(g,f)=>{let d=q(g),R=q(f),U=R.filter(ht),E=new Map,b=Ct(U,S),F=[];for(let P of U)b.has(P.symbolId)?E.set(P.symbolId,b.get(P.symbolId)??[]):It(P,m)?E.set(P.symbolId,[]):F.push(P);if(d.length===0&&F.length===0)return{references:L(d),callees:N(R,E,void 0)};try{let P=a?a.referencesAndCalleesForDefinitions(d,F):pn(o,u,{referenceDefinitions:d,calleeDefinitions:F}),j=x();v=X(j,P);let re=P.available?new Map(P.references):G(d,P.references);for(let[ie,se]of P.callees)E.set(ie,se);let Ee=N(R,E,l);for(let[ie,se]of Ee)D.set(ie,se);return{references:re,callees:Ee}}catch(P){let j=x();return v=W(j,P),{references:L(d),callees:O(R)}}},h=g=>{if(g.length===0)return new Map;let f=q(g);try{let d=c.signaturesForDefinitions(f),R=x();return v=X(R,d),Mt(f,d.signatures)}catch(d){let R=x();return v=W(R,d),ee(f)}};return{language:"rust",availability:w,dispose:()=>{a?.dispose()},importUsage:g=>{let f=M.get(g);if(f)return f;try{let d=p.importUsage(g);return M.set(g,d),d}catch(d){let R=x();return v=W(R,d),[]}},referencesFor:g=>y([g]).get(g.symbolId)??[],referencesForDefinitions:y,referencesAndCalleesForDefinitions:C,calleesFor:g=>I([g]).get(g.symbolId)??[],calleesForDefinitions:I,signatureFor:g=>h([g]).get(g.symbolId)??null}}function X(e,t){let n={dependencyAvailable:e.dependencyAvailable,resolvedBinary:t.resolvedBinary??e.resolvedBinary,...e.note?{note:e.note}:{}};return t.available?{available:!0,...n}:{available:!1,reason:t.reason,...n}}function W(e,t){return{available:!1,dependencyAvailable:e.dependencyAvailable,resolvedBinary:e.resolvedBinary,...e.note?{note:e.note}:{},reason:t instanceof Error?t.message:String(t)}}function sn(e){if(e.usePersistentSession!==void 0)return e.usePersistentSession;let t=process.env.SCIP_RUST_SEMANTIC_SESSION;return t!=="0"&&t!=="false"}function an(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function q(e){return e.map(t=>{let n=t;return{...t,leaf:typeof n.leaf=="string"?n.leaf:Xe(t.symbol),parentTypeName:n.parentTypeName??null,isFunctionLike:typeof n.isFunctionLike=="boolean"?n.isFunctionLike:et(t.symbol),isTypeLike:n.isTypeLike??!1,kind:n.kind??null,documentation:n.documentation??null,enclosingSymbol:n.enclosingSymbol??null}})}function ht(e){return e.isFunctionLike}function It(e,t){if(!t)return!1;try{return t(e)}catch{return!1}}function Ct(e,t){if(!t||e.length===0)return new Map;try{return t(e)}catch{return new Map}}function on(e,t){return{referencesForDefinitions:n=>un(e,t,n)}}function ln(e,t){return{calleesForDefinitions:n=>mn(e,t,n)}}function cn(e,t){return{signaturesForDefinitions:n=>fn(e,t,n)}}function un(e,t,n){let r=t(e);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:De(r),references:L(n)};let i=Ie();if(!be(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,references:L(n)};let s=B(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,ve),a=te(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),o=B(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,he),u=te(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),c=Z(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!0}),p={projectRoot:e,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,...a>0?{referenceRetryTimeoutMs:a}:{},diagnosticsTimeoutMs:u,settleDelayMs:c,concurrency:o},l=Re(process.execPath,[i],{cwd:e,input:JSON.stringify(p),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(n.length,St(s,p.referenceRetryTimeoutMs),o)}),m=Me(l.stdout);if(m)return{...Ce(m),resolvedBinary:r.resolvedBinary,references:G(n,new Map(m.references),new Set(m.incompleteReferenceSymbolIds??[]))};let S=l.error instanceof Error?l.error.message:l.stderr.trim()||`Rust semantic worker exited with status ${l.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:S,references:L(n)}}function mn(e,t,n){let r=t(e);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:De(r),callees:O(n)};let i=Ie();if(!be(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,callees:O(n)};let s=B(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,ve),a=B(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,he),o=te(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),u=Z(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!0}),c={projectRoot:e,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:o,settleDelayMs:u,concurrency:a,includeReferences:!1,includeCallees:!0},p=Re(process.execPath,[i],{cwd:e,input:JSON.stringify(c),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(n.length,s,a)}),l=Me(p.stdout);if(l)return{...Ce(l),resolvedBinary:r.resolvedBinary,callees:N(n,new Map(l.callees??[]),void 0)};let m=p.error instanceof Error?p.error.message:p.stderr.trim()||`Rust semantic worker exited with status ${p.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:m,callees:O(n)}}function fn(e,t,n){let r=t(e);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:De(r),signatures:ee(n)};let i=Ie();if(!be(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,signatures:ee(n)};let s=B(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,ve),a=B(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,he),o=te(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),u=Z(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),c={projectRoot:e,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:o,settleDelayMs:u,concurrency:a,includeReferences:!1,includeCallees:!1,includeSignatures:!0},p=Re(process.execPath,[i],{cwd:e,input:JSON.stringify(c),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(n.length,s,a)}),l=Me(p.stdout);if(l)return{...Ce(l),resolvedBinary:r.resolvedBinary,signatures:Mt(n,new Map(l.signatures??[]))};let m=p.error instanceof Error?p.error.message:p.stderr.trim()||`Rust semantic worker exited with status ${p.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:m,signatures:ee(n)}}function pn(e,t,n){let r=n.referenceDefinitions.length>0?e.referencesForDefinitions(n.referenceDefinitions):{available:!0,references:L(n.referenceDefinitions)},i=n.calleeDefinitions.length>0?t.calleesForDefinitions(n.calleeDefinitions):{available:!0,callees:O(n.calleeDefinitions)},s={resolvedBinary:r.resolvedBinary??i.resolvedBinary,references:r.references,callees:i.callees};return r.available&&i.available?{available:!0,...s}:{available:!1,reason:(r.available?void 0:r.reason)??(i.available?void 0:i.reason)??"Rust semantic resolution was unavailable.",...s}}function L(e){return new Map(e.map(t=>[t.symbolId,[]]))}function O(e){return new Map(e.map(t=>[t.symbolId,[]]))}function ee(e){return new Map(e.map(t=>[t.symbolId,null]))}function N(e,t,n){let r=0,i=0;return T("rust.semantic.callees.complete-map",()=>{let s=new Map;for(let a of e){let o=t.get(a.symbolId)??[];o.length>0&&(r+=1),i+=o.length,s.set(a.symbolId,o.map(u=>({...u,symbol:n?n(u):u.symbol})))}return s},()=>({definitions:e.length,rows:r,callees:i,resolveSymbols:!!n}))}function Mt(e,t){return new Map(e.map(n=>[n.symbolId,t.get(n.symbolId)??null]))}function Ie(){return rn(new URL("./rust-semantic-worker.js",import.meta.url))}function Ce(e){return e.available?{available:!0}:{available:!1,reason:e.reason}}function De(e){return e.available?"rust-analyzer binary path is unavailable.":e.reason}function Me(e){try{let t=JSON.parse(e);if(!t||typeof t!="object")return null;let n=t;if(typeof n.available!="boolean"||!Array.isArray(n.references)||n.available===!1&&typeof n.reason!="string"||n.available===!0&&n.reason!==void 0)return null;let r={references:n.references,incompleteReferenceSymbolIds:Array.isArray(n.incompleteReferenceSymbolIds)?n.incompleteReferenceSymbolIds.filter(i=>typeof i=="number"):void 0,callees:Array.isArray(n.callees)?n.callees:void 0,signatures:Array.isArray(n.signatures)?n.signatures:void 0};return n.available===!0?{available:!0,...r}:{available:!1,reason:String(n.reason),...r}}catch{return null}}function B(e,t){return ct(e)??t}function te(e,t){if(!e)return t;let n=Number(e);return Number.isInteger(n)&&n>=0?n:t}import{existsSync as dn}from"fs";import{deserializeSCIP as Sn,SymbolRole as gn}from"@c4312/scip";var xe=new WeakMap;function Pt(e,t){let n=t.filter(yn);if(n.length===0)return new Map;let r=!1,i=0,s=0;return T("rust.scip-occurrence.callees",()=>{let a=vn(e);if(r=!!a,!a)return new Map;let o=new Map;for(let u of n){let c=Rn(e,a,u);c!==null&&(o.set(u.symbolId,c),i+=1,s+=c.length)}return o},()=>({definitions:t.length,candidates:n.length,indexAvailable:r,resolvedDefinitions:i,resolvedCallees:s}))}function yn(e){return!(!e.symbol.startsWith("rust-analyzer ")||!e.relativePath.endsWith(".rs")||!e.isFunctionLike||e.leaf==="main"||pe(e.symbol))}function Rn(e,t,n){let r=K(e,n.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(c=>c.startLine!==n.startLine||c.endLine!==n.endLine?!1:c.name===n.leaf||n.leaf.endsWith(c.name)||c.name.endsWith(n.leaf));if(!i)return null;let s=r.callSites.filter(c=>c.line>=i.startLine&&c.line<=i.endLine);if(s.length===0)return null;let a=(t.occurrencesByFile.get(n.relativePath)??[]).filter(c=>c.line>=i.startLine&&c.line<=i.endLine&&c.callee.symbol!==n.symbol);if(a.some(c=>c.traitImplMember)||!bn(s,a))return null;let o=[],u=new Set;for(let c of a){let p=`${c.callee.symbol}\0${c.callee.file}\0${c.callee.line}`;u.has(p)||(u.add(p),o.push(c.callee))}return o}function bn(e,t){let n=xt(e),r=xt(t);if(n.size!==r.size)return!1;for(let[i,s]of n)if(r.get(i)!==s)return!1;return!0}function xt(e){let t=new Map;for(let n of e){let r=n.calleeLeaf??n.leaf;if(!r)continue;let i=`${n.line}\0${r}`;t.set(i,(t.get(i)??0)+1)}return t}function vn(e){if(xe.has(e))return xe.get(e)??null;let t=hn(e);return xe.set(e,t),t}function hn(e){if(!e.generation.indexPath||!dn(e.generation.indexPath))return null;try{let t=nt(e).filter(s=>s.symbol.startsWith("rust-analyzer ")&&s.relativePath.endsWith(".rs")&&s.isFunctionLike),n=new Map(t.map(s=>[s.symbol,s])),r=Sn(_e(e.generation.indexPath,{inputKind:"SCIP occurrence-callee index",maxBytes:Fe})),i=new Map;for(let s of r.documents??[]){let a=s.relativePath;if(!a||!a.endsWith(".rs")||e.isIgnored(a))continue;let o=[];for(let u of s.occurrences??[]){if(!u.symbol||(u.symbolRoles&gn.Definition)!==0)continue;let c=n.get(u.symbol);if(!c)continue;let p=u.range?.[0];Number.isInteger(p)&&o.push({line:p,leaf:c.leaf,traitImplMember:pe(c.symbol),callee:{symbol:c.symbol,file:c.relativePath,line:c.startLine,callsiteLine:p}})}i.set(a,o)}return{occurrencesByFile:i}}catch{return null}}var ne=class{sessions=new WeakMap;getOrCreate(t,n,r){let i=In(t,n),s=this.sessions.get(t);s||(s=new Map,this.sessions.set(t,s));let a=s.get(i);if(a)return a.hits+=1,a.lastUsedAtMs=Date.now(),a.provider;let o=Date.now(),u=r();return s.set(i,{key:i,language:n,projectRoot:t.config.projectRoot,provider:u,createdAtMs:o,lastUsedAtMs:o,hits:1}),u}sessionsFor(t){return[...this.sessions.get(t)?.values()??[]]}clear(t){let n=this.sessions.get(t);if(n)for(let r of n.values())r.provider.dispose?.();this.sessions.delete(t)}};function In(e,t){return`${e.config.projectRoot}:${t}-workspace`}import{randomUUID as Cn}from"crypto";import{existsSync as Dn}from"fs";import{dirname as Mn}from"path";function wt(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t=e;if(typeof t.available!="boolean"||t.dependencyAvailable!==void 0&&typeof t.dependencyAvailable!="boolean"||t.tsconfigPath!==void 0&&typeof t.tsconfigPath!="string"||t.tsconfigPaths!==void 0&&(!Array.isArray(t.tsconfigPaths)||!t.tsconfigPaths.every(n=>typeof n=="string"))||t.resolvedBinary!==void 0&&typeof t.resolvedBinary!="string"||t.note!==void 0&&typeof t.note!="string")return null;if(t.available===!0){if(t.reason!==void 0)return null}else if(typeof t.reason!="string"||t.reason.length===0)return null;return t}var xn=12e4,Pn=5;function Et(e,t,n={}){let r=new Pe(e,n),i=null,s=null,a=process.env.SCIP_QUERY_SKIP_WATCH_SERVICE==="1",o=()=>(i??=gt(e,t),i),u=(l,m,S)=>{if(a)return S();try{return m(r.request(l))}catch{return a=!0,S()}},c=(l,m)=>u({kind:"references",definitions:[...l],...m?.exact?{exact:!0}:{}},S=>At(S),()=>o().referencesForDefinitions?.(l,m)??new Map(l.map(S=>[S.symbolId,o().referencesFor(S)]))),p=l=>u({kind:"callees",definitions:[...l]},m=>At(m),()=>o().calleesForDefinitions?.(l)??new Map(l.map(m=>[m.symbolId,o().calleesFor(m)])));return{language:"typescript",availability:()=>(s??=u({kind:"availability"},An,()=>o().availability()),s),importUsage:l=>u({kind:"import-usage",file:l},m=>m,()=>o().importUsage(l)),referencesFor:l=>c([l]).get(l.symbolId)??[],referencesForDefinitions:c,referenceFragmentsForFiles:l=>u({kind:"reference-fragments",files:[...l]},m=>Tn(m),()=>o().referenceFragmentsForFiles?.(l)??new Map),calleesFor:l=>p([l]).get(l.symbolId)??[],calleesForDefinitions:p,signatureFor:l=>u({kind:"signature",definition:l},En,()=>o().signatureFor(l)),dispose:()=>i?.dispose?.()}}var Pe=class{constructor(t,n={}){this.db=t;this.runtime=n.runtime??_n,this.timeoutMs=n.timeoutMs??Fn(),this.mailboxLimits=n.mailboxLimits??{},this.cacheDir=Mn(t.config.dbPath),this.projectRoot=Be(t.config.projectRoot)}db;runtime;timeoutMs;cacheDir;projectRoot;mailboxLimits;request(t){let n=lt(this.cacheDir),r=yt(this.cacheDir),i=de(n.statePath);if(!Tt(i,this.projectRoot,this.runtime))throw new Error("Compatible TypeScript semantic service is not running.");let s=this.db.generation.identity;if(!s)throw new Error("Published TypeScript generation identity is unavailable.");let a=this.runtime.now(),o=a+this.timeoutMs,u=(this.runtime.monotonicNow??J)()+this.timeoutMs,c=Oe(),p=st("typescript-semantic-v3",{generation:s,profileEnvironment:c,request:t}),l=at(p),m=ot(r,{mailboxVersion:it,operationKey:p,clientId:this.runtime.randomId(),enqueuedAtMs:a,deadlineAtMs:o,protocolVersion:V,id:l,generation:s,profileEnvironment:c,request:t},{nowMs:a,limits:this.mailboxLimits});for(;(this.runtime.monotonicNow??J)()<=u;){if(Dn(m.responsePath))return wn(Ue(m.responsePath,{maxBytes:this.mailboxLimits.maxItemBytes??64*1024*1024,inputKind:"TypeScript semantic mailbox response"}),l,s,p);let S=de(n.statePath);if(!Tt(S,this.projectRoot,this.runtime))throw new Error("TypeScript semantic service stopped while processing a request.");this.runtime.sleep(Pn)}throw new Error(`TypeScript semantic service timed out after ${this.timeoutMs}ms.`)}};function Tt(e,t,n){let r=e?.processIdentity?n.readProcessIdentity?.(e.pid):null;return e!==null&&e.projectRoot===t&&e.typescriptSemantic?.protocolVersion===V&&n.isProcessAlive(e.pid)&&(!e.processIdentity||r!=null&&ke(e.processIdentity,r))}function wn(e,t,n,r){let i=JSON.parse(e);if(i.protocolVersion!==V||i.id!==t||i.operationKey!==r||i.ok===!0&&i.generation!==n)throw new Error("TypeScript semantic service wrote an incompatible response.");if(i.ok===!0)return i.response;throw new Error(typeof i.error=="string"?i.error:"TypeScript semantic service request failed.")}function At(e){if(!Array.isArray(e))throw new Error("TypeScript semantic service wrote an invalid numeric map.");return new Map(e)}function Tn(e){if(!Array.isArray(e))throw new Error("TypeScript semantic service wrote an invalid string map.");return new Map(e)}function An(e){let t=wt(e);if(!t)throw new Error("TypeScript semantic service wrote invalid availability.");return t}function En(e){if(e!==null&&typeof e!="string")throw new Error("TypeScript semantic service wrote an invalid signature.");return e}function Fn(){let e=Number(process.env.SCIP_TYPESCRIPT_SEMANTIC_TIMEOUT_MS);return Number.isInteger(e)&&e>0?e:xn}var _n={now:Date.now,monotonicNow:J,randomId:Cn,sleep(e){let t=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(t,0,0,e)},isProcessAlive:Ne,readProcessIdentity:Le};var Ft=new ne;We({name:"semantic-provider",groups:["semantic-provider"],clearAll:e=>Ft.clear(e)});function H(e,t){let n=_(t)??"typescript";return Ft.getOrCreate(e,n,()=>n==="rust"?Dt(e.config.projectRoot,{sourceImportUsageResolver:{importUsageFacts:r=>bt(e,r)},calleeSymbolResolver:Rt(e),sourceZeroCalleeOracle:r=>Un(e,r),scipOccurrenceCalleeOracle:r=>Pt(e,r)}):Et(e,t))}function _(e){return e?Je(e)==="rust"?"rust":Ze(e)?"typescript":null:"typescript"}function Un(e,t){let n=K(e,t.relativePath);if(!n||n.language!=="rust")return!1;let r=n.callables.find(i=>i.startLine===t.startLine&&i.endLine===t.endLine&&i.name===t.leaf)??n.callables.find(i=>i.startLine===t.startLine&&i.endLine===t.endLine);return r?!n.callSites.some(i=>i.line>=r.startLine&&i.line<=r.endLine):!1}var kn=/^[A-Za-z_][A-Za-z0-9_]*$/,_t=/\bDefault::default\b/g,Ln=/^\.\.\s*Default::default\b/;function Ut(e,t){let n=new Map,r=new Map;for(let i of t){let s=we(e,i,r);s!==null&&n.set(i.symbolId,s)}return n}function we(e,t,n=new Map){let r=Nn(t.symbol);if(!r)return null;let i=rt(e,[t.symbolId]);if(i.length===0)return null;let s=new RegExp(`(^|[^A-Za-z0-9_])${me(r)}::default\\b`,"g"),a=new RegExp(`(^|[^A-Za-z0-9_])${me(r)}\\s*$`),o=On(e,t.symbolId),u=[];for(let c of i){let p=Bn(e,c.relative_path,n);if(p===null)return null;let l=p.split(/\r?\n/),m=0,S=[],M=0;for(let D=c.chunk_start;D<=c.chunk_end&&D<l.length;D+=1){let v=l[D]??"",x=new Set;s.lastIndex=0;let w;for(;w=s.exec(v);)u.push({file:c.relative_path,line:D,column:w.index+w[1].length+r.length+2}),M+=1;for(let y=0;y<v.length;y+=1){let I=Ln.exec(v.slice(y));if(I){if(o&&S.includes(m)){let h=y+I[0].lastIndexOf("default");u.push({file:c.relative_path,line:D,column:h}),x.add(h),M+=1}y+=I[0].length-1;continue}let C=v[y];if(C==="{"){let h=a.test(v.slice(0,y));m+=1,h&&S.push(m);continue}if(C==="}")for(m=Math.max(0,m-1);S.length>0&&S[S.length-1]>m;)S.pop()}for(_t.lastIndex=0;w=_t.exec(v);){let y=w.index+9;if(!x.has(y))return null}}if(M===0)return null}return ut(u)}function On(e,t){return e.get("SELECT 1 AS present FROM mentions WHERE symbol_id = ? AND role = 1 LIMIT 1",t)?.present===1}function Nn(e){let t=/impl#\[([^\]]+)\]\[Default\]default\(\)\./.exec(e)?.[1]??null;return!t||!kn.test(t)?null:t}function Bn(e,t,n){if(n.has(t))return n.get(t)??null;let r=e.get("SELECT text FROM documents WHERE relative_path = ?",t),i=typeof r?.text=="string"?r.text:jn(e,t);return n.set(t,i),i}function jn(e,t){try{return je(e.config.projectRoot,t,{inputKind:"indexed Rust source file"})}catch(n){if(!ze(n))throw n;return null}}function kt(e){let t=new Map;for(let n of e){let r=t.get(n.relativePath)??[];r.push(n),t.set(n.relativePath,r)}return t}var zn="typescript-import-usage-v1",Wn="typescript-signatures-v1",Te=qe("semantic-prefetched-callees",{clearGroups:["whole-project","source-file","semantic-provider"]}),Lt=ue({kind:"semantic-import-usage",invalidation:z("semantic-import-usage"),serialize:e=>JSON.stringify(e),deserialize:qt}),Ot=ue({kind:"semantic-signatures",invalidation:z("semantic-signatures"),serialize:e=>JSON.stringify(e),deserialize:er}),Nt=ce({kind:"typescript-import-usage",invalidation:z("typescript-import-usage"),serialize:e=>JSON.stringify(e),deserialize:qt}),Bt=ce({kind:"typescript-signatures",invalidation:z("typescript-signatures"),serialize:e=>JSON.stringify(e),deserialize:tr});function Ae(e){let t=new Map,n=new Set;return{capability:(r,i)=>Ht(e,r,i),importUsage:r=>Hn(e,r),references:r=>$n(e,r),materializeReferences:(r,i)=>zt(e,r,t,n,i),callerMap:r=>Jn(e,r,t,n),calleeMap:r=>Vn(e,r),signature:r=>Qn(e,r)}}function qn(e,t){if(t.size===0)return;let n=Te.get(e,()=>new Map);for(let[r,i]of t)n.set(r,[...i])}function Ri(e,t){if(!Te.has(e))return{hits:[],misses:[...t]};let n=Te.get(e,()=>new Map),r=[],i=[];for(let s of t)n.has(s.symbolId)?r.push({definition:s,callees:n.get(s.symbolId)??[]}):i.push(s);return{hits:r,misses:i}}function bi(e,t){return Ae(e).importUsage(t)}function Hn(e,t){if(_(t)==="typescript"){let s="fallback",a=0,o=0,u=0,c=0;return T("typescript.import-usage.materialize",()=>{let p=fe(e,t,zn);if(p?.key){a=1;let m=Nt.read(e,t,p.key);if(m)return s="hit",o=1,m;u=1;let S=k(e,t);if(!S)return s="unavailable",[];let M=S.importUsage(t);return Nt.write(e,t,p.key,M),s="computed",M}c=1;let l=k(e,t);return l?(s="direct-fallback",l.importUsage(t)):(s="unavailable",[])},()=>({state:s,eligible:a,cacheHits:o,cacheMisses:u,fallbacks:c}))}let n=Wt(e,"semantic-import-usage",t);if(n){let s=Lt.read(e,t,n);if(s)return s}let r=k(e,t);if(!r)return[];let i=r.importUsage(t);return n&&Lt.write(e,t,n,i),i}function vi(e,t){return Ae(e).references(t)}function $n(e,t){let n=we(e,t);if(n)return n;let r=ft(e,t);if(r)return r;let i=k(e,t.relativePath);return i?i.referencesFor(t):[]}function Jn(e,t,n=new Map,r=new Set){let i=new Map,s=zt(e,t,n,r),a=0;return T("semantic.callers.from-references",()=>{for(let o of t)a+=Yn(e,i,o,n.get(o.symbolId)??[])},()=>({definitions:t.length,materialized:s.definitions,inMemoryHits:s.inMemoryHits,incompleteInMemoryHits:s.incompleteInMemoryHits,resultRows:i.size,callerFiles:a})),i}function zt(e,t,n,r,i={}){let s=le(e),a=[],o=[],u=[],c=0,p=0,l=0,m=0,S=0,M=0,D=0,A=0,v=0,x=0,w=0,y=0,I=[],C=new Map,h=t.filter(f=>_(f.relativePath)==="typescript"&&!n.has(f.symbolId)&&!r.has(f.symbolId)),g=Qe(e,h,f=>H(e,f));if(g){v=h.length,x=g.cacheHits,w=g.cacheMisses,y=g.computedFiles;for(let f of h)n.set(f.symbolId,g.references.get(f.symbolId)??[])}if(T("semantic.references.cache-scan",()=>{for(let[f,d]of kt(t)){let R=[];for(let b of d)n.has(b.symbolId)?p+=1:r.has(b.symbolId)?A+=1:R.push(b);if(R.length===0){D+=1;continue}let U=Kn(e,s,f);if(!U){for(let b of R)_(b.relativePath)||(c+=1),u.push(b);continue}M+=1;let E=He(e,f,U);for(let b of R){let F=E.get(b.symbol)??null;if(F!==null){let P=Zn(F);if(P){l+=1,n.set(b.symbolId,P);continue}m+=1}o.push({definition:b,cacheFingerprint:U})}}},()=>({definitions:t.length,skippedUnsupportedLanguage:c,cacheHits:l,parseFailures:m,misses:o.length,unkeyed:u.length,inMemoryHits:p,incompleteInMemoryHits:A,fullyInMemoryFiles:D,cacheReadFiles:M})),o.length>0||u.length>0){I=[...u,...o.map(f=>f.definition)],C=T("semantic.references.compute-misses",()=>{let f=Gn(e,I,i);return S=f.size,f},()=>({definitions:I.length,misses:o.length,unkeyed:u.length,rows:S}));for(let f of I)C.has(f.symbolId)?(n.set(f.symbolId,C.get(f.symbolId)??[]),r.delete(f.symbolId)):r.add(f.symbolId);for(let{definition:f,cacheFingerprint:d}of o)C.has(f.symbolId)&&Ht(e,"semantic-references",f.relativePath).available&&a.push({relativePath:f.relativePath,symbol:f.symbol,projectFingerprint:d,payload:JSON.stringify(C.get(f.symbolId)??[])})}return a.length>0&&T("semantic.references.cache-write",()=>$e(e,a),()=>({entries:a.length})),C.size>0&&Ve(e,I,C,f=>H(e,f)),{definitions:t.length,inMemoryHits:p,incompleteInMemoryHits:A,cacheHits:l,misses:o.length,unkeyed:u.length,skippedUnsupportedLanguage:c,parseFailures:m,computed:S,incomplete:r.size,cacheWrites:a.length,fragmentDefinitions:v,fragmentCacheHits:x,fragmentCacheMisses:w,fragmentComputedFiles:y}}function Kn(e,t,n){if(!t)return null;let r=_(n);return r==="typescript"?t:r==="rust"?oe(JSON.stringify({kind:"semantic-references",language:r,engine:Se(e.config.projectRoot),projectFingerprint:t})):null}function Gn(e,t,n={}){let r=ae(),i=new Map,s=0,a=0,o=0,u=0,c=0,p=0,l=0,m=0,S=0;return T("semantic.references.provider-loop",()=>{let M=Ut(e,t),D=mt(e,t),A=new Map,v=n.prefetchCallees?new Map:null,x=[];for(let y of t){let I,C=()=>(I??=k(e,y.relativePath),I);if(v){let d=C();if(d?.referencesAndCalleesForDefinitions){let R=v.get(d);R?R.push(y):v.set(d,[y]),S+=1}}let h=M.get(y.symbolId);if(h){o+=1,u+=h.length,$(i,y.symbolId,h,r,d=>{l+=1,m+=d});continue}let g=D.get(y.symbolId);if(g){c+=1,p+=g.length,$(i,y.symbolId,g,r,d=>{l+=1,m+=d});continue}let f=C();if(!f){r&&(a+=1);continue}if(r&&(s+=1),f.referencesForDefinitions){let d=A.get(f);d?d.push(y):A.set(f,[y])}else x.push({provider:f,definition:y})}let w=new Set;if(v)for(let[y,I]of v){if(!y.referencesAndCalleesForDefinitions)continue;let C=A.get(y)??[],h=y.referencesAndCalleesForDefinitions(C,I);w.add(y),qn(e,h.callees);for(let g of C){if(!h.references.has(g.symbolId))continue;let f=h.references.get(g.symbolId)??[];$(i,g.symbolId,f,r,d=>{l+=1,m+=d})}}for(let[y,I]of A){if(w.has(y))continue;let C=y.referencesForDefinitions(I);for(let h of I){if(!C.has(h.symbolId))continue;let g=C.get(h.symbolId)??[];$(i,h.symbolId,g,r,f=>{l+=1,m+=f})}}for(let{provider:y,definition:I}of x){let C=y.referencesFor(I);$(i,I.symbolId,C,r,h=>{l+=1,m+=h})}return i},()=>({definitions:t.length,providerHits:s,providerMisses:a,rustDefaultFastPathRows:o,rustDefaultFastPathReferences:u,rustScipOccurrenceFastPathRows:c,rustScipOccurrenceFastPathReferences:p,prefetchCalleeDefinitions:S,definitionsWithReferences:l,referenceCount:m,rows:i.size}))}function $(e,t,n,r,i){e.set(t,n),r&&n.length>0&&i(n.length)}function Yn(e,t,n,r){let i=0;for(let s of r){if(s.file===n.relativePath||e.isIgnored(s.file))continue;let a=t.get(n.symbolId);a||(a=new Set,t.set(n.symbolId,a));let o=a.size;a.add(s.file),a.size!==o&&(i+=1)}return i}function Zn(e){try{return JSON.parse(e)}catch{return null}}function hi(e,t){return Ae(e).calleeMap(t)}function Vn(e,t){let n=ae(),r=new Map,i=0,s=0,a=0,o=0;return T("semantic.callees.provider-loop",()=>{let u=new Map,c=[];for(let p of t){let l=k(e,p.relativePath);if(!l){n&&(s+=1);continue}n&&(i+=1);let m=p;if(l.calleesForDefinitions){let S=u.get(l);S?S.push(m):u.set(l,[m])}else c.push({provider:l,definition:m})}for(let[p,l]of u){let m=p.calleesForDefinitions(l);for(let S of l){let M=m.get(S.symbolId)??[];jt(r,S.symbolId,M,n,D=>{a+=1,o+=D})}}for(let{provider:p,definition:l}of c){let m=p.calleesFor(l);jt(r,l.symbolId,m,n,S=>{a+=1,o+=S})}return r},()=>({definitions:t.length,providerHits:i,providerMisses:s,definitionsWithCallees:a,calleeCount:o,rows:r.size}))}function jt(e,t,n,r,i){n.length>0&&(e.set(t,n),r&&i(n.length))}function Qn(e,t){if(_(t.relativePath)==="typescript"){let a="fallback",o=0,u=0,c=0,p=0;return T("typescript.signature.materialize",()=>{let l=fe(e,t.relativePath,Wn);if(l?.key){o=1;let S=Bt.read(e,t.relativePath,l.key)??{};if(Object.prototype.hasOwnProperty.call(S,t.symbol))return a="hit",u=1,S[t.symbol]??null;c=1;let M=k(e,t.relativePath);if(!M)return a="unavailable",null;let D=M.signatureFor(t);return Bt.write(e,t.relativePath,l.key,{...S,[t.symbol]:D}),a="computed",D}p=1;let m=k(e,t.relativePath);return m?(a="direct-fallback",m.signatureFor(t)):(a="unavailable",null)},()=>({state:a,eligible:o,cacheHits:u,cacheMisses:c,fallbacks:p}))}let n=Wt(e,"semantic-signatures",t.relativePath),r=Xn(t);if(n){let a=Ot.read(e,r,n);if(a)return a.signature}let i=k(e,t.relativePath);if(!i)return null;let s=i.signatureFor(t);return n&&Ot.write(e,r,n,{signature:s}),s}function Wt(e,t,n){let r=le(e);if(!r)return null;let i=_(n);return i!=="rust"?null:oe(JSON.stringify({kind:t,language:i,engine:Se(e.config.projectRoot),projectFingerprint:r}))}function Xn(e){return`${e.relativePath}\0${e.symbol}`}function qt(e){try{let t=JSON.parse(e);return Array.isArray(t)?t:null}catch{return null}}function er(e){try{let t=JSON.parse(e);if(!t||typeof t!="object")return null;let n=t.signature;return n!==null&&typeof n!="string"?null:{signature:n}}catch{return null}}function tr(e){try{let t=JSON.parse(e);if(!t||typeof t!="object"||Array.isArray(t))return null;for(let n of Object.values(t))if(n!==null&&typeof n!="string")return null;return t}catch{return null}}function Ht(e,t,n){let r=_(n);if(!r)return{slot:t,language:"typescript",available:!1,reason:"semantic evidence is only available for TypeScript or Rust files"};try{return{slot:t,language:r,...H(e,n).availability()}}catch(i){return{slot:t,language:r,available:!1,reason:i instanceof Error?i.message:String(i)}}}function k(e,t){if(!_(t))return null;let n=H(e,t);return n.availability().available?n:null}export{kt as a,_ as b,Ae as c,Ri as d,bi as e,vi as f,Gn as g,hi as h};
2
- //# sourceMappingURL=chunk-OXYAWIEA.js.map
@@ -1,2 +0,0 @@
1
- import{b as r}from"./chunk-ERCYGVAM.js";import{y as e}from"./chunk-TD7VKJ2Y.js";function l(t,s){let o=r(t,s);return e(t,o).map(({relativePath:n,...a})=>a)}export{l as a};
2
- //# sourceMappingURL=chunk-OZETODHH.js.map
@@ -1,3 +0,0 @@
1
- import{a as X}from"./chunk-P5XHIJHI.js";import{A as mn,B as yn,a as It,i as Mt,j as me,k as $,l as Le,m as Z,n as ee,o as Oe,q as Dt,r as pn,s as Ue,t as ne,u as xt,v as Ct,w as Be,x as Tt,y as dn}from"./chunk-TUSPIVZ3.js";import{d as ht}from"./chunk-KK7GPALL.js";import{a as xe,b as Ce,c as we,d as Pe,e as q,o as vt}from"./chunk-HG722PO7.js";import{b as Rt,e as V,f as Ne,h as bt,j as de,t as z,u as _e}from"./chunk-TD7VKJ2Y.js";import{a as pe,m as Fe,v as St,x as gt}from"./chunk-42W3LFUK.js";import{C as yt,a as Ee,c as ft,d as pt,q as ln,z as mt}from"./chunk-7JYHQAH2.js";import{a as ot,c as at,d as ct,h as an,j as cn,m as lt,o as ut,r as _,s as dt,t as w,v as Ae,w as un,x as fn,y as fe}from"./chunk-Q7GBK5T7.js";import{Ba as st,C as et,D as H,E as Te,H as ke,I as B,J as nt,O as on,aa as tt,n as le,q as N,ta as rt,xa as it,ya as ue}from"./chunk-GH5YSGZL.js";function kt(n){let e=new Map,t=ti(n),r=new Map;return i=>{let s=ni(i),o=r.get(s);if(o!==void 0)return o;if(!t.has(i.file))return r.set(s,i.symbol),i.symbol;let a=e.get(i.file);a||(a=ri(z(n,i.file)),e.set(i.file,a));let l=ii(a,i);return r.set(s,l),l}}function ni(n){return`${n.file}\0${n.symbol}\0${n.line}`}function ti(n){return new Set(n.all("SELECT relative_path FROM documents").map(e=>e.relative_path))}function ri(n){let e=new Map,t=new Map;for(let r of n){let i=e.get(r.leaf);i?i.push(r):e.set(r.leaf,[r]);let s=t.get(r.startLine);s?s.push(r):t.set(r.startLine,[r])}return{definitions:n,byLeaf:e,byStartLine:t}}function ii(n,e){if(n.definitions.length===0)return e.symbol;let t=ai(e.symbol),r=si(n.byLeaf,t),i=oi(r,e.line);if(i)return i.symbol;let s=n.byStartLine.get(e.line)??[];return s.length===1?s[0].symbol:e.symbol}function si(n,e){let t=[],r=new Set;for(let i of e)for(let s of n.get(i)??[])r.has(s.symbolId)||(r.add(s.symbolId),t.push(s));return t}function oi(n,e){let t=null;for(let r of n)if(!(r.startLine>e||r.endLine<e)){if(r.startLine===e)return r;(!t||r.endLine-r.startLine<t.endLine-t.startLine)&&(t=r)}return t}function ai(n){let e=new Set([n]),r=n.split(/::|\.|#/).filter(Boolean).at(-1);return r&&e.add(r),e}function wt(n,e){let r=gt(n,e).map(i=>li(e,i));return{usage:r,positions:ui(n,e,r)}}function Pt(n,e){return{importUsage(t){let r=n.importUsageFacts(t);if(!e||r.positions.length===0)return r.usage;let i=e.importDefinitionsForFile(t,r.positions);return i.available?ci(r.usage,i.sourcePaths):r.usage}}}function ci(n,e){return n.map((t,r)=>{let i=e.get(String(r));return i?{...t,sourcePath:i}:t})}function li(n,e){let t=e.isTypeOnly===!0,r=e.kind==="side-effect"||t||e.used;return{importer:n,sourcePath:e.sourcePath,importedName:e.importedName,localName:e.localName,kind:e.kind,isTypeOnly:t,isUsed:r,isTypeUsed:t,isValueUsed:e.kind==="side-effect"||!t&&e.used,references:[]}}function ui(n,e,t){let r=yt(n,e);if(!r)return[];let i=fi(r.rootNode),s=new Map;for(let a of i){let l=s.get(gn(a.importedName,a.localName));l?l.push(a.position):s.set(gn(a.importedName,a.localName),[a.position])}let o=[];return t.forEach((a,l)=>{let u=s.get(gn(a.importedName,a.localName??a.importedName))?.shift();u&&o.push({...u,id:String(l),file:e})}),o}function fi(n){let e=[];for(let t of n.descendantsOfType("use_declaration")){let r=t.namedChildren.find(i=>i.type!=="visibility_modifier");r&&e.push(...qe(r,""))}return e.filter(t=>t.importedName!=="*")}function qe(n,e){switch(n.type){case"identifier":case"super":case"self":case"crate":return[{importedName:n.text,localName:n.text,position:Sn(n,n.text)}];case"scoped_identifier":{let t=n.text.split("::").pop()??n.text;return[{importedName:t,localName:t,position:Sn(n,t)}]}case"scoped_use_list":{let t=n.namedChild(0),r=n.namedChild(1);if(!t||!r)return[];let i=St(e,t.text);return r.namedChildren.flatMap(s=>qe(s,i))}case"use_list":return n.namedChildren.flatMap(t=>qe(t,e));case"use_as_clause":{let t=n.namedChild(0),r=n.namedChild(1);return!t||!r?[]:qe(t,e).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let t=n.namedChild(0),r="*";return[{importedName:r,localName:r,position:Sn(t??n,r)}]}default:return[]}}function Sn(n,e){let t=Math.max(0,n.text.lastIndexOf(e));return{id:"",file:"",line:n.startPosition.row,column:n.startPosition.column+t+pi(e)}}function pi(n){return Math.max(0,Math.min(n.length-1,1))}function gn(n,e){return`${n}\0${e}`}import{spawnSync as kn}from"child_process";import{existsSync as wn}from"fs";import{fileURLToPath as ms}from"url";function je(n){let e=Mt(It,n),t=e.runnable;return t?{available:!0,dependencyAvailable:t,resolvedBinary:e.resolvedBinary??void 0,note:"rust-analyzer semantic reference queries are enabled."}:{available:!1,dependencyAvailable:t,resolvedBinary:e.resolvedBinary??void 0,reason:"rust-analyzer is not runnable; Rust semantic checks will use SCIP/source evidence only."}}import{existsSync as Qi,mkdtempSync as er,rmSync as vn}from"fs";import{tmpdir as nr}from"os";import{join as Dn}from"path";import{fileURLToPath as Ye,pathToFileURL as Xi}from"url";import{SHARE_ENV as Zi,Worker as es}from"worker_threads";function K(n,e,t=new Set){let r=new Map;for(let i of n)t.has(i.symbolId)||r.set(i.symbolId,e.get(i.symbolId)??[]);return r}function Y(n,e,t){let r=X(process.env.SCIP_RUST_SEMANTIC_BATCH_TIMEOUT_MS)??0;if(r>0)return r;let i=Math.max(1,Math.ceil(n/Math.max(1,t)));return Math.max(12e4,3e4+i*e)}import{spawn as Ei}from"child_process";import{createHash as Ai,randomUUID as Fi}from"crypto";import{existsSync as Ht,realpathSync as Ni,rmSync as _i}from"fs";import{tmpdir as Li}from"os";import{resolve as re}from"path";import{execFileSync as hi}from"child_process";import{existsSync as di}from"fs";import{deserializeSCIP as mi,SymbolRole as yi}from"@c4312/scip";import{realpathSync as $o}from"fs";import{basename as Jo,dirname as Go,join as Qo,relative as Xo,sep as Zo}from"path";import{fileURLToPath as na,pathToFileURL as ta}from"url";function We(n){let e=new Map;for(let t of n)e.set(`${t.file}\0${t.line}\0${t.column}`,t);return[...e.values()].sort((t,r)=>{let i=t.file.localeCompare(r.file);return i!==0?i:t.line!==r.line?t.line-r.line:t.column-r.column})}var Rn=new WeakMap,Si="SCIP_RUST_SCIP_OCCURRENCE_REFERENCE_MODE";function Et(n,e){let t=new Map,r=ze(),i=e.filter(o=>Nt(o,r));if(i.length===0)return t;let s=_t(n);if(!s)return t;for(let o of i){let a=Ft(s,o);a!==null&&t.set(o.symbolId,a)}return t}function At(n,e){if(!Nt(e,ze()))return null;let t=_t(n);return t?Ft(t,e):null}function Ft(n,e){return n.referencesBySymbol.get(e.symbol)??[]}function Nt(n,e="safe"){if(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||de(n.symbol)||/impl#\[[^\]]+\]\[Default\]default\(\)\.$/.test(n.symbol))return!1;if(e==="all")return!0;let t=Ne(n.symbol);if(t==="method")return!0;if(t!=="term")return!1;let r=Rt(n.symbol);return"kind"in r?!1:!gi(r)}function gi(n){for(let e=0;e<n.descriptors.length-1;e+=1)if(n.descriptors[e]?.suffix==="type")return!0;return!1}function _t(n){if(Rn.has(n))return Rn.get(n)??null;let e=Ri(n);return Rn.set(n,e),e}function Ri(n){if(!n.generation.indexPath||!di(n.generation.indexPath))return null;try{let e=mi(ke(n.generation.indexPath,{inputKind:"SCIP occurrence-reference index",maxBytes:Te})),t=new Map;for(let r of e.documents??[]){let i=r.relativePath;if(!(!i||n.isIgnored(i)))for(let s of r.occurrences??[]){if(!s.symbol||(s.symbolRoles&yi.Definition)!==0)continue;let o=bi(i,s.range);if(!o)continue;let a=t.get(s.symbol)??[];a.push(o),t.set(s.symbol,a)}}for(let[r,i]of t)t.set(r,We(i));return{referencesBySymbol:t}}catch{return null}}function bi(n,e){if(e.length<3)return null;let t=e[0],r=e[1];return!Number.isInteger(t)||!Number.isInteger(r)?null:{file:n,line:t,column:r}}function ze(){return process.env[Si]==="all"?"all":"safe"}var Lt=new Map;function bn(n){let t=je(n).resolvedBinary??null;return{engine:"rust-analyzer",resolvedBinary:t,version:t?Ii(n,t):"unavailable"}}function hn(n){return{...bn(n),scipOccurrenceReferenceMode:ze()}}function Ii(n,e){let t=`${n}\0${e}`,r=Lt.get(t);if(r)return r;let i;try{i=hi(e,["--version"],{cwd:n,encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:2e3}).trim()}catch{i="unknown"}return Lt.set(t,i),i}import{createHash as Mi}from"crypto";var vi=new Set(["Cargo.lock","Cargo.toml","rust-project.json","rust-toolchain","rust-toolchain.toml"]);function Ot(n){let e=st(n,{includePath:Di});return Mi("sha256").update(JSON.stringify(e)).digest("hex")}function Di(n){let e=n.replaceAll("\\","/"),t=e.split("/").at(-1)??e;return e.endsWith(".rs")||vi.has(t)?!0:e===".cargo/config"||e===".cargo/config.toml"||e.endsWith("/.cargo/config")||e.endsWith("/.cargo/config.toml")}import{createHash as xi}from"crypto";import{resolve as Ci}from"path";var te=3;function Mn(n){return xi("sha256").update(me({kind:"scip-query-durable-rust-mailbox",protocolVersion:te,sessionDir:Ci(n)})).digest("hex")}function qt(n,e){return le(n)?n.protocolVersion!==te?Bt(n.protocolVersion===void 0?"helper wrote a prior uncorrelated response protocol":`helper wrote unsupported response protocol ${String(n.protocolVersion)}`):n.mailboxVersion!==$||n.id!==e.requestId||n.operationKey!==e.operationKey||n.sessionIdentity!==e.sessionIdentity||n.deadlineAtMs!==e.deadlineAtMs?Bt("helper wrote an incompatible response identity"):typeof n.completedAtMs!="number"||!Number.isFinite(n.completedAtMs)||n.completedAtMs>e.deadlineAtMs||e.nowMs>e.deadlineAtMs?{ok:!1,code:"expired-request",error:"helper response arrived after the durable request deadline"}:n.ok===!1?typeof n.error!="string"||!Pi(n.errorCode)?In("helper wrote an invalid rejection response"):{ok:!1,code:n.errorCode,error:n.error}:n.ok!==!0||n.session!=="created"&&n.session!=="reused"&&n.session!=="invalidated"||!Ti(n.response,e.requestKind)?In("helper wrote an invalid success response"):{ok:!0,session:n.session,response:n.response}:In("helper wrote an invalid response object")}function Ti(n,e){return!le(n)||typeof n.available!="boolean"||n.available===!1&&(typeof n.reason!="string"||n.reason.length===0)||n.available===!0&&n.reason!==void 0?!1:e==="import-definitions"?Array.isArray(n.sourcePaths)&&n.sourcePaths.every(t=>Array.isArray(t)&&t.length===2&&typeof t[0]=="string"&&(t[1]===null||typeof t[1]=="string")):Ut(n.references,ki)&&(n.incompleteReferenceSymbolIds===void 0||Array.isArray(n.incompleteReferenceSymbolIds)&&n.incompleteReferenceSymbolIds.every(t=>Number.isSafeInteger(t)))&&(n.callees===void 0||Ut(n.callees,wi))&&(n.signatures===void 0||Array.isArray(n.signatures)&&n.signatures.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&(t[1]===null||typeof t[1]=="string")))}function Ut(n,e){return Array.isArray(n)&&n.every(t=>Array.isArray(t)&&t.length===2&&Number.isSafeInteger(t[0])&&Array.isArray(t[1])&&t[1].every(e))}function ki(n){return le(n)&&typeof n.file=="string"&&N(n.line)&&N(n.column)}function wi(n){return le(n)&&typeof n.symbol=="string"&&typeof n.file=="string"&&N(n.line)&&(n.callsiteLine===void 0||N(n.callsiteLine))}function Pi(n){return n==="unsupported-protocol"||n==="malformed-request"||n==="expired-request"||n==="handler-error"}function In(n){return{ok:!1,code:"malformed-response",error:n}}function Bt(n){return{ok:!1,code:"incompatible-response",error:n}}var Oi=5e3,Vt=10,Ui=3e4;function jt(n,e,t,r=Qt){let i=r.engineIdentity(n),s={protocolVersion:te,projectRoot:r.canonicalProjectRoot(n),projectFingerprint:r.projectFingerprint(n),engine:{engine:i.engine,resolvedBinary:i.resolvedBinary,version:i.version},workerFingerprint:r.fileFingerprint(e),environment:Yt(r.environment())};return{key:Xt(me(s)),...s}}function Ke(n,e,t,r){if(n.protocolVersion!==te||!t(n.pid))return!1;if(!n.processIdentity)return!0;let i=r?.(n.pid);return i!=null&&Ce(n.processIdentity,i)}function $t(n,e,t){let r;try{r=on(e,{maxBytes:H,inputKind:"Rust semantic engine artifact"})}catch{r="missing"}let i=Xt(me({projectRoot:re(n),serverPath:re(e),serverFingerprint:r})).slice(0,20);return re(t,`scip-query-rust-session-${i}`)}function Wt(n){let e=n===void 0?Number.NaN:Number(n);return Number.isInteger(e)&&e>=0?e:0}function Yt(n){return Object.fromEntries(Object.entries(n).filter(([e])=>Gt(e)).sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>[e,t??null]))}function Jt(n,e){let t=e.runtime??Ki,r=e.identityRuntime??Qt,i=$t(n,e.serverPath,e.tempRoot??Li()),s=!1,o=(a,l)=>{if(s)throw new Error("Durable Rust semantic session was already disposed.");return qi(i,e.serverPath,e.semanticWorkerPath,a,l,t,e.mailboxLimits)};return{requestSemantic(a,l){let u=jt(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...c}=a;return o({kind:"semantic",identityKey:u.key,workerEnvironment:Kt(),request:{...c,referenceRetryTimeoutMs:Bi(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,a.referenceRetryTimeoutMs),settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Wt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:l},l)},requestImportDefinitions(a,l){let u=jt(n,e.semanticWorkerPath,a,r),{readinessDeadlineMs:f,...c}=a;return o({kind:"import-definitions",identityKey:u.key,workerEnvironment:Kt(),request:{...c,settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Wt(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:l},l)},shutdown(){s=!0}}}function Bi(n,e){return e!==void 0?e:n===void 0?Ui:void 0}function qi(n,e,t,r,i,s,o={}){let a=s.now(),l=a+i,u=(s.monotonicNow??q)(),f=u+i,c=Z("rust-semantic-v3",r),p=ee(c),d=Le(n),y=Mn(n),R=Oe(d,{mailboxVersion:$,protocolVersion:te,id:p,operationKey:c,clientId:s.randomId(),enqueuedAtMs:a,deadlineAtMs:l,sessionIdentity:y,request:r},{nowMs:a,limits:o});for(zt(n,e,t,f,s);(s.monotonicNow??q)()<=f;){if(Ht(R.responsePath)){let S=ji(B(R.responsePath,{maxBytes:o.maxItemBytes??H,inputKind:"durable Rust semantic mailbox response"}),{requestId:p,operationKey:c,sessionIdentity:y,deadlineAtMs:R.authoritativeDeadlineAtMs,requestKind:r.kind,nowMs:s.now()});if(!S.ok)throw new Error(S.error);return _()&&Ae({type:"span",name:"rust.semantic.durable-session.request",durationMs:(s.monotonicNow??q)()-u,ok:!0,session:S.session,kind:r.kind}),S.response}let b=He(n);(!b||!Ke(b,s.now(),s.isProcessAlive,s.readProcessIdentity))&&zt(n,e,t,f,s),s.sleep(Vt)}throw new Error(`Durable Rust semantic session timed out after ${(i/1e3).toFixed(0)}s.`)}function zt(n,e,t,r,i){let s=He(n);if(s&&Ke(s,i.now(),i.isProcessAlive,i.readProcessIdentity))return;_i(re(n,"server.json"),{force:!0}),i.spawnServer(e,n,t);let o=i.monotonicNow??q,a=Math.min(r,o()+Oi);for(;o()<=a;){let l=He(n);if(l&&Ke(l,i.now(),i.isProcessAlive,i.readProcessIdentity))return;i.sleep(Vt)}throw new Error("Durable Rust semantic session helper did not become ready within 5s.")}function He(n){try{let e=JSON.parse(B(re(n,"server.json"),{maxBytes:et,inputKind:"durable Rust session state"}));if(typeof e.protocolVersion!="number"||e.sessionIdentity!==void 0&&(typeof e.sessionIdentity!="string"||e.sessionIdentity!==Mn(n))||typeof e.pid!="number"||typeof e.heartbeatAtMs!="number"||e.busyUntilMs!==void 0&&typeof e.busyUntilMs!="number"||e.mailbox!==void 0&&!Wi(e.mailbox))return null;let t=e.processIdentity===void 0?null:xe(e.processIdentity);return e.processIdentity!==void 0&&(!t||t.pid!==e.pid)?null:{protocolVersion:e.protocolVersion,...e.sessionIdentity===void 0?{}:{sessionIdentity:e.sessionIdentity},pid:e.pid,...t?{processIdentity:t}:{},heartbeatAtMs:e.heartbeatAtMs,...e.busyUntilMs===void 0?{}:{busyUntilMs:e.busyUntilMs},...e.mailbox===void 0?{}:{mailbox:e.mailbox}}}catch{return null}}function ji(n,e){try{return qt(JSON.parse(n),e)}catch(t){return{ok:!1,code:"malformed-response",error:`helper wrote malformed JSON: ${t instanceof Error?t.message:String(t)}`}}}function Wi(n){if(!n||typeof n!="object")return!1;let e=n;return N(e.pending)&&N(e.inflight)&&N(e.responses)&&N(e.deadLetters)&&N(e.invalid)&&N(e.totalItems)&&typeof e.totalBytes=="number"&&Number.isFinite(e.totalBytes)&&e.totalBytes>=0&&(e.oldestPendingAt===void 0||Number.isFinite(Date.parse(e.oldestPendingAt)))}function Kt(){return Object.fromEntries(Object.entries(process.env).filter(([n])=>zi(n)).sort(([n],[e])=>n.localeCompare(e)).map(([n,e])=>[n,e??null]))}function Gt(n){return n==="HOME"||n==="PATH"||n.startsWith("CARGO_")||n.startsWith("RA_")||n.startsWith("RUST")}function zi(n){return Gt(n)||n.startsWith("SCIP_RUST_")||n==="SCIP_QUERY_PROFILE"||n==="SCIP_QUERY_PROFILE_CACHE_STATE"||n==="SCIP_QUERY_PROFILE_COMMAND"||n==="SCIP_QUERY_PROFILE_OUT"||n==="SCIP_QUERY_PROFILE_RUN_ID"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY"||n==="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY_KIND"||n==="SCIP_QUERY_PROFILE_MIN_MS"}var Qt={canonicalProjectRoot(n){try{return Ni(n)}catch{return re(n)}},projectFingerprint(n){return Ot(n)},engineIdentity:bn,fileFingerprint(n){return on(n,{maxBytes:H,inputKind:"Rust semantic engine artifact"})},environment(){return Yt(process.env)}},Ki={now:Date.now,monotonicNow:q,randomId:Fi,isProcessAlive:Pe,readProcessIdentity:we,spawnServer(n,e,t){if(!Ht(n))throw new Error(`Durable Rust semantic session helper was not found at ${n}. Run npm run build first.`);Ei(process.execPath,[n,e,t],{detached:!0,stdio:"ignore"}).unref()},sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)}};function Xt(n){return Ai("sha256").update(n).digest("hex")}import{randomUUID as Va}from"crypto";import{readdirSync as Hi,rmSync as Ya,writeFileSync as Ja}from"fs";import{join as Vi}from"path";var $i="rust-analyzer-owner-",Yi=".json",Ji=16*1024;async function Zt(n,e){if(!n)return[];let t;try{t=Hi(n)}catch{return[]}let r=t.filter(o=>o.startsWith($i)&&o.endsWith(Yi)).map(o=>Vi(n,o)),i=[],s=[];for(let o of r){let a=Gi(o);a?s.push(a):i.push({reaped:!1,reason:"identity-unavailable",detail:`Rust analyzer ownership record ${o} could not be validated.`})}return i.push(...await Promise.all(s.map(o=>vt(o,e)))),i}function Gi(n){try{let e=B(n,{maxBytes:Ji,inputKind:"rust-analyzer process ownership record"}),t=JSON.parse(e),r=xe(t.rootIdentity);return t.version!==1||!r||typeof t.ownsProcessGroup!="boolean"?null:{rootPid:r.pid,rootIdentity:r,ownsProcessGroup:t.ownsProcessGroup,knownMembers:new Map([[r.pid,r]])}}catch{return null}}var tr=15e3,rr=8,sr=5e3,ns=64,ts=96,Cn=class{constructor(e,t,r={}){this.projectRoot=e;this.status=t;this.opts=r;this.requester=r.requester??os(e,process.env.SCIP_RUST_SEMANTIC_DURABLE_SESSION)}projectRoot;status;opts;requester;referencesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),references:ge(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,references:K(e,new Map(r.references),new Set(r.incompleteReferenceSymbolIds??[]))}}catch(r){return this.opts.fallbackReferenceResolver?.referencesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),references:ge(e)}}}calleesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),callees:Re(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,callees:xn(e,new Map(r.callees??[]))}}catch(r){return this.opts.fallbackCalleeResolver?.calleesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),callees:Re(e)}}}referencesAndCalleesForDefinitions(e,t){let r=this.status(this.projectRoot);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),references:ge(e),callees:Re(t)};let i=[...e,...t];try{let s=this.requestSession(r.resolvedBinary,i,{includeReferences:e.length>0,includeCallees:t.length>0,referenceDefinitions:e,calleeDefinitions:t});return{...ye(s),resolvedBinary:r.resolvedBinary,references:K(e,new Map(s.references),new Set(s.incompleteReferenceSymbolIds??[])),callees:xn(t,new Map(s.callees??[]))}}catch(s){return this.fallbackReferencesAndCallees(r,e,t,s)}}signaturesForDefinitions(e){let t=this.status(this.projectRoot);if(!t.available||!t.resolvedBinary)return{available:!1,resolvedBinary:t.resolvedBinary,reason:Se(t),signatures:ir(e)};try{let r=this.requestSession(t.resolvedBinary,e,{includeReferences:!1,includeCallees:!1,includeSignatures:!0});return{...ye(r),resolvedBinary:t.resolvedBinary,signatures:fs(e,new Map(r.signatures??[]))}}catch(r){return this.opts.fallbackSignatureResolver?.signaturesForDefinitions(e)??{available:!1,resolvedBinary:t.resolvedBinary,reason:r instanceof Error?r.message:String(r),signatures:ir(e)}}}importDefinitionsForFile(e,t){let r=this.status(this.projectRoot);if(t.length===0)return r.available?{available:!0,resolvedBinary:r.resolvedBinary,sourcePaths:new Map}:{available:!1,reason:r.reason,resolvedBinary:r.resolvedBinary,sourcePaths:new Map};if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),sourcePaths:new Map(t.map(i=>[i.id,null]))};try{let i=this.requestImportDefinitions(r.resolvedBinary,e,t);return{...ye(i),resolvedBinary:r.resolvedBinary,sourcePaths:new Map(i.sourcePaths)}}catch(i){return{available:!1,resolvedBinary:r.resolvedBinary,reason:i instanceof Error?i.message:String(i),sourcePaths:new Map(t.map(s=>[s.id,null]))}}}dispose(){this.requester.shutdown()}requestSession(e,t,r){let i=Ve(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,tr),s=$e(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),o=Ve(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,rr),a=$e(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),l=r.referenceDefinitions?[...r.referenceDefinitions]:void 0,u=r.calleeDefinitions?[...r.calleeDefinitions]:void 0,f=r.signatureDefinitions?[...r.signatureDefinitions]:void 0,c=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,...r}),p={projectRoot:this.projectRoot,rustAnalyzerBinary:e,definitions:[...t],...l?{referenceDefinitions:l}:{},...u?{calleeDefinitions:u}:{},...f?{signatureDefinitions:f}:{},requestTimeoutMs:i,...r.includeReferences!==!1&&s>0?{referenceRetryTimeoutMs:s}:{},diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:o,includeReferences:r.includeReferences,includeCallees:r.includeCallees,includeSignatures:r.includeSignatures},d=ps(p);return w("rust.semantic.session.request",()=>this.requester.requestSemantic(p,Y(d,Tn(i,p.referenceRetryTimeoutMs),o)),()=>({definitions:t.length,operationDefinitions:d,referenceDefinitions:p.referenceDefinitions?.length,calleeDefinitions:p.calleeDefinitions?.length,signatureDefinitions:p.signatureDefinitions?.length,references:p.includeReferences!==!1,callees:p.includeCallees===!0,signatures:p.includeSignatures===!0,referenceRetryTimeoutMs:p.referenceRetryTimeoutMs}))}fallbackReferencesAndCallees(e,t,r,i){let s=t.length===0?{available:!0,resolvedBinary:e.resolvedBinary,references:ge(t)}:this.opts.fallbackReferenceResolver?.referencesForDefinitions(t),o=r.length===0?{available:!0,resolvedBinary:e.resolvedBinary,callees:Re(r)}:this.opts.fallbackCalleeResolver?.calleesForDefinitions(r);if(s&&o){let a={resolvedBinary:s.resolvedBinary??o.resolvedBinary??e.resolvedBinary,references:K(t,s.references),callees:xn(r,o.callees)};return s.available&&o.available?{available:!0,...a}:{available:!1,reason:(s.available?void 0:s.reason)??(o.available?void 0:o.reason)??"Rust semantic fallback was unavailable.",...a}}return{available:!1,resolvedBinary:e.resolvedBinary,reason:i instanceof Error?i.message:String(i),references:ge(t),callees:Re(r)}}requestImportDefinitions(e,t,r){let i=Ve(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,tr),s=Ve(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,rr),o=$e(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),a=$e(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,sr),l={projectRoot:this.projectRoot,rustAnalyzerBinary:e,file:t,positions:[...r],requestTimeoutMs:i,diagnosticsTimeoutMs:o,settleDelayMs:a,concurrency:s};return w("rust.semantic.import-definitions.session.request",()=>this.requester.requestImportDefinitions(l,Y(r.length,i,s)),()=>({file:t,positions:r.length}))}};function ye(n){return n.available?{available:!0}:{available:!1,reason:n.reason}}function Se(n){return n.available?"rust-analyzer binary path is unavailable.":n.reason}function or(n,e,t={}){return new Cn(n,e,t)}function be(n,e){let t=cr(n);if(t!==null)return t;let r=e.includeReferences!==!1;return r&&e.includeCallees!==!0&&e.includeSignatures!==!0&&e.definitionCount<=ns||r&&e.includeCallees===!0&&e.includeSignatures!==!0&&e.definitionCount<=ts?0:sr}function rs(n){let e=n?.trim().toLowerCase(),t=e==="0"||e==="false"||e==="off"||e==="worker",r=e==="1"||e==="true"||e==="on"||e==="durable",i=e===void 0||e==="";return{transport:t||!i&&!r?"worker":"durable",source:i?"default":"environment",fallback:"worker",valid:i||t||r,optOut:"SCIP_RUST_SEMANTIC_DURABLE_SESSION=0"}}function is(n){return rs(n).transport}function ss(n,e){let t=null,r=!1,i=!1,s=!1,o=()=>t??=e(),a=()=>{i||(n.shutdown(),i=!0)},l=(f,c,p)=>{let d=us(f);r=!0;try{a()}catch{}_()&&Ae({type:"span",name:"rust.semantic.durable-session.request",durationMs:p,ok:!1,kind:c,session:"worker-fallback",reason:d})},u=(f,c,p)=>{if(s)throw new Error("Rust semantic failover session was already disposed.");if(r)return p(o());let d=performance.now();try{return c(n)}catch(y){l(y,f,performance.now()-d)}return p(o())};return{requestSemantic(f,c){return u("semantic",p=>p.requestSemantic(f,c),p=>p.requestSemantic(f,c))},requestImportDefinitions(f,c){return u("import-definitions",p=>p.requestImportDefinitions(f,c),p=>p.requestImportDefinitions(f,c))},shutdown(){if(s)return;s=!0;let f=[];try{a()}catch(c){f.push(c)}try{t?.shutdown()}catch(c){f.push(c)}if(f.length>0)throw f[0]}}}function os(n,e,t={worker:()=>as(),durable:()=>Jt(n,{serverPath:Ye(ds()),semanticWorkerPath:Ye(ar())})}){return is(e)==="durable"?ss(t.durable(),t.worker):t.worker()}function as(n={}){let e=null,t=null,r=1,i=!1,s=null,o=null,a=c=>{c&&vn(c,{recursive:!0,force:!0})},l=()=>{if(s)return;let c=e,p=t;e=null,t=null;let d=c?c.terminate():Promise.resolve(0);s=Promise.allSettled([d,Zt(p,{gracefulMs:1e3,forceMs:1e3})]).then(([y,R])=>{let S=(R.status==="fulfilled"?R.value:[{reaped:!1,detail:String(R.reason)}]).filter(M=>!M.reaped);if(y.status==="rejected"||S.length>0){o=new Error(`Rust semantic worker cleanup did not complete; ownership evidence remains at ${p??"unknown"}.`);return}a(p)}).finally(()=>{s=null})},u=()=>{if(e)return e;if(s)throw new Error("The previous Rust semantic session worker is still terminating; retry the request.");if(o)throw o;let c=n.semanticWorkerPath?Xi(n.semanticWorkerPath):ar();if(!Qi(Ye(c)))throw new Error(`Rust semantic session worker was not found at ${Ye(c)}. Run npm run build before using built semantic Rust queries.`);return t=er(Dn(nr(),"scip-query-rust-session-")),e=new es(c,n.shareEnvironment?{env:Zi}:void 0),e.unref(),e},f=()=>{let c=t??er(Dn(nr(),"scip-query-rust-session-"));return t=c,Dn(c,`${r++}.json`)};return{requestSemantic(c,p){if(i)throw new Error("Rust semantic session was already disposed.");let d=u(),y=f(),R=new SharedArrayBuffer(4),b=new Int32Array(R);if(d.postMessage({kind:"semantic",request:c,responsePath:y,sharedBuffer:R}),Atomics.wait(b,0,0,p)==="timed-out")throw l(),new Error(`Rust semantic session worker timed out after ${(p/1e3).toFixed(0)}s`);try{let M=cs(B(y,{maxBytes:H,inputKind:"Rust semantic worker response"}));if(!M.ok)throw new Error(M.error);return M.response}finally{vn(y,{force:!0})}},requestImportDefinitions(c,p){if(i)throw new Error("Rust semantic session was already disposed.");let d=u(),y=f(),R=new SharedArrayBuffer(4),b=new Int32Array(R);if(d.postMessage({kind:"import-definitions",request:c,responsePath:y,sharedBuffer:R}),Atomics.wait(b,0,0,p)==="timed-out")throw l(),new Error(`Rust semantic import-definition session worker timed out after ${(p/1e3).toFixed(0)}s`);try{let M=ls(B(y,{maxBytes:H,inputKind:"Rust import-definition worker response"}));if(!M.ok)throw new Error(M.error);return M.response}finally{vn(y,{force:!0})}},shutdown(){if(i)return;if(i=!0,!e){a(t),t=null;return}let c=f(),p=new SharedArrayBuffer(4),d=new Int32Array(p);e.postMessage({kind:"shutdown",responsePath:c,sharedBuffer:p}),Atomics.wait(d,0,0,5e3),l()}}}function cs(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function ls(n){let e=JSON.parse(n);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let t=e;return t.ok===!0&&"response"in t?{ok:!0,response:t.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function us(n){let e=n instanceof Error?`${n.name} ${n.message}`.toLowerCase():String(n).toLowerCase();return e.includes("readiness")?"readiness":e.includes("timeout")||e.includes("timed out")?"timeout":e.includes("helper")?"helper":"request"}function ge(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Re(n){return new Map(n.map(e=>[e.symbolId,[]]))}function ir(n){return new Map(n.map(e=>[e.symbolId,null]))}function xn(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??[]]))}function fs(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function ps(n){let e=0;return n.includeReferences!==!1&&(e+=(n.referenceDefinitions??n.definitions).length),n.includeCallees===!0&&(e+=(n.calleeDefinitions??n.definitions).length),n.includeSignatures===!0&&(e+=(n.signatureDefinitions??n.definitions).length),Math.max(1,e)}function Tn(n,e){return e&&e>0?Math.max(n,e):n}function ar(){return new URL("./rust-semantic-session-worker.js",import.meta.url)}function ds(){return new URL("./rust-semantic-session-server.js",import.meta.url)}function Ve(n,e){return X(n)??e}function $e(n,e){return cr(n)??e}function cr(n){if(!n)return null;let e=Number(n);return Number.isInteger(e)&&e>=0?e:null}var Pn=15e3,En=8;function pr(n,e={}){let t=e.status??je,r=gs(n,t),i=Rs(n,t),s=bs(n,t),o=e.referenceResolver||e.calleeResolver||e.signatureResolver||!ys(e)?null:or(n,t,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:s}),a=e.referenceResolver??o??r,l=e.calleeResolver??o??i,u=e.signatureResolver??o??s,f=e.importUsageResolver??Pt(e.sourceImportUsageResolver??Ss(),e.importDefinitionResolver??o),c=e.calleeSymbolResolver,p=e.sourceZeroCalleeOracle,d=e.scipOccurrenceCalleeOracle,y=new Map,R=new Map,b=null,S=null,M=()=>(b??=t(n),b),P=()=>{let g=M();return g.dependencyAvailable?S??g:g},h=g=>{if(g.length===0)return new Map;let m=Ie(g);try{let I=a.referencesForDefinitions(m),T=M();return S=Je(T,I),I.available?new Map(I.references):K(m,I.references)}catch(I){let T=M();return S=he(T,I),J(m)}},C=g=>{if(g.length===0)return new Map;let m=Ie(g),I=m.filter(lr);if(I.length===0)return G(m);let T=new Map,W=fr(I,d),F=[];for(let k of I)R.has(k.symbolId)?T.set(k.symbolId,R.get(k.symbolId)??[]):W.has(k.symbolId)?T.set(k.symbolId,W.get(k.symbolId)??[]):ur(k,p)?T.set(k.symbolId,[]):F.push(k);if(F.length===0)return ie(m,T,void 0);try{let k=l.calleesForDefinitions(F),O=M();S=Je(O,k);let E=ie(F,k.callees,c);for(let[ce,tn]of E)T.set(ce,tn);return ie(m,T,void 0)}catch(k){let O=M();return S=he(O,k),G(m)}},x=(g,m)=>{let I=Ie(g),T=Ie(m),W=T.filter(lr),F=new Map,k=fr(W,d),O=[];for(let E of W)k.has(E.symbolId)?F.set(E.symbolId,k.get(E.symbolId)??[]):ur(E,p)?F.set(E.symbolId,[]):O.push(E);if(I.length===0&&O.length===0)return{references:J(I),callees:ie(T,F,void 0)};try{let E=o?o.referencesAndCalleesForDefinitions(I,O):vs(a,l,{referenceDefinitions:I,calleeDefinitions:O}),ce=M();S=Je(ce,E);let tn=E.available?new Map(E.references):K(I,E.references);for(let[rn,sn]of E.callees)F.set(rn,sn);let Zn=ie(T,F,c);for(let[rn,sn]of Zn)R.set(rn,sn);return{references:tn,callees:Zn}}catch(E){let ce=M();return S=he(ce,E),{references:J(I),callees:G(T)}}},v=g=>{if(g.length===0)return new Map;let m=Ie(g);try{let I=u.signaturesForDefinitions(m),T=M();return S=Je(T,I),dr(m,I.signatures)}catch(I){let T=M();return S=he(T,I),Ge(m)}};return{language:"rust",availability:P,dispose:()=>{o?.dispose()},importUsage:g=>{let m=y.get(g);if(m)return m;try{let I=f.importUsage(g);return y.set(g,I),I}catch(I){let T=M();return S=he(T,I),[]}},referencesFor:g=>h([g]).get(g.symbolId)??[],referencesForDefinitions:h,referencesAndCalleesForDefinitions:x,calleesFor:g=>C([g]).get(g.symbolId)??[],calleesForDefinitions:C,signatureFor:g=>v([g]).get(g.symbolId)??null}}function Je(n,e){let t={dependencyAvailable:n.dependencyAvailable,resolvedBinary:e.resolvedBinary??n.resolvedBinary,...n.note?{note:n.note}:{}};return e.available?{available:!0,...t}:{available:!1,reason:e.reason,...t}}function he(n,e){return{available:!1,dependencyAvailable:n.dependencyAvailable,resolvedBinary:n.resolvedBinary,...n.note?{note:n.note}:{},reason:e instanceof Error?e.message:String(e)}}function ys(n){if(n.usePersistentSession!==void 0)return n.usePersistentSession;let e=process.env.SCIP_RUST_SEMANTIC_SESSION;return e!=="0"&&e!=="false"}function Ss(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function Ie(n){return n.map(e=>{let t=e;return{...e,leaf:typeof t.leaf=="string"?t.leaf:V(e.symbol),parentTypeName:t.parentTypeName??null,isFunctionLike:typeof t.isFunctionLike=="boolean"?t.isFunctionLike:bt(e.symbol),isTypeLike:t.isTypeLike??!1,kind:t.kind??null,documentation:t.documentation??null,enclosingSymbol:t.enclosingSymbol??null}})}function lr(n){return n.isFunctionLike}function ur(n,e){if(!e)return!1;try{return e(n)}catch{return!1}}function fr(n,e){if(!e||n.length===0)return new Map;try{return e(n)}catch{return new Map}}function gs(n,e){return{referencesForDefinitions:t=>hs(n,e,t)}}function Rs(n,e){return{calleesForDefinitions:t=>Is(n,e,t)}}function bs(n,e){return{signaturesForDefinitions:t=>Ms(n,e,t)}}function hs(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),references:J(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,references:J(t)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),o=Qe(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),a=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),l=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),u=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!0}),f={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:s,...o>0?{referenceRetryTimeoutMs:o}:{},diagnosticsTimeoutMs:l,settleDelayMs:u,concurrency:a},c=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(f),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,Tn(s,f.referenceRetryTimeoutMs),a)}),p=_n(c.stdout);if(p)return{...Fn(p),resolvedBinary:r.resolvedBinary,references:K(t,new Map(p.references),new Set(p.incompleteReferenceSymbolIds??[]))};let d=c.error instanceof Error?c.error.message:c.stderr.trim()||`Rust semantic worker exited with status ${c.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:d,references:J(t)}}function Is(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),callees:G(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,callees:G(t)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),a=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),l=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:o,includeReferences:!1,includeCallees:!0},f=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,s,o)}),c=_n(f.stdout);if(c)return{...Fn(c),resolvedBinary:r.resolvedBinary,callees:ie(t,new Map(c.callees??[]),void 0)};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,callees:G(t)}}function Ms(n,e,t){let r=e(n);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Nn(r),signatures:Ge(t)};let i=An();if(!wn(i))return{available:!1,resolvedBinary:r.resolvedBinary,reason:`Rust semantic worker was not found at ${i}. Run npm run build before using built semantic Rust queries.`,signatures:Ge(t)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Pn),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,En),a=Qe(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),l=be(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:t.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),u={projectRoot:n,rustAnalyzerBinary:r.resolvedBinary,definitions:[...t],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:o,includeReferences:!1,includeCallees:!1,includeSignatures:!0},f=kn(process.execPath,[i],{cwd:n,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,timeout:Y(t.length,s,o)}),c=_n(f.stdout);if(c)return{...Fn(c),resolvedBinary:r.resolvedBinary,signatures:dr(t,new Map(c.signatures??[]))};let p=f.error instanceof Error?f.error.message:f.stderr.trim()||`Rust semantic worker exited with status ${f.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:p,signatures:Ge(t)}}function vs(n,e,t){let r=t.referenceDefinitions.length>0?n.referencesForDefinitions(t.referenceDefinitions):{available:!0,references:J(t.referenceDefinitions)},i=t.calleeDefinitions.length>0?e.calleesForDefinitions(t.calleeDefinitions):{available:!0,callees:G(t.calleeDefinitions)},s={resolvedBinary:r.resolvedBinary??i.resolvedBinary,references:r.references,callees:i.callees};return r.available&&i.available?{available:!0,...s}:{available:!1,reason:(r.available?void 0:r.reason)??(i.available?void 0:i.reason)??"Rust semantic resolution was unavailable.",...s}}function J(n){return new Map(n.map(e=>[e.symbolId,[]]))}function G(n){return new Map(n.map(e=>[e.symbolId,[]]))}function Ge(n){return new Map(n.map(e=>[e.symbolId,null]))}function ie(n,e,t){let r=0,i=0;return w("rust.semantic.callees.complete-map",()=>{let s=new Map;for(let o of n){let a=e.get(o.symbolId)??[];a.length>0&&(r+=1),i+=a.length,s.set(o.symbolId,a.map(l=>({...l,symbol:t?t(l):l.symbol})))}return s},()=>({definitions:n.length,rows:r,callees:i,resolveSymbols:!!t}))}function dr(n,e){return new Map(n.map(t=>[t.symbolId,e.get(t.symbolId)??null]))}function An(){return ms(new URL("./rust-semantic-worker.js",import.meta.url))}function Fn(n){return n.available?{available:!0}:{available:!1,reason:n.reason}}function Nn(n){return n.available?"rust-analyzer binary path is unavailable.":n.reason}function _n(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e;if(typeof t.available!="boolean"||!Array.isArray(t.references)||t.available===!1&&typeof t.reason!="string"||t.available===!0&&t.reason!==void 0)return null;let r={references:t.references,incompleteReferenceSymbolIds:Array.isArray(t.incompleteReferenceSymbolIds)?t.incompleteReferenceSymbolIds.filter(i=>typeof i=="number"):void 0,callees:Array.isArray(t.callees)?t.callees:void 0,signatures:Array.isArray(t.signatures)?t.signatures:void 0};return t.available===!0?{available:!0,...r}:{available:!1,reason:String(t.reason),...r}}catch{return null}}function se(n,e){return X(n)??e}function Qe(n,e){if(!n)return e;let t=Number(n);return Number.isInteger(t)&&t>=0?t:e}import{existsSync as Ds}from"fs";import{deserializeSCIP as xs,SymbolRole as Cs}from"@c4312/scip";var Ln=new WeakMap;function yr(n,e){let t=e.filter(Ts);if(t.length===0)return new Map;let r=!1,i=0,s=0;return w("rust.scip-occurrence.callees",()=>{let o=Ps(n);if(r=!!o,!o)return new Map;let a=new Map;for(let l of t){let u=ks(n,o,l);u!==null&&(a.set(l.symbolId,u),i+=1,s+=u.length)}return a},()=>({definitions:e.length,candidates:t.length,indexAvailable:r,resolvedDefinitions:i,resolvedCallees:s}))}function Ts(n){return!(!n.symbol.startsWith("rust-analyzer ")||!n.relativePath.endsWith(".rs")||!n.isFunctionLike||n.leaf==="main"||de(n.symbol))}function ks(n,e,t){let r=Fe(n,t.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(u=>u.startLine!==t.startLine||u.endLine!==t.endLine?!1:u.name===t.leaf||t.leaf.endsWith(u.name)||u.name.endsWith(t.leaf));if(!i)return null;let s=r.callSites.filter(u=>u.line>=i.startLine&&u.line<=i.endLine);if(s.length===0)return null;let o=(e.occurrencesByFile.get(t.relativePath)??[]).filter(u=>u.line>=i.startLine&&u.line<=i.endLine&&u.callee.symbol!==t.symbol);if(o.some(u=>u.traitImplMember)||!ws(s,o))return null;let a=[],l=new Set;for(let u of o){let f=`${u.callee.symbol}\0${u.callee.file}\0${u.callee.line}`;l.has(f)||(l.add(f),a.push(u.callee))}return a}function ws(n,e){let t=mr(n),r=mr(e);if(t.size!==r.size)return!1;for(let[i,s]of t)if(r.get(i)!==s)return!1;return!0}function mr(n){let e=new Map;for(let t of n){let r=t.calleeLeaf??t.leaf;if(!r)continue;let i=`${t.line}\0${r}`;e.set(i,(e.get(i)??0)+1)}return e}function Ps(n){if(Ln.has(n))return Ln.get(n)??null;let e=Es(n);return Ln.set(n,e),e}function Es(n){if(!n.generation.indexPath||!Ds(n.generation.indexPath))return null;try{let e=_e(n).filter(s=>s.symbol.startsWith("rust-analyzer ")&&s.relativePath.endsWith(".rs")&&s.isFunctionLike),t=new Map(e.map(s=>[s.symbol,s])),r=xs(ke(n.generation.indexPath,{inputKind:"SCIP occurrence-callee index",maxBytes:Te})),i=new Map;for(let s of r.documents??[]){let o=s.relativePath;if(!o||!o.endsWith(".rs")||n.isIgnored(o))continue;let a=[];for(let l of s.occurrences??[]){if(!l.symbol||(l.symbolRoles&Cs.Definition)!==0)continue;let u=t.get(l.symbol);if(!u)continue;let f=l.range?.[0];Number.isInteger(f)&&a.push({line:f,leaf:u.leaf,traitImplMember:de(u.symbol),callee:{symbol:u.symbol,file:u.relativePath,line:u.startLine,callsiteLine:f}})}i.set(o,a)}return{occurrencesByFile:i}}catch{return null}}var Xe=class{sessions=new WeakMap;getOrCreate(e,t,r){let i=As(e,t),s=this.sessions.get(e);s||(s=new Map,this.sessions.set(e,s));let o=s.get(i);if(o)return o.hits+=1,o.lastUsedAtMs=Date.now(),o.provider;let a=Date.now(),l=r();return s.set(i,{key:i,language:t,projectRoot:e.config.projectRoot,provider:l,createdAtMs:a,lastUsedAtMs:a,hits:1}),l}sessionsFor(e){return[...this.sessions.get(e)?.values()??[]]}clear(e){let t=this.sessions.get(e);if(t)for(let r of t.values())r.provider.dispose?.();this.sessions.delete(e)}};function As(n,e){return`${n.config.projectRoot}:${e}-workspace`}import{randomUUID as io}from"crypto";import{existsSync as so}from"fs";import{dirname as oo}from"path";function Sr(n){if(!n||typeof n!="object"||Array.isArray(n))return null;let e=n;if(typeof e.available!="boolean"||e.dependencyAvailable!==void 0&&typeof e.dependencyAvailable!="boolean"||e.tsconfigPath!==void 0&&typeof e.tsconfigPath!="string"||e.tsconfigPaths!==void 0&&(!Array.isArray(e.tsconfigPaths)||!e.tsconfigPaths.every(t=>typeof t=="string"))||e.resolvedBinary!==void 0&&typeof e.resolvedBinary!="string"||e.note!==void 0&&typeof e.note!="string")return null;if(e.available===!0){if(e.reason!==void 0)return null}else if(typeof e.reason!="string"||e.reason.length===0)return null;return e}import{performance as D}from"perf_hooks";function L(n,e,t){if(n.has(e))return n.get(e);let r=t();return n.set(e,r),r}import br from"path";import{realpathSync as gr}from"fs";function Fs(n,e){return n.getReferences().map(t=>{let r=t.getNode();return Ze(r,e)})}function Ns(n){let e=n;return typeof e.findReferences=="function"?e.findReferences():[]}function hr(n,e,t,r){let i=[];for(let s of Ns(n))for(let o of Fs(s,r))o.file===e.relativePath&&o.line>=e.startLine&&o.line<=e.endLine||i.push(o);for(let s of t)i.push(s);return oe(i)}function Ir(n,e,t,r){let i=[],s=t?.getStart();for(let o of n.getReferences()){let a=o.getNode();ae(r,a.getSourceFile().getFilePath())===e&&(s!==void 0&&a.getStart()===s||i.push({location:Ze(a,r),node:a}))}return i}function Ze(n,e){let t=n.getSourceFile(),r=t.getLineAndColumnAtPos(n.getStart());return{file:ae(e,t.getFilePath())??t.getBaseName(),line:r.line-1,column:r.column-1}}function Mr(n,e,t){let r=n.getSourceFile(),i=Un(r,n),s=n.getText(),o=new RegExp(`\\b${pe(s)}\\b`,"g"),a=r.getFullText().split(`
2
- `),l=[];for(let u=0;u<a.length;u++){if(u===i)continue;let f=a[u]??"";o.lastIndex=0;let c;for(;(c=o.exec(f))!==null;)l.push({file:e,line:u,column:c.index})}return oe(l.filter(u=>ae(t,br.join(t,u.file))===e))}function On(n){for(let e=n;e;e=e.getParent()){let t=e.getKindName();if(t.includes("Type")||t==="InterfaceDeclaration"||t==="TypeAliasDeclaration")return!0;if(t==="CallExpression"||t==="NewExpression"||t==="ExpressionStatement")return!1}return!1}function Un(n,e){return n.getLineAndColumnAtPos(e.getStart()).line-1}function oe(n){let e=new Set,t=[];for(let r of n){let i=`${r.file}:${r.line}:${r.column}`;e.has(i)||(e.add(i),t.push(r))}return t}function ae(n,e){let t=n||process.cwd(),r=Rr(t,e);if(r)return r;try{return Rr(gr(t),gr(e))}catch{return null}}function Rr(n,e){let t=br.relative(n,e).replace(/\\/g,"/");return!t||t===".."||t.startsWith("../")?null:t}function vr(n,e,t,r){let i=_s(e,r);return i.size===0?new Map:Ls(n,t,i)}function _s(n,e){let t=new Map;for(let r of z(n,e)){let i=V(r.symbol)??r.leaf;if(!i)continue;let s=t.get(i);s||(s=[],t.set(i,s)),s.push(r)}return t}function Ls(n,e,t){let r=new Map,i=new Map;return e.forEachDescendant(s=>{for(let o of Os(n,s)){let a=t.get(o);if(!a)continue;let l=Un(e,s);for(let u of a){if(l<u.startLine-1||l>u.endLine+1)continue;let f=Math.abs(l-u.startLine),c=i.get(u.symbolId);c!==void 0&&c<=f||(i.set(u.symbolId,f),r.set(u.symbolId,s))}}}),r}function Os(n,e){let t=[],r=i=>{i&&!t.includes(i)&&t.push(i)};if("getNameNode"in e&&typeof e.getNameNode=="function"){let i=e.getNameNode();r(i?.getText())}if("getName"in e&&typeof e.getName=="function"){let i=e.getName();r(i)}return n.Node.isIdentifier(e)&&r(e.getText()),t}var Us=at("ts-definition-leaf-candidates",{clearGroups:["definition-catalog"]});function Dr(n,e,t,r){let i=jn(n,e),s=Bn(i.get(r)??[],t);if(s)return s;let o=[];for(let a of i.values())for(let l of a)((l.leaf||V(l.symbol)||"").includes(r)||l.symbol.includes(r))&&o.push(l);return Bn(o,t)}function qn(n,e,t,r){return Bn(jn(n,e).get(r)??[],t)}function xr(n,e){let t=new Map;for(let[r,i]of jn(n,e)){let s=i[0];s&&t.set(r,s)}return t}function jn(n,e){return Us.get(n,e,()=>{let t=new Map;for(let r of z(n,e)){let i=r.leaf||V(r.symbol);if(!i)continue;let s=t.get(i);s||(s=[],t.set(i,s)),s.push({...r,leaf:i})}for(let r of t.values())r.sort((i,s)=>i.startLine-s.startLine||i.endLine-s.endLine||i.symbolId-s.symbolId);return t})}function Bn(n,e){let t=null,r=Number.POSITIVE_INFINITY;for(let i of n){let s=Math.abs(i.startLine-e);(s<r||s===r&&t&&i.startLine<t.startLine)&&(t=i,r=s)}return t}import Bs from"path";import{realpathSync as qs}from"fs";function Cr(n,e){let t=new Map,r=null,i=null,s=()=>(i??=Ee(n,{extensions:Ue}),i),o=()=>(r??=w("typescript.source-file-index",()=>js(n.config.projectRoot,e,s()),()=>({projects:e.length,indexedDocuments:s().length})),r),a=l=>ne(l)?L(t,l,()=>{let u=Tr(n.config.projectRoot,l);if(!u)return null;for(let{project:f,sourceFiles:c}of o()){let p=c.get(u)??null;if(p||(p=f.addSourceFileAtPathIfExists(u)??null,p&&Wn(c,p)),p)return{project:f,sourceFile:p}}return null}):null;return{sourceFile:l=>a(l)?.sourceFile??null,sourceFileMatch:a,indexedTypeScriptLikeDocuments:s}}function js(n,e,t){let r=e.map(({project:i})=>{let s=new Map;for(let o of i.getSourceFiles())Wn(s,o);return{project:i,sourceFiles:s}});for(let i of t){let s=Tr(n,i);if(s)for(let o of r){if(o.sourceFiles.has(s))break;let a=o.project.addSourceFileAtPathIfExists(s)??null;if(a){Wn(o.sourceFiles,a);break}}}return r}function Wn(n,e){let t=zn(e.getFilePath());n.set(t,e);try{n.set(zn(qs(t)),e)}catch(r){if(!ue(r))throw r}}function Tr(n,e){try{return zn(rt(n,e,{inputKind:"indexed TypeScript source file"}).absolutePath)}catch(t){if(!ue(t))throw t;return null}}function zn(n){return Bs.resolve(n)}function Kn(n,e){for(let t of n)if(e===t.name||e.startsWith(`${t.name}/`))return t.name;return null}function kr(n){let e=`${n.relativeDir}/src`;return[`${e}/index.ts`,`${e}/index.tsx`,`${e}/index.mts`,`${e}/index.cts`]}import{existsSync as Me}from"fs";import A from"path";var Hn=["tsconfig.json","tsconfig.app.json","tsconfig.node.json","tsconfig.base.json"];function Vn(n,e){let r=e?A.dirname(A.join(n,e)):n,i=A.resolve(n);for(;r.startsWith(i);){for(let o of Hn){let a=A.join(r,o);if(Me(a))return a}let s=A.dirname(r);if(s===r)break;r=s}for(let s of Hn){let o=A.join(n,s);if(Me(o))return o}return null}function wr(n){let e=n.config.projectRoot,t=new Set(Ws(e,n.config.semantic?.typescript?.tsconfigs)),r=Ee(n,{includeIgnored:!1,extensions:Ue});for(let i of r){let s=Vn(e,i);s&&t.add(A.resolve(s))}if(t.size===0){let i=Vn(e);i&&t.add(A.resolve(i))}return[...t].filter(i=>!Pr(e,i)).sort((i,s)=>i.localeCompare(s))}function Ws(n,e=[]){let t=new Set;for(let r of e){let i=A.isAbsolute(r)?r:A.join(n,r);Me(i)&&t.add(A.resolve(i))}for(let r of zs(n))for(let i of Hn){let s=A.join(r,i);Me(s)&&t.add(A.resolve(s))}if(t.size===0){let r=Vn(n);r&&t.add(A.resolve(r))}return[...t].filter(r=>!Pr(n,r)).sort((r,i)=>r.localeCompare(i))}function zs(n){let e=A.join(n,"package.json");if(!Me(e))return[];let t;try{t=JSON.parse(nt(e,"project package manifest"))}catch{return[]}return(Array.isArray(t.workspaces)?t.workspaces:t.workspaces?.packages??[]).flatMap(i=>pt(n,i))}function Pr(n,e){let t=A.relative(n,e).replace(/\\/g,"/");return t.startsWith("..")||t.includes("/node_modules/")||t.startsWith("node_modules/")||t.includes("/dist/")||t.startsWith("dist/")}var Ks=32;function Lr(n,e){let t=w("typescript.provider.load",()=>xt());if(!t)return Be("ts-morph is not installed");let r=w("typescript.provider.tsconfig-discovery",()=>wr(n));if(r.length===0)return Be("no tsconfig found");try{let i=w("typescript.provider.project-bundles",()=>Ct(t,r),()=>({tsconfigs:r.length}));return Hs(n,t,i)}catch(i){return Be(i instanceof Error?i.message:String(i),r[0],r)}}function Hs(n,e,t,r={}){return w("typescript.provider.construct",()=>new $n(n,e,t),()=>({tsconfigs:t.length,reusedProjects:r.reusedProjects===!0}))}var $n=class{constructor(e,t,r){this.db=e;this.tsMorph=t;this.projects=r;this.workspacePackages=ft(e.config.projectRoot),this.sourceFiles=Cr(e,r)}db;tsMorph;projects;language="typescript";importUsageCache=new Map;referencesCache=new Map;calleesCache=new Map;fileCalleesCache=new Map;signatureCache=new Map;definitionNodeCache=new Map;fileDefinitionNodeCache=new Map;indexedDefinitionLeafCache=new Map;compilerCheckerCache=new WeakMap;packageImportReferenceIndex=null;packageExportIndex=null;workspacePackages;sourceFiles;availability(){return{available:!0,tsconfigPath:this.projects[0]?.tsconfigPath,tsconfigPaths:this.projects.map(e=>e.tsconfigPath)}}importUsage(e){return L(this.importUsageCache,e,()=>{let t=this.sourceFiles.sourceFile(e);if(!t)return[];let r=$s();return w("typescript.import-usage.file",()=>this.importUsageForSourceFile(e,t,r),()=>({file:e,...r}))})}referencesFor(e){return L(this.referencesCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);return this.referencesForDefinitionNode(e,t)})}referencesForDefinitions(e,t={}){let r=new Map,i=_(),s=[];for(let f of e){let c=this.referencesCache.get(f.symbolId);c?r.set(f.symbolId,c):s.push(f)}if(s.length===0)return r;let o=s,a=t.exact?[]:s.filter(f=>!Ar(f));if(a.length>=Ks){let f=this.referencesForDefinitionsBySymbolScan(a);for(let c of a){let p=f.get(c.symbolId)??[];this.referencesCache.set(c.symbolId,p),r.set(c.symbolId,p)}if(o=s.filter(c=>Ar(c)),o.length===0)return r}let l=new Map;for(let f of o){let c=l.get(f.relativePath);c?c.push(f):l.set(f.relativePath,[f])}let u=[];for(let[f,c]of l){let p=Fr();w("typescript.references-map.file",()=>{let d=this.definitionNodesForFile(f);for(let y of c){i&&(p.cacheMisses+=1);let R=d.get(y.symbolId)??null;i&&(R?p.nodeHits+=1:p.nodeMisses+=1);try{let b=this.referencesForDefinitionNode(y,R,i?p:void 0);this.referencesCache.set(y.symbolId,b),r.set(y.symbolId,b)}catch{p.preciseSearchFailures+=1,u.push(y)}}},()=>({relativePath:f,definitions:c.length,...Nr(p)}))}if(u.length>0){let f=this.referencesForDefinitionsBySymbolScan(u);for(let c of u){let p=f.get(c.symbolId)??[];this.referencesCache.set(c.symbolId,p),r.set(c.symbolId,p)}}return r}referenceFragmentsForFiles(e){let t=_e(this.db).filter(s=>ne(s.relativePath)),r=e.filter(s=>this.sourceFiles.sourceFile(s)!==null),i=this.referencesForDefinitionsBySymbolScan(t,r);return Tt(t,i,r)}referencesForDefinitionsBySymbolScan(e,t){let r=_(),i=Fr(),s=new Map,o=new Set(e.map(l=>l.symbolId)),a=new Map(e.map(l=>[l.symbolId,l]));for(let l of e)s.set(l.symbolId,[]);return w("typescript.references-map.inverted-scan",()=>{let l=r?D.now():0,u=t?this.packageImportReferencesForFiles(t):this.packageImportReferences();for(let b of e){let S=u.get(b.symbolId)??[];if(S.length>0){let M=s.get(b.symbolId)??[];M.push(...S),s.set(b.symbolId,M)}r&&(i.packageReferenceCount+=S.length)}r&&(i.packageRefsMs+=D.now()-l);let f=new Map,c=new Map,p=this.hierarchyTargetsForDefinitions(e),d=new Set(e.map(b=>b.leaf).filter(Boolean)),y=r?D.now():0;for(let b of t??this.sourceFiles.indexedTypeScriptLikeDocuments()){if(this.db.isIgnored(b))continue;let S=this.sourceFiles.sourceFile(b);S&&(r&&(i.scanFiles+=1),this.addReferencesFromSourceFileScan(S,b,o,a,p,d,f,c,s,r?i:void 0))}r&&(i.scanMs+=D.now()-y);let R=r?D.now():0;this.addHierarchyMemberReferences(e,s,r?i:void 0),r&&(i.hierarchyMs+=D.now()-R);for(let[b,S]of s){let M=oe(S);s.set(b,M),r&&(i.referenceCount+=M.length)}},()=>({definitions:e.length,...Nr(i)})),s}addReferencesFromSourceFileScan(e,t,r,i,s,o,a,l,u,f){let c=this.compilerCheckerForSourceFile(e),p=e.compilerNode,d=Gs(e),y=R=>{if(this.tsMorph.ts.isIdentifier(R)){if(f&&(f.identifiers+=1),!o.has(R.text)&&!d.has(R.text)){this.tsMorph.ts.forEachChild(R,y);return}let b=this.compilerReferenceSymbol(c,R,f);if(b){let S;a.has(b)?S=a.get(b)??null:(S=this.referenceDefinitionFromCompilerSymbol(b),a.set(b,S)),f&&(S?f.targetHits+=1:f.targetMisses+=1);let M=L(l,b,()=>this.compilerSymbolKeys(b)),P=null,h=null,C=S&&r.has(S.symbolId)?i.get(S.symbolId):void 0;if(C&&(P=en(p,R),!Er(C,t,P))){let x=p.getLineAndCharacterOfPosition(R.getStart(p));h={file:t,line:x.line,column:x.character};let v=u.get(C.symbolId)??[];v.push(h),u.set(C.symbolId,v),f&&(f.requestedHits+=1)}for(let x of M)for(let v of s.get(x)?.values()??[]){if(P??=en(p,R),Er(v,t,P))continue;if(!h){let m=p.getLineAndCharacterOfPosition(R.getStart(p));h={file:t,line:m.line,column:m.character}}let g=u.get(v.symbolId)??[];g.push(h),u.set(v.symbolId,g),f&&(f.requestedHits+=1)}}}this.tsMorph.ts.forEachChild(R,y)};y(p)}hierarchyTargetsForDefinitions(e){let t=new Map;for(let r of e){let i=this.nodeForDefinition(r),s=i?.compilerNode;if(!s||!this.isHierarchyMethod(s))continue;let o=s.parent;if(!this.isHierarchyContainer(o))continue;let a=this.compilerCheckerForSourceFile(i.getSourceFile()),l=a.getSymbolAtLocation(s.name);if(l)for(let u of this.hierarchyMemberSymbols(a,o,l))for(let f of this.compilerSymbolKeys(u)){let c=t.get(f)??new Map;c.set(r.symbolId,r),t.set(f,c)}}return t}hierarchyMemberSymbols(e,t,r){let i=new Set,s=new Set,o=(a,l,u)=>{if(!s.has(a)){s.add(a),i.add(l);for(let f of u){let c=f.getProperty(r.name);c&&o(f,c,this.hierarchyAncestorTypesForType(e,f))}}};return o(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}addHierarchyMemberReferences(e,t,r){let i=new Map;for(let s of e){let o=this.nodeForDefinition(s),a=o?.compilerNode;if(!a||!this.isHierarchyMethod(a))continue;let l=a.parent;if(!this.isHierarchyContainer(l))continue;let u=this.compilerCheckerForSourceFile(o.getSourceFile()),f=u.getSymbolAtLocation(a.name);if(!f)continue;let c=a.getSourceFile(),p=c.getLineAndCharacterOfPosition(a.name.getStart(c)),d={definition:s,location:{file:s.relativePath,line:p.line,column:p.character}},y=t.get(s.symbolId)??[];for(let b of this.hierarchyMemberSymbols(u,l,f))if(b!==f)for(let S of this.compilerSymbolLocations(b))y.push(S),r&&(r.hierarchyReferences+=1);t.set(s.symbolId,y);let R=this.hierarchyRootMemberSymbols(u,l,f);for(let b of R){let S=i.get(b)??new Map;S.set(s.symbolId,d),i.set(b,S)}r&&(r.hierarchyDefinitions+=1)}for(let s of i.values())if(!(s.size<2)){r&&(r.hierarchyFamilies+=1);for(let{definition:o}of s.values()){let a=t.get(o.symbolId)??[];for(let l of s.values())l.definition.symbolId!==o.symbolId&&(a.push(l.location),r&&(r.hierarchyReferences+=1));t.set(o.symbolId,a)}}}hierarchyRootMemberSymbols(e,t,r){let i=new Set,s=new Set,o=(a,l,u)=>{if(s.has(a))return;s.add(a);let f=!1;for(let c of u){let p=c.getProperty(r.name);p&&(f=!0,o(c,p,this.hierarchyAncestorTypesForType(e,c)))}if(!f)for(let c of this.compilerSymbolKeys(l))i.add(c)};return o(e.getTypeAtLocation(t),r,this.hierarchyAncestorTypes(e,t)),i}compilerSymbolKeys(e){return(e.declarations??[]).map(t=>{let r=t.getSourceFile();return`${r.fileName}\0${t.getStart(r)}\0${e.name}`})}compilerSymbolLocations(e){let t=[];for(let r of e.declarations??[]){let i=r.getSourceFile(),s=ae(this.db.config.projectRoot,i.fileName);if(!s)continue;let o=r.name,a=i.getLineAndCharacterOfPosition((o??r).getStart(i));t.push({file:s,line:a.line,column:a.character})}return t}baseTypes(e,t){try{return e.getBaseTypes(t)??[]}catch{return[]}}hierarchyAncestorTypes(e,t){let r=new Set(this.hierarchyAncestorTypesForType(e,e.getTypeAtLocation(t)));for(let i of t.heritageClauses??[])for(let s of i.types)r.add(e.getTypeAtLocation(s));return[...r]}hierarchyAncestorTypesForType(e,t){let r=new Set(this.baseTypes(e,t));for(let i of t.getSymbol()?.declarations??[])if(this.isHierarchyContainer(i))for(let s of i.heritageClauses??[])for(let o of s.types)r.add(e.getTypeAtLocation(o));return[...r]}isHierarchyMethod(e){return this.tsMorph.ts.isMethodDeclaration(e)||this.tsMorph.ts.isMethodSignature(e)}isHierarchyContainer(e){return this.tsMorph.ts.isClassDeclaration(e)||this.tsMorph.ts.isClassExpression(e)||this.tsMorph.ts.isInterfaceDeclaration(e)}compilerReferenceSymbol(e,t,r){r&&(r.symbolLookups+=1);let i=e.getSymbolAtLocation(t);if(i){if((i.flags&this.tsMorph.ts.SymbolFlags.Alias)===0)return i;try{return r&&(r.aliasResolutions+=1),e.getAliasedSymbol(i)}catch{return i}}}calleesFor(e){return L(this.calleesCache,e.symbolId,()=>L(this.fileCalleesCache,e.relativePath,()=>this.calleeMapForFile(e.relativePath)).get(e.symbolId)??[])}calleesForDefinitions(e){let t=new Map,r=new Map;for(let i of e){let s=r.get(i.relativePath);s?s.push(i):r.set(i.relativePath,[i])}for(let[i,s]of r){let o=this.fileCalleesCache.get(i),a=new Set(s.map(u=>u.symbolId)),l=o??this.calleeMapForFile(i,a);for(let u of s){let f=l.get(u.symbolId)??[];this.calleesCache.set(u.symbolId,f),t.set(u.symbolId,f)}}return t}referencesForDefinitionNode(e,t,r){let i=r?D.now():0,s=this.packageImportReferencesForDefinition(e);if(r&&(r.packageRefsMs+=D.now()-i,r.packageReferenceCount+=s.length),!t)return s;let o=r?D.now():0,a=hr(t,e,s,this.db.config.projectRoot);return r&&(r.semanticRefsMs+=D.now()-o,r.referenceCount+=a.length),a}signatureFor(e){return L(this.signatureCache,e.symbolId,()=>{let t=this.nodeForDefinition(e);if(!t||!this.tsMorph.Node.isFunctionDeclaration(t)&&!this.tsMorph.Node.isMethodDeclaration(t)&&!this.tsMorph.Node.isArrowFunction(t)&&!this.tsMorph.Node.isFunctionExpression(t)&&!this.tsMorph.Node.isConstructorDeclaration(t))return null;let r=t.getType().getCallSignatures()[0];if(!r)return null;let i=r.getParameters().map(o=>{let a=o.getDeclarations()[0],l=a?o.getTypeAtLocation(a).getText(a):o.getValueDeclaration()?.getType().getText()??"unknown";return _r(l)}),s=r.getReturnType().getText(t);return`(${i.join(",")})=>${_r(s)}`})}importUsageForSourceFile(e,t,r){let i=[],s=new Map;for(let o of t.getImportDeclarations()){r.declarations+=1;let a=ln(this.db,e,o.getModuleSpecifierValue()),l=o.getImportClause()?.isTypeOnly()??!1;for(let u of Yn(o)){r.entries+=1;let f=l?null:u.identifier?.getSymbol()?.compilerSymbol??null;!l&&u.identifier&&(f?r.bindingSymbols+=1:r.missingBindingSymbols+=1);let c={sourcePath:a,entry:u,typeOnlyDeclaration:l,bindingSymbol:f,references:[]};if(i.push(c),l||!u.localName||!f)continue;let p=s.get(u.localName);p?p.push(c):s.set(u.localName,[c])}}return s.size>0&&t.forEachDescendant(o=>{if(o.getKindName()!=="Identifier")return;let a=s.get(o.getText());if(!a||Ys(o))return;r.scannedIdentifiers+=1;let l=o.getSymbol()?.compilerSymbol;if(r.symbolLookups+=1,!!l){for(let u of a)if(u.bindingSymbol===l){u.references.push({location:Ze(o,this.db.config.projectRoot),node:o}),r.matchedReferences+=1;break}}}),i.map(o=>o.typeOnlyDeclaration?Vs(e,o.sourcePath,o.entry):o.entry.identifier&&!o.bindingSymbol?(r.fallbackEntries+=1,this.valueImportUsageForEntry(e,o.sourcePath,o.entry)):this.valueImportUsageFromLocations(e,o.sourcePath,o.entry,o.references))}valueImportUsageForEntry(e,t,r){let i=r.identifier?r.identifier.findReferences():[],s=[];for(let o of i)for(let a of Ir(o,e,r.identifier,this.db.config.projectRoot))s.push(a);return this.valueImportUsageFromLocations(e,t,r,s)}valueImportUsageFromLocations(e,t,r,i){let s=i.some(l=>!On(l.node)),o=i.some(l=>On(l.node)),a=r.isTypeOnly;return{importer:e,sourcePath:t,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:a,isUsed:a||i.length>0,isTypeUsed:a||o,isValueUsed:s,references:i.map(l=>l.location)}}packageImportReferencesForDefinition(e){return this.packageImportReferences().get(e.symbolId)??[]}packageImportReferencesForFiles(e){let t=new Map,r=new Set;for(let s of e){let o=this.sourceFiles.sourceFile(s);if(o)for(let a of o.getImportDeclarations()){let l=Kn(this.workspacePackages,a.getModuleSpecifierValue());l&&r.add(l)}}if(r.size===0)return t;let i=this.packageExportsForNames(r);for(let s of e)this.addPackageImportReferencesForDocument(t,i,s);for(let[s,o]of t)t.set(s,oe(o));return t}packageImportReferences(){if(this.packageImportReferenceIndex)return this.packageImportReferenceIndex;let e=new Map,t=this.packageExports();for(let r of this.sourceFiles.indexedTypeScriptLikeDocuments())this.addPackageImportReferencesForDocument(e,t,r);for(let[r,i]of e)e.set(r,oe(i));return this.packageImportReferenceIndex=e,e}addPackageImportReferencesForDocument(e,t,r){if(this.db.isIgnored(r))return;let i=this.sourceFiles.sourceFileMatch(r);if(i)for(let s of i.sourceFile.getImportDeclarations())this.addPackageImportReferencesForDeclaration(e,t,r,s)}addPackageImportReferencesForDeclaration(e,t,r,i){let s=Kn(this.workspacePackages,i.getModuleSpecifierValue());if(!s)return;let o=t.get(s);if(o)for(let a of Yn(i)){if(a.kind!=="named"||!a.identifier)continue;let l=o.get(a.importedName);if(!l||l.size===0)continue;let u=Mr(a.identifier,r,this.db.config.projectRoot);u.length>0&&eo(e,l,u)}}packageExports(){return this.packageExportIndex?this.packageExportIndex:(this.packageExportIndex=this.packageExportsForNames(new Set(this.workspacePackages.map(e=>e.name))),this.packageExportIndex)}packageExportsForNames(e){let t=new Map;for(let r of this.workspacePackages){if(!e.has(r.name))continue;let i=new Map;for(let s of kr(r))this.collectPackageExports(r,s,i,new Set);i.size>0&&t.set(r.name,i)}return t}collectPackageExports(e,t,r,i){if(i.has(t))return;i.add(t);let s=this.sourceFiles.sourceFile(t);if(s)for(let o of s.getExportDeclarations()){let a=o.getModuleSpecifierValue(),l=a?ln(this.db,t,a):t;if(!l||!l.startsWith(`${e.relativeDir}/src/`))continue;let u=o.getNamedExports();if(u.length===0){if(o.isNamespaceExport())continue;this.collectPackageExports(e,l,r,i);continue}for(let f of u){let c=f.getNameNode().getText(),p=f.getAliasNode()?.getText()??c,d=this.indexedDefinitionByLeaf(l,c);if(!d)continue;let y=r.get(p);y||(y=new Set,r.set(p,y)),y.add(d.symbolId)}}}indexedDefinitionByLeaf(e,t){return L(this.indexedDefinitionLeafCache,e,()=>xr(this.db,e)).get(t)??null}nodeForDefinition(e){return L(this.definitionNodeCache,e.symbolId,()=>this.definitionNodesForFile(e.relativePath).get(e.symbolId)??null)}definitionNodesForFile(e){return L(this.fileDefinitionNodeCache,e,()=>{let t=this.sourceFiles.sourceFile(e);return t?vr(this.tsMorph,this.db,t,e):new Map})}referenceDefinitionFromCompilerSymbol(e){return this.definitionFromCompilerSymbol(e,void 0,!0)}definitionFromCompilerSymbol(e,t,r=!1){let i=e.name,s=t?D.now():0,o=e.declarations??[];t&&(t.declarationsMs+=D.now()-s,t.declarationChecks+=o.length);for(let a of o){let l=t?D.now():0,u=a.getSourceFile(),f=ae(this.db.config.projectRoot,u.fileName),c=u.getLineAndCharacterOfPosition(a.getStart(u)).line;if(t&&(t.declarationLocationMs+=D.now()-l),!f||this.db.isIgnored(f))continue;let p=t?D.now():0,d=this.compilerDeclarationName(a),y=r?qn(this.db,f,c,i)??(d&&d!==i?qn(this.db,f,c,d):null):Dr(this.db,f,c,i);if(t&&(t.indexedLookupMs+=D.now()-p),y)return{symbolId:y.symbolId,symbol:y.symbol,file:y.relativePath,line:y.startLine}}return null}compilerDeclarationName(e){let t=e.name;return t&&this.tsMorph.ts.isIdentifier(t)?t.text:null}calleeMapForFile(e,t){let r=_(),i=0,s=0,o=0,a=0,l=0,u=0,f=0,c=0,p=r?Xs():void 0;return w("typescript.callee-map.file",()=>{let d=r?D.now():0,y=this.sourceFiles.sourceFile(e);if(r&&(l=Math.round(D.now()-d)),!y)return new Map;let R=r?D.now():0,b=z(this.db,e).sort((g,m)=>g.startLine-m.startLine||m.endLine-g.endLine);if(r&&(u=Math.round(D.now()-R)),i=b.length,b.length===0)return new Map;let S=new Map,M=r?D.now():0,P=this.compilerCheckerForSourceFile(y),h=y.compilerNode;r&&(f=Math.round(D.now()-M));let C=new Map,x=g=>{if(this.tsMorph.ts.isCallExpression(g)||this.tsMorph.ts.isNewExpression(g)){r&&(s+=1);let m=this.semanticCalleeForCallNode(P,h,b,g,C,t,p);m&&(r&&(o+=1),Js(S,m.callerId,m.target))}this.tsMorph.ts.forEachChild(g,x)},v=r?D.now():0;x(h),r&&(c=Math.round(D.now()-v));for(let[g,m]of S)S.set(g,no(m));return a=S.size,S},()=>({relativePath:e,definitions:i,callNodes:s,resolvedCallees:o,outputRows:a,requestedDefinitions:t?.size??i,sourceFileLookupMs:l,definitionsLoadMs:u,checkerLookupMs:f,traversalMs:c,...p?Zs(p):{}}))}semanticCalleeForCallNode(e,t,r,i,s,o,a){let l=a?D.now():0,u=Qs(r,en(t,i));if(a&&(a.callerLookupMs+=D.now()-l),!u)return null;if(o&&!o.has(u.symbolId))return a&&(a.skippedUnrequestedCallers+=1),null;let f=i.expression,c=this.compilerSymbolForExpression(e,f,a),p=null;if(c)if(a&&(a.targetSymbolHits+=1),s.has(c))a&&(a.compilerSymbolCacheHits+=1),p=s.get(c)??null;else{a&&(a.compilerSymbolCacheMisses+=1);let d=a?D.now():0;p=this.definitionFromCompilerSymbol(c,a),a&&(a.targetLookupMs+=D.now()-d),s.set(c,p)}else a&&(a.targetMisses+=1);return p?{callerId:u.symbolId,target:{symbol:p.symbol,file:p.file,line:p.line,callsiteLine:en(t,i)}}:null}compilerSymbolForExpression(e,t,r){let i=r?D.now():0,s=e.getSymbolAtLocation(t);if(r&&(r.expressionSymbolMs+=D.now()-i),s)return s;r&&(r.typeFallbacks+=1);let o=r?D.now():0,a=e.getTypeAtLocation(t).getSymbol();return r&&(r.typeSymbolMs+=D.now()-o),a}compilerCheckerForSourceFile(e){let t=e.getProject(),r=this.compilerCheckerCache.get(t);return r||(r=t.getTypeChecker().compilerObject,this.compilerCheckerCache.set(t,r)),r}};function Yn(n){let e=[],t=n.getDefaultImport();t&&e.push({identifier:t,importedName:"default",localName:t.getText(),kind:"default",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});let r=n.getNamespaceImport();r&&e.push({identifier:r,importedName:"*",localName:r.getText(),kind:"namespace",isTypeOnly:n.getImportClause()?.isTypeOnly()??!1});for(let i of n.getNamedImports()){let s=i.getNameNode(),a=i.getAliasNode()??(s.getKindName()==="Identifier"?s:null);e.push({identifier:a,importedName:s.getText(),localName:a?.getText()??s.getText(),kind:"named",isTypeOnly:i.isTypeOnly()||(n.getImportClause()?.isTypeOnly()??!1)})}return e.length===0&&e.push({identifier:null,importedName:"*",localName:null,kind:"side-effect",isTypeOnly:!1}),e}function Vs(n,e,t){return{importer:n,sourcePath:e,importedName:t.importedName,localName:t.localName,kind:t.kind,isTypeOnly:!0,isUsed:!0,isTypeUsed:!0,isValueUsed:!1,references:[]}}function $s(){return{declarations:0,entries:0,bindingSymbols:0,missingBindingSymbols:0,scannedIdentifiers:0,symbolLookups:0,matchedReferences:0,fallbackEntries:0}}function Ys(n){for(let e=n;e;e=e.getParent())if(e.getKindName()==="ImportDeclaration")return!0;return!1}function Js(n,e,t){let r=n.get(e);r||(r=[],n.set(e,r)),r.push(t)}function Gs(n){let e=new Set;for(let t of n.getImportDeclarations())for(let r of Yn(t))r.localName&&e.add(r.localName);return e}function Qs(n,e){let t=null;for(let r of n)e<r.startLine||e>r.endLine||(!t||r.startLine>=t.startLine)&&(t=r);return t}function en(n,e){return n.getLineAndCharacterOfPosition(e.getStart(n)).line}function Er(n,e,t){return e===n.relativePath&&t>=n.startLine&&t<=n.endLine}function Ar(n){return n.symbol.includes("#")?Ne(n.symbol)==="type"&&n.relativePath.endsWith(".d.ts"):!1}function Xs(){return{callerLookupMs:0,expressionSymbolMs:0,typeSymbolMs:0,targetLookupMs:0,declarationsMs:0,declarationLocationMs:0,indexedLookupMs:0,compilerSymbolCacheHits:0,compilerSymbolCacheMisses:0,targetSymbolHits:0,targetMisses:0,typeFallbacks:0,declarationChecks:0,skippedUnrequestedCallers:0}}function Zs(n){return{...n,callerLookupMs:Math.round(n.callerLookupMs),expressionSymbolMs:Math.round(n.expressionSymbolMs),typeSymbolMs:Math.round(n.typeSymbolMs),targetLookupMs:Math.round(n.targetLookupMs),declarationsMs:Math.round(n.declarationsMs),declarationLocationMs:Math.round(n.declarationLocationMs),indexedLookupMs:Math.round(n.indexedLookupMs)}}function Fr(){return{cacheHits:0,cacheMisses:0,nodeHits:0,nodeMisses:0,scanFiles:0,identifiers:0,symbolLookups:0,aliasResolutions:0,targetHits:0,targetMisses:0,requestedHits:0,scanMs:0,packageRefsMs:0,semanticRefsMs:0,packageReferenceCount:0,referenceCount:0,preciseSearchFailures:0,hierarchyDefinitions:0,hierarchyFamilies:0,hierarchyReferences:0,hierarchyMs:0}}function Nr(n){return{...n,scanMs:Math.round(n.scanMs),packageRefsMs:Math.round(n.packageRefsMs),semanticRefsMs:Math.round(n.semanticRefsMs),hierarchyMs:Math.round(n.hierarchyMs)}}function eo(n,e,t){for(let r of e){let i=n.get(r)??[];i.push(...t),n.set(r,i)}}function no(n){let e=new Set,t=[];for(let r of n){let i=`${r.symbol}|${r.file}|${r.line}|${r.callsiteLine??""}`;e.has(i)||(e.add(i),t.push(r))}return t}function _r(n){return n.replace(/\s+/g," ").replace(/\bimport\("[^"]+"\)\./g,"").trim()}import{join as to}from"path";var nn=3;var ro="typescript-semantic";function Or(n){let e=to(n,ro),t=Le(e);return{...t,requestDir:t.legacyRequestDir}}var ao=12e4,co=5;function qr(n,e,t={}){let r=new Jn(n,t),i=null,s=null,o=process.env.SCIP_QUERY_SKIP_WATCH_SERVICE==="1",a=()=>(i??=Lr(n,e),i),l=(c,p,d)=>{if(o)return d();try{return p(r.request(c))}catch{return o=!0,d()}},u=(c,p)=>l({kind:"references",definitions:[...c],...p?.exact?{exact:!0}:{}},d=>Br(d),()=>a().referencesForDefinitions?.(c,p)??new Map(c.map(d=>[d.symbolId,a().referencesFor(d)]))),f=c=>l({kind:"callees",definitions:[...c]},p=>Br(p),()=>a().calleesForDefinitions?.(c)??new Map(c.map(p=>[p.symbolId,a().calleesFor(p)])));return{language:"typescript",availability:()=>(s??=l({kind:"availability"},fo,()=>a().availability()),s),importUsage:c=>l({kind:"import-usage",file:c},p=>p,()=>a().importUsage(c)),referencesFor:c=>u([c]).get(c.symbolId)??[],referencesForDefinitions:u,referenceFragmentsForFiles:c=>l({kind:"reference-fragments",files:[...c]},p=>uo(p),()=>a().referenceFragmentsForFiles?.(c)??new Map),calleesFor:c=>f([c]).get(c.symbolId)??[],calleesForDefinitions:f,signatureFor:c=>l({kind:"signature",definition:c},po,()=>a().signatureFor(c)),dispose:()=>i?.dispose?.()}}var Jn=class{constructor(e,t={}){this.db=e;this.runtime=t.runtime??yo,this.timeoutMs=t.timeoutMs??mo(),this.mailboxLimits=t.mailboxLimits??{},this.cacheDir=oo(e.config.dbPath),this.projectRoot=tt(e.config.projectRoot)}db;runtime;timeoutMs;cacheDir;projectRoot;mailboxLimits;request(e){let t=Dt(this.cacheDir),r=Or(this.cacheDir),i=pn(t.statePath);if(!Ur(i,this.projectRoot,this.runtime))throw new Error("Compatible TypeScript semantic service is not running.");let s=this.db.generation.identity;if(!s)throw new Error("Published TypeScript generation identity is unavailable.");let o=this.runtime.now(),a=o+this.timeoutMs,l=(this.runtime.monotonicNow??q)()+this.timeoutMs,u=dt(),f=Z("typescript-semantic-v3",{generation:s,profileEnvironment:u,request:e}),c=ee(f),p=Oe(r,{mailboxVersion:$,operationKey:f,clientId:this.runtime.randomId(),enqueuedAtMs:o,deadlineAtMs:a,protocolVersion:nn,id:c,generation:s,profileEnvironment:u,request:e},{nowMs:o,limits:this.mailboxLimits});for(;(this.runtime.monotonicNow??q)()<=l;){if(so(p.responsePath))return lo(B(p.responsePath,{maxBytes:this.mailboxLimits.maxItemBytes??64*1024*1024,inputKind:"TypeScript semantic mailbox response"}),c,s,f);let d=pn(t.statePath);if(!Ur(d,this.projectRoot,this.runtime))throw new Error("TypeScript semantic service stopped while processing a request.");this.runtime.sleep(co)}throw new Error(`TypeScript semantic service timed out after ${this.timeoutMs}ms.`)}};function Ur(n,e,t){let r=n?.processIdentity?t.readProcessIdentity?.(n.pid):null;return n!==null&&n.projectRoot===e&&n.typescriptSemantic?.protocolVersion===nn&&t.isProcessAlive(n.pid)&&(!n.processIdentity||r!=null&&Ce(n.processIdentity,r))}function lo(n,e,t,r){let i=JSON.parse(n);if(i.protocolVersion!==nn||i.id!==e||i.operationKey!==r||i.ok===!0&&i.generation!==t)throw new Error("TypeScript semantic service wrote an incompatible response.");if(i.ok===!0)return i.response;throw new Error(typeof i.error=="string"?i.error:"TypeScript semantic service request failed.")}function Br(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid numeric map.");return new Map(n)}function uo(n){if(!Array.isArray(n))throw new Error("TypeScript semantic service wrote an invalid string map.");return new Map(n)}function fo(n){let e=Sr(n);if(!e)throw new Error("TypeScript semantic service wrote invalid availability.");return e}function po(n){if(n!==null&&typeof n!="string")throw new Error("TypeScript semantic service wrote an invalid signature.");return n}function mo(){let n=Number(process.env.SCIP_TYPESCRIPT_SEMANTIC_TIMEOUT_MS);return Number.isInteger(n)&&n>0?n:ao}var yo={now:Date.now,monotonicNow:q,randomId:io,sleep(n){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,n)},isProcessAlive:Pe,readProcessIdentity:we};var jr=new Xe;ot({name:"semantic-provider",groups:["semantic-provider"],clearAll:n=>jr.clear(n)});function Q(n,e){let t=U(e)??"typescript";return jr.getOrCreate(n,t,()=>t==="rust"?pr(n.config.projectRoot,{sourceImportUsageResolver:{importUsageFacts:r=>wt(n,r)},calleeSymbolResolver:kt(n),sourceZeroCalleeOracle:r=>So(n,r),scipOccurrenceCalleeOracle:r=>yr(n,r)}):qr(n,e))}function U(n){return n?mt(n)==="rust"?"rust":ne(n)?"typescript":null:"typescript"}function So(n,e){let t=Fe(n,e.relativePath);if(!t||t.language!=="rust")return!1;let r=t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine&&i.name===e.leaf)??t.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine);return r?!t.callSites.some(i=>i.line>=r.startLine&&i.line<=r.endLine):!1}var go=/^[A-Za-z_][A-Za-z0-9_]*$/,Wr=/\bDefault::default\b/g,Ro=/^\.\.\s*Default::default\b/;function zr(n,e){let t=new Map,r=new Map;for(let i of e){let s=Gn(n,i,r);s!==null&&t.set(i.symbolId,s)}return t}function Gn(n,e,t=new Map){let r=ho(e.symbol);if(!r)return null;let i=ht(n,[e.symbolId]);if(i.length===0)return null;let s=new RegExp(`(^|[^A-Za-z0-9_])${pe(r)}::default\\b`,"g"),o=new RegExp(`(^|[^A-Za-z0-9_])${pe(r)}\\s*$`),a=bo(n,e.symbolId),l=[];for(let u of i){let f=Io(n,u.relative_path,t);if(f===null)return null;let c=f.split(/\r?\n/),p=0,d=[],y=0;for(let R=u.chunk_start;R<=u.chunk_end&&R<c.length;R+=1){let S=c[R]??"",M=new Set;s.lastIndex=0;let P;for(;P=s.exec(S);)l.push({file:u.relative_path,line:R,column:P.index+P[1].length+r.length+2}),y+=1;for(let h=0;h<S.length;h+=1){let C=Ro.exec(S.slice(h));if(C){if(a&&d.includes(p)){let v=h+C[0].lastIndexOf("default");l.push({file:u.relative_path,line:R,column:v}),M.add(v),y+=1}h+=C[0].length-1;continue}let x=S[h];if(x==="{"){let v=o.test(S.slice(0,h));p+=1,v&&d.push(p);continue}if(x==="}")for(p=Math.max(0,p-1);d.length>0&&d[d.length-1]>p;)d.pop()}for(Wr.lastIndex=0;P=Wr.exec(S);){let h=P.index+9;if(!M.has(h))return null}}if(y===0)return null}return We(l)}function bo(n,e){return n.get("SELECT 1 AS present FROM mentions WHERE symbol_id = ? AND role = 1 LIMIT 1",e)?.present===1}function ho(n){let e=/impl#\[([^\]]+)\]\[Default\]default\(\)\./.exec(n)?.[1]??null;return!e||!go.test(e)?null:e}function Io(n,e,t){if(t.has(e))return t.get(e)??null;let r=n.get("SELECT text FROM documents WHERE relative_path = ?",e),i=typeof r?.text=="string"?r.text:Mo(n,e);return t.set(e,i),i}function Mo(n,e){try{return it(n.config.projectRoot,e,{inputKind:"indexed Rust source file"})}catch(t){if(!ue(t))throw t;return null}}function Kr(n){let e=new Map;for(let t of n){let r=e.get(t.relativePath)??[];r.push(t),e.set(t.relativePath,r)}return e}var vo="typescript-import-usage-v1",Do="typescript-signatures-v1",Qn=ct("semantic-prefetched-callees",{clearGroups:["whole-project","source-file","semantic-provider"]}),Hr=fn({kind:"semantic-import-usage",invalidation:fe("semantic-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Zr}),Vr=fn({kind:"semantic-signatures",invalidation:fe("semantic-signatures"),serialize:n=>JSON.stringify(n),deserialize:No}),$r=un({kind:"typescript-import-usage",invalidation:fe("typescript-import-usage"),serialize:n=>JSON.stringify(n),deserialize:Zr}),Yr=un({kind:"typescript-signatures",invalidation:fe("typescript-signatures"),serialize:n=>JSON.stringify(n),deserialize:_o});function De(n){let e=new Map,t=new Set;return{capability:(r,i)=>ei(n,r,i),importUsage:r=>Co(n,r),references:r=>Gr(n,r),materializeReferences:(r,i)=>Qr(n,r,e,t,i),callerMap:r=>To(n,r,e,t),calleeMap:r=>Eo(n,r),signature:r=>Ao(n,r)}}function xo(n,e){if(e.size===0)return;let t=Qn.get(n,()=>new Map);for(let[r,i]of e)t.set(r,[...i])}function Ru(n,e){if(!Qn.has(n))return{hits:[],misses:[...e]};let t=Qn.get(n,()=>new Map),r=[],i=[];for(let s of e)t.has(s.symbolId)?r.push({definition:s,callees:t.get(s.symbolId)??[]}):i.push(s);return{hits:r,misses:i}}function bu(n,e){return De(n).importUsage(e)}function Co(n,e){if(U(e)==="typescript"){let s="fallback",o=0,a=0,l=0,u=0;return w("typescript.import-usage.materialize",()=>{let f=dn(n,e,vo);if(f?.key){o=1;let p=$r.read(n,e,f.key);if(p)return s="hit",a=1,p;l=1;let d=j(n,e);if(!d)return s="unavailable",[];let y=d.importUsage(e);return $r.write(n,e,f.key,y),s="computed",y}u=1;let c=j(n,e);return c?(s="direct-fallback",c.importUsage(e)):(s="unavailable",[])},()=>({state:s,eligible:o,cacheHits:a,cacheMisses:l,fallbacks:u}))}let t=Xr(n,"semantic-import-usage",e);if(t){let s=Hr.read(n,e,t);if(s)return s}let r=j(n,e);if(!r)return[];let i=r.importUsage(e);return t&&Hr.write(n,e,t,i),i}function hu(n,e){return De(n).references(e)}function Gr(n,e){let t=Gn(n,e);if(t)return t;let r=At(n,e);if(r)return r;let i=j(n,e.relativePath);return i?i.referencesFor(e):[]}function Iu(n,e){return De(n).callerMap(e)}function Mu(n,e){let t=new Map,r=[];for(let i of e){if(U(i.relativePath)==="typescript"){r.push(i);continue}Xn(n,t,i,Gr(n,i))}if(r.length>0){let s=yn(n,r,o=>Q(n,o))?.references;if(!s){let o=j(n,r[0].relativePath);s=o?o.referencesForDefinitions?o.referencesForDefinitions(r,{exact:!0}):new Map(r.map(a=>[a.symbolId,o.referencesFor(a)])):new Map,o&&_()&&mn(n,r,s,a=>Q(n,a))}for(let o of r)Xn(n,t,o,s.get(o.symbolId)??[])}return t}function To(n,e,t=new Map,r=new Set){let i=new Map,s=Qr(n,e,t,r),o=0;return w("semantic.callers.from-references",()=>{for(let a of e)o+=Xn(n,i,a,t.get(a.symbolId)??[])},()=>({definitions:e.length,materialized:s.definitions,inMemoryHits:s.inMemoryHits,incompleteInMemoryHits:s.incompleteInMemoryHits,resultRows:i.size,callerFiles:o})),i}function Qr(n,e,t,r,i={}){let s=cn(n),o=[],a=[],l=[],u=0,f=0,c=0,p=0,d=0,y=0,R=0,b=0,S=0,M=0,P=0,h=0,C=[],x=new Map,v=e.filter(m=>U(m.relativePath)==="typescript"&&!t.has(m.symbolId)&&!r.has(m.symbolId)),g=yn(n,v,m=>Q(n,m));if(g){S=v.length,M=g.cacheHits,P=g.cacheMisses,h=g.computedFiles;for(let m of v)t.set(m.symbolId,g.references.get(m.symbolId)??[])}if(w("semantic.references.cache-scan",()=>{for(let[m,I]of Kr(e)){let T=[];for(let k of I)t.has(k.symbolId)?f+=1:r.has(k.symbolId)?b+=1:T.push(k);if(T.length===0){R+=1;continue}let W=ko(n,s,m);if(!W){for(let k of T)U(k.relativePath)||(u+=1),l.push(k);continue}y+=1;let F=lt(n,m,W);for(let k of T){let O=F.get(k.symbol)??null;if(O!==null){let E=Po(O);if(E){c+=1,t.set(k.symbolId,E);continue}p+=1}a.push({definition:k,cacheFingerprint:W})}}},()=>({definitions:e.length,skippedUnsupportedLanguage:u,cacheHits:c,parseFailures:p,misses:a.length,unkeyed:l.length,inMemoryHits:f,incompleteInMemoryHits:b,fullyInMemoryFiles:R,cacheReadFiles:y})),a.length>0||l.length>0){C=[...l,...a.map(m=>m.definition)],x=w("semantic.references.compute-misses",()=>{let m=wo(n,C,i);return d=m.size,m},()=>({definitions:C.length,misses:a.length,unkeyed:l.length,rows:d}));for(let m of C)x.has(m.symbolId)?(t.set(m.symbolId,x.get(m.symbolId)??[]),r.delete(m.symbolId)):r.add(m.symbolId);for(let{definition:m,cacheFingerprint:I}of a)x.has(m.symbolId)&&ei(n,"semantic-references",m.relativePath).available&&o.push({relativePath:m.relativePath,symbol:m.symbol,projectFingerprint:I,payload:JSON.stringify(x.get(m.symbolId)??[])})}return o.length>0&&w("semantic.references.cache-write",()=>ut(n,o),()=>({entries:o.length})),x.size>0&&mn(n,C,x,m=>Q(n,m)),{definitions:e.length,inMemoryHits:f,incompleteInMemoryHits:b,cacheHits:c,misses:a.length,unkeyed:l.length,skippedUnsupportedLanguage:u,parseFailures:p,computed:d,incomplete:r.size,cacheWrites:o.length,fragmentDefinitions:S,fragmentCacheHits:M,fragmentCacheMisses:P,fragmentComputedFiles:h}}function ko(n,e,t){if(!e)return null;let r=U(t);return r==="typescript"?e:r==="rust"?an(JSON.stringify({kind:"semantic-references",language:r,engine:hn(n.config.projectRoot),projectFingerprint:e})):null}function wo(n,e,t={}){let r=_(),i=new Map,s=0,o=0,a=0,l=0,u=0,f=0,c=0,p=0,d=0;return w("semantic.references.provider-loop",()=>{let y=zr(n,e),R=Et(n,e),b=new Map,S=t.prefetchCallees?new Map:null,M=[];for(let h of e){let C,x=()=>(C??=j(n,h.relativePath),C);if(S){let I=x();if(I?.referencesAndCalleesForDefinitions){let T=S.get(I);T?T.push(h):S.set(I,[h]),d+=1}}let v=y.get(h.symbolId);if(v){a+=1,l+=v.length,ve(i,h.symbolId,v,r,I=>{c+=1,p+=I});continue}let g=R.get(h.symbolId);if(g){u+=1,f+=g.length,ve(i,h.symbolId,g,r,I=>{c+=1,p+=I});continue}let m=x();if(!m){r&&(o+=1);continue}if(r&&(s+=1),m.referencesForDefinitions){let I=b.get(m);I?I.push(h):b.set(m,[h])}else M.push({provider:m,definition:h})}let P=new Set;if(S)for(let[h,C]of S){if(!h.referencesAndCalleesForDefinitions)continue;let x=b.get(h)??[],v=h.referencesAndCalleesForDefinitions(x,C);P.add(h),xo(n,v.callees);for(let g of x){if(!v.references.has(g.symbolId))continue;let m=v.references.get(g.symbolId)??[];ve(i,g.symbolId,m,r,I=>{c+=1,p+=I})}}for(let[h,C]of b){if(P.has(h))continue;let x=h.referencesForDefinitions(C);for(let v of C){if(!x.has(v.symbolId))continue;let g=x.get(v.symbolId)??[];ve(i,v.symbolId,g,r,m=>{c+=1,p+=m})}}for(let{provider:h,definition:C}of M){let x=h.referencesFor(C);ve(i,C.symbolId,x,r,v=>{c+=1,p+=v})}return i},()=>({definitions:e.length,providerHits:s,providerMisses:o,rustDefaultFastPathRows:a,rustDefaultFastPathReferences:l,rustScipOccurrenceFastPathRows:u,rustScipOccurrenceFastPathReferences:f,prefetchCalleeDefinitions:d,definitionsWithReferences:c,referenceCount:p,rows:i.size}))}function ve(n,e,t,r,i){n.set(e,t),r&&t.length>0&&i(t.length)}function Xn(n,e,t,r){let i=0;for(let s of r){if(s.file===t.relativePath||n.isIgnored(s.file))continue;let o=e.get(t.symbolId);o||(o=new Set,e.set(t.symbolId,o));let a=o.size;o.add(s.file),o.size!==a&&(i+=1)}return i}function Po(n){try{return JSON.parse(n)}catch{return null}}function vu(n,e){return De(n).calleeMap(e)}function Eo(n,e){let t=_(),r=new Map,i=0,s=0,o=0,a=0;return w("semantic.callees.provider-loop",()=>{let l=new Map,u=[];for(let f of e){let c=j(n,f.relativePath);if(!c){t&&(s+=1);continue}t&&(i+=1);let p=f;if(c.calleesForDefinitions){let d=l.get(c);d?d.push(p):l.set(c,[p])}else u.push({provider:c,definition:p})}for(let[f,c]of l){let p=f.calleesForDefinitions(c);for(let d of c){let y=p.get(d.symbolId)??[];Jr(r,d.symbolId,y,t,R=>{o+=1,a+=R})}}for(let{provider:f,definition:c}of u){let p=f.calleesFor(c);Jr(r,c.symbolId,p,t,d=>{o+=1,a+=d})}return r},()=>({definitions:e.length,providerHits:i,providerMisses:s,definitionsWithCallees:o,calleeCount:a,rows:r.size}))}function Jr(n,e,t,r,i){t.length>0&&(n.set(e,t),r&&i(t.length))}function Du(n,e){return De(n).signature(e)}function Ao(n,e){if(U(e.relativePath)==="typescript"){let o="fallback",a=0,l=0,u=0,f=0;return w("typescript.signature.materialize",()=>{let c=dn(n,e.relativePath,Do);if(c?.key){a=1;let d=Yr.read(n,e.relativePath,c.key)??{};if(Object.prototype.hasOwnProperty.call(d,e.symbol))return o="hit",l=1,d[e.symbol]??null;u=1;let y=j(n,e.relativePath);if(!y)return o="unavailable",null;let R=y.signatureFor(e);return Yr.write(n,e.relativePath,c.key,{...d,[e.symbol]:R}),o="computed",R}f=1;let p=j(n,e.relativePath);return p?(o="direct-fallback",p.signatureFor(e)):(o="unavailable",null)},()=>({state:o,eligible:a,cacheHits:l,cacheMisses:u,fallbacks:f}))}let t=Xr(n,"semantic-signatures",e.relativePath),r=Fo(e);if(t){let o=Vr.read(n,r,t);if(o)return o.signature}let i=j(n,e.relativePath);if(!i)return null;let s=i.signatureFor(e);return t&&Vr.write(n,r,t,{signature:s}),s}function Xr(n,e,t){let r=cn(n);if(!r)return null;let i=U(t);return i!=="rust"?null:an(JSON.stringify({kind:e,language:i,engine:hn(n.config.projectRoot),projectFingerprint:r}))}function Fo(n){return`${n.relativePath}\0${n.symbol}`}function Zr(n){try{let e=JSON.parse(n);return Array.isArray(e)?e:null}catch{return null}}function No(n){try{let e=JSON.parse(n);if(!e||typeof e!="object")return null;let t=e.signature;return t!==null&&typeof t!="string"?null:{signature:t}}catch{return null}}function _o(n){try{let e=JSON.parse(n);if(!e||typeof e!="object"||Array.isArray(e))return null;for(let t of Object.values(e))if(t!==null&&typeof t!="string")return null;return e}catch{return null}}function ei(n,e,t){let r=U(t);if(!r)return{slot:e,language:"typescript",available:!1,reason:"semantic evidence is only available for TypeScript or Rust files"};try{return{slot:e,language:r,...Q(n,t).availability()}}catch(i){return{slot:e,language:r,available:!1,reason:i instanceof Error?i.message:String(i)}}}function j(n,e){if(!U(e))return null;let t=Q(n,e);return t.availability().available?t:null}export{Kr as a,hn as b,U as c,De as d,Ru as e,bu as f,hu as g,Iu as h,Mu as i,wo as j,vu as k,Du as l};
3
- //# sourceMappingURL=chunk-PBUH2P5S.js.map
@@ -1,2 +0,0 @@
1
- import{a as F}from"./chunk-BGBBVSH4.js";import{a as I}from"./chunk-Z2AWCTN6.js";import{d as le}from"./chunk-BWVQP3LB.js";import{b as $,d as ne,e as te,f as ie,g as oe,h as re,j as N,k as ae,l as se}from"./chunk-AYPDH2LU.js";import{d as ee}from"./chunk-KK7GPALL.js";import{f as X,h as Z}from"./chunk-BECZLYNU.js";import{b as C}from"./chunk-Q6T2CAJL.js";import{b as H}from"./chunk-4GAQ6FI4.js";import{a as O,e as z,g as w,h as E,j as Q,k as W,t as D,u as Y,v as J,w as U,x as A}from"./chunk-TD7VKJ2Y.js";import{s as B,u as S}from"./chunk-42W3LFUK.js";import{A as V,N as G,a as M,z as y}from"./chunk-7JYHQAH2.js";import{B as _,G as v,t as j}from"./chunk-Q7GBK5T7.js";function ce(n,e,t={}){let i=new Map;if(e&&e.length===0)return i;let r=M(n,{includeIgnored:!1}),o=ie(n),a=e??Y(n),f=new Set(a.map(m=>m.symbolId)),c=Me(a);return pe(n,i,r,o,f,c),ye(n,i,a,f),Re(n,i,r,o,f,c),t.semantic!==!1&&t.semanticEvidence&&De(i,t.semanticEvidence.callerMap(n,ve(a))),i}function pe(n,e,t,i,r,o){for(let a of t){if(!y(a))continue;let f=B(n,a);if(f)for(let c of f){if(o&&!o.has(c.calleeLeaf))continue;let m=ne(a,i.get(c.calleeLeaf)??[]);if(!m||m.length===0)continue;let s=te(n,a,m,c.memberAccess,c.calleeQualifier);s&&r.has(s.symbolId)&&s.file!==a&&T(e,s.symbolId,a)}}}function ye(n,e,t,i){let r=ge(t);for(let o of Se(n,i))n.isIgnored(o.relative_path)||he(o,r.get(o.symbol_id))||T(e,o.symbol_id,o.relative_path)}function Se(n,e){return ee(n,e?[...e]:void 0)}function ge(n){let e=new Map;for(let t of n)e.set(t.symbolId,{docId:t.documentId,startLine:t.startLine,endLine:t.endLine});return e}function he(n,e){return!!e&&e.docId===n.document_id&&n.chunk_start>=e.startLine&&n.chunk_end<=e.endLine}function Re(n,e,t,i,r,o){for(let a of t){if(y(a)!=="rust")continue;let f=S(n,a,{includeRustAttributeNames:!0});if(f.length!==0)for(let{name:c}of f){if(o&&!o.has(c))continue;let m=i.get(c);if(m)for(let s of m)r.has(s.symbolId)&&s.file!==a&&T(e,s.symbolId,a)}}}function T(n,e,t){let i=n.get(e);i||(i=new Set,n.set(e,i)),i.add(t)}function Me(n){let e=new Set;for(let t of n){let i="leaf"in t&&typeof t.leaf=="string"?t.leaf:"symbol"in t&&typeof t.symbol=="string"?z(t.symbol):"";i&&e.add(i)}return e.size>0?e:null}function ve(n){return n.filter(e=>"relativePath"in e&&"symbol"in e&&"leaf"in e)}function De(n,e){for(let[t,i]of e){let r=n.get(t);r||(r=new Set,n.set(t,r));for(let o of i)r.add(o)}}function q(n,e,t={}){return ce(n,e,t)}function K(n,e,t={}){return se(n,e,t)}function fe(n,e,t={}){let i=q(n,e,{semantic:t.semantic,semanticEvidence:t.semanticEvidence});return t.sourceFallback===!1?i:Ce(i,K(n,e))}function Ce(n,e){let t=new Map;for(let[i,r]of n)t.set(i,new Set(r));for(let[i,r]of e){let o=t.get(i)??new Set;for(let a of r)o.add(a);t.set(i,o)}return t}function ue(n,e,t){let i=e.identifierResolution==="strict"?N:ae,r=e.candidateNames?oe(e.candidateNames):null,o=0,a=0,f=0,c=0,m="";for(let s of e.paths)if(o+=1,m=s,!(!y(s)&&!(e.includeVueSfc&&V(s)))&&!n.isIgnored(s)&&!e.skipPath?.(s))try{if(r&&!re(_(n,s),r))continue;a+=1;let h=(u,b,x,g)=>{if(e.candidateNames&&!e.candidateNames.has(u))return;f+=1;let R=e.resolveTargets?e.resolveTargets({sourceFile:s,name:u,kind:b,defaultTargets:g}):g();for(let P of R)c+=1,t({sourceFile:s,name:u,target:P,occurrences:x,kind:b})},k=$(n,s);for(let[u,b]of k)h(u,"identifier",b.length,()=>i(n,s,u));for(let u of S(n,s,{includeCrossLanguageDispatchNames:e.includeCrossLanguageDispatchNames,includeRustAttributeNames:e.includeRustAttributeNames})){let b=u.kind==="cross-language-dispatch"?()=>N(n,s,u.name):()=>i(n,s,u.name);h(u.name,u.kind,u.occurrences,b)}}finally{e.afterPath?.(s),o%10===0&&j("source-reference-scan.progress",()=>{},()=>({scannedPaths:o,currentPath:m,candidateMatchedPaths:a,visitedNames:f,visitedHits:c}))}}function de(n,e={}){let{scope:t,files:i,minLoc:r=1,maxLoc:o=Number.POSITIVE_INFINITY,excludeSymbol:a,excludeEntrySurfaces:f=!1,excludeTypesFiles:c=!1,excludeRootedSymbols:m=!1,requireFunctionLikeSymbol:s=!1,requireCallableSymbol:L=!1,excludeRustTraitImplMembers:h=!1,includeSuppressed:k=!1,sortByLocDesc:u=!1}=e,b=[],x=Ie(n,{scope:t,files:i,requireFunctionLikeSymbol:s,requireCallableSymbol:L}),g=new Map,R=new Map,P=l=>{let d=g.get(l);if(d!==void 0)return d;let p=X(n,l);return g.set(l,p),p},be=l=>{let d=R.get(l);if(d!==void 0)return d;let p=C(l);return R.set(l,p),p};for(let l of x){let d=l.relativePath;if(n.isIgnored(d)||f&&P(d)||!Fe(l,{requireFunctionLikeSymbol:s,requireCallableSymbol:L})||a!==void 0&&l.symbol===a)continue;let p=F(l);p<r||p>o||c&&Le(d)||m&&Z(n,l.symbol,d)||h&&Q(l.symbol)||be(d)!=="test"&&(W(l.symbol)||!k&&v(n,d,l.startLine)||b.push(l))}return u?b.sort((l,d)=>F(d)-F(l)):b}function Ie(n,e){return e.files!==void 0?[...new Set(e.files.map(i=>i.replace(/\\/g,"/")))].sort().filter(i=>!e.scope||i.includes(e.scope)).flatMap(i=>D(n,i)):e.requireCallableSymbol?A(n,{scope:e.scope,symbolMatches:w,sqlPrefilter:"callable"}):e.requireFunctionLikeSymbol?A(n,{scope:e.scope,symbolMatches:E,sqlPrefilter:"function-like"}):U(n,e.scope)}function Fe(n,e){return e.requireCallableSymbol?w(n.symbol):e.requireFunctionLikeSymbol?E(n.symbol):n.isFunctionLike}function Le(n){return(n.split("/").pop()??"").includes("types")}var me=class{constructor(e){this.db=e}db;scopedDefinitions(e){return J(this.db,e)}definitionsForFile(e){return D(this.db,e)}productionCallableDefinitions(e={}){return de(this.db,e)}calleeMap(e,t={}){return le(this.db,e,{...t,semanticEvidence:I})}crossFileCallerMap(e,t={}){return q(this.db,e,{...t,semanticEvidence:I})}sourceFallbackCallerFiles(e,t={}){return K(this.db,e,t)}callerFileMap(e,t={}){return fe(this.db,e,{...t,semanticEvidence:I})}frameworkReferencedSymbolIds(e){let t=new Map;for(let r of e){if(!r.leaf)continue;let o=t.get(r.leaf)??[];o.push(r.symbolId),t.set(r.leaf,o)}let i=new Set;for(let r of M(this.db,{includeIgnored:!1}))if(y(r)==="rust")for(let{name:o}of S(this.db,r,{includeRustAttributeNames:!0}))for(let a of t.get(o)??[])i.add(a);return i}symbolsWithNonSelfCallees(e,t={}){if(e.length===0)return new Set;let i=new Map(e.map(o=>[o.symbolId,o.symbol])),r=this.calleeMap(e,t);return new Set([...r.entries()].filter(([o,a])=>{let f=i.get(o);return a.some(c=>c.symbol!==f)}).map(([o])=>o))}fileDependencyGraph(e){return H(this.db,e)}fileKind(e){return C(e)}hasSuppressionComment(e){return v(this.db,e.relativePath,e.startLine)}sourceFiles(){return G(this.db)}scanSourceReferences(e,t){ue(this.db,e,t)}callableSignature(e){let t=O(this.db).forFile(e.relativePath,{facts:!0}).facts?.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine);return t?{paramCount:t.paramCount}:null}};export{K as a,Ce as b,me as c};
2
- //# sourceMappingURL=chunk-PLYUVM4F.js.map
@@ -1,81 +0,0 @@
1
- import{x,xa as j,ya as M}from"./chunk-GH5YSGZL.js";var V=[];function S(e){e.groups.length>0&&V.push(e)}function He(e,t){let n=new Set(t.groups);for(let i of V)i.groups.some(r=>n.has(r))&&(t.file!==void 0&&i.clearFile?i.clearFile(e,t.file):i.clearAll(e))}var K=256;function U(e){let t=e.maxEntries;if(t!==void 0){if(!Number.isSafeInteger(t)||t<1)throw new Error(`Per-database cache maxEntries must be a positive safe integer; received ${t}.`);return t}return e.clearGroups.includes("source-file")?K:void 0}function H(e,t,n){e.delete(t),e.set(t,n)}function W(e,t){if(t!==void 0)for(;e.size>t;){let n=e.keys().next().value;if(n===void 0)return;e.delete(n)}}function X(){let e=new WeakMap;return{cache:e,ensure(t){let n=e.get(t);return n||(n=new Map,e.set(t,n)),n}}}function v(e,t){let{cache:n,ensure:i}=X(),r=U(t),a={get(s,o,c){let l=i(s);if(l.has(o)){let h=l.get(o);return H(l,o,h),h}let g=c();return l.set(o,g),W(l,r),g},has(s,o){return n.get(s)?.has(o)??!1},invalidate(s,o){n.get(s)?.delete(o)},invalidateAll(s){n.delete(s)},size(s){return n.get(s)?.size??0}};return S({name:e,groups:t.clearGroups,clearAll:s=>a.invalidateAll(s),clearFile:(s,o)=>a.invalidate(s,o)}),a}function Be(e,t){let n=new WeakMap,i={get(r,a){let s=n.get(r);if(s)return s.value;let o=a();return n.set(r,{value:o}),o},invalidate(r){n.delete(r)},has(r){return n.has(r)}};return S({name:e,groups:t.clearGroups,clearAll:r=>i.invalidate(r)}),i}var fe={clearGroups:["whole-project","source-file"],maxEntries:K};function Ye(e){return Ee(e,fe)}function Ee(e,t){let{cache:n,ensure:i}=X(),r=U(t),a={get(s,o,c,l){let g=i(s),h=g.get(o);if(h&&h.source===c)return H(g,o,h),h.value;let A=l();return g.set(o,{source:c,value:A}),W(g,r),A},invalidate(s,o){n.get(s)?.delete(o)},invalidateAll(s){n.delete(s)}};return S({name:e,groups:t.clearGroups,clearAll:s=>a.invalidateAll(s),clearFile:(s,o)=>a.invalidate(s,o)}),a}import{createHash as ge}from"crypto";import{existsSync as Qe,mkdirSync as he}from"fs";import{dirname as B,join as ve}from"path";import Y from"better-sqlite3";var ye="evidence.db";var me=["source-facts","definition-exclusions","doc-path-tokens","react-component-behavior-profiles"],R=new Set(me);var tt=512*1024*1024,_e=6e4,D=new WeakMap,Te=v("evidence-content-hash",{clearGroups:["whole-project","source-file"]}),Se=v("evidence-project-fingerprint",{clearGroups:["whole-project"]}),p="evidence-v1",y="version NOT LIKE 'evidence-%'";function $(e){return ge("sha256").update(e).digest("hex")}function nt(e,t,n){return Te.get(e,t,()=>$(n))}function G(e){return Se.get(e,"current",()=>{try{if(!e.generation.metadataRaw)return null;let t=x(e.generation.metadataRaw);if(t.kind!=="legacy"&&t.kind!=="supported"||!t.capabilities.usableForEvidenceCache)return null;let n=t.metadata,i=[...n.indexedLanguages??[]].sort();return $(JSON.stringify({fingerprint:n.fingerprint,indexedLanguages:i,status:n.status}))}catch(t){return m("project fingerprint unavailable",t),null}})}function m(e,t){process.env.SCIP_QUERY_DEBUG&&console.error(`evidence-cache: ${e}: ${t instanceof Error?t.message:String(t)}`)}function u(e){if(D.has(e))return D.get(e)??null;let t=null;try{let n=new Y(e.config.evidenceDbPath??ve(B(e.config.dbPath),ye));n.pragma("journal_mode = WAL"),n.pragma("busy_timeout = 5000"),n.pragma("synchronous = NORMAL"),n.exec(`
2
- CREATE TABLE IF NOT EXISTS file_evidence (
3
- kind TEXT NOT NULL,
4
- relative_path TEXT NOT NULL,
5
- content_hash TEXT NOT NULL,
6
- version TEXT NOT NULL,
7
- payload TEXT NOT NULL,
8
- PRIMARY KEY (kind, relative_path)
9
- );
10
- CREATE TABLE IF NOT EXISTS project_evidence (
11
- kind TEXT NOT NULL,
12
- cache_key TEXT NOT NULL,
13
- project_fingerprint TEXT NOT NULL,
14
- version TEXT NOT NULL,
15
- payload TEXT NOT NULL,
16
- PRIMARY KEY (kind, cache_key)
17
- );
18
- CREATE TABLE IF NOT EXISTS semantic_callees (
19
- relative_path TEXT NOT NULL,
20
- symbol TEXT NOT NULL,
21
- content_hash TEXT NOT NULL,
22
- deps_digest TEXT NOT NULL,
23
- version TEXT NOT NULL,
24
- payload TEXT NOT NULL,
25
- PRIMARY KEY (relative_path, symbol)
26
- );
27
- CREATE TABLE IF NOT EXISTS semantic_references (
28
- relative_path TEXT NOT NULL,
29
- symbol TEXT NOT NULL,
30
- project_fingerprint TEXT NOT NULL,
31
- version TEXT NOT NULL,
32
- payload TEXT NOT NULL,
33
- PRIMARY KEY (relative_path, symbol)
34
- );
35
- `),t={evidence:n,shared:De(e.config.sharedEvidenceDbPath),readFileEvidence:n.prepare("SELECT payload FROM file_evidence WHERE kind = ? AND relative_path = ? AND content_hash = ? AND version = ?"),readLegacyFileEvidence:n.prepare(`SELECT payload FROM file_evidence
36
- WHERE kind = ? AND relative_path = ? AND content_hash = ? AND ${y}
37
- ORDER BY version DESC
38
- LIMIT 1`),writeFileEvidence:n.prepare("INSERT OR REPLACE INTO file_evidence (kind, relative_path, content_hash, version, payload) VALUES (?, ?, ?, ?, ?)"),rekeyFileEvidence:n.prepare("UPDATE file_evidence SET content_hash = ?, version = ? WHERE kind = ? AND relative_path = ? AND content_hash = ?"),readProjectEvidence:n.prepare("SELECT payload FROM project_evidence WHERE kind = ? AND cache_key = ? AND project_fingerprint = ? AND version = ?"),readLegacyProjectEvidence:n.prepare(`SELECT payload FROM project_evidence
39
- WHERE kind = ? AND cache_key = ? AND project_fingerprint = ? AND ${y}
40
- ORDER BY version DESC
41
- LIMIT 1`),writeProjectEvidence:n.prepare("INSERT OR REPLACE INTO project_evidence (kind, cache_key, project_fingerprint, version, payload) VALUES (?, ?, ?, ?, ?)"),rekeyProjectEvidenceKind:n.prepare("UPDATE project_evidence SET project_fingerprint = ?, version = ? WHERE kind = ? AND project_fingerprint = ?"),readCallees:n.prepare(`SELECT payload FROM semantic_callees
42
- WHERE relative_path = ? AND symbol = ? AND content_hash = ? AND deps_digest = ? AND version = ?`),readLegacyCallees:n.prepare(`SELECT payload FROM semantic_callees
43
- WHERE relative_path = ? AND symbol = ? AND content_hash = ? AND deps_digest = ? AND ${y}
44
- ORDER BY version DESC
45
- LIMIT 1`),readCalleesForFile:n.prepare(`SELECT symbol, payload FROM semantic_callees
46
- WHERE relative_path = ? AND content_hash = ? AND deps_digest = ? AND version = ?`),readLegacyCalleesForFile:n.prepare(`SELECT symbol, payload FROM semantic_callees
47
- WHERE relative_path = ? AND content_hash = ? AND deps_digest = ? AND ${y}
48
- ORDER BY symbol, version DESC`),writeCallees:n.prepare(`INSERT OR REPLACE INTO semantic_callees
49
- (relative_path, symbol, content_hash, deps_digest, version, payload) VALUES (?, ?, ?, ?, ?, ?)`),dropStaleCallees:n.prepare("DELETE FROM semantic_callees WHERE relative_path = ? AND content_hash != ?"),readReferences:n.prepare(`SELECT payload FROM semantic_references
50
- WHERE relative_path = ? AND symbol = ? AND project_fingerprint = ? AND version = ?`),readLegacyReferences:n.prepare(`SELECT payload FROM semantic_references
51
- WHERE relative_path = ? AND symbol = ? AND project_fingerprint = ? AND ${y}
52
- ORDER BY version DESC
53
- LIMIT 1`),readReferencesForFile:n.prepare(`SELECT symbol, payload FROM semantic_references
54
- WHERE relative_path = ? AND project_fingerprint = ? AND version = ?`),readLegacyReferencesForFile:n.prepare(`SELECT symbol, payload FROM semantic_references
55
- WHERE relative_path = ? AND project_fingerprint = ? AND ${y}
56
- ORDER BY symbol, version DESC`),writeReferences:n.prepare(`INSERT OR REPLACE INTO semantic_references
57
- (relative_path, symbol, project_fingerprint, version, payload) VALUES (?, ?, ?, ?, ?)`),dropStaleReferences:n.prepare("DELETE FROM semantic_references WHERE relative_path = ? AND project_fingerprint != ?")}}catch(n){m("disabled (open failed)",n)}return D.set(e,t),t}function f(e,t,n){m(`disabled (${t})`,n),D.set(e,null)}function De(e){if(!e)return null;try{he(B(e),{recursive:!0});let t=new Y(e);return t.pragma("journal_mode = WAL"),t.pragma("busy_timeout = 250"),t.pragma("synchronous = NORMAL"),t.exec(`
58
- CREATE TABLE IF NOT EXISTS file_evidence (
59
- kind TEXT NOT NULL,
60
- relative_path TEXT NOT NULL,
61
- content_hash TEXT NOT NULL,
62
- version TEXT NOT NULL,
63
- payload TEXT NOT NULL,
64
- last_accessed_at INTEGER NOT NULL,
65
- PRIMARY KEY (kind, relative_path, content_hash, version)
66
- );
67
- CREATE INDEX IF NOT EXISTS idx_file_evidence_lru
68
- ON file_evidence(last_accessed_at, kind, relative_path, content_hash, version);
69
- `),{evidence:t,readFileEvidence:t.prepare("SELECT payload FROM file_evidence WHERE kind = ? AND relative_path = ? AND content_hash = ? AND version = ?"),writeFileEvidence:t.prepare(`INSERT INTO file_evidence (kind, relative_path, content_hash, version, payload, last_accessed_at)
70
- VALUES (?, ?, ?, ?, ?, ?)
71
- ON CONFLICT(kind, relative_path, content_hash, version)
72
- DO UPDATE SET payload = excluded.payload, last_accessed_at = excluded.last_accessed_at`),touchFileEvidence:t.prepare(`UPDATE file_evidence
73
- SET last_accessed_at = ?
74
- WHERE kind = ? AND relative_path = ? AND content_hash = ? AND version = ?
75
- AND last_accessed_at < ?`)}}catch(t){return m("shared cache disabled (open failed)",t),null}}function w(e,t,n){m(`shared cache disabled (${t})`,n);try{e.shared?.evidence.close()}catch{}e.shared=null}function z(e,t,n,i){let r=u(e);if(!r)return null;try{let a=r.readFileEvidence.get(t,n,i,p)??r.readLegacyFileEvidence.get(t,n,i);if(a?.payload!==void 0)return a.payload;if(!R.has(t)||!r.shared)return null;try{let s=r.shared.readFileEvidence.get(t,n,i,p);return s?.payload!==void 0&&be(r.shared,t,n,i),s?.payload??null}catch(s){return w(r,"file_evidence read",s),null}}catch(a){return f(e,"file_evidence read",a),null}}function be(e,t,n,i){let r=Date.now();try{e.touchFileEvidence.run(r,t,n,i,p,r-_e)}catch(a){m("shared file_evidence recency touch skipped",a)}}function Q(e,t,n,i,r){let a=u(e);if(a)try{if(a.writeFileEvidence.run(t,n,i,p,r),R.has(t)&&a.shared)try{a.shared.writeFileEvidence.run(t,n,i,p,r,Date.now())}catch(s){w(a,"file_evidence write",s)}}catch(s){f(e,"file_evidence write",s)}}function J(e,t){if(t.length===0)return;let n=u(e);if(n)try{n.evidence.transaction(()=>{for(let r of t)n.writeFileEvidence.run(r.kind,r.relativePath,r.contentHash,p,r.payload)})();try{n.evidence.pragma("wal_checkpoint(TRUNCATE)")}catch{}let i=t.filter(r=>R.has(r.kind));if(i.length>0&&n.shared)try{n.shared.evidence.transaction(()=>{for(let r of i)n.shared.writeFileEvidence.run(r.kind,r.relativePath,r.contentHash,p,r.payload,Date.now())})()}catch(r){w(n,"file_evidence batch write",r)}}catch(i){f(e,"file_evidence batch write",i)}}function q(e,t,n,i){let r=u(e);if(!r)return null;try{return(r.readProjectEvidence.get(t,n,i,p)??r.readLegacyProjectEvidence.get(t,n,i))?.payload??null}catch(a){return f(e,"project_evidence read",a),null}}function Z(e,t,n,i,r){let a=u(e);if(a)try{a.writeProjectEvidence.run(t,n,i,p,r)}catch(s){f(e,"project_evidence write",s)}}function rt(e,t,n,i){if(n===i)return 0;let r=u(e);if(!r)return 0;try{return r.rekeyProjectEvidenceKind.run(i,p,t,n).changes}catch(a){return f(e,"project_evidence kind rekey",a),0}}function it(e,t,n,i){let r=u(e);if(!r)return new Map;try{let a=r.readCalleesForFile.all(t,n,i,p),s=r.readLegacyCalleesForFile.all(t,n,i);return ee([...s,...a])}catch(a){return f(e,"semantic_callees bulk read",a),new Map}}function at(e,t,n){let i=u(e);if(!i)return new Map;try{let r=i.readReferencesForFile.all(t,n,p),a=i.readLegacyReferencesForFile.all(t,n);return ee([...a,...r])}catch(r){return f(e,"semantic_references bulk read",r),new Map}}function ee(e){let t=new Map;for(let n of e)t.set(n.symbol,n.payload);return t}function st(e,t){if(t.length===0)return;let n=u(e);if(n)try{n.evidence.transaction(()=>{let i=new Set;for(let r of t){let a=`${r.relativePath}\0${r.contentHash}`;i.has(a)||(i.add(a),n.dropStaleCallees.run(r.relativePath,r.contentHash)),n.writeCallees.run(r.relativePath,r.symbol,r.contentHash,r.depsDigest,p,r.payload)}})()}catch(i){f(e,"semantic_callees write",i)}}function ot(e,t){if(t.length===0)return;let n=u(e);if(n)try{n.evidence.transaction(()=>{let i=new Set;for(let r of t){let a=`${r.relativePath}\0${r.projectFingerprint}`;i.has(a)||(i.add(a),n.dropStaleReferences.run(r.relativePath,r.projectFingerprint)),n.writeReferences.run(r.relativePath,r.symbol,r.projectFingerprint,p,r.payload)}})()}catch(i){f(e,"semantic_references write",i)}}function dt(e){return typeof e=="object"&&e!==null}function lt(e){return Array.isArray(e)&&e.every(t=>typeof t=="string")?e:null}import{appendFileSync as Ce,mkdirSync as Pe}from"fs";import{createHash as Ne,randomUUID as Re}from"crypto";import{dirname as we}from"path";import{performance as _}from"perf_hooks";var ie="SCIP_QUERY_PROFILE",ae="SCIP_QUERY_PROFILE_OUT",se="SCIP_QUERY_PROFILE_COMMAND",oe="SCIP_QUERY_PROFILE_CACHE_STATE",F="SCIP_QUERY_PROFILE_RUN_ID",O="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY",k="SCIP_QUERY_PROFILE_WORKLOAD_IDENTITY_KIND",ce=[ie,ae,se,oe,F,O,k],ht=new Set(ce),te=new Set,ne=new Map,re=!1;function E(){let e=process.env[ie];return e==="1"||e==="true"}function Fe(){return process.env[ae]}function de(){return process.env[se]}function Oe(){return process.env[oe]}function le(){let e=process.env[F];if(e)return e;if(!E())return;let t=Re();return process.env[F]=t,t}function pe(){return process.env[O]}function ke(e){let t=pe();if(t)return t;if(!E())return;let n=le();if(!n)return;let i=e.projectFingerprint?"published-project":"run-only",r=T(["profile-workload-v1",e.toolVersion,e.command,e.projectFingerprint??n]);return process.env[O]=r,process.env[k]=i,r}function T(e){return Ne("sha256").update(JSON.stringify(e)).digest("hex").slice(0,24)}function vt(){return Object.fromEntries(ce.flatMap(e=>{let t=process.env[e];return t===void 0?[]:[[e,t]]}))}function I(e,t,n){if(!E())return t();let i=_.now();try{let r=t();return b({type:"span",name:e,durationMs:Math.round(_.now()-i),ok:!0,...C(n)??{}}),r}catch(r){throw b({type:"span",name:e,durationMs:Math.round(_.now()-i),ok:!1,error:r instanceof Error?r.message:String(r),...C(n)??{}}),r}}async function yt(e,t,n){if(!E())return t();let i=_.now();try{let r=await t();return b({type:"span",name:e,durationMs:Math.round(_.now()-i),ok:!0,...C(n)??{}}),r}catch(r){throw b({type:"span",name:e,durationMs:Math.round(_.now()-i),ok:!1,error:r instanceof Error?r.message:String(r),...C(n)??{}}),r}}function b(e,t=Fe()){let n=Ie(e),i={timestamp:new Date().toISOString(),pid:process.pid,runId:le(),command:de(),cacheState:Oe(),...n,...e},r=`${JSON.stringify(i)}
76
- `;if(t)try{let a=we(t);te.has(a)||(Pe(a,{recursive:!0}),te.add(a)),Ce(t,r);return}catch(a){re||(re=!0,process.stderr.write(`[profile] failed to write ${t}: ${a instanceof Error?a.message:String(a)}
77
- `));return}E()&&process.stderr.write(r)}function Ie(e){let t=pe()??ke({command:de()??"unknown",toolVersion:"unknown",projectFingerprint:null});if(!t)return{};let n=process.env[k],i=typeof e.name=="string"?e.name:void 0;if(!i)return{workloadIdentity:t,workloadIdentityKind:n};let r=i.split(/[.:]/,1)[0]??i,a=`${t}\0${i}`,s=ne.get(a);return s||(s=T(["profile-subsystem-v1",t,i]),ne.set(a,s)),{workloadIdentity:t,workloadIdentityKind:n,subsystem:r,subsystemWorkIdentity:s}}function C(e){return typeof e=="function"?e():e}var Le=[d("source-facts",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/source/source-facts.ts"}),d("file-definitions",{dependsOn:["content-hash","project-fingerprint","indexed-language-set","tool-version"],keyParts:["kind","relativePath","contentHash","projectFingerprint","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/symbols/definition-catalog.ts"}),d("definition-exclusions",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/analysis/framework-patterns.ts"}),d("doc-path-tokens",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/storage/evidence-products.test.ts",owner:"tests/storage/evidence-cache.test.ts"}),d("doc-path-evidence",{dependsOn:["content-hash","git-history","git-head","tool-version"],keyParts:["kind","relativePath","contentHash","trackedFiles","historyWindow","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/queries/cleanup/doc-drift.ts"}),d("source-imports",{dependsOn:["content-hash","import-resolution-fingerprint","config","tool-version"],keyParts:["kind","relativePath","contentHash","importResolutionFingerprint","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/language-parsers/index.ts"}),d("source-reexports",{dependsOn:["content-hash","import-resolution-fingerprint","config","tool-version"],keyParts:["kind","relativePath","contentHash","importResolutionFingerprint","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/language-parsers/index.ts"}),d("source-fingerprints",{dependsOn:["content-hash","project-fingerprint","indexed-language-set","tool-version"],keyParts:["kind","relativePath","contentHash","projectFingerprint","payloadVersion"],stalenessTest:"tests/symbols/definition-catalog.test.ts",owner:"src/queries/cleanup/similar.ts"}),d("consumer-file-usage",{dependsOn:["content-hash","project-fingerprint","indexed-language-set","tool-version"],keyParts:["kind","relativePath","contentHash","projectFingerprint","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/queries/internal/consumer-evidence.ts"}),d("react-component-behavior-profiles",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/source/react-profile.ts"}),d("git-file-adds",{dependsOn:["git-head","git-history","tool-version"],keyParts:["kind","cacheKey","head","historyWindow","payloadVersion"],stalenessTest:"tests/storage/evidence-cache.test.ts",owner:"src/analysis/git-history.ts"}),d("typescript-reference-fragments",{dependsOn:["content-hash","transitive-deps-digest","config","tool-version"],keyParts:["kind","relativePath","semanticIdentity","payloadVersion"],stalenessTest:"tests/semantic/typescript/typescript-reference-fragments.test.ts",owner:"src/semantic/typescript/reference-fragment-shadow.ts"}),d("typescript-import-usage",{dependsOn:["content-hash","transitive-deps-digest","config","tool-version"],keyParts:["kind","relativePath","semanticIdentity","payloadVersion"],stalenessTest:"tests/semantic/typescript/typescript-semantic-provider.test.ts",owner:"src/semantic/shared-primitives.ts"}),d("typescript-signatures",{dependsOn:["content-hash","transitive-deps-digest","config","tool-version"],keyParts:["kind","relativePath","semanticIdentity","payloadVersion"],stalenessTest:"tests/semantic/typescript/typescript-semantic-provider.test.ts",owner:"src/semantic/shared-primitives.ts"}),d("runtime-boundary-http-roles",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/analysis/runtime-boundaries.test.ts",owner:"src/analysis/runtime-boundaries/http-summaries.ts"}),d("runtime-boundary-source-hashes",{dependsOn:["content-hash","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/analysis/runtime-boundaries.test.ts",owner:"src/analysis/runtime-boundaries/graph.ts"}),d("runtime-boundary-direct-extraction",{dependsOn:["content-hash","direct-deps-digest","tool-version"],keyParts:["kind","relativePath","contentHash","payloadVersion"],stalenessTest:"tests/analysis/runtime-boundaries.test.ts",owner:"src/analysis/runtime-boundaries/graph.ts"}),P("file-dependency-graph",{dependsOn:["project-fingerprint","indexed-language-set","import-resolution-fingerprint","tool-version"],keyParts:["kind","scope","projectFingerprint","payloadVersion"],stalenessTest:"tests/symbols/file-dep-graph.test.ts",owner:"src/symbols/graph/file-dep-graph.ts"}),P("semantic-import-usage",{dependsOn:["project-fingerprint","indexed-language-set","import-resolution-fingerprint","tool-version"],keyParts:["kind","relativePath","projectFingerprint","language","semanticEngine","payloadVersion"],stalenessTest:"tests/semantic/rust/rust-semantic-cache-gate.test.ts",owner:"src/semantic/shared-primitives.ts"}),P("semantic-signatures",{dependsOn:["project-fingerprint","indexed-language-set","tool-version"],keyParts:["kind","relativePath","symbol","projectFingerprint","language","semanticEngine","payloadVersion"],stalenessTest:"tests/semantic/rust/rust-semantic-cache-gate.test.ts",owner:"src/semantic/shared-primitives.ts"}),P("health-semantic-prewarm",{dependsOn:["project-fingerprint","indexed-language-set","tool-version"],keyParts:["kind","scope","cliVersion","projectFingerprint","payloadVersion"],stalenessTest:"tests/runtime/cli-support.test.ts",owner:"src/runtime/cli-support.ts"})];function bt(e){let t=new Map;return{kind:e.kind,read(n,i,r){let a=!1,s=0,o;if(E()){let c=G(n);if(c){let l=`${c}\0${i}\0${r}`;o=t.get(l),o||(o=T(["evidence-product-file-read-v1",e.kind,c,i,r]),t.set(l,o))}}return I("evidence-product.file.read",()=>{let c=z(n,e.kind,i,r);if(c===null)return null;s=c.length;try{let l=e.deserialize(c);return a=l!==null,l}catch{return null}},()=>({...o?{workIdentity:o,workOutcome:"computed"}:{},scope:"file",kind:e.kind,available:!0,hit:a,payloadBytes:s}))},write(n,i,r,a){Q(n,e.kind,i,r,e.serialize(a))},writeBatch(n,i){J(n,i.map(r=>({kind:e.kind,relativePath:r.relativePath,contentHash:r.contentHash,payload:e.serialize(r.value)})))}}}function Ct(e){let t=new Map;return{kind:e.kind,read(n,i,r){let a=!1,s=0,o;if(E()){let c=`${r}\0${i}`;o=t.get(c),o||(o=T(["evidence-product-project-read-v1",e.kind,r,i]),t.set(c,o))}return I("evidence-product.project.read",()=>{let c=q(n,e.kind,i,r);if(c===null)return null;s=c.length;try{let l=e.deserialize(c);return a=l!==null,l}catch{return null}},()=>({...o?{workIdentity:o,workOutcome:"computed"}:{},scope:"project",kind:e.kind,available:!0,hit:a,payloadBytes:s}))},write(n,i,r,a){Z(n,e.kind,i,r,e.serialize(a))}}}function Pt(e){let t=Le.find(n=>n.kind===e);if(!t)throw new Error(`missing evidence product manifest entry for ${e}`);return t.invalidation}function d(e,t){return{scope:"file",kind:e,invalidation:{scope:"file",...t}}}function P(e,t){return{scope:"project",kind:e,invalidation:{scope:"project",...t}}}var N=null;function L(e){N?.(e)}function Rt(e,t){let n=N;N=e;try{return t()}finally{N=n}}var Ae=v("source-text",{clearGroups:["whole-project","source-file"]}),xe=v("source-lines",{clearGroups:["whole-project","source-file"]});function je(e,t){let n=t.replace(/\\/g,"/");return L(n),Ae.get(e,n,()=>Me(e,n))}function Me(e,t){let n=t.replace(/\\/g,"/");L(n);try{return j(e.config.projectRoot,n,{inputKind:"indexed source file"})}catch(i){if(M(i))return"";throw i}}function It(e){if(e.length===0)return[];let t=e.split(`
78
- `);return e.endsWith(`
79
- `)&&t.pop(),t}function Ve(e,t){let n=t.replace(/\\/g,"/");return xe.get(e,n,()=>{let i=je(e,n);return i?i.split(`
80
- `):[]})}var Ke=/^\s*(?:\/\/|#|\/\*+|\*)\s*scip-query[\s:-]*ignore(?:[\s:-]+(dead(?:-code)?|stale|wrapper|passthrough|drift|extract|similar|twin))?\b/i;function Ue(e){let t=Ke.exec(e);return t?t[1]??"":null}function Lt(e,t,n){return ue(e,t,n).length>0}function At(e,t,n,i){let r=i.toLowerCase();return ue(e,t,n).some(a=>a.toLowerCase()===r)}function ue(e,t,n){if(n<=0)return[];let i=Ve(e,t);if(i.length===0)return[];let r=[];for(let a=n-1;a>=0&&a>=n-5;a-=1){let s=(i[a]??"").trim();if(s==="")continue;let o=Ue(s);if(o!==null){r.push(o);continue}if(!s.startsWith("//")&&!s.startsWith("*")&&!s.startsWith("/*")&&!s.startsWith("@")&&!s.startsWith("#"))return r}return r}export{S as a,He as b,v as c,Be as d,Ye as e,Ee as f,ye as g,$ as h,nt as i,G as j,rt as k,it as l,at as m,st as n,ot as o,dt as p,lt as q,E as r,vt as s,I as t,yt as u,b as v,bt as w,Ct as x,Pt as y,L as z,Rt as A,je as B,Me as C,It as D,Ve as E,Ue as F,Lt as G,At as H};
81
- //# sourceMappingURL=chunk-Q7GBK5T7.js.map
@@ -1,2 +0,0 @@
1
- import{B as I,i as Q,q as X,z as P}from"./chunk-WN3TCGJ4.js";import{a as L,b as G,d as R}from"./chunk-K3XFWJI2.js";import{a as d,f as w,g as B,h as p}from"./chunk-H5EXS3HM.js";import{F as U,U as H,V as W,a as V,fa as Y,g as F,h as S,o as O,pa as J,q,ra as K,ua as z}from"./chunk-AK3PYTIK.js";import{existsSync as Re}from"fs";import{randomUUID as ze}from"crypto";import{isAbsolute as Xe,join as Pe,relative as Ze,resolve as et}from"path";var f=1,m=2,ue="./node_modules/scip-query/docs/schemas/project-config.schema.json";function Z(e){let t=e;if(typeof e=="string")try{t=JSON.parse(e)}catch(c){return{kind:"malformed",reason:`invalid JSON: ${c instanceof Error?c.message:String(c)}`}}if(!d(t))return{kind:"malformed",reason:"project config must be a JSON object"};let n=t.schemaVersion;if(n!==void 0&&!Number.isInteger(n))return{kind:"malformed",reason:"schemaVersion must be an integer"};let r=n===void 0?f:n;if(r!==f&&r!==m)return{kind:"unsupported",schemaVersion:r,direction:r<f?"older":"future"};let s=t.$schema;if(s!==void 0&&(typeof s!="string"||s.trim()===""))return{kind:"malformed",reason:"$schema must be a non-empty string when present"};let i=ee(t),a=r!==m||typeof t.$schema!="string";return r===f?{kind:"legacy",sourceVersion:f,config:i,needsMigration:a}:{kind:"supported",sourceVersion:m,config:i,needsMigration:a}}function ee(e){let t=e,{$schema:n,schemaVersion:r,...s}=t;return{$schema:typeof n=="string"&&n.trim()!==""?n:ue,schemaVersion:m,...s}}import{createHash as pe}from"crypto";var k=1,te=2,ne=1,_=1,E="sha256";function Be(e,t,n){if(!p(e)||!w(t))throw new Error("Observation identity requires a bounded projection name and positive projection version.");return{schemaVersion:ne,canonicalizationVersion:_,hashAlgorithm:E,projection:{name:e,version:t},digest:pe(E).update(le(e,t,n)).digest("hex")}}function le(e,t,n){return`{"canonicalizationVersion":${_},"projection":${JSON.stringify(e)},"projectionVersion":${t},"value":${JSON.stringify(n)}}`}function fe(e){if(!d(e))return{kind:"malformed",reason:"observation receipt must be an object"};let t=e.schemaVersion;if(!Number.isInteger(t))return{kind:"malformed",reason:"observation receipt schemaVersion must be an integer"};if(t===k)return ge(e)?{kind:"legacy",schemaVersion:k,receipt:e}:{kind:"malformed",reason:"observation receipt v1 fields are malformed or contradictory"};if(t===te)return he(e)?{kind:"supported",schemaVersion:te,receipt:e}:{kind:"malformed",reason:"observation receipt v2 facts are malformed or contradictory"};let n=t;return{kind:"unsupported",schemaVersion:n,direction:n<k?"older":"future"}}function re(e){let t=fe(e);return t.kind==="legacy"||t.kind==="supported"}function me(e,t){return e.schemaVersion===t.schemaVersion&&e.canonicalizationVersion===t.canonicalizationVersion&&e.hashAlgorithm===t.hashAlgorithm&&e.projection.name===t.projection.name&&e.projection.version===t.projection.version}function ge(e){if(!d(e))return!1;let t=e.index,n=e.worktree;return oe(e.observedAt)&&p(e.projectIdentity)&&Oe(e.authorityKind)&&(t===void 0||d(t)&&p(t.generationIdentity)&&(t.source==="immutable"||t.source==="legacy")&&(t.alignment==="not-certified"||t.alignment==="leased"))&&(n===void 0||d(n)&&p(n.identity)&&typeof n.clean=="boolean"&&(n.headCommit===void 0||p(n.headCommit))&&(n.treeOid===void 0||p(n.treeOid)))&&Se(e.authorityKind,t,n)}function he(e){if(!d(e))return!1;let t=e.facts,n=e.observedSources,r=e.stabilityProofs;if(!oe(e.observedAt)||!d(t)||!Array.isArray(n)||n.length===0||!n.every(be)||!A(n,o=>o.kind)||!Array.isArray(r)||!r.every(ve)||!A(r,o=>o.source)||r.some(o=>!n.some(u=>u.kind===o.source))||!r.every(o=>xe(o,t))||["collaborationDomain","repositoryLineage","workspaceInstance","wholeContent"].some(o=>t[o]!==void 0&&!l(t[o])))return!1;let i=t.relevantInputs;if(i!==void 0&&(!Array.isArray(i)||!i.every(ye)||!A(i,o=>`${o.subject}\0${o.identity.projection.name}`)))return!1;let a=t.index;if(a!==void 0&&(!d(a)||!l(a.generation)||a.inputs!==void 0&&!l(a.inputs)||a.source!=="immutable"&&a.source!=="legacy"))return!1;let c=e.diagnostics;return(c===void 0||d(c)&&(c.clean===void 0||typeof c.clean=="boolean")&&(c.headCommit===void 0||p(c.headCommit))&&(c.treeOid===void 0||p(c.treeOid)))&&Ce(t,n)}function l(e){return!d(e)||!d(e.projection)?!1:e.schemaVersion===ne&&e.canonicalizationVersion===_&&e.hashAlgorithm===E&&p(e.projection.name)&&w(e.projection.version)&&B(e.digest)}function ye(e){return d(e)&&p(e.subject)&&l(e.identity)}function be(e){return d(e)&&ie(e.kind)&&(e.identity===void 0||l(e.identity))}function ve(e){return d(e)&&ie(e.source)&&(e.kind==="immutable"||e.kind==="fixed-snapshot"||e.kind==="bracketed"||e.kind==="not-established"||e.kind==="invalidated")}function Ce(e,t){let n=e.index,r=t.find(o=>o.kind==="index-generation");if(r){if(!d(n)||!l(n.generation)||r.identity&&!j(r.identity,n.generation))return!1}else if(n!==void 0)return!1;let s=e.workspaceInstance,i=t.find(o=>o.kind==="live-workspace");if(i?.identity&&(!l(s)||!j(i.identity,s)))return!1;let a=e.wholeContent,c=t.find(o=>o.kind==="repository-snapshot");return!(c?.identity&&(!l(a)||!j(c.identity,a)))}function xe(e,t){return e.kind==="not-established"||e.kind==="invalidated"?!0:e.source==="index-generation"?e.kind==="immutable"&&d(t.index)&&t.index.source==="immutable":e.source==="repository-snapshot"?e.kind==="fixed-snapshot":e.source==="live-workspace"?e.kind==="bracketed":!1}function j(e,t){return me(e,t)&&e.digest===t.digest}function Se(e,t,n){return e==="index-worktree"?t!==void 0&&n!==void 0:e==="index-only"?t!==void 0&&n===void 0:e==="worktree-only"?t===void 0&&n!==void 0:e==="process-local"&&t===void 0&&n===void 0}function Oe(e){return e==="index-worktree"||e==="index-only"||e==="worktree-only"||e==="process-local"}function ie(e){return e==="index-generation"||e==="repository-snapshot"||e==="live-workspace"||e==="process"}function oe(e){return typeof e=="string"&&!Number.isNaN(Date.parse(e))}function A(e,t){return new Set(e.map(t)).size===e.length}function He(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e;return t.kind==="automated-adjudication"&&t.policyVersion===1&&(t.decidedBy==="agent"||t.decidedBy==="human")&&G.includes(t.reasonCode)&&Array.isArray(t.evidence)&&t.evidence.length>0&&t.evidence.every(we)&&(t.observation===void 0||re(t.observation))&&!!t.invalidateOn&&typeof t.invalidateOn=="object"&&typeof t.invalidateOn.targetContentChange=="boolean"&&typeof t.invalidateOn.detectorMajorChange=="boolean"}function we(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;let t=e;return(t.kind==="source"||t.kind==="config"||t.kind==="test"||t.kind==="graph")&&typeof t.referent=="string"&&t.referent.trim()!==""&&typeof t.claim=="string"&&t.claim.trim()!==""&&(t.contentHash===void 0||/^[a-f0-9]{64}$/u.test(t.contentHash))&&(t.generation===void 0||typeof t.generation=="string"&&t.generation.length>0)}var h=".scipquery.json",Ie=2e3,se=5e3,ae=se,ke=15*6e4,ce={enabled:!0,windowMs:15*6e4,maxRebuilds:2,maxEstimatedWriteBytes:1024*1024*1024},je={enabled:!1,autoStart:!1,allowExpensiveRebuild:!1,debounceMs:Ie,cooldownMs:ae,gitPollMs:2e3,idleTimeoutMs:ke,autoRefresh:!0,ignore:[],resourceBudget:ce};var it=new Set(L);function ot(e){let t=Pe(e,h);if(!Re(t))return{};let n;try{n=F(t,{maxBytes:V,inputKind:"scip-query project config"})}catch(r){let s=r instanceof Error?r.message:String(r);throw new Error(`unable to read ${h} at ${t}: ${s}`,{cause:r})}return Ae(Z(n),t,"read").config}function st(e){return{...je,...e.watch,cooldownMs:Math.max(se,e.watch?.cooldownMs??ae),resourceBudget:{...ce,...e.watch?.resourceBudget}}}function Ae(e,t,n){if(e.kind==="legacy"||e.kind==="supported")return e;if(e.kind==="malformed"){let s=n==="read"?`invalid ${h} at ${t}: ${e.reason}`:`Cannot update ${t}: the latest project config is ${e.reason}.`;throw new Error(`${s} The file was left untouched.`)}let r=n==="read"?`invalid ${h} at ${t}`:`Cannot update ${t}: the latest project config is invalid`;throw new Error(`${r} (unsupported ${e.direction} schemaVersion ${e.schemaVersion}; this scip-query reads legacy v${f} and current v${m}). Upgrade scip-query before retrying; the file was left untouched.`)}import{existsSync as y,lstatSync as Ee}from"fs";import{resolve as _e}from"path";function xt(e,t,n,r={}){let s=new Date().toISOString();if(!y(n.dbPath))return{state:"missing",checkedAt:s,metaPath:n.metaPath,reason:"No SQLite index database exists.",remedy:"Run: scip-query reindex"};if(!y(n.metaPath))return{state:"unknown",checkedAt:s,metaPath:n.metaPath,reason:"No reindex metadata file exists next to the SQLite index.",remedy:"Run: scip-query reindex"};try{let i=R(S(n.metaPath,"reindex metadata"));if(i.kind==="unsupported")return{state:"unknown",checkedAt:s,metaPath:n.metaPath,reason:`Reindex metadata version ${i.version} is unsupported by this scip-query build.`,remedy:"Upgrade scip-query or run: scip-query reindex"};if(i.kind==="malformed")return{state:"unknown",checkedAt:s,metaPath:n.metaPath,reason:`Could not decode reindex metadata: ${i.reason}`,remedy:"Run: scip-query reindex"};let a=i.metadata,c=t.languages??Q(e),o=a.fingerprint,u=n.cacheDir&&r.gitContext&&I(r.gitContext,n.cacheDir,o)?o:void 0,g=n.cacheDir&&r.gitContext&&u&&Ne(u,c,t)&&Te(e,u,t)?r.gitObservation?.context===r.gitContext?r.gitContext:H(r.gitContext):void 0,de=r.gitObservation&&r.gitObservation.context===r.gitContext?r.gitObservation.projectFileInventorySequence:void 0,M=g?.clean&&W(e,void 0,{cachedInventoryAfterSequence:de})?g:void 0,b=n.cacheDir&&M&&u&&I(M,n.cacheDir,u)?u:Me(e,c,t),N=[...a.indexedLanguages??[]].sort(),v=i.capabilities.publishableGeneration&&q(O(a.fingerprint),b)&&JSON.stringify(N)===JSON.stringify(b.languages),C=P(n.dbPath,n.metaPath),T=C.state==="invalid"||C.state==="drifted",x=v?X(n.dbPath,b,N):void 0,$=x?.state==="incomplete",D=v&&!T&&!$;return{state:D?"fresh":"stale",checkedAt:s,metaPath:n.metaPath,updatedAt:a.updatedAt,lastRefresh:a.lastRefresh,reason:T?`SQLite generation requires repair: ${C.reason}`:$?`SQLite generation is missing ${x.missingDocumentCount} indexed source document(s): ${x.missingPaths.join(", ")}`:v?"Index metadata fingerprint matches current source files.":"Index metadata fingerprint differs from current source files.",remedy:D?void 0:"Run: scip-query reindex"}}catch(i){return{state:"unknown",checkedAt:s,metaPath:n.metaPath,reason:`Could not read reindex metadata: ${i instanceof Error?i.message:String(i)}`,remedy:"Run: scip-query reindex"}}}function St(e){let t=new Date().toISOString();if(!y(e.dbPath))return{state:"missing",checkedAt:t,metaPath:e.metaPath,reason:"No SQLite index database exists.",remedy:"Run: scip-query reindex"};if(!y(e.metaPath))return{state:"unknown",checkedAt:t,metaPath:e.metaPath,reason:"No reindex metadata file exists next to the SQLite index.",remedy:"Run: scip-query reindex"};try{let n=R(S(e.metaPath,"reindex metadata"));if(n.kind==="unsupported")return{state:"unknown",checkedAt:t,metaPath:e.metaPath,reason:`Reindex metadata version ${n.version} is unsupported by this scip-query build.`,remedy:"Upgrade scip-query or run: scip-query reindex"};if(n.kind==="malformed")return{state:"unknown",checkedAt:t,metaPath:e.metaPath,reason:`Could not decode reindex metadata: ${n.reason}`,remedy:"Run: scip-query reindex"};let r=n.metadata,s=[...r.indexedLanguages??[]].sort(),i=O(r.fingerprint),a=[...i?.languages??[]].sort(),c=n.capabilities.publishableGeneration&&i!==null&&JSON.stringify(s)===JSON.stringify(a),o=P(e.dbPath,e.metaPath),u=o.state==="invalid"||o.state==="drifted",g=c&&!u;return{state:g?"fresh":"stale",checkedAt:t,metaPath:e.metaPath,updatedAt:r.updatedAt,lastRefresh:r.lastRefresh,reason:u?`SQLite generation requires repair: ${o.reason}`:c?"Watcher accepted the newly published index generation with no later changes pending.":"Published index metadata is not a complete queryable generation.",remedy:g?void 0:"Run: scip-query reindex"}}catch(n){return{state:"unknown",checkedAt:t,metaPath:e.metaPath,reason:`Could not read reindex metadata: ${n instanceof Error?n.message:String(n)}`,remedy:"Run: scip-query reindex"}}}function Me(e,t,n){return K(e,t,{pnpmWorkspaces:n.indexer?.typescript?.pnpmWorkspaces,typescriptProjectMode:n.indexer?.typescript?.projectMode,typescriptProjects:n.indexer?.typescript?.projects,clojureConfigPath:n.indexer?.clojure?.configPath})}function Ne(e,t,n){let r=$e(t,n);return e.version===r.version&&JSON.stringify([...e.languages].sort())===JSON.stringify(r.languages)&&e.pnpmWorkspaces===r.pnpmWorkspaces&&e.typescriptProjectMode===r.typescriptProjectMode&&JSON.stringify([...e.typescriptProjects].sort())===JSON.stringify(r.typescriptProjects)&&e.clojureConfigPath===r.clojureConfigPath}function Te(e,t,n){if(!(t.languages.includes("typescript")||!!t.clojureConfigPath))return!0;let s=J(e);if(t.clojureConfigPath){let i=U(t.clojureConfigPath);if(!s.includes(i))return!1;try{if(!Ee(_e(e,i)).isFile())return!1}catch{return!1}}return!t.languages.includes("typescript")||Y(e,n.indexer?.typescript?.projectMode,n.indexer?.typescript?.projects??[],s)}function $e(e,t){return z(e,{pnpmWorkspaces:t.indexer?.typescript?.pnpmWorkspaces,typescriptProjectMode:t.indexer?.typescript?.projectMode,typescriptProjects:t.indexer?.typescript?.projects,clojureConfigPath:t.indexer?.clojure?.configPath})}export{te as a,Be as b,He as c,ot as d,st as e,xt as f,St as g};
2
- //# sourceMappingURL=chunk-QWKHW6VZ.js.map
@@ -1,16 +0,0 @@
1
- import{c as g}from"./chunk-PLYUVM4F.js";import{a as y}from"./chunk-5H5WTJSD.js";import{d as p}from"./chunk-TD7VKJ2Y.js";import{b as h,g as l,i as d}from"./chunk-42W3LFUK.js";import{C as b}from"./chunk-7JYHQAH2.js";import{xa as u,ya as f}from"./chunk-GH5YSGZL.js";function T(t,e,s={}){let n=y(t,e);if(!n)return null;let o=new g(t),a=L(t,n),r=n.endLine-n.startLine+1,m=o.calleeMap([n],{additive:!0,semantic:s.semantic}).get(n.symbolId)??[],c=new Set(m.map(B=>B.symbol));return{symbol:n.symbol,shortName:p(n.symbol),relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine,loc:r,branches:a.branches,estimateBasis:a.estimateBasis,cyclomaticEstimate:a.branches+1,calleeCount:c.size,fanIn:N(t,n.symbolId),fanOut:w(m,n.relativePath)}}function L(t,e){let s=b(t,e.relativePath);if(s){let n=d(s.rootNode,e.startLine,e.endLine);if(n)return{branches:M(n),estimateBasis:"ast"}}return{branches:E(_(t,e.relativePath,e.startLine,e.endLine),S(t,e.relativePath)),estimateBasis:"regex-fallback"}}function j(t,e){let s=new Map,n=new Map;for(let o of e){let a=n.get(o.relativePath)??[];a.push(o),n.set(o.relativePath,a)}for(let[o,a]of n){let r=b(t,o),i=r===null?[]:a.filter(c=>r.rootNode.startPosition.row<=c.startLine&&r.rootNode.endPosition.row>=c.endLine),m=new Set(i.map(c=>c.symbolId));if(r&&i.length>0){for(let c of i)s.set(c.symbolId,{branches:0,estimateBasis:"ast"});v(r.rootNode,i,s)}for(let c of a)m.has(c.symbolId)||s.set(c.symbolId,P(t,c))}return s}function P(t,e){return{branches:E(_(t,e.relativePath,e.startLine,e.endLine),S(t,e.relativePath)),estimateBasis:"regex-fallback"}}function S(t,e){return t.get("SELECT language FROM documents WHERE relative_path = ?",e)?.language??"unknown"}function _(t,e,s,n){try{return u(t.config.projectRoot,e,{inputKind:"indexed source file"}).split(`
2
- `).slice(s,n+1).join(`
3
- `)}catch(o){if(!f(o))throw o;return""}}function N(t,e){return t.get(`SELECT COUNT(DISTINCT c.document_id) AS c
4
- FROM mentions m
5
- JOIN chunks c ON m.chunk_id = c.id
6
- JOIN (
7
- SELECT m2.symbol_id, c2.document_id
8
- FROM mentions m2
9
- JOIN chunks c2 ON m2.chunk_id = c2.id
10
- WHERE m2.role = 1
11
- GROUP BY m2.symbol_id
12
- ) sym_def ON sym_def.symbol_id = m.symbol_id
13
- WHERE m.symbol_id = ?
14
- AND m.role != 1
15
- AND sym_def.document_id != c.document_id`,e)?.c??0}function w(t,e){return new Set(t.filter(s=>s.file!==e).map(s=>s.symbol)).size}function M(t){let e=0;return l(t,s=>{e+=x(s)}),e}function v(t,e,s){let n=[...e].sort((o,a)=>o.startLine-a.startLine||a.endLine-o.endLine);l(t,o=>{let a=x(o);if(a===0)return;let r=o.startPosition.row,i=o.endPosition.row;for(let m of n){if(m.startLine>r)break;if(m.endLine<i)continue;let c=s.get(m.symbolId);c&&(c.branches+=a)}})}var D=new Set(["if_statement","conditional_expression","ternary_expression","for_statement","for_in_statement","for_of_statement","while_statement","do_statement","switch_case","case_statement","catch_clause","except_clause","elif_clause","match_arm"]);function x(t){return D.has(t.type)?1:t.type==="binary_expression"&&t.parent?.type!=="binary_expression"&&(t.text.includes("&&")||t.text.includes("||"))?I(t.text):0}function I(t){return(t.match(/&&|\|\|/g)??[]).length}function E(t,e){let s=h(t),n=0,o=[/\bif\b/g,/\belse\s+if\b/g,/\belse\b/g,/\bfor\b/g,/\bwhile\b/g,/\bswitch\b/g,/\bcase\b/g,/\bcatch\b/g,/\?\s*[^?]/g,/&&/g,/\|\|/g];for(let a of o){let r=s.match(a);r&&(n+=r.length)}if(e==="python"){let a=[/\belif\b/g,/\bexcept\b/g,/\bfinally\b/g];for(let r of a){let i=s.match(r);i&&(n+=i.length)}}else if(e==="rust"){let a=[/\bmatch\b/g,/=>/g,/\bloop\b/g];for(let r of a){let i=s.match(r);i&&(n+=i.length)}}else if(e==="ruby"){let a=[/\belsif\b/g,/\bunless\b/g,/\brescue\b/g,/\bwhen\b/g];for(let r of a){let i=s.match(r);i&&(n+=i.length)}}else if(e==="go"){let a=[/\bselect\b/g,/\bdefer\b/g];for(let r of a){let i=s.match(r);i&&(n+=i.length)}}return n}export{T as a,L as b,j as c,M as d};
16
- //# sourceMappingURL=chunk-RPL3ARU7.js.map
@@ -1,4 +0,0 @@
1
- import{a as L}from"./chunk-BGBBVSH4.js";import{d as Pe}from"./chunk-6NC3YSPY.js";import{a as I}from"./chunk-IXESDH3J.js";import{b}from"./chunk-FELGD32K.js";import{b as pe,d as me,e as ge,f as be,g as Se,h as ye,i as K,j as he,m as Re}from"./chunk-2XCGSDIT.js";import{a as de}from"./chunk-WRQXLNYE.js";import{b as F}from"./chunk-T6QD2ZQB.js";import{c as ie}from"./chunk-BJT7LSPK.js";import{E as re,F as P,H as se,L as oe,R as E,S as le,T as ue,U as fe,V as B,h as ee,k as te,l as w,o as R,p as ne}from"./chunk-C7IJMOFP.js";import{a as h}from"./chunk-YXPUP5G2.js";import{d as k,f as $,g as V,i as ae,j as ce}from"./chunk-DRENNWRG.js";import{a as xe}from"./chunk-DHEQMPLW.js";import{d as g}from"./chunk-IW5XQG5G.js";import{e as J}from"./chunk-HGFDYOVB.js";import{C as x,ma as T,na as Q,oa as z}from"./chunk-AK3PYTIK.js";import{existsSync as A,readdirSync as Ee}from"fs";import{join as M}from"path";var ze={files:new Set,pathPrefixes:[]};var X=/^(?:dist|build|lib|out|output|esm|cjs|umd)\//,et=/\.(?:d\.ts|d\.mts|d\.cts|ts|tsx|mts|cts|js|jsx|mjs|cjs)$/,De=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],tt=new Set([".git",".next",".turbo","build","coverage","dist","node_modules","out"]),nt=4,rt=g("package-surface",{clearGroups:["whole-project"]}),fn=g("package-operational-surface",{clearGroups:["whole-project"]});function Me(t){return rt.get(t,()=>it(t.config.projectRoot))}function G(t,e){let n=Me(t);return n.files.has(e)?!0:n.pathPrefixes.some(r=>e.startsWith(r))}function ve(t,e){return Me(t).files.has(e)}function it(t){let e=new Set,n=[];for(let{manifest:r,packageRoot:s}of st(t))for(let i of ot(r))at(t,s,i,e,n);return e.size===0&&n.length===0?ze:{files:e,pathPrefixes:n}}function st(t){let e=[],n=Te(t,"");return n&&e.push({manifest:n,packageRoot:""}),Ce(t,"",e,0),e}function Ce(t,e,n,r){if(r>=nt)return;let s=M(t,e);if(A(s))for(let i of Ee(s,{withFileTypes:!0})){if(!i.isDirectory()||tt.has(i.name))continue;let o=e?`${e}/${i.name}`:i.name,a=Te(t,o);a&&n.push({manifest:a,packageRoot:o}),Ce(t,o,n,r+1)}}function Te(t,e){let n;try{n=T(t,M(e,"package.json"),{maxBytes:8*1024*1024,inputKind:"package manifest"})}catch(r){if(!Q(r))throw r;return null}try{let r=JSON.parse(n);return r&&typeof r=="object"?r:null}catch{return null}}function ot(t){let e=[];for(let r of["main","module","types","browser"])typeof t[r]=="string"&&e.push(t[r]);let n=t.bin;if(typeof n=="string")e.push(n);else if(n&&typeof n=="object")for(let r of Object.values(n))typeof r=="string"&&e.push(r);return we(t.exports,e),e}function we(t,e){if(typeof t=="string"){e.push(t);return}if(!(!t||typeof t!="object"))for(let n of Object.values(t))we(n,e)}function at(t,e,n,r,s){let i=n.replace(/\\/g,"/").replace(/^\.\//,"");if(i===""||i.startsWith(".."))return;let o=i.indexOf("*");if(o>=0){let l=i.slice(0,o);for(let u of ke(l))u!==""&&s.push(S(e,u));return}let a=i.replace(et,"");for(let l of ke(a)){l===a&&l===i&&r.add(S(e,i));for(let u of De)ct(t,r,e,l+u)}r.add(S(e,i))}function ke(t){let e=[t];return X.test(t)&&(e.push(t.replace(X,"src/")),e.push(t.replace(X,""))),e}function ct(t,e,n,r){let s=S(n,r);if(e.add(s),!r.startsWith("src/")||A(M(t,s)))return;let i=De.find(c=>r.endsWith(c));if(!i)return;let o=r.slice(0,-i.length);lt(t,e,n,o,i);let a=o.lastIndexOf("/");if(a<=4)return;let l=o.slice(0,a),u=o.slice(a+1);for(let c of Fe(t,n,l,`${u}${i}`))e.add(c)}function lt(t,e,n,r,s){let i=S(n,`${r}/index${s}`);A(M(t,i))&&e.add(i)}function Fe(t,e,n,r){let s=M(t,e,n);if(!A(s))return[];let i=[];for(let o of Ee(s,{withFileTypes:!0})){let a=`${n}/${o.name}`;o.isDirectory()?i.push(...Fe(t,e,a,r)):o.isFile()&&o.name===r&&i.push(S(e,a))}return i}function S(t,e){return t?`${t}/${e}`:e}import{existsSync as q,readdirSync as ut}from"fs";import{dirname as ft,join as U}from"path";var dt={rootFiles:new Set,sourcePrefixes:[]},pt=new Set([".git",".scipquery","node_modules","target"]),mt=6,gt=g("rust-library-surface",{clearGroups:["whole-project"]});function Ie(t,e,n){if(!n.endsWith(".rs")||!yt(bt(t),n))return!1;let r=E(t,n).find(s=>s.symbol===e);return r?ht(te(t,n)[r.startLine]??""):!1}function bt(t){return gt.get(t,()=>St(t.config.projectRoot))}function St(t){let e=new Set,n=new Set;for(let r of Rt(t)){let s=T(t,U(r,"Cargo.toml"),{maxBytes:8388608,inputKind:"Cargo manifest"}),i=xt(s),o=S(r,"src/lib.rs"),a=i?S(r,i):!Pt(s)&&z(t,o)?o:null;if(!a)continue;e.add(a);let l=ft(a).replaceAll("\\","/");n.add(l==="."?"":`${l}/`)}return e.size===0?dt:{rootFiles:e,sourcePrefixes:[...n].sort()}}function yt(t,e){return e.endsWith(".rs")?t.rootFiles.has(e)?!0:kt(e)?!1:t.sourcePrefixes.some(n=>e.startsWith(n)):!1}function ht(t){return/^\s*pub\s+(?!\()/.test(t)}function Rt(t){if(!q(t))return[];let e=[];return Le(t,"",e,0),e}function Le(t,e,n,r){let s=U(t,e);if(q(s)&&(q(U(s,"Cargo.toml"))&&n.push(e),!(r>=mt)))for(let i of ut(s,{withFileTypes:!0})){if(!i.isDirectory()||pt.has(i.name))continue;let o=e?`${e}/${i.name}`:i.name;Le(t,o,n,r+1)}}function xt(t){let e=!1;for(let n of t.split(`
2
- `)){let r=n.replace(/\s+#.*$/,"").trim(),s=/^\[([^\]]+)\]$/.exec(r);if(s){e=s[1]==="lib";continue}if(!e)continue;let i=/^path\s*=\s*["']([^"']+)["']/.exec(r)?.[1];if(i)return i.replaceAll("\\","/").replace(/^\.\//,"")}return null}function Pt(t){let e=!1;for(let n of t.split(`
3
- `)){let r=n.replace(/\s+#.*$/,"").trim(),s=/^\[([^\]]+)\]$/.exec(r);if(s){e=s[1]==="package";continue}if(e&&/^autolib\s*=\s*false\b/.test(r))return!0}return!1}function kt(t){return/(?:^|\/)src\/main\.rs$/.test(t)||/(?:^|\/)src\/bin\//.test(t)||/(?:^|\/)(?:examples|tests|benches)\//.test(t)}function Et(t){return Dt.get(t,()=>{let n=h(t,{includeIgnored:!1}).filter(o=>{let a=b(o);return a==="entry"||a==="worker"});if(n.length===0)return new Set;let r=F(t),s=new Set,i=new Set;for(;n.length>0;){let o=n.shift();if(!s.has(o)){s.add(o),b(o)==="barrel"&&i.add(o);for(let a of r.get(o)??[])s.has(a)||n.push(a)}}return i})}var Dt=g("live-barrels",{clearGroups:["whole-project"]});function Mt(t,e){return Et(t).has(x(e))}function Ne(t,e){let n=x(e),r=b(e);return r==="entry"||r==="worker"||Gt(n)||Mt(t,n)}function vt(t,e,n){let r=x(n),s=[];G(t,r)&&s.push("package-surface-file"),wt(t,e,r)&&s.push("transitive-package-surface"),Ie(t,e,r)&&s.push("rust-public-library"),Xt(e,r)&&s.push("framework-entrypoint");let i=t.config.entryRoots;return i&&(i.files?.some(o=>x(o)===r)&&s.push("configured-file"),i.pathPrefixes?.some(o=>r.startsWith(x(o)))&&s.push("configured-path-prefix"),i.qualifiedVars?.some(o=>Ut(e,o))&&s.push("configured-qualified-var"),i.symbolPatterns?.some(o=>{try{return xe(o,"entryRoots.symbolPatterns entry").test(e)}catch{return!1}})&&s.push("configured-symbol-pattern")),s}function _e(t,e,n){return vt(t,e,n).length>0}var Ct=g("package-surface-reachability",{clearGroups:["whole-project"]}),Tt=g("explicit-package-surface-reachability",{clearGroups:["whole-project"]});function wt(t,e,n){let r=Ft(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function In(t,e,n){let r=It(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function Ft(t){return Ct.get(t,()=>je(t,e=>G(t,e)))}function It(t){return Tt.get(t,()=>je(t,e=>ve(t,e)))}function je(t,e){let n=new Map,r=[];for(let s of h(t,{includeIgnored:!1}))e(s)&&(n.set(s,null),r.push(s));for(;r.length>0;){let s=r.shift(),i=n.get(s);if(i!==void 0)for(let o of se(t,s)){if(!o.sourcePath||t.isIgnored(o.sourcePath))continue;let a=Lt(i,o);a!==void 0&&At(n,o.sourcePath,a)&&r.push(o.sourcePath)}}return n}function Lt(t,e){if(t===null)return e.kind==="named"?new Set(e.names):null;if(e.kind==="star")return new Set(t);if(e.kind==="star-as")return e.names.some(r=>t.has(r))?null:void 0;let n=e.names.filter(r=>t.has(r));return n.length>0?new Set(n):void 0}function At(t,e,n){if(!t.has(e))return t.set(e,n),!0;let r=t.get(e);if(r===void 0)return!1;if(r===null||n===null)return r===null?!1:(t.set(e,null),!0);let s=!1;for(let i of n)r.has(i)||(r.add(i),s=!0);return s}var Oe=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]),Nt=new Set(["default","generateMetadata","generateStaticParams"]),_t=new Set(["default","getStaticProps","getServerSideProps","getStaticPaths","config"]),jt=new Set(["default","middleware","config"]),Ot=new Set(["register","onRequestError"]),$t=new Set(["onRouterTransitionStart"]),Vt=new Set(["default","loader","action","clientLoader","clientAction","headers","links","meta","shouldRevalidate","ErrorBoundary","HydrateFallback"]),Bt=new Set(["load","actions","entries",...Oe]),Kt=new Set(["default"]);function Xt(t,e){let n=k(t);return n===""?!1:$e(e)?Oe.has(n):Ve(e)?Nt.has(n):Be(e)?_t.has(n):Ke(e)?jt.has(n):Xe(e)?Ot.has(n):Ge(e)?$t.has(n):qe(e)?Vt.has(n):Ue(e)?Bt.has(n):qt(e)?Kt.has(n):!1}function Gt(t){return $e(t)||Ve(t)||Be(t)||Ke(t)||Xe(t)||Ge(t)||qe(t)||Ue(t)}function $e(t){return/(?:^|\/)app(?:\/[^/]+)*\/route\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ve(t){return/(?:^|\/)app(?:\/[^/]+)*\/(?:page|layout|template|loading|error|not-found|global-error|head|default)\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Be(t){return/(?:^|\/)pages\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ke(t){return W(t,"(?:middleware|proxy)\\.(?:ts|js|mts|mjs)")}function Xe(t){return W(t,"instrumentation\\.(?:ts|js|mts|mjs)")}function Ge(t){return W(t,"instrumentation-client\\.(?:ts|js|mts|mjs)")}function W(t,e){return new RegExp(`^(?:src/)?${e}$`).test(t)||new RegExp(`(?:^|/)src/${e}$`).test(t)||new RegExp(`(?:^|/)(?:apps|services|packages)/[^/]+/(?:src/)?${e}$`).test(t)}function qe(t){return/(?:^|\/)app\/routes\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ue(t){return/(?:^|\/)src\/routes\/(?:.*\/)?\+(?:page|page\.server|layout|layout\.server|server)\.(?:ts|js)$/.test(t)}function qt(t){return/(?:^|\/)src\/(?:pages|views|routes)\/.+\.(?:ts|tsx|js|jsx|vue)$/.test(t)}function Ut(t,e){let n=e.lastIndexOf("/");if(n<0)return!1;let r=e.slice(0,n),s=e.slice(n+1);return t.includes(Ae(r)+"/")&&t.includes(Ae(s)+".")}function Ae(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}function We(t,e,n={}){let r=new Map;if(e&&e.length===0)return r;let s=h(t,{includeIgnored:!1}),i=be(t),o=e??le(t),a=new Set(o.map(u=>u.symbolId)),l=zt(o);return Wt(t,r,s,i,a,l),Ht(t,r,o,a),Qt(t,r,s,i,a,l),n.semantic!==!1&&n.semanticEvidence&&tn(r,n.semanticEvidence.callerMap(t,en(o))),r}function Wt(t,e,n,r,s,i){for(let o of n){if(!R(o))continue;let a=re(t,o);if(a)for(let l of a){if(i&&!i.has(l.calleeLeaf))continue;let u=me(o,r.get(l.calleeLeaf)??[]);if(!u||u.length===0)continue;let c=ge(t,o,u,l.memberAccess,l.calleeQualifier);c&&s.has(c.symbolId)&&c.file!==o&&H(e,c.symbolId,o)}}}function Ht(t,e,n,r){let s=Zt(n);for(let i of Yt(t,r))t.isIgnored(i.relative_path)||Jt(i,s.get(i.symbol_id))||H(e,i.symbol_id,i.relative_path)}function Yt(t,e){return de(t,e?[...e]:void 0)}function Zt(t){let e=new Map;for(let n of t)e.set(n.symbolId,{docId:n.documentId,startLine:n.startLine,endLine:n.endLine});return e}function Jt(t,e){return!!e&&e.docId===t.document_id&&t.chunk_start>=e.startLine&&t.chunk_end<=e.endLine}function Qt(t,e,n,r,s,i){for(let o of n){if(R(o)!=="rust")continue;let a=P(t,o,{includeRustAttributeNames:!0});if(a.length!==0)for(let{name:l}of a){if(i&&!i.has(l))continue;let u=r.get(l);if(u)for(let c of u)s.has(c.symbolId)&&c.file!==o&&H(e,c.symbolId,o)}}}function H(t,e,n){let r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n)}function zt(t){let e=new Set;for(let n of t){let r="leaf"in n&&typeof n.leaf=="string"?n.leaf:"symbol"in n&&typeof n.symbol=="string"?k(n.symbol):"";r&&e.add(r)}return e.size>0?e:null}function en(t){return t.filter(e=>"relativePath"in e&&"symbol"in e&&"leaf"in e)}function tn(t,e){for(let[n,r]of e){let s=t.get(n);s||(s=new Set,t.set(n,s));for(let i of r)s.add(i)}}function Y(t,e,n={}){return We(t,e,n)}function Z(t,e,n={}){return Re(t,e,n)}function He(t,e,n={}){let r=Y(t,e,{semantic:n.semantic,semanticEvidence:n.semanticEvidence});return n.sourceFallback===!1?r:nn(r,Z(t,e))}function nn(t,e){let n=new Map;for(let[r,s]of t)n.set(r,new Set(s));for(let[r,s]of e){let i=n.get(r)??new Set;for(let o of s)i.add(o);n.set(r,i)}return n}function Ye(t,e,n){let r=e.identifierResolution==="strict"?K:he,s=e.candidateNames?Se(e.candidateNames):null,i=0,o=0,a=0,l=0,u="";for(let c of e.paths)if(i+=1,u=c,!(!R(c)&&!(e.includeVueSfc&&ne(c)))&&!t.isIgnored(c)&&!e.skipPath?.(c))try{if(s&&!ye(ee(t,c),s))continue;o+=1;let v=(d,m,j,D)=>{if(e.candidateNames&&!e.candidateNames.has(d))return;a+=1;let C=e.resolveTargets?e.resolveTargets({sourceFile:c,name:d,kind:m,defaultTargets:D}):D();for(let O of C)l+=1,n({sourceFile:c,name:d,target:O,occurrences:j,kind:m})},_=pe(t,c);for(let[d,m]of _)v(d,"identifier",m.length,()=>r(t,c,d));for(let d of P(t,c,{includeCrossLanguageDispatchNames:e.includeCrossLanguageDispatchNames,includeRustAttributeNames:e.includeRustAttributeNames})){let m=d.kind==="cross-language-dispatch"?()=>K(t,c,d.name):()=>r(t,c,d.name);v(d.name,d.kind,d.occurrences,m)}}finally{e.afterPath?.(c),i%10===0&&J("source-reference-scan.progress",()=>{},()=>({scannedPaths:i,currentPath:u,candidateMatchedPaths:o,visitedNames:a,visitedHits:l}))}}function Ze(t,e={}){let{scope:n,files:r,minLoc:s=1,maxLoc:i=Number.POSITIVE_INFINITY,excludeSymbol:o,excludeEntrySurfaces:a=!1,excludeTypesFiles:l=!1,excludeRootedSymbols:u=!1,requireFunctionLikeSymbol:c=!1,requireCallableSymbol:N=!1,excludeRustTraitImplMembers:v=!1,includeSuppressed:_=!1,sortByLocDesc:d=!1}=e,m=[],j=rn(t,{scope:n,files:r,requireFunctionLikeSymbol:c,requireCallableSymbol:N}),D=new Map,C=new Map,O=f=>{let p=D.get(f);if(p!==void 0)return p;let y=Ne(t,f);return D.set(f,y),y},Qe=f=>{let p=C.get(f);if(p!==void 0)return p;let y=b(f);return C.set(f,y),y};for(let f of j){let p=f.relativePath;if(t.isIgnored(p)||a&&O(p)||!sn(f,{requireFunctionLikeSymbol:c,requireCallableSymbol:N})||o!==void 0&&f.symbol===o)continue;let y=L(f);y<s||y>i||l&&on(p)||u&&_e(t,f.symbol,p)||v&&ae(f.symbol)||Qe(p)!=="test"&&(ce(f.symbol)||!_&&w(t,p,f.startLine)||m.push(f))}return d?m.sort((f,p)=>L(p)-L(f)):m}function rn(t,e){return e.files!==void 0?[...new Set(e.files.map(r=>r.replace(/\\/g,"/")))].sort().filter(r=>!e.scope||r.includes(e.scope)).flatMap(r=>E(t,r)):e.requireCallableSymbol?B(t,{scope:e.scope,symbolMatches:$,sqlPrefilter:"callable"}):e.requireFunctionLikeSymbol?B(t,{scope:e.scope,symbolMatches:V,sqlPrefilter:"function-like"}):fe(t,e.scope)}function sn(t,e){return e.requireCallableSymbol?$(t.symbol):e.requireFunctionLikeSymbol?V(t.symbol):t.isFunctionLike}function on(t){return(t.split("/").pop()??"").includes("types")}var Je=class{constructor(e){this.db=e}db;scopedDefinitions(e){return ue(this.db,e)}definitionsForFile(e){return E(this.db,e)}productionCallableDefinitions(e={}){return Ze(this.db,e)}calleeMap(e,n={}){return Pe(this.db,e,{...n,semanticEvidence:I})}crossFileCallerMap(e,n={}){return Y(this.db,e,{...n,semanticEvidence:I})}sourceFallbackCallerFiles(e,n={}){return Z(this.db,e,n)}callerFileMap(e,n={}){return He(this.db,e,{...n,semanticEvidence:I})}frameworkReferencedSymbolIds(e){let n=new Map;for(let s of e){if(!s.leaf)continue;let i=n.get(s.leaf)??[];i.push(s.symbolId),n.set(s.leaf,i)}let r=new Set;for(let s of h(this.db,{includeIgnored:!1}))if(R(s)==="rust")for(let{name:i}of P(this.db,s,{includeRustAttributeNames:!0}))for(let o of n.get(i)??[])r.add(o);return r}symbolsWithNonSelfCallees(e,n={}){if(e.length===0)return new Set;let r=new Map(e.map(i=>[i.symbolId,i.symbol])),s=this.calleeMap(e,n);return new Set([...s.entries()].filter(([i,o])=>{let a=r.get(i);return o.some(l=>l.symbol!==a)}).map(([i])=>i))}fileDependencyGraph(e){return F(this.db,e)}fileKind(e){return b(e)}hasSuppressionComment(e){return w(this.db,e.relativePath,e.startLine)}sourceFiles(){return ie(this.db)}scanSourceReferences(e,n){Ye(this.db,e,n)}callableSignature(e){let n=oe(this.db).forFile(e.relativePath,{facts:!0}).facts?.callables.find(r=>r.startLine===e.startLine&&r.endLine===e.endLine);return n?{paramCount:n.paramCount}:null}};export{Ne as a,vt as b,In as c,Je as d};
4
- //# sourceMappingURL=chunk-SVHTMVA4.js.map