codebaseiq 0.3.1 → 0.4.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 (321) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/dist/augment-vue-worker.js +1 -1
  3. package/dist/{chunk-7GAK2F3H.js → chunk-23AD24QZ.js} +12 -12
  4. package/dist/chunk-24TEZJST.js +2 -0
  5. package/dist/{chunk-356EZBIP.js → chunk-26EDDGAX.js} +2 -2
  6. package/dist/{chunk-O2M3VNDY.js → chunk-26EZWQ24.js} +2 -2
  7. package/dist/{chunk-U33PMPNW.js → chunk-2L3NCI52.js} +2 -2
  8. package/dist/{chunk-MSI3K7PJ.js → chunk-2QJAVISG.js} +2 -2
  9. package/dist/{chunk-4LK5OIPW.js → chunk-2ZBZRYX4.js} +2 -2
  10. package/dist/{chunk-JYRJYXUV.js → chunk-33AXWMO2.js} +2 -2
  11. package/dist/{chunk-EQNMD62X.js → chunk-37K55EG3.js} +2 -2
  12. package/dist/{chunk-LCW3PSGL.js → chunk-3EFZ5KQ4.js} +2 -2
  13. package/dist/{chunk-D7DOB27N.js → chunk-3F23W57G.js} +2 -2
  14. package/dist/{chunk-BGGB5N53.js → chunk-3GKKCVKK.js} +2 -2
  15. package/dist/{chunk-MQW6SJ4P.js → chunk-3SYRGMCL.js} +2 -2
  16. package/dist/{chunk-DWBAESVW.js → chunk-3VDL7GTY.js} +2 -2
  17. package/dist/{chunk-BFANZRQ5.js → chunk-3XBZ5PKL.js} +2 -2
  18. package/dist/{chunk-K6FNTQQW.js → chunk-42PXSE74.js} +2 -2
  19. package/dist/{chunk-ALOEHWJS.js → chunk-4GIERC2P.js} +2 -2
  20. package/dist/{chunk-W7YLRXZE.js → chunk-4UXDBRIF.js} +2 -2
  21. package/dist/chunk-4XMZYLW5.js +2 -0
  22. package/dist/{chunk-JSB43EX6.js → chunk-55NUXP2V.js} +2 -2
  23. package/dist/chunk-5AJQCOZZ.js +21 -0
  24. package/dist/{chunk-L37EQYAX.js → chunk-5NUPFZFA.js} +2 -2
  25. package/dist/{chunk-PIFYOWS4.js → chunk-65QIFIF6.js} +2 -2
  26. package/dist/{chunk-SUE7SHZL.js → chunk-66Q5VLH6.js} +2 -2
  27. package/dist/{chunk-KFTHI2R6.js → chunk-6CQPIIS7.js} +2 -2
  28. package/dist/{chunk-GV2CEZCW.js → chunk-6CTSFS7R.js} +2 -2
  29. package/dist/{chunk-SB53KPWA.js → chunk-6EBUAKJT.js} +2 -2
  30. package/dist/chunk-6I55VYFG.js +4 -0
  31. package/dist/chunk-6NUURWPF.js +3 -0
  32. package/dist/{chunk-TEMM2FEL.js → chunk-6P5QMOM7.js} +2 -2
  33. package/dist/{chunk-3LQJRS4I.js → chunk-6S5FE4ZF.js} +2 -2
  34. package/dist/chunk-74LRKLNC.js +22 -0
  35. package/dist/{chunk-NNG6M6XD.js → chunk-75A23IID.js} +2 -2
  36. package/dist/chunk-75VNTSO6.js +7 -0
  37. package/dist/chunk-7HBBVZJ6.js +3 -0
  38. package/dist/{chunk-AGGR2BKS.js → chunk-7PPBMBH6.js} +2 -2
  39. package/dist/{chunk-DECN422G.js → chunk-7WG57A5X.js} +2 -2
  40. package/dist/{chunk-ILGTMRMZ.js → chunk-7XHZX6FX.js} +2 -2
  41. package/dist/{chunk-OKAF4OQS.js → chunk-A5HJ3CJW.js} +2 -2
  42. package/dist/{chunk-JNXI6NQ7.js → chunk-AJ5HVC5Z.js} +2 -2
  43. package/dist/{chunk-SZ4P7MF7.js → chunk-AYRHOFLV.js} +2 -2
  44. package/dist/chunk-AZDY3EKD.js +93 -0
  45. package/dist/{chunk-SA7G6GJX.js → chunk-AZZNG5Z2.js} +2 -2
  46. package/dist/chunk-BEKCTUPY.js +3 -0
  47. package/dist/{chunk-PTR3EOXC.js → chunk-BKKX2OU5.js} +2 -2
  48. package/dist/{chunk-5LL4KEHO.js → chunk-BQKRYKDD.js} +2 -2
  49. package/dist/{chunk-UIAUPFBJ.js → chunk-BVDQU2XJ.js} +2 -2
  50. package/dist/chunk-C3PPB2T5.js +5 -0
  51. package/dist/chunk-CABIZQXQ.js +21 -0
  52. package/dist/{chunk-M2Y6PCFE.js → chunk-CAH322MC.js} +2 -2
  53. package/dist/{chunk-EIBGSU2R.js → chunk-CBOOHUK4.js} +2 -2
  54. package/dist/chunk-CFIICAOM.js +2 -0
  55. package/dist/{chunk-UMEPSVKT.js → chunk-CPWYEPWQ.js} +2 -2
  56. package/dist/{chunk-LQHYYIOB.js → chunk-CRT7I7RJ.js} +2 -2
  57. package/dist/{chunk-IZDPGOZR.js → chunk-CZVSQQDU.js} +2 -2
  58. package/dist/{chunk-TNJGTQWO.js → chunk-D3KE26FS.js} +2 -2
  59. package/dist/{chunk-CB5AVJMM.js → chunk-DNRHRVKS.js} +2 -2
  60. package/dist/{chunk-SGMNWYTH.js → chunk-DOQLO74K.js} +2 -2
  61. package/dist/{chunk-DDRA3QKN.js → chunk-DP3EJ6XL.js} +2 -2
  62. package/dist/{chunk-OWJWOEDU.js → chunk-DQZF7MP6.js} +2 -2
  63. package/dist/{chunk-VSGOIZMQ.js → chunk-DTM4EHD2.js} +2 -2
  64. package/dist/{chunk-YRKP7PM7.js → chunk-DUM7GR6B.js} +2 -2
  65. package/dist/{chunk-HNXRVGMY.js → chunk-DZ4QOIRY.js} +2 -2
  66. package/dist/{chunk-CSPDQLLU.js → chunk-E3R6TJ5T.js} +2 -2
  67. package/dist/chunk-E4DP45YU.js +3 -0
  68. package/dist/{chunk-PUVNH4PO.js → chunk-E5U6N5WI.js} +2 -2
  69. package/dist/chunk-E7T22WET.js +21 -0
  70. package/dist/{chunk-QEOWONKY.js → chunk-ED7ZAZ5V.js} +2 -2
  71. package/dist/{chunk-RCIGX23V.js → chunk-EDMG5CSO.js} +2 -2
  72. package/dist/{chunk-IHSLIIL3.js → chunk-EOSUV7H5.js} +2 -2
  73. package/dist/{chunk-EHPOTEQX.js → chunk-ESWVTSHU.js} +2 -2
  74. package/dist/{chunk-57OPIQFM.js → chunk-ETZBIG6K.js} +2 -2
  75. package/dist/chunk-EYSJHKX6.js +3 -0
  76. package/dist/{chunk-MC46AL7B.js → chunk-F4AGM7ZE.js} +37 -37
  77. package/dist/{chunk-EOKVZXNF.js → chunk-FPUJRBHL.js} +55 -55
  78. package/dist/{chunk-CCIYWXX6.js → chunk-G2UU6PQP.js} +2 -2
  79. package/dist/{chunk-C6WKPKCF.js → chunk-G3KRXNNT.js} +2 -2
  80. package/dist/{chunk-TEANKHUU.js → chunk-G3ZBP72R.js} +2 -2
  81. package/dist/{chunk-ELYMY5S2.js → chunk-GC4I33OD.js} +2 -2
  82. package/dist/{chunk-NDKOVQFG.js → chunk-GLXEWYQY.js} +2 -2
  83. package/dist/{chunk-CYJS33YX.js → chunk-GRHNPFHT.js} +2 -2
  84. package/dist/{chunk-QY7QB7I6.js → chunk-GWESWURK.js} +2 -2
  85. package/dist/{chunk-R4OJGTMP.js → chunk-GXOFPAIR.js} +2 -2
  86. package/dist/{chunk-OBC7HSSO.js → chunk-H4FGIFEU.js} +2 -2
  87. package/dist/{chunk-LKUTSP4G.js → chunk-HOGS6JFP.js} +2 -2
  88. package/dist/{chunk-RIO3JXHM.js → chunk-HSJLK5MC.js} +2 -2
  89. package/dist/{chunk-BWL3PMPT.js → chunk-HTPEUJ42.js} +2 -2
  90. package/dist/{chunk-DJKOXMNG.js → chunk-IBPXUGJV.js} +2 -2
  91. package/dist/{chunk-2XBJRZEM.js → chunk-ITA3N7G6.js} +2 -2
  92. package/dist/chunk-JG5OWAEB.js +22 -0
  93. package/dist/{chunk-LSZYMN2A.js → chunk-JGJKRTTB.js} +2 -2
  94. package/dist/{chunk-TJWVT4DO.js → chunk-JGXLB7PR.js} +2 -2
  95. package/dist/{chunk-5TZNHP4T.js → chunk-JKUF2UG6.js} +2 -2
  96. package/dist/{chunk-CIYA2KZN.js → chunk-JOYASZRF.js} +2 -2
  97. package/dist/{chunk-U7NUXDQO.js → chunk-K3PFL5QQ.js} +2 -2
  98. package/dist/{chunk-WK2IQJPK.js → chunk-KAXBWTSX.js} +2 -2
  99. package/dist/{chunk-5ZI2PPI7.js → chunk-KHHAGHAW.js} +2 -2
  100. package/dist/{chunk-UW6KD57C.js → chunk-KJLUQVBG.js} +2 -2
  101. package/dist/{chunk-WWCV4E6J.js → chunk-KOVUXHIZ.js} +2 -2
  102. package/dist/chunk-KPMMOAV5.js +4 -0
  103. package/dist/{chunk-2Z7K66D7.js → chunk-LKJZNGMA.js} +2 -2
  104. package/dist/{chunk-3VJ3OCRE.js → chunk-LMPOC372.js} +2 -2
  105. package/dist/{chunk-F3QSL4W2.js → chunk-LTPNP6D5.js} +2 -2
  106. package/dist/{chunk-O2KWU34K.js → chunk-M3IBH6C3.js} +9 -9
  107. package/dist/{chunk-UJIXCI3L.js → chunk-MAGBSB6E.js} +2 -2
  108. package/dist/{chunk-QMOZZ2VX.js → chunk-MFMHD36E.js} +2 -2
  109. package/dist/{chunk-LMTSB3TB.js → chunk-MJX2J5QE.js} +2 -2
  110. package/dist/{chunk-WO6OFKUC.js → chunk-N26LGGSF.js} +2 -2
  111. package/dist/{chunk-J7AMBVWF.js → chunk-NB2DAVPP.js} +2 -2
  112. package/dist/{chunk-MDFT325O.js → chunk-NJDXNYLG.js} +2 -2
  113. package/dist/{chunk-BRQL7AFJ.js → chunk-NMKQOIYZ.js} +2 -2
  114. package/dist/{chunk-ICUL7XRT.js → chunk-NRNVMB2R.js} +2 -2
  115. package/dist/{chunk-JAFDMV5I.js → chunk-O5BWFNIH.js} +2 -2
  116. package/dist/{chunk-3H2H5ODK.js → chunk-O7PCDZ5B.js} +2 -2
  117. package/dist/{chunk-KPZGTB2O.js → chunk-OAJYNPRU.js} +2 -2
  118. package/dist/{chunk-KUKWHP4R.js → chunk-OFUC6R46.js} +2 -2
  119. package/dist/chunk-OSZ7PW5K.js +5 -0
  120. package/dist/{chunk-B3UYV66Z.js → chunk-OZ2M2X7A.js} +2 -2
  121. package/dist/{chunk-6O3KXIDL.js → chunk-OZI44VCR.js} +2 -2
  122. package/dist/{chunk-XN3EKMLI.js → chunk-PCKIKOUA.js} +2 -2
  123. package/dist/{chunk-I3OK27P7.js → chunk-PFMQRHC6.js} +2 -2
  124. package/dist/{chunk-K4S2VH42.js → chunk-PVKSZBX5.js} +2 -2
  125. package/dist/{chunk-NEWHKGVD.js → chunk-QANCT4MO.js} +2 -2
  126. package/dist/{chunk-ZNH33XIB.js → chunk-QEWN7BLP.js} +2 -2
  127. package/dist/{chunk-OQUCBKOI.js → chunk-QFJ46F6F.js} +2 -2
  128. package/dist/{chunk-2E6OUPCF.js → chunk-QPQWR6CW.js} +2 -2
  129. package/dist/{chunk-YTJHCGYB.js → chunk-QX4HDF2I.js} +2 -2
  130. package/dist/{chunk-KLX6NSWT.js → chunk-R2F2CTBA.js} +2 -2
  131. package/dist/{chunk-2OMXFE64.js → chunk-R7PXHYMY.js} +2 -2
  132. package/dist/{chunk-F74LZWCE.js → chunk-RGBZDOUO.js} +2 -2
  133. package/dist/{chunk-362QOSFD.js → chunk-RNPG5P4P.js} +2 -2
  134. package/dist/{chunk-D62CTZX6.js → chunk-RS6UYNEP.js} +2 -2
  135. package/dist/{chunk-VGWZ4MOY.js → chunk-RVBRPBLQ.js} +2 -2
  136. package/dist/{chunk-BGYRF5YX.js → chunk-RWAZCEJD.js} +2 -2
  137. package/dist/{chunk-Z66XYVLZ.js → chunk-RWDIONS7.js} +2 -2
  138. package/dist/{chunk-CJTKGAGH.js → chunk-S3CJYDXP.js} +2 -2
  139. package/dist/{chunk-53ELMZRF.js → chunk-S6UTKCBT.js} +2 -2
  140. package/dist/chunk-SLLFJXTW.js +27 -0
  141. package/dist/{chunk-TOTWJZIX.js → chunk-T3KTMLQT.js} +2 -2
  142. package/dist/{chunk-HJTM3C4Y.js → chunk-TB575ZGO.js} +2 -2
  143. package/dist/{chunk-YHPG3S2U.js → chunk-TG4GMU73.js} +2 -2
  144. package/dist/{chunk-N2XDMNVI.js → chunk-THKM7OXM.js} +2 -2
  145. package/dist/{chunk-GVAF222T.js → chunk-TNLOX4TN.js} +2 -2
  146. package/dist/{chunk-BPKNP3KZ.js → chunk-UHFZDQZJ.js} +2 -2
  147. package/dist/{chunk-YT4DVWUV.js → chunk-UUMAM5LM.js} +2 -2
  148. package/dist/{chunk-TLTSESB4.js → chunk-UUT5P3V7.js} +2 -2
  149. package/dist/{chunk-W7QDASTN.js → chunk-VEPK6M5C.js} +2 -2
  150. package/dist/{chunk-XJBK3QDV.js → chunk-VPCHKZ3I.js} +2 -2
  151. package/dist/{chunk-3ON3A2QV.js → chunk-VZY3XOBU.js} +2 -2
  152. package/dist/{chunk-XQAVQVIL.js → chunk-W6E6ME7G.js} +2 -2
  153. package/dist/{chunk-KEJ2HLRW.js → chunk-WGYZBS5S.js} +2 -2
  154. package/dist/{chunk-5MPBSFZH.js → chunk-WUP24Q4U.js} +2 -2
  155. package/dist/chunk-WXUHXSLN.js +2 -0
  156. package/dist/{chunk-F5CJO5JN.js → chunk-X4YZD2MP.js} +2 -2
  157. package/dist/chunk-XARPGCTL.js +2 -0
  158. package/dist/{chunk-5FWR5HLG.js → chunk-XDQ6QJF5.js} +20 -20
  159. package/dist/{chunk-JCMFBF4Z.js → chunk-XRH7R5SX.js} +2 -2
  160. package/dist/{chunk-T2M5HWBQ.js → chunk-XVJ2E7W7.js} +2 -2
  161. package/dist/{chunk-AXQCHG77.js → chunk-Y7GFAU5N.js} +2 -2
  162. package/dist/{chunk-T6MQNNAC.js → chunk-YBDLHFZZ.js} +2 -2
  163. package/dist/{chunk-ZB4C5TTR.js → chunk-YI3CJPOY.js} +2 -2
  164. package/dist/chunk-YMAGXBLT.js +3 -0
  165. package/dist/{chunk-MZNMASFM.js → chunk-YRAGNEBZ.js} +2 -2
  166. package/dist/chunk-YXZAAQHZ.js +3 -0
  167. package/dist/chunk-Z2L5H2HF.js +3 -0
  168. package/dist/{chunk-5CR4U5X2.js → chunk-ZHK7TVAJ.js} +2 -2
  169. package/dist/chunk-ZJNV27DZ.js +4 -0
  170. package/dist/{chunk-GQLDYCWS.js → chunk-ZQ6GAIUV.js} +2 -2
  171. package/dist/{chunk-4GWN76B2.js → chunk-ZQE2QYAC.js} +2 -2
  172. package/dist/chunk-ZUQ2MDFT.js +2 -0
  173. package/dist/cli-context-4R2LREXQ.js +3 -0
  174. package/dist/cli-context-6X7JYARX.js +2 -0
  175. package/dist/cli-failure-RECEHOM2.js +3 -0
  176. package/dist/cli-program-MXA3WTAO.js +7 -0
  177. package/dist/cli.js +1 -1
  178. package/dist/{code-viewer-AMRXV444.js → code-viewer-C6HE4DFC.js} +2 -2
  179. package/dist/{code-viewer-EXI5SFFR.js → code-viewer-XHSSAMBX.js} +2 -2
  180. package/dist/{command-descriptors-ROIOTCCW.js → command-descriptors-NWW34Z54.js} +171 -171
  181. package/dist/{command-descriptors-H6A4UY72.js → command-descriptors-XHK3PK2I.js} +116 -116
  182. package/dist/{command-panels-SZONPMLJ.js → command-panels-OXMCJ2QZ.js} +2 -2
  183. package/dist/direct-navigation-236VXYBZ.js +3 -0
  184. package/dist/direct-navigation-36YSILY6.js +2 -0
  185. package/dist/index.js +1 -1
  186. package/dist/invocation-command-descriptors-35JULLNR.js +3 -0
  187. package/dist/invocation-command-descriptors-FEWSFUO2.js +2 -0
  188. package/dist/output-continuation-command-MJBVH3A5.js +2 -0
  189. package/dist/output-continuation-command-TBXIOPHQ.js +3 -0
  190. package/dist/project-reindex-5TCGOVSK.js +2 -0
  191. package/dist/project-reindex-BUNTSYKM.js +3 -0
  192. package/dist/queries/affected.js +1 -1
  193. package/dist/queries/anchors.js +1 -1
  194. package/dist/queries/architecture.js +1 -1
  195. package/dist/queries/bottlenecks.js +1 -1
  196. package/dist/queries/by-kind.js +1 -1
  197. package/dist/queries/call-graph.js +1 -1
  198. package/dist/queries/change-surface.js +1 -1
  199. package/dist/queries/cleanup-plan.js +1 -1
  200. package/dist/queries/co-change.js +1 -1
  201. package/dist/queries/code.js +1 -1
  202. package/dist/queries/complexity-hotspots.js +1 -1
  203. package/dist/queries/complexity.js +1 -1
  204. package/dist/queries/context.js +1 -1
  205. package/dist/queries/convergence.js +1 -1
  206. package/dist/queries/coupling.js +1 -1
  207. package/dist/queries/cycles.js +1 -1
  208. package/dist/queries/dataflow.js +1 -1
  209. package/dist/queries/dead.js +1 -1
  210. package/dist/queries/decorative-checkers.js +1 -1
  211. package/dist/queries/deep-chains.js +1 -1
  212. package/dist/queries/dependence-slice.js +1 -1
  213. package/dist/queries/dependency-depth.js +1 -1
  214. package/dist/queries/deps.js +1 -1
  215. package/dist/queries/diff-impact.js +1 -1
  216. package/dist/queries/doc-drift.js +1 -1
  217. package/dist/queries/drift.js +1 -1
  218. package/dist/queries/duplicate-bodies.js +1 -1
  219. package/dist/queries/entry-map.js +1 -1
  220. package/dist/queries/evidence.js +1 -1
  221. package/dist/queries/extract-candidates.js +1 -1
  222. package/dist/queries/fan.js +1 -1
  223. package/dist/queries/files.js +1 -1
  224. package/dist/queries/health.js +1 -1
  225. package/dist/queries/hierarchy.js +1 -1
  226. package/dist/queries/hotspots.js +1 -1
  227. package/dist/queries/imports.js +1 -1
  228. package/dist/queries/incomplete-migration.js +1 -1
  229. package/dist/queries/index.js +1 -1
  230. package/dist/queries/isolated.js +1 -1
  231. package/dist/queries/locality-candidates.js +1 -1
  232. package/dist/queries/members.js +1 -1
  233. package/dist/queries/methods.js +1 -1
  234. package/dist/queries/not-implemented.js +1 -1
  235. package/dist/queries/outline.js +1 -1
  236. package/dist/queries/passthrough-candidates.js +1 -1
  237. package/dist/queries/plan-context.js +1 -1
  238. package/dist/queries/react-component-duplicates.js +1 -1
  239. package/dist/queries/react-hook-candidates.js +1 -1
  240. package/dist/queries/react-large-component-pressure.js +1 -1
  241. package/dist/queries/recent-duplicates.js +1 -1
  242. package/dist/queries/redundant-reexports.js +1 -1
  243. package/dist/queries/reference-neighborhood.js +1 -1
  244. package/dist/queries/reference-reachability.js +1 -1
  245. package/dist/queries/refs.js +1 -1
  246. package/dist/queries/self-audit.js +1 -1
  247. package/dist/queries/similar-chains.js +1 -1
  248. package/dist/queries/similar-files.js +1 -1
  249. package/dist/queries/similar-signatures.js +1 -1
  250. package/dist/queries/similar.js +1 -1
  251. package/dist/queries/slice.js +1 -1
  252. package/dist/queries/source-inspection.js +1 -1
  253. package/dist/queries/source-search.js +1 -1
  254. package/dist/queries/stale-abstractions.js +1 -1
  255. package/dist/queries/surface.js +1 -1
  256. package/dist/queries/symbols.js +1 -1
  257. package/dist/queries/system-map.js +1 -1
  258. package/dist/queries/system.js +1 -1
  259. package/dist/queries/test-quality.js +1 -1
  260. package/dist/queries/trace.js +1 -1
  261. package/dist/queries/twin-ab.js +1 -1
  262. package/dist/queries/twin-drift.js +1 -1
  263. package/dist/queries/unused-imports.js +1 -1
  264. package/dist/queries/unused-params.js +1 -1
  265. package/dist/queries/value-flow.js +1 -1
  266. package/dist/queries/vue-component-duplicates.js +1 -1
  267. package/dist/queries/vue-composable-candidates.js +1 -1
  268. package/dist/queries/vue-large-view-pressure.js +1 -1
  269. package/dist/queries/wrapper-candidates.js +1 -1
  270. package/dist/reindex-worker.js +1 -1
  271. package/dist/reindex.js +30 -30
  272. package/dist/runtime.js +1 -1
  273. package/dist/rust-semantic-session-server.js +1 -1
  274. package/dist/rust-semantic-session-worker.js +1 -1
  275. package/dist/rust-semantic-worker.js +1 -1
  276. package/dist/sentinel-ensure-command-3MZCLPQY.js +2 -0
  277. package/dist/sentinel-ensure-command-LEWHIRLL.js +3 -0
  278. package/dist/sentinel-worker.js +1 -1
  279. package/dist/typescript-mailbox-worker.js +1 -1
  280. package/dist/watch-server.js +6 -6
  281. package/docs/COMMAND_REFERENCE.md +2 -2
  282. package/docs/SECURITY_MODEL.md +3 -0
  283. package/package.json +1 -1
  284. package/skills/codebaseiq/SKILL.md +15 -3
  285. package/dist/chunk-2I2UHZET.js +0 -2
  286. package/dist/chunk-5T44HG5Y.js +0 -88
  287. package/dist/chunk-5YBDBY5L.js +0 -2
  288. package/dist/chunk-6EYESTJM.js +0 -3
  289. package/dist/chunk-6FXXYYQM.js +0 -22
  290. package/dist/chunk-7UCDGXRW.js +0 -8
  291. package/dist/chunk-BIADXGC3.js +0 -22
  292. package/dist/chunk-CLPCFGRT.js +0 -3
  293. package/dist/chunk-DUKHVPU5.js +0 -4
  294. package/dist/chunk-G7GVV2TV.js +0 -27
  295. package/dist/chunk-KUKKLWJD.js +0 -3
  296. package/dist/chunk-KWRQVLPX.js +0 -3
  297. package/dist/chunk-MEUHIDI3.js +0 -7
  298. package/dist/chunk-OP6BUIV6.js +0 -2
  299. package/dist/chunk-OQ3DK7FW.js +0 -2
  300. package/dist/chunk-OT5ISJSR.js +0 -2
  301. package/dist/chunk-SX72EVMY.js +0 -3
  302. package/dist/chunk-T75DS2E6.js +0 -21
  303. package/dist/chunk-UC2FD2PS.js +0 -4
  304. package/dist/chunk-UQYQBLJX.js +0 -5
  305. package/dist/chunk-V4NGDIEA.js +0 -21
  306. package/dist/chunk-XUPFA6GH.js +0 -2
  307. package/dist/chunk-YPBKBYPS.js +0 -21
  308. package/dist/chunk-ZMA5HWXY.js +0 -3
  309. package/dist/cli-context-FJL2JHOE.js +0 -3
  310. package/dist/cli-context-PQNWHMCQ.js +0 -2
  311. package/dist/cli-program-SCHOHOQE.js +0 -7
  312. package/dist/direct-navigation-3JOYP2MO.js +0 -3
  313. package/dist/direct-navigation-SJMJLBY7.js +0 -2
  314. package/dist/invocation-command-descriptors-GMZX3UAD.js +0 -2
  315. package/dist/invocation-command-descriptors-HNMKDEF6.js +0 -3
  316. package/dist/output-continuation-command-5NWVDQT7.js +0 -2
  317. package/dist/output-continuation-command-RNEHNYPU.js +0 -3
  318. package/dist/project-reindex-MIW5CYEG.js +0 -3
  319. package/dist/project-reindex-VQ23LWDA.js +0 -2
  320. package/dist/sentinel-ensure-command-H66AZ3VE.js +0 -2
  321. package/dist/sentinel-ensure-command-R4YAUCJB.js +0 -3
@@ -1,3 +1,3 @@
1
- import{a as Z}from"./chunk-P5XHIJHI.js";import{$ as pt,E as Dn,F as me,G as $,H as Ne,I as X,J as ee,K as _e,N as xn,O as Cn,P as wn,Q as lt,R as Le,S as te,T as kn,U as En,V as Oe,W as Pn,Y as ut,_ as ft,w as vn}from"./chunk-G7GVV2TV.js";import{d as Mn}from"./chunk-ELNRLMC5.js";import{a as De,b as xe,c as Ce,d as Te,e as q,n as Tn}from"./chunk-NNG6M6XD.js";import{b as hn,e as V,f as Ae,h as In,j as de,t as z,u as Fe}from"./chunk-GVAF222T.js";import{a as pe,f as Pe,n as bn,p as Rn}from"./chunk-F74LZWCE.js";import{C as gn,a as ke,c as ln,d as un,q as ot,z as Sn}from"./chunk-ICUL7XRT.js";import{c as en,d as tn,g as sn,h as on,k as we,m as st,o as an,q as cn,t as at,u as ct,v as ue}from"./chunk-7GAK2F3H.js";import{d as dn,f as mn,g as fe,j as yn}from"./chunk-SX72EVMY.js";import{a as _,c as fn,d as k,f as Ee}from"./chunk-3LCDIREB.js";import{A as nn,B as H,G as B,H as rn,L as it,fa as pn,n as le,q as N}from"./chunk-UC2FD2PS.js";function An(t){let e=new Map,n=li(t),r=new Map;return i=>{let s=ci(i),o=r.get(s);if(o!==void 0)return o;if(!n.has(i.file))return r.set(s,i.symbol),i.symbol;let a=e.get(i.file);a||(a=ui(z(t,i.file)),e.set(i.file,a));let c=fi(a,i);return r.set(s,c),c}}function ci(t){return`${t.file}\0${t.symbol}\0${t.line}`}function li(t){return new Set(t.all("SELECT relative_path FROM documents").map(e=>e.relative_path))}function ui(t){let e=new Map,n=new Map;for(let r of t){let i=e.get(r.leaf);i?i.push(r):e.set(r.leaf,[r]);let s=n.get(r.startLine);s?s.push(r):n.set(r.startLine,[r])}return{definitions:t,byLeaf:e,byStartLine:n}}function fi(t,e){if(t.definitions.length===0)return e.symbol;let n=mi(e.symbol),r=pi(t.byLeaf,n),i=di(r,e.line);if(i)return i.symbol;let s=t.byStartLine.get(e.line)??[];return s.length===1?s[0].symbol:e.symbol}function pi(t,e){let n=[],r=new Set;for(let i of e)for(let s of t.get(i)??[])r.has(s.symbolId)||(r.add(s.symbolId),n.push(s));return n}function di(t,e){let n=null;for(let r of t)if(!(r.startLine>e||r.endLine<e)){if(r.startLine===e)return r;(!n||r.endLine-r.startLine<n.endLine-n.startLine)&&(n=r)}return n}function mi(t){let e=new Set([t]),r=t.split(/::|\.|#/).filter(Boolean).at(-1);return r&&e.add(r),e}function Fn(t,e){let r=Rn(t,e).map(i=>Si(e,i));return{usage:r,positions:gi(t,e,r)}}function Nn(t,e){return{importUsage(n){let r=t.importUsageFacts(n);if(!e||r.positions.length===0)return r.usage;let i=e.importDefinitionsForFile(n,r.positions);return i.available?yi(r.usage,i.sourcePaths):r.usage}}}function yi(t,e){return t.map((n,r)=>{let i=e.get(String(r));return i?{...n,sourcePath:i}:n})}function Si(t,e){let n=e.isTypeOnly===!0,r=e.kind==="side-effect"||n||e.used;return{importer:t,sourcePath:e.sourcePath,importedName:e.importedName,localName:e.localName,kind:e.kind,isTypeOnly:n,isUsed:r,isTypeUsed:n,isValueUsed:e.kind==="side-effect"||!n&&e.used,references:[]}}function gi(t,e,n){let r=gn(t,e);if(!r)return[];let i=bi(r.rootNode),s=new Map;for(let a of i){let c=s.get(mt(a.importedName,a.localName));c?c.push(a.position):s.set(mt(a.importedName,a.localName),[a.position])}let o=[];return n.forEach((a,c)=>{let p=s.get(mt(a.importedName,a.localName??a.importedName))?.shift();p&&o.push({...p,id:String(c),file:e})}),o}function bi(t){let e=[];for(let n of t.descendantsOfType("use_declaration")){let r=n.namedChildren.find(i=>i.type!=="visibility_modifier");r&&e.push(...Ue(r,""))}return e.filter(n=>n.importedName!=="*")}function Ue(t,e){switch(t.type){case"identifier":case"super":case"self":case"crate":return[{importedName:t.text,localName:t.text,position:dt(t,t.text)}];case"scoped_identifier":{let n=t.text.split("::").pop()??t.text;return[{importedName:n,localName:n,position:dt(t,n)}]}case"scoped_use_list":{let n=t.namedChild(0),r=t.namedChild(1);if(!n||!r)return[];let i=bn(e,n.text);return r.namedChildren.flatMap(s=>Ue(s,i))}case"use_list":return t.namedChildren.flatMap(n=>Ue(n,e));case"use_as_clause":{let n=t.namedChild(0),r=t.namedChild(1);return!n||!r?[]:Ue(n,e).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let n=t.namedChild(0),r="*";return[{importedName:r,localName:r,position:dt(n??t,r)}]}default:return[]}}function dt(t,e){let n=Math.max(0,t.text.lastIndexOf(e));return{id:"",file:"",line:t.startPosition.row,column:t.startPosition.column+n+Ri(e)}}function Ri(t){return Math.max(0,Math.min(t.length-1,1))}function mt(t,e){return`${t}\0${e}`}import{spawnSync as Dt}from"child_process";import{existsSync as xt}from"fs";import{fileURLToPath as Ss}from"url";function Be(t){let e=Dn(vn,t),n=e.runnable;return n?{available:!0,dependencyAvailable:n,resolvedBinary:e.resolvedBinary??void 0,note:"rust-analyzer semantic reference queries are enabled."}:{available:!1,dependencyAvailable:n,resolvedBinary:e.resolvedBinary??void 0,reason:"rust-analyzer is not runnable; Rust semantic checks will use SCIP/source evidence only."}}import{existsSync as Xi,mkdtempSync as ir,rmSync as Rt}from"fs";import{tmpdir as sr}from"os";import{join as ht}from"path";import{fileURLToPath as Ve,pathToFileURL as es}from"url";import{SHARE_ENV as ts,Worker as ns}from"worker_threads";function K(t,e,n=new Set){let r=new Map;for(let i of t)n.has(i.symbolId)||r.set(i.symbolId,e.get(i.symbolId)??[]);return r}function Y(t,e,n){let r=Z(process.env.SCIP_RUST_SEMANTIC_BATCH_TIMEOUT_MS)??0;if(r>0)return r;let i=Math.max(1,Math.ceil(t/Math.max(1,n)));return Math.max(12e4,3e4+i*e)}import{spawn as Fi}from"child_process";import{createHash as Ni,randomUUID as _i}from"crypto";import{existsSync as Jn,realpathSync as Li,rmSync as Oi}from"fs";import{tmpdir as Ui}from"os";import{resolve as re}from"path";import{execFileSync as Mi}from"child_process";import{realpathSync as Vo}from"fs";import{basename as Yo,dirname as Jo,join as Go,relative as Qo,sep as Zo}from"path";import{fileURLToPath as ea,pathToFileURL as ta}from"url";function qe(t){let e=new Map;for(let n of t)e.set(`${n.file}\0${n.line}\0${n.column}`,n);return[...e.values()].sort((n,r)=>{let i=n.file.localeCompare(r.file);return i!==0?i:n.line!==r.line?n.line-r.line:n.column-r.column})}var _n=new WeakMap,hi="SCIP_RUST_SCIP_OCCURRENCE_REFERENCE_MODE";function Ln(t,e){let n=new Map,r=je(),i=e.filter(o=>Un(o,r));if(i.length===0)return n;let s=Bn(t,i.map(o=>o.symbol));for(let o of i){let a=s.get(o.symbol);a&&n.set(o.symbolId,a)}return n}function On(t,e){return Un(e,je())?Bn(t,[e.symbol]).get(e.symbol)??null:null}function Un(t,e="safe"){if(!t.symbol.startsWith("rust-analyzer ")||!t.relativePath.endsWith(".rs")||de(t.symbol)||/impl#\[[^\]]+\]\[Default\]default\(\)\.$/.test(t.symbol))return!1;if(e==="all")return!0;let n=Ae(t.symbol);if(n==="method")return!0;if(n!=="term")return!1;let r=hn(t.symbol);return"kind"in r?!1:!Ii(r)}function Ii(t){for(let e=0;e<t.descriptors.length-1;e+=1)if(t.descriptors[e]?.suffix==="type")return!0;return!1}function Bn(t,e){let n=_n.get(t);n||(n=new Map,_n.set(t,n));let r=[...new Set(e)].filter(i=>!n.has(i));if(r.length>0){let i=Cn(t,r);for(let s of r){let o=i?.get(s);n.set(s,o?qe(o.filter(({relativePath:a})=>!t.isIgnored(a)).map(({relativePath:a,occurrence:c})=>({file:a,line:c.range[0],column:c.range[1]}))):null)}}return new Map(e.map(i=>[i,n.get(i)??null]))}function je(){return process.env[hi]==="all"?"all":"safe"}var qn=new Map;function yt(t){let n=Be(t).resolvedBinary??null;return{engine:"rust-analyzer",resolvedBinary:n,version:n?vi(t,n):"unavailable"}}function St(t){return{...yt(t),scipOccurrenceReferenceMode:je()}}function vi(t,e){let n=`${t}\0${e}`,r=qn.get(n);if(r)return r;let i;try{i=Mi(e,["--version"],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:2e3}).trim()}catch{i="unknown"}return qn.set(n,i),i}import{createHash as Di}from"crypto";var xi=new Set(["Cargo.lock","Cargo.toml","rust-project.json","rust-toolchain","rust-toolchain.toml"]);function jn(t){let e=yn(t,{includePath:Ci});return Di("sha256").update(JSON.stringify(e)).digest("hex")}function Ci(t){let e=t.replaceAll("\\","/"),n=e.split("/").at(-1)??e;return e.endsWith(".rs")||xi.has(n)?!0:e===".cargo/config"||e===".cargo/config.toml"||e.endsWith("/.cargo/config")||e.endsWith("/.cargo/config.toml")}import{createHash as Ti}from"crypto";import{resolve as wi}from"path";var ne=3;function bt(t){return Ti("sha256").update(me({kind:"codebaseiq-durable-rust-mailbox",protocolVersion:ne,sessionDir:wi(t)})).digest("hex")}function Kn(t,e){return le(t)?t.protocolVersion!==ne?zn(t.protocolVersion===void 0?"helper wrote a prior uncorrelated response protocol":`helper wrote unsupported response protocol ${String(t.protocolVersion)}`):t.mailboxVersion!==$||t.id!==e.requestId||t.operationKey!==e.operationKey||t.sessionIdentity!==e.sessionIdentity||t.deadlineAtMs!==e.deadlineAtMs?zn("helper wrote an incompatible response identity"):typeof t.completedAtMs!="number"||!Number.isFinite(t.completedAtMs)||t.completedAtMs>e.deadlineAtMs||e.nowMs>e.deadlineAtMs?{ok:!1,code:"expired-request",error:"helper response arrived after the durable request deadline"}:t.ok===!1?typeof t.error!="string"||!Ai(t.errorCode)?gt("helper wrote an invalid rejection response"):{ok:!1,code:t.errorCode,error:t.error}:t.ok!==!0||t.session!=="created"&&t.session!=="reused"&&t.session!=="invalidated"||!ki(t.response,e.requestKind)?gt("helper wrote an invalid success response"):{ok:!0,session:t.session,response:t.response}:gt("helper wrote an invalid response object")}function ki(t,e){return!le(t)||typeof t.available!="boolean"||t.available===!1&&(typeof t.reason!="string"||t.reason.length===0)||t.available===!0&&t.reason!==void 0?!1:e==="import-definitions"?Array.isArray(t.sourcePaths)&&t.sourcePaths.every(n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="string"&&(n[1]===null||typeof n[1]=="string")):Wn(t.references,Ei)&&(t.incompleteReferenceSymbolIds===void 0||Array.isArray(t.incompleteReferenceSymbolIds)&&t.incompleteReferenceSymbolIds.every(n=>Number.isSafeInteger(n)))&&(t.callees===void 0||Wn(t.callees,Pi))&&(t.signatures===void 0||Array.isArray(t.signatures)&&t.signatures.every(n=>Array.isArray(n)&&n.length===2&&Number.isSafeInteger(n[0])&&(n[1]===null||typeof n[1]=="string")))}function Wn(t,e){return Array.isArray(t)&&t.every(n=>Array.isArray(n)&&n.length===2&&Number.isSafeInteger(n[0])&&Array.isArray(n[1])&&n[1].every(e))}function Ei(t){return le(t)&&typeof t.file=="string"&&N(t.line)&&N(t.column)}function Pi(t){return le(t)&&typeof t.symbol=="string"&&typeof t.file=="string"&&N(t.line)&&(t.callsiteLine===void 0||N(t.callsiteLine))}function Ai(t){return t==="unsupported-protocol"||t==="malformed-request"||t==="expired-request"||t==="handler-error"}function gt(t){return{ok:!1,code:"malformed-response",error:t}}function zn(t){return{ok:!1,code:"incompatible-response",error:t}}var Bi=5e3,Gn=10,qi=3e4;function Hn(t,e,n,r=tr){let i=r.engineIdentity(t),s={protocolVersion:ne,projectRoot:r.canonicalProjectRoot(t),projectFingerprint:r.projectFingerprint(t),engine:{engine:i.engine,resolvedBinary:i.resolvedBinary,version:i.version},workerFingerprint:r.fileFingerprint(e),environment:Zn(r.environment())};return{key:nr(me(s)),...s}}function We(t,e,n,r){if(t.protocolVersion!==ne||!n(t.pid))return!1;if(!t.processIdentity)return!0;let i=r?.(t.pid);return i!=null&&xe(t.processIdentity,i)}function Qn(t,e,n){let r;try{r=it(e,{maxBytes:H,inputKind:"Rust semantic engine artifact"})}catch{r="missing"}let i=nr(me({projectRoot:re(t),serverPath:re(e),serverFingerprint:r})).slice(0,20);return re(n,`codebaseiq-rust-session-${i}`)}function Vn(t){let e=t===void 0?Number.NaN:Number(t);return Number.isInteger(e)&&e>=0?e:0}function Zn(t){return Object.fromEntries(Object.entries(t).filter(([e])=>er(e)).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>[e,n??null]))}function Xn(t,e){let n=e.runtime??Vi,r=e.identityRuntime??tr,i=Qn(t,e.serverPath,e.tempRoot??Ui()),s=!1,o=(a,c)=>{if(s)throw new Error("Durable Rust semantic session was already disposed.");return Wi(i,e.serverPath,e.semanticWorkerPath,a,c,n,e.mailboxLimits)};return{requestSemantic(a,c){let p=Hn(t,e.semanticWorkerPath,a,r),{readinessDeadlineMs:u,...l}=a;return o({kind:"semantic",identityKey:p.key,workerEnvironment:Yn(),request:{...l,referenceRetryTimeoutMs:ji(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,a.referenceRetryTimeoutMs),settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Vn(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},requestImportDefinitions(a,c){let p=Hn(t,e.semanticWorkerPath,a,r),{readinessDeadlineMs:u,...l}=a;return o({kind:"import-definitions",identityKey:p.key,workerEnvironment:Yn(),request:{...l,settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Vn(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},shutdown(){s=!0}}}function ji(t,e){return e!==void 0?e:t===void 0?qi:void 0}function Wi(t,e,n,r,i,s,o={}){let a=s.now(),c=a+i,p=(s.monotonicNow??q)(),u=p+i,l=X("rust-semantic-v3",r),f=ee(l),d=Ne(t),m=bt(t),R=_e(d,{mailboxVersion:$,protocolVersion:ne,id:f,operationKey:l,clientId:s.randomId(),enqueuedAtMs:a,deadlineAtMs:c,sessionIdentity:m,request:r},{nowMs:a,limits:o});for($n(t,e,n,u,s);(s.monotonicNow??q)()<=u;){if(Jn(R.responsePath)){let S=zi(B(R.responsePath,{maxBytes:o.maxItemBytes??H,inputKind:"durable Rust semantic mailbox response"}),{requestId:f,operationKey:l,sessionIdentity:m,deadlineAtMs:R.authoritativeDeadlineAtMs,requestKind:r.kind,nowMs:s.now()});if(!S.ok)throw new Error(S.error);return _()&&Ee({type:"span",name:"rust.semantic.durable-session.request",durationMs:(s.monotonicNow??q)()-p,ok:!0,session:S.session,kind:r.kind}),S.response}let I=ze(t);(!I||!We(I,s.now(),s.isProcessAlive,s.readProcessIdentity))&&$n(t,e,n,u,s),s.sleep(Gn)}throw new Error(`Durable Rust semantic session timed out after ${(i/1e3).toFixed(0)}s.`)}function $n(t,e,n,r,i){let s=ze(t);if(s&&We(s,i.now(),i.isProcessAlive,i.readProcessIdentity))return;Oi(re(t,"server.json"),{force:!0}),i.spawnServer(e,t,n);let o=i.monotonicNow??q,a=Math.min(r,o()+Bi);for(;o()<=a;){let c=ze(t);if(c&&We(c,i.now(),i.isProcessAlive,i.readProcessIdentity))return;i.sleep(Gn)}throw new Error("Durable Rust semantic session helper did not become ready within 5s.")}function ze(t){try{let e=JSON.parse(B(re(t,"server.json"),{maxBytes:nn,inputKind:"durable Rust session state"}));if(typeof e.protocolVersion!="number"||e.sessionIdentity!==void 0&&(typeof e.sessionIdentity!="string"||e.sessionIdentity!==bt(t))||typeof e.pid!="number"||typeof e.heartbeatAtMs!="number"||e.busyUntilMs!==void 0&&typeof e.busyUntilMs!="number"||e.mailbox!==void 0&&!Ki(e.mailbox))return null;let n=e.processIdentity===void 0?null:De(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{protocolVersion:e.protocolVersion,...e.sessionIdentity===void 0?{}:{sessionIdentity:e.sessionIdentity},pid:e.pid,...n?{processIdentity:n}:{},heartbeatAtMs:e.heartbeatAtMs,...e.busyUntilMs===void 0?{}:{busyUntilMs:e.busyUntilMs},...e.mailbox===void 0?{}:{mailbox:e.mailbox}}}catch{return null}}function zi(t,e){try{return Kn(JSON.parse(t),e)}catch(n){return{ok:!1,code:"malformed-response",error:`helper wrote malformed JSON: ${n instanceof Error?n.message:String(n)}`}}}function Ki(t){if(!t||typeof t!="object")return!1;let e=t;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 Yn(){return Object.fromEntries(Object.entries(process.env).filter(([t])=>Hi(t)).sort(([t],[e])=>t.localeCompare(e)).map(([t,e])=>[t,e??null]))}function er(t){return t==="HOME"||t==="PATH"||t.startsWith("CARGO_")||t.startsWith("RA_")||t.startsWith("RUST")}function Hi(t){return er(t)||t.startsWith("SCIP_RUST_")||t==="CODEBASEIQ_PROFILE"||t==="CODEBASEIQ_PROFILE_CACHE_STATE"||t==="CODEBASEIQ_PROFILE_COMMAND"||t==="CODEBASEIQ_PROFILE_OUT"||t==="CODEBASEIQ_PROFILE_RUN_ID"||t==="CODEBASEIQ_PROFILE_WORKLOAD_IDENTITY"||t==="CODEBASEIQ_PROFILE_WORKLOAD_IDENTITY_KIND"||t==="CODEBASEIQ_PROFILE_MIN_MS"}var tr={canonicalProjectRoot(t){try{return Li(t)}catch{return re(t)}},projectFingerprint(t){return jn(t)},engineIdentity:yt,fileFingerprint(t){return it(t,{maxBytes:H,inputKind:"Rust semantic engine artifact"})},environment(){return Zn(process.env)}},Vi={now:Date.now,monotonicNow:q,randomId:_i,isProcessAlive:Te,readProcessIdentity:Ce,spawnServer(t,e,n){if(!Jn(t))throw new Error(`Durable Rust semantic session helper was not found at ${t}. Run npm run build first.`);Fi(process.execPath,[t,e,n],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()},sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)}};function nr(t){return Ni("sha256").update(t).digest("hex")}import{randomUUID as Wa}from"crypto";import{readdirSync as $i,rmSync as Ka,writeFileSync as Ha}from"fs";import{join as Yi}from"path";var Ji="rust-analyzer-owner-",Gi=".json",Qi=16*1024;async function rr(t,e){if(!t)return[];let n;try{n=$i(t)}catch{return[]}let r=n.filter(o=>o.startsWith(Ji)&&o.endsWith(Gi)).map(o=>Yi(t,o)),i=[],s=[];for(let o of r){let a=Zi(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=>Tn(o,e)))),i}function Zi(t){try{let e=B(t,{maxBytes:Qi,inputKind:"rust-analyzer process ownership record"}),n=JSON.parse(e),r=De(n.rootIdentity);return n.version!==1||!r||typeof n.ownsProcessGroup!="boolean"?null:{rootPid:r.pid,rootIdentity:r,ownsProcessGroup:n.ownsProcessGroup,knownMembers:new Map([[r.pid,r]])}}catch{return null}}var or=15e3,ar=8,lr=5e3,rs=64,is=96,Mt=class{constructor(e,n,r={}){this.projectRoot=e;this.status=n;this.opts=r;this.requester=r.requester??cs(e,process.env.SCIP_RUST_SEMANTIC_DURABLE_SESSION)}projectRoot;status;opts;requester;referencesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),references:ge(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,references:K(e,new Map(r.references),new Set(r.incompleteReferenceSymbolIds??[]))}}catch(r){return this.opts.fallbackReferenceResolver?.referencesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),references:ge(e)}}}calleesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),callees:be(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!1,includeCallees:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,callees:It(e,new Map(r.callees??[]))}}catch(r){return this.opts.fallbackCalleeResolver?.calleesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),callees:be(e)}}}referencesAndCalleesForDefinitions(e,n){let r=this.status(this.projectRoot);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),references:ge(e),callees:be(n)};let i=[...e,...n];try{let s=this.requestSession(r.resolvedBinary,i,{includeReferences:e.length>0,includeCallees:n.length>0,referenceDefinitions:e,calleeDefinitions:n});return{...ye(s),resolvedBinary:r.resolvedBinary,references:K(e,new Map(s.references),new Set(s.incompleteReferenceSymbolIds??[])),callees:It(n,new Map(s.callees??[]))}}catch(s){return this.fallbackReferencesAndCallees(r,e,n,s)}}signaturesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),signatures:cr(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!1,includeCallees:!1,includeSignatures:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,signatures:ds(e,new Map(r.signatures??[]))}}catch(r){return this.opts.fallbackSignatureResolver?.signaturesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),signatures:cr(e)}}}importDefinitionsForFile(e,n){let r=this.status(this.projectRoot);if(n.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(n.map(i=>[i.id,null]))};try{let i=this.requestImportDefinitions(r.resolvedBinary,e,n);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(n.map(s=>[s.id,null]))}}}dispose(){this.requester.shutdown()}requestSession(e,n,r){let i=Ke(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,or),s=He(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),o=Ke(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,ar),a=He(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),c=r.referenceDefinitions?[...r.referenceDefinitions]:void 0,p=r.calleeDefinitions?[...r.calleeDefinitions]:void 0,u=r.signatureDefinitions?[...r.signatureDefinitions]:void 0,l=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,...r}),f={projectRoot:this.projectRoot,rustAnalyzerBinary:e,definitions:[...n],...c?{referenceDefinitions:c}:{},...p?{calleeDefinitions:p}:{},...u?{signatureDefinitions:u}:{},requestTimeoutMs:i,...r.includeReferences!==!1&&s>0?{referenceRetryTimeoutMs:s}:{},diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:o,includeReferences:r.includeReferences,includeCallees:r.includeCallees,includeSignatures:r.includeSignatures},d=ms(f);return k("rust.semantic.session.request",()=>this.requester.requestSemantic(f,Y(d,vt(i,f.referenceRetryTimeoutMs),o)),()=>({definitions:n.length,operationDefinitions:d,referenceDefinitions:f.referenceDefinitions?.length,calleeDefinitions:f.calleeDefinitions?.length,signatureDefinitions:f.signatureDefinitions?.length,references:f.includeReferences!==!1,callees:f.includeCallees===!0,signatures:f.includeSignatures===!0,referenceRetryTimeoutMs:f.referenceRetryTimeoutMs}))}fallbackReferencesAndCallees(e,n,r,i){let s=n.length===0?{available:!0,resolvedBinary:e.resolvedBinary,references:ge(n)}:this.opts.fallbackReferenceResolver?.referencesForDefinitions(n),o=r.length===0?{available:!0,resolvedBinary:e.resolvedBinary,callees:be(r)}:this.opts.fallbackCalleeResolver?.calleesForDefinitions(r);if(s&&o){let a={resolvedBinary:s.resolvedBinary??o.resolvedBinary??e.resolvedBinary,references:K(n,s.references),callees:It(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(n),callees:be(r)}}requestImportDefinitions(e,n,r){let i=Ke(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,or),s=Ke(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,ar),o=He(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),a=He(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,lr),c={projectRoot:this.projectRoot,rustAnalyzerBinary:e,file:n,positions:[...r],requestTimeoutMs:i,diagnosticsTimeoutMs:o,settleDelayMs:a,concurrency:s};return k("rust.semantic.import-definitions.session.request",()=>this.requester.requestImportDefinitions(c,Y(r.length,i,s)),()=>({file:n,positions:r.length}))}};function ye(t){return t.available?{available:!0}:{available:!1,reason:t.reason}}function Se(t){return t.available?"rust-analyzer binary path is unavailable.":t.reason}function ur(t,e,n={}){return new Mt(t,e,n)}function Re(t,e){let n=pr(t);if(n!==null)return n;let r=e.includeReferences!==!1;return r&&e.includeCallees!==!0&&e.includeSignatures!==!0&&e.definitionCount<=rs||r&&e.includeCallees===!0&&e.includeSignatures!==!0&&e.definitionCount<=is?0:lr}function ss(t){let e=t?.trim().toLowerCase(),n=e==="0"||e==="false"||e==="off"||e==="worker",r=e==="1"||e==="true"||e==="on"||e==="durable",i=e===void 0||e==="";return{transport:n||!i&&!r?"worker":"durable",source:i?"default":"environment",fallback:"worker",valid:i||n||r,optOut:"SCIP_RUST_SEMANTIC_DURABLE_SESSION=0"}}function os(t){return ss(t).transport}function as(t,e){let n=null,r=!1,i=!1,s=!1,o=()=>n??=e(),a=()=>{i||(t.shutdown(),i=!0)},c=(u,l,f)=>{let d=ps(u);r=!0;try{a()}catch{}_()&&Ee({type:"span",name:"rust.semantic.durable-session.request",durationMs:f,ok:!1,kind:l,session:"worker-fallback",reason:d})},p=(u,l,f)=>{if(s)throw new Error("Rust semantic failover session was already disposed.");if(r)return f(o());let d=performance.now();try{return l(t)}catch(m){c(m,u,performance.now()-d)}return f(o())};return{requestSemantic(u,l){return p("semantic",f=>f.requestSemantic(u,l),f=>f.requestSemantic(u,l))},requestImportDefinitions(u,l){return p("import-definitions",f=>f.requestImportDefinitions(u,l),f=>f.requestImportDefinitions(u,l))},shutdown(){if(s)return;s=!0;let u=[];try{a()}catch(l){u.push(l)}try{n?.shutdown()}catch(l){u.push(l)}if(u.length>0)throw u[0]}}}function cs(t,e,n={worker:()=>ls(),durable:()=>Xn(t,{serverPath:Ve(ys()),semanticWorkerPath:Ve(fr())})}){return os(e)==="durable"?as(n.durable(),n.worker):n.worker()}function ls(t={}){let e=null,n=null,r=1,i=!1,s=null,o=null,a=l=>{l&&Rt(l,{recursive:!0,force:!0})},c=()=>{if(s)return;let l=e,f=n;e=null,n=null;let d=l?l.terminate():Promise.resolve(0);s=Promise.allSettled([d,rr(f,{gracefulMs:1e3,forceMs:1e3})]).then(([m,R])=>{let S=(R.status==="fulfilled"?R.value:[{reaped:!1,detail:String(R.reason)}]).filter(h=>!h.reaped);if(m.status==="rejected"||S.length>0){o=new Error(`Rust semantic worker cleanup did not complete; ownership evidence remains at ${f??"unknown"}.`);return}a(f)}).finally(()=>{s=null})},p=()=>{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 l=t.semanticWorkerPath?es(t.semanticWorkerPath):fr();if(!Xi(Ve(l)))throw new Error(`Rust semantic session worker was not found at ${Ve(l)}. Run npm run build before using built semantic Rust queries.`);return n=ir(ht(sr(),"codebaseiq-rust-session-")),e=new ns(l,t.shareEnvironment?{env:ts}:void 0),e.unref(),e},u=()=>{let l=n??ir(ht(sr(),"codebaseiq-rust-session-"));return n=l,ht(l,`${r++}.json`)};return{requestSemantic(l,f){if(i)throw new Error("Rust semantic session was already disposed.");let d=p(),m=u(),R=new SharedArrayBuffer(4),I=new Int32Array(R);if(d.postMessage({kind:"semantic",request:l,responsePath:m,sharedBuffer:R}),Atomics.wait(I,0,0,f)==="timed-out")throw c(),new Error(`Rust semantic session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let h=us(B(m,{maxBytes:H,inputKind:"Rust semantic worker response"}));if(!h.ok)throw new Error(h.error);return h.response}finally{Rt(m,{force:!0})}},requestImportDefinitions(l,f){if(i)throw new Error("Rust semantic session was already disposed.");let d=p(),m=u(),R=new SharedArrayBuffer(4),I=new Int32Array(R);if(d.postMessage({kind:"import-definitions",request:l,responsePath:m,sharedBuffer:R}),Atomics.wait(I,0,0,f)==="timed-out")throw c(),new Error(`Rust semantic import-definition session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let h=fs(B(m,{maxBytes:H,inputKind:"Rust import-definition worker response"}));if(!h.ok)throw new Error(h.error);return h.response}finally{Rt(m,{force:!0})}},shutdown(){if(i)return;if(i=!0,!e){a(n),n=null;return}let l=u(),f=new SharedArrayBuffer(4),d=new Int32Array(f);e.postMessage({kind:"shutdown",responsePath:l,sharedBuffer:f}),Atomics.wait(d,0,0,5e3),c()}}}function us(t){let e=JSON.parse(t);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let n=e;return n.ok===!0&&"response"in n?{ok:!0,response:n.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function fs(t){let e=JSON.parse(t);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let n=e;return n.ok===!0&&"response"in n?{ok:!0,response:n.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function ps(t){let e=t instanceof Error?`${t.name} ${t.message}`.toLowerCase():String(t).toLowerCase();return e.includes("readiness")?"readiness":e.includes("timeout")||e.includes("timed out")?"timeout":e.includes("helper")?"helper":"request"}function ge(t){return new Map(t.map(e=>[e.symbolId,[]]))}function be(t){return new Map(t.map(e=>[e.symbolId,[]]))}function cr(t){return new Map(t.map(e=>[e.symbolId,null]))}function It(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??[]]))}function ds(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??null]))}function ms(t){let e=0;return t.includeReferences!==!1&&(e+=(t.referenceDefinitions??t.definitions).length),t.includeCallees===!0&&(e+=(t.calleeDefinitions??t.definitions).length),t.includeSignatures===!0&&(e+=(t.signatureDefinitions??t.definitions).length),Math.max(1,e)}function vt(t,e){return e&&e>0?Math.max(t,e):t}function fr(){return new URL("./rust-semantic-session-worker.js",import.meta.url)}function ys(){return new URL("./rust-semantic-session-server.js",import.meta.url)}function Ke(t,e){return Z(t)??e}function He(t,e){return pr(t)??e}function pr(t){if(!t)return null;let e=Number(t);return Number.isInteger(e)&&e>=0?e:null}var Ct=15e3,Tt=8;function Sr(t,e={}){let n=e.status??Be,r=Rs(t,n),i=hs(t,n),s=Is(t,n),o=e.referenceResolver||e.calleeResolver||e.signatureResolver||!gs(e)?null:ur(t,n,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:s}),a=e.referenceResolver??o??r,c=e.calleeResolver??o??i,p=e.signatureResolver??o??s,u=e.importUsageResolver??Nn(e.sourceImportUsageResolver??bs(),e.importDefinitionResolver??o),l=e.calleeSymbolResolver,f=e.sourceZeroCalleeOracle,d=e.scipOccurrenceCalleeOracle,m=new Map,R=new Map,I=null,S=null,h=()=>(I??=n(t),I),E=()=>{let b=h();return b.dependencyAvailable?S??b:b},M=b=>{if(b.length===0)return new Map;let y=Ie(b);try{let g=a.referencesForDefinitions(y),T=h();return S=$e(T,g),g.available?new Map(g.references):K(y,g.references)}catch(g){let T=h();return S=he(T,g),J(y)}},v=b=>{if(b.length===0)return new Map;let y=Ie(b),g=y.filter(dr);if(g.length===0)return G(y);let T=new Map,j=yr(g,d),F=[];for(let w of g)R.has(w.symbolId)?T.set(w.symbolId,R.get(w.symbolId)??[]):j.has(w.symbolId)?T.set(w.symbolId,j.get(w.symbolId)??[]):mr(w,f)?T.set(w.symbolId,[]):F.push(w);if(F.length===0)return ie(y,T,void 0);try{let w=c.calleesForDefinitions(F),O=h();S=$e(O,w);let P=ie(F,w.callees,l);for(let[ce,tt]of P)T.set(ce,tt);return ie(y,T,void 0)}catch(w){let O=h();return S=he(O,w),G(y)}},C=(b,y)=>{let g=Ie(b),T=Ie(y),j=T.filter(dr),F=new Map,w=yr(j,d),O=[];for(let P of j)w.has(P.symbolId)?F.set(P.symbolId,w.get(P.symbolId)??[]):mr(P,f)?F.set(P.symbolId,[]):O.push(P);if(g.length===0&&O.length===0)return{references:J(g),callees:ie(T,F,void 0)};try{let P=o?o.referencesAndCalleesForDefinitions(g,O):xs(a,c,{referenceDefinitions:g,calleeDefinitions:O}),ce=h();S=$e(ce,P);let tt=P.available?new Map(P.references):K(g,P.references);for(let[nt,rt]of P.callees)F.set(nt,rt);let Xt=ie(T,F,l);for(let[nt,rt]of Xt)R.set(nt,rt);return{references:tt,callees:Xt}}catch(P){let ce=h();return S=he(ce,P),{references:J(g),callees:G(T)}}},D=b=>{if(b.length===0)return new Map;let y=Ie(b);try{let g=p.signaturesForDefinitions(y),T=h();return S=$e(T,g),gr(y,g.signatures)}catch(g){let T=h();return S=he(T,g),Ye(y)}};return{language:"rust",availability:E,dispose:()=>{o?.dispose()},importUsage:b=>{let y=m.get(b);if(y)return y;try{let g=u.importUsage(b);return m.set(b,g),g}catch(g){let T=h();return S=he(T,g),[]}},referencesFor:b=>M([b]).get(b.symbolId)??[],referencesForDefinitions:M,referencesAndCalleesForDefinitions:C,calleesFor:b=>v([b]).get(b.symbolId)??[],calleesForDefinitions:v,signatureFor:b=>D([b]).get(b.symbolId)??null}}function $e(t,e){let n={dependencyAvailable:t.dependencyAvailable,resolvedBinary:e.resolvedBinary??t.resolvedBinary,...t.note?{note:t.note}:{}};return e.available?{available:!0,...n}:{available:!1,reason:e.reason,...n}}function he(t,e){return{available:!1,dependencyAvailable:t.dependencyAvailable,resolvedBinary:t.resolvedBinary,...t.note?{note:t.note}:{},reason:e instanceof Error?e.message:String(e)}}function gs(t){if(t.usePersistentSession!==void 0)return t.usePersistentSession;let e=process.env.SCIP_RUST_SEMANTIC_SESSION;return e!=="0"&&e!=="false"}function bs(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function Ie(t){return t.map(e=>{let n=e;return{...e,leaf:typeof n.leaf=="string"?n.leaf:V(e.symbol),parentTypeName:n.parentTypeName??null,isFunctionLike:typeof n.isFunctionLike=="boolean"?n.isFunctionLike:In(e.symbol),isTypeLike:n.isTypeLike??!1,kind:n.kind??null,documentation:n.documentation??null,enclosingSymbol:n.enclosingSymbol??null}})}function dr(t){return t.isFunctionLike}function mr(t,e){if(!e)return!1;try{return e(t)}catch{return!1}}function yr(t,e){if(!e||t.length===0)return new Map;try{return e(t)}catch{return new Map}}function Rs(t,e){return{referencesForDefinitions:n=>Ms(t,e,n)}}function hs(t,e){return{calleesForDefinitions:n=>vs(t,e,n)}}function Is(t,e){return{signaturesForDefinitions:n=>Ds(t,e,n)}}function Ms(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),references:J(n)};let i=wt();if(!xt(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(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=Je(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),a=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),c=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),p=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!0}),u={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,...o>0?{referenceRetryTimeoutMs:o}:{},diagnosticsTimeoutMs:c,settleDelayMs:p,concurrency:a},l=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,vt(s,u.referenceRetryTimeoutMs),a)}),f=Pt(l.stdout);if(f)return{...kt(f),resolvedBinary:r.resolvedBinary,references:K(n,new Map(f.references),new Set(f.incompleteReferenceSymbolIds??[]))};let d=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:d,references:J(n)}}function vs(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),callees:G(n)};let i=wt();if(!xt(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(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),a=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),c=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!0}),p={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:o,includeReferences:!1,includeCallees:!0},u=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(p),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,s,o)}),l=Pt(u.stdout);if(l)return{...kt(l),resolvedBinary:r.resolvedBinary,callees:ie(n,new Map(l.callees??[]),void 0)};let f=u.error instanceof Error?u.error.message:u.stderr.trim()||`Rust semantic worker exited with status ${u.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:f,callees:G(n)}}function Ds(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),signatures:Ye(n)};let i=wt();if(!xt(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:Ye(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),a=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),c=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),p={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:o,includeReferences:!1,includeCallees:!1,includeSignatures:!0},u=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(p),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,s,o)}),l=Pt(u.stdout);if(l)return{...kt(l),resolvedBinary:r.resolvedBinary,signatures:gr(n,new Map(l.signatures??[]))};let f=u.error instanceof Error?u.error.message:u.stderr.trim()||`Rust semantic worker exited with status ${u.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:f,signatures:Ye(n)}}function xs(t,e,n){let r=n.referenceDefinitions.length>0?t.referencesForDefinitions(n.referenceDefinitions):{available:!0,references:J(n.referenceDefinitions)},i=n.calleeDefinitions.length>0?e.calleesForDefinitions(n.calleeDefinitions):{available:!0,callees:G(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 J(t){return new Map(t.map(e=>[e.symbolId,[]]))}function G(t){return new Map(t.map(e=>[e.symbolId,[]]))}function Ye(t){return new Map(t.map(e=>[e.symbolId,null]))}function ie(t,e,n){let r=0,i=0;return k("rust.semantic.callees.complete-map",()=>{let s=new Map;for(let o of t){let a=e.get(o.symbolId)??[];a.length>0&&(r+=1),i+=a.length,s.set(o.symbolId,a.map(c=>({...c,symbol:n?n(c):c.symbol})))}return s},()=>({definitions:t.length,rows:r,callees:i,resolveSymbols:!!n}))}function gr(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??null]))}function wt(){return Ss(new URL("./rust-semantic-worker.js",import.meta.url))}function kt(t){return t.available?{available:!0}:{available:!1,reason:t.reason}}function Et(t){return t.available?"rust-analyzer binary path is unavailable.":t.reason}function Pt(t){try{let e=JSON.parse(t);if(!e||typeof e!="object")return null;let n=e;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 se(t,e){return Z(t)??e}function Je(t,e){if(!t)return e;let n=Number(t);return Number.isInteger(n)&&n>=0?n:e}var br=new WeakMap;function hr(t,e){let n=e.filter(Cs);if(n.length===0)return new Map;let r=0,i=0;return k("rust.scip-occurrence.callees",()=>{let s=ks(t),o=new Map;for(let a of n){let c=Ts(t,s,a);c!==null&&(o.set(a.symbolId,c),r+=1,i+=c.length)}return o},()=>({definitions:e.length,candidates:n.length,resolvedDefinitions:r,resolvedCallees:i}))}function Cs(t){return!(!t.symbol.startsWith("rust-analyzer ")||!t.relativePath.endsWith(".rs")||!t.isFunctionLike||t.leaf==="main"||de(t.symbol))}function Ts(t,e,n){let r=Pe(t,n.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(u=>u.startLine!==n.startLine||u.endLine!==n.endLine?!1:u.name===n.leaf||n.leaf.endsWith(u.name)||u.name.endsWith(n.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=Es(t,e,n.relativePath);if(!o)return null;let a=o.filter(u=>u.line>=i.startLine&&u.line<=i.endLine&&u.callee.symbol!==n.symbol);if(a.some(u=>u.traitImplMember)||!ws(s,a))return null;let c=[],p=new Set;for(let u of a){let l=`${u.callee.symbol}\0${u.callee.file}\0${u.callee.line}`;p.has(l)||(p.add(l),c.push(u.callee))}return c}function ws(t,e){let n=Rr(t),r=Rr(e);if(n.size!==r.size)return!1;for(let[i,s]of n)if(r.get(i)!==s)return!1;return!0}function Rr(t){let e=new Map;for(let n of t){let r=n.calleeLeaf??n.leaf;if(!r)continue;let i=`${n.line}\0${r}`;e.set(i,(e.get(i)??0)+1)}return e}function ks(t){let e=br.get(t);if(!e){let n=Fe(t).filter(r=>r.symbol.startsWith("rust-analyzer ")&&r.relativePath.endsWith(".rs")&&r.isFunctionLike);e={definitionBySymbol:new Map(n.map(r=>[r.symbol,r])),occurrencesByFile:new Map},br.set(t,e)}return e}function Es(t,e,n){return e.occurrencesByFile.has(n)||e.occurrencesByFile.set(n,Ps(t,e,n)),e.occurrencesByFile.get(n)??null}function Ps(t,e,n){if(!n.endsWith(".rs")||t.isIgnored(n))return[];let r=xn(t,n);if(!r)return null;let i=[];for(let s of r){if((s.roles&1)!==0)continue;let o=e.definitionBySymbol.get(s.symbol);if(!o)continue;let a=s.range[0];i.push({line:a,leaf:o.leaf,traitImplMember:de(o.symbol),callee:{symbol:o.symbol,file:o.relativePath,line:o.startLine,callsiteLine:a}})}return i}var Ge=class{sessions=new WeakMap;getOrCreate(e,n,r){let i=As(e,n),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(),c=r();return s.set(i,{key:i,language:n,projectRoot:e.config.projectRoot,provider:c,createdAtMs:a,lastUsedAtMs:a,hits:1}),c}sessionsFor(e){return[...this.sessions.get(e)?.values()??[]]}clear(e){let n=this.sessions.get(e);if(n)for(let r of n.values())r.provider.dispose?.();this.sessions.delete(e)}};function As(t,e){return`${t.config.projectRoot}:${e}-workspace`}import{randomUUID as io}from"crypto";import{existsSync as so}from"fs";import{dirname as oo}from"path";function Ir(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t;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(n=>typeof n=="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 x}from"perf_hooks";function U(t,e,n){if(t.has(e))return t.get(e);let r=n();return t.set(e,r),r}import Dr from"path";import{realpathSync as Mr}from"fs";function Fs(t,e){return t.getReferences().map(n=>{let r=n.getNode();return Qe(r,e)})}function Ns(t){let e=t;return typeof e.findReferences=="function"?e.findReferences():[]}function xr(t,e,n,r){let i=[];for(let s of Ns(t))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 n)i.push(s);return oe(i)}function Cr(t,e,n,r){let i=[],s=n?.getStart();for(let o of t.getReferences()){let a=o.getNode();ae(r,a.getSourceFile().getFilePath())===e&&(s!==void 0&&a.getStart()===s||i.push({location:Qe(a,r),node:a}))}return i}function Qe(t,e){let n=t.getSourceFile(),r=n.getLineAndColumnAtPos(t.getStart());return{file:ae(e,n.getFilePath())??n.getBaseName(),line:r.line-1,column:r.column-1}}function At(t,e,n){let r=t.getSourceFile(),i=Nt(r,t),s=t.getText(),o=new RegExp(`\\b${pe(s)}\\b`,"g"),a=r.getFullText().split(`
1
+ import{a as Z}from"./chunk-P5XHIJHI.js";import{$ as pt,E as Dn,F as me,G as $,H as Ne,I as X,J as ee,K as _e,N as xn,O as Cn,P as wn,Q as lt,R as Le,S as te,T as kn,U as En,V as Oe,W as Pn,Y as ut,_ as ft,w as vn}from"./chunk-SLLFJXTW.js";import{d as Mn}from"./chunk-ELNRLMC5.js";import{a as De,b as xe,c as Ce,d as Te,e as q,n as Tn}from"./chunk-75A23IID.js";import{b as hn,e as V,f as Ae,h as In,j as de,t as z,u as Fe}from"./chunk-TNLOX4TN.js";import{a as pe,f as Pe,n as bn,p as Rn}from"./chunk-RGBZDOUO.js";import{C as gn,a as ke,c as ln,d as un,q as ot,z as Sn}from"./chunk-NRNVMB2R.js";import{c as en,d as tn,g as sn,h as on,k as we,m as st,o as an,q as cn,t as at,u as ct,v as ue}from"./chunk-23AD24QZ.js";import{d as dn,f as mn,g as fe,j as yn}from"./chunk-YMAGXBLT.js";import{a as _,c as fn,d as k,f as Ee}from"./chunk-3LCDIREB.js";import{A as nn,B as H,G as B,H as rn,L as it,ha as pn,n as le,q as N}from"./chunk-6I55VYFG.js";function An(t){let e=new Map,n=li(t),r=new Map;return i=>{let s=ci(i),o=r.get(s);if(o!==void 0)return o;if(!n.has(i.file))return r.set(s,i.symbol),i.symbol;let a=e.get(i.file);a||(a=ui(z(t,i.file)),e.set(i.file,a));let c=fi(a,i);return r.set(s,c),c}}function ci(t){return`${t.file}\0${t.symbol}\0${t.line}`}function li(t){return new Set(t.all("SELECT relative_path FROM documents").map(e=>e.relative_path))}function ui(t){let e=new Map,n=new Map;for(let r of t){let i=e.get(r.leaf);i?i.push(r):e.set(r.leaf,[r]);let s=n.get(r.startLine);s?s.push(r):n.set(r.startLine,[r])}return{definitions:t,byLeaf:e,byStartLine:n}}function fi(t,e){if(t.definitions.length===0)return e.symbol;let n=mi(e.symbol),r=pi(t.byLeaf,n),i=di(r,e.line);if(i)return i.symbol;let s=t.byStartLine.get(e.line)??[];return s.length===1?s[0].symbol:e.symbol}function pi(t,e){let n=[],r=new Set;for(let i of e)for(let s of t.get(i)??[])r.has(s.symbolId)||(r.add(s.symbolId),n.push(s));return n}function di(t,e){let n=null;for(let r of t)if(!(r.startLine>e||r.endLine<e)){if(r.startLine===e)return r;(!n||r.endLine-r.startLine<n.endLine-n.startLine)&&(n=r)}return n}function mi(t){let e=new Set([t]),r=t.split(/::|\.|#/).filter(Boolean).at(-1);return r&&e.add(r),e}function Fn(t,e){let r=Rn(t,e).map(i=>Si(e,i));return{usage:r,positions:gi(t,e,r)}}function Nn(t,e){return{importUsage(n){let r=t.importUsageFacts(n);if(!e||r.positions.length===0)return r.usage;let i=e.importDefinitionsForFile(n,r.positions);return i.available?yi(r.usage,i.sourcePaths):r.usage}}}function yi(t,e){return t.map((n,r)=>{let i=e.get(String(r));return i?{...n,sourcePath:i}:n})}function Si(t,e){let n=e.isTypeOnly===!0,r=e.kind==="side-effect"||n||e.used;return{importer:t,sourcePath:e.sourcePath,importedName:e.importedName,localName:e.localName,kind:e.kind,isTypeOnly:n,isUsed:r,isTypeUsed:n,isValueUsed:e.kind==="side-effect"||!n&&e.used,references:[]}}function gi(t,e,n){let r=gn(t,e);if(!r)return[];let i=bi(r.rootNode),s=new Map;for(let a of i){let c=s.get(mt(a.importedName,a.localName));c?c.push(a.position):s.set(mt(a.importedName,a.localName),[a.position])}let o=[];return n.forEach((a,c)=>{let p=s.get(mt(a.importedName,a.localName??a.importedName))?.shift();p&&o.push({...p,id:String(c),file:e})}),o}function bi(t){let e=[];for(let n of t.descendantsOfType("use_declaration")){let r=n.namedChildren.find(i=>i.type!=="visibility_modifier");r&&e.push(...Ue(r,""))}return e.filter(n=>n.importedName!=="*")}function Ue(t,e){switch(t.type){case"identifier":case"super":case"self":case"crate":return[{importedName:t.text,localName:t.text,position:dt(t,t.text)}];case"scoped_identifier":{let n=t.text.split("::").pop()??t.text;return[{importedName:n,localName:n,position:dt(t,n)}]}case"scoped_use_list":{let n=t.namedChild(0),r=t.namedChild(1);if(!n||!r)return[];let i=bn(e,n.text);return r.namedChildren.flatMap(s=>Ue(s,i))}case"use_list":return t.namedChildren.flatMap(n=>Ue(n,e));case"use_as_clause":{let n=t.namedChild(0),r=t.namedChild(1);return!n||!r?[]:Ue(n,e).map(i=>({...i,localName:r.text}))}case"use_wildcard":{let n=t.namedChild(0),r="*";return[{importedName:r,localName:r,position:dt(n??t,r)}]}default:return[]}}function dt(t,e){let n=Math.max(0,t.text.lastIndexOf(e));return{id:"",file:"",line:t.startPosition.row,column:t.startPosition.column+n+Ri(e)}}function Ri(t){return Math.max(0,Math.min(t.length-1,1))}function mt(t,e){return`${t}\0${e}`}import{spawnSync as Dt}from"child_process";import{existsSync as xt}from"fs";import{fileURLToPath as Ss}from"url";function Be(t){let e=Dn(vn,t),n=e.runnable;return n?{available:!0,dependencyAvailable:n,resolvedBinary:e.resolvedBinary??void 0,note:"rust-analyzer semantic reference queries are enabled."}:{available:!1,dependencyAvailable:n,resolvedBinary:e.resolvedBinary??void 0,reason:"rust-analyzer is not runnable; Rust semantic checks will use SCIP/source evidence only."}}import{existsSync as Xi,mkdtempSync as ir,rmSync as Rt}from"fs";import{tmpdir as sr}from"os";import{join as ht}from"path";import{fileURLToPath as Ve,pathToFileURL as es}from"url";import{SHARE_ENV as ts,Worker as ns}from"worker_threads";function K(t,e,n=new Set){let r=new Map;for(let i of t)n.has(i.symbolId)||r.set(i.symbolId,e.get(i.symbolId)??[]);return r}function Y(t,e,n){let r=Z(process.env.SCIP_RUST_SEMANTIC_BATCH_TIMEOUT_MS)??0;if(r>0)return r;let i=Math.max(1,Math.ceil(t/Math.max(1,n)));return Math.max(12e4,3e4+i*e)}import{spawn as Fi}from"child_process";import{createHash as Ni,randomUUID as _i}from"crypto";import{existsSync as Jn,realpathSync as Li,rmSync as Oi}from"fs";import{tmpdir as Ui}from"os";import{resolve as re}from"path";import{execFileSync as Mi}from"child_process";import{realpathSync as Vo}from"fs";import{basename as Yo,dirname as Jo,join as Go,relative as Qo,sep as Zo}from"path";import{fileURLToPath as ea,pathToFileURL as ta}from"url";function qe(t){let e=new Map;for(let n of t)e.set(`${n.file}\0${n.line}\0${n.column}`,n);return[...e.values()].sort((n,r)=>{let i=n.file.localeCompare(r.file);return i!==0?i:n.line!==r.line?n.line-r.line:n.column-r.column})}var _n=new WeakMap,hi="SCIP_RUST_SCIP_OCCURRENCE_REFERENCE_MODE";function Ln(t,e){let n=new Map,r=je(),i=e.filter(o=>Un(o,r));if(i.length===0)return n;let s=Bn(t,i.map(o=>o.symbol));for(let o of i){let a=s.get(o.symbol);a&&n.set(o.symbolId,a)}return n}function On(t,e){return Un(e,je())?Bn(t,[e.symbol]).get(e.symbol)??null:null}function Un(t,e="safe"){if(!t.symbol.startsWith("rust-analyzer ")||!t.relativePath.endsWith(".rs")||de(t.symbol)||/impl#\[[^\]]+\]\[Default\]default\(\)\.$/.test(t.symbol))return!1;if(e==="all")return!0;let n=Ae(t.symbol);if(n==="method")return!0;if(n!=="term")return!1;let r=hn(t.symbol);return"kind"in r?!1:!Ii(r)}function Ii(t){for(let e=0;e<t.descriptors.length-1;e+=1)if(t.descriptors[e]?.suffix==="type")return!0;return!1}function Bn(t,e){let n=_n.get(t);n||(n=new Map,_n.set(t,n));let r=[...new Set(e)].filter(i=>!n.has(i));if(r.length>0){let i=Cn(t,r);for(let s of r){let o=i?.get(s);n.set(s,o?qe(o.filter(({relativePath:a})=>!t.isIgnored(a)).map(({relativePath:a,occurrence:c})=>({file:a,line:c.range[0],column:c.range[1]}))):null)}}return new Map(e.map(i=>[i,n.get(i)??null]))}function je(){return process.env[hi]==="all"?"all":"safe"}var qn=new Map;function yt(t){let n=Be(t).resolvedBinary??null;return{engine:"rust-analyzer",resolvedBinary:n,version:n?vi(t,n):"unavailable"}}function St(t){return{...yt(t),scipOccurrenceReferenceMode:je()}}function vi(t,e){let n=`${t}\0${e}`,r=qn.get(n);if(r)return r;let i;try{i=Mi(e,["--version"],{cwd:t,encoding:"utf8",stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:2e3}).trim()}catch{i="unknown"}return qn.set(n,i),i}import{createHash as Di}from"crypto";var xi=new Set(["Cargo.lock","Cargo.toml","rust-project.json","rust-toolchain","rust-toolchain.toml"]);function jn(t){let e=yn(t,{includePath:Ci});return Di("sha256").update(JSON.stringify(e)).digest("hex")}function Ci(t){let e=t.replaceAll("\\","/"),n=e.split("/").at(-1)??e;return e.endsWith(".rs")||xi.has(n)?!0:e===".cargo/config"||e===".cargo/config.toml"||e.endsWith("/.cargo/config")||e.endsWith("/.cargo/config.toml")}import{createHash as Ti}from"crypto";import{resolve as wi}from"path";var ne=3;function bt(t){return Ti("sha256").update(me({kind:"codebaseiq-durable-rust-mailbox",protocolVersion:ne,sessionDir:wi(t)})).digest("hex")}function Kn(t,e){return le(t)?t.protocolVersion!==ne?zn(t.protocolVersion===void 0?"helper wrote a prior uncorrelated response protocol":`helper wrote unsupported response protocol ${String(t.protocolVersion)}`):t.mailboxVersion!==$||t.id!==e.requestId||t.operationKey!==e.operationKey||t.sessionIdentity!==e.sessionIdentity||t.deadlineAtMs!==e.deadlineAtMs?zn("helper wrote an incompatible response identity"):typeof t.completedAtMs!="number"||!Number.isFinite(t.completedAtMs)||t.completedAtMs>e.deadlineAtMs||e.nowMs>e.deadlineAtMs?{ok:!1,code:"expired-request",error:"helper response arrived after the durable request deadline"}:t.ok===!1?typeof t.error!="string"||!Ai(t.errorCode)?gt("helper wrote an invalid rejection response"):{ok:!1,code:t.errorCode,error:t.error}:t.ok!==!0||t.session!=="created"&&t.session!=="reused"&&t.session!=="invalidated"||!ki(t.response,e.requestKind)?gt("helper wrote an invalid success response"):{ok:!0,session:t.session,response:t.response}:gt("helper wrote an invalid response object")}function ki(t,e){return!le(t)||typeof t.available!="boolean"||t.available===!1&&(typeof t.reason!="string"||t.reason.length===0)||t.available===!0&&t.reason!==void 0?!1:e==="import-definitions"?Array.isArray(t.sourcePaths)&&t.sourcePaths.every(n=>Array.isArray(n)&&n.length===2&&typeof n[0]=="string"&&(n[1]===null||typeof n[1]=="string")):Wn(t.references,Ei)&&(t.incompleteReferenceSymbolIds===void 0||Array.isArray(t.incompleteReferenceSymbolIds)&&t.incompleteReferenceSymbolIds.every(n=>Number.isSafeInteger(n)))&&(t.callees===void 0||Wn(t.callees,Pi))&&(t.signatures===void 0||Array.isArray(t.signatures)&&t.signatures.every(n=>Array.isArray(n)&&n.length===2&&Number.isSafeInteger(n[0])&&(n[1]===null||typeof n[1]=="string")))}function Wn(t,e){return Array.isArray(t)&&t.every(n=>Array.isArray(n)&&n.length===2&&Number.isSafeInteger(n[0])&&Array.isArray(n[1])&&n[1].every(e))}function Ei(t){return le(t)&&typeof t.file=="string"&&N(t.line)&&N(t.column)}function Pi(t){return le(t)&&typeof t.symbol=="string"&&typeof t.file=="string"&&N(t.line)&&(t.callsiteLine===void 0||N(t.callsiteLine))}function Ai(t){return t==="unsupported-protocol"||t==="malformed-request"||t==="expired-request"||t==="handler-error"}function gt(t){return{ok:!1,code:"malformed-response",error:t}}function zn(t){return{ok:!1,code:"incompatible-response",error:t}}var Bi=5e3,Gn=10,qi=3e4;function Hn(t,e,n,r=tr){let i=r.engineIdentity(t),s={protocolVersion:ne,projectRoot:r.canonicalProjectRoot(t),projectFingerprint:r.projectFingerprint(t),engine:{engine:i.engine,resolvedBinary:i.resolvedBinary,version:i.version},workerFingerprint:r.fileFingerprint(e),environment:Zn(r.environment())};return{key:nr(me(s)),...s}}function We(t,e,n,r){if(t.protocolVersion!==ne||!n(t.pid))return!1;if(!t.processIdentity)return!0;let i=r?.(t.pid);return i!=null&&xe(t.processIdentity,i)}function Qn(t,e,n){let r;try{r=it(e,{maxBytes:H,inputKind:"Rust semantic engine artifact"})}catch{r="missing"}let i=nr(me({projectRoot:re(t),serverPath:re(e),serverFingerprint:r})).slice(0,20);return re(n,`codebaseiq-rust-session-${i}`)}function Vn(t){let e=t===void 0?Number.NaN:Number(t);return Number.isInteger(e)&&e>=0?e:0}function Zn(t){return Object.fromEntries(Object.entries(t).filter(([e])=>er(e)).sort(([e],[n])=>e.localeCompare(n)).map(([e,n])=>[e,n??null]))}function Xn(t,e){let n=e.runtime??Vi,r=e.identityRuntime??tr,i=Qn(t,e.serverPath,e.tempRoot??Ui()),s=!1,o=(a,c)=>{if(s)throw new Error("Durable Rust semantic session was already disposed.");return Wi(i,e.serverPath,e.semanticWorkerPath,a,c,n,e.mailboxLimits)};return{requestSemantic(a,c){let p=Hn(t,e.semanticWorkerPath,a,r),{readinessDeadlineMs:u,...l}=a;return o({kind:"semantic",identityKey:p.key,workerEnvironment:Yn(),request:{...l,referenceRetryTimeoutMs:ji(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,a.referenceRetryTimeoutMs),settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Vn(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},requestImportDefinitions(a,c){let p=Hn(t,e.semanticWorkerPath,a,r),{readinessDeadlineMs:u,...l}=a;return o({kind:"import-definitions",identityKey:p.key,workerEnvironment:Yn(),request:{...l,settleDelayMs:process.env.SCIP_RUST_SEMANTIC_SETTLE_MS===void 0?a.settleDelayMs:Vn(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS)},timeoutMs:c},c)},shutdown(){s=!0}}}function ji(t,e){return e!==void 0?e:t===void 0?qi:void 0}function Wi(t,e,n,r,i,s,o={}){let a=s.now(),c=a+i,p=(s.monotonicNow??q)(),u=p+i,l=X("rust-semantic-v3",r),f=ee(l),d=Ne(t),m=bt(t),R=_e(d,{mailboxVersion:$,protocolVersion:ne,id:f,operationKey:l,clientId:s.randomId(),enqueuedAtMs:a,deadlineAtMs:c,sessionIdentity:m,request:r},{nowMs:a,limits:o});for($n(t,e,n,u,s);(s.monotonicNow??q)()<=u;){if(Jn(R.responsePath)){let S=zi(B(R.responsePath,{maxBytes:o.maxItemBytes??H,inputKind:"durable Rust semantic mailbox response"}),{requestId:f,operationKey:l,sessionIdentity:m,deadlineAtMs:R.authoritativeDeadlineAtMs,requestKind:r.kind,nowMs:s.now()});if(!S.ok)throw new Error(S.error);return _()&&Ee({type:"span",name:"rust.semantic.durable-session.request",durationMs:(s.monotonicNow??q)()-p,ok:!0,session:S.session,kind:r.kind}),S.response}let I=ze(t);(!I||!We(I,s.now(),s.isProcessAlive,s.readProcessIdentity))&&$n(t,e,n,u,s),s.sleep(Gn)}throw new Error(`Durable Rust semantic session timed out after ${(i/1e3).toFixed(0)}s.`)}function $n(t,e,n,r,i){let s=ze(t);if(s&&We(s,i.now(),i.isProcessAlive,i.readProcessIdentity))return;Oi(re(t,"server.json"),{force:!0}),i.spawnServer(e,t,n);let o=i.monotonicNow??q,a=Math.min(r,o()+Bi);for(;o()<=a;){let c=ze(t);if(c&&We(c,i.now(),i.isProcessAlive,i.readProcessIdentity))return;i.sleep(Gn)}throw new Error("Durable Rust semantic session helper did not become ready within 5s.")}function ze(t){try{let e=JSON.parse(B(re(t,"server.json"),{maxBytes:nn,inputKind:"durable Rust session state"}));if(typeof e.protocolVersion!="number"||e.sessionIdentity!==void 0&&(typeof e.sessionIdentity!="string"||e.sessionIdentity!==bt(t))||typeof e.pid!="number"||typeof e.heartbeatAtMs!="number"||e.busyUntilMs!==void 0&&typeof e.busyUntilMs!="number"||e.mailbox!==void 0&&!Ki(e.mailbox))return null;let n=e.processIdentity===void 0?null:De(e.processIdentity);return e.processIdentity!==void 0&&(!n||n.pid!==e.pid)?null:{protocolVersion:e.protocolVersion,...e.sessionIdentity===void 0?{}:{sessionIdentity:e.sessionIdentity},pid:e.pid,...n?{processIdentity:n}:{},heartbeatAtMs:e.heartbeatAtMs,...e.busyUntilMs===void 0?{}:{busyUntilMs:e.busyUntilMs},...e.mailbox===void 0?{}:{mailbox:e.mailbox}}}catch{return null}}function zi(t,e){try{return Kn(JSON.parse(t),e)}catch(n){return{ok:!1,code:"malformed-response",error:`helper wrote malformed JSON: ${n instanceof Error?n.message:String(n)}`}}}function Ki(t){if(!t||typeof t!="object")return!1;let e=t;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 Yn(){return Object.fromEntries(Object.entries(process.env).filter(([t])=>Hi(t)).sort(([t],[e])=>t.localeCompare(e)).map(([t,e])=>[t,e??null]))}function er(t){return t==="HOME"||t==="PATH"||t.startsWith("CARGO_")||t.startsWith("RA_")||t.startsWith("RUST")}function Hi(t){return er(t)||t.startsWith("SCIP_RUST_")||t==="CODEBASEIQ_PROFILE"||t==="CODEBASEIQ_PROFILE_CACHE_STATE"||t==="CODEBASEIQ_PROFILE_COMMAND"||t==="CODEBASEIQ_PROFILE_OUT"||t==="CODEBASEIQ_PROFILE_RUN_ID"||t==="CODEBASEIQ_PROFILE_WORKLOAD_IDENTITY"||t==="CODEBASEIQ_PROFILE_WORKLOAD_IDENTITY_KIND"||t==="CODEBASEIQ_PROFILE_MIN_MS"}var tr={canonicalProjectRoot(t){try{return Li(t)}catch{return re(t)}},projectFingerprint(t){return jn(t)},engineIdentity:yt,fileFingerprint(t){return it(t,{maxBytes:H,inputKind:"Rust semantic engine artifact"})},environment(){return Zn(process.env)}},Vi={now:Date.now,monotonicNow:q,randomId:_i,isProcessAlive:Te,readProcessIdentity:Ce,spawnServer(t,e,n){if(!Jn(t))throw new Error(`Durable Rust semantic session helper was not found at ${t}. Run npm run build first.`);Fi(process.execPath,[t,e,n],{detached:!0,stdio:"ignore",windowsHide:!0}).unref()},sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)}};function nr(t){return Ni("sha256").update(t).digest("hex")}import{randomUUID as Wa}from"crypto";import{readdirSync as $i,rmSync as Ka,writeFileSync as Ha}from"fs";import{join as Yi}from"path";var Ji="rust-analyzer-owner-",Gi=".json",Qi=16*1024;async function rr(t,e){if(!t)return[];let n;try{n=$i(t)}catch{return[]}let r=n.filter(o=>o.startsWith(Ji)&&o.endsWith(Gi)).map(o=>Yi(t,o)),i=[],s=[];for(let o of r){let a=Zi(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=>Tn(o,e)))),i}function Zi(t){try{let e=B(t,{maxBytes:Qi,inputKind:"rust-analyzer process ownership record"}),n=JSON.parse(e),r=De(n.rootIdentity);return n.version!==1||!r||typeof n.ownsProcessGroup!="boolean"?null:{rootPid:r.pid,rootIdentity:r,ownsProcessGroup:n.ownsProcessGroup,knownMembers:new Map([[r.pid,r]])}}catch{return null}}var or=15e3,ar=8,lr=5e3,rs=64,is=96,Mt=class{constructor(e,n,r={}){this.projectRoot=e;this.status=n;this.opts=r;this.requester=r.requester??cs(e,process.env.SCIP_RUST_SEMANTIC_DURABLE_SESSION)}projectRoot;status;opts;requester;referencesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),references:ge(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,references:K(e,new Map(r.references),new Set(r.incompleteReferenceSymbolIds??[]))}}catch(r){return this.opts.fallbackReferenceResolver?.referencesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),references:ge(e)}}}calleesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),callees:be(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!1,includeCallees:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,callees:It(e,new Map(r.callees??[]))}}catch(r){return this.opts.fallbackCalleeResolver?.calleesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),callees:be(e)}}}referencesAndCalleesForDefinitions(e,n){let r=this.status(this.projectRoot);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Se(r),references:ge(e),callees:be(n)};let i=[...e,...n];try{let s=this.requestSession(r.resolvedBinary,i,{includeReferences:e.length>0,includeCallees:n.length>0,referenceDefinitions:e,calleeDefinitions:n});return{...ye(s),resolvedBinary:r.resolvedBinary,references:K(e,new Map(s.references),new Set(s.incompleteReferenceSymbolIds??[])),callees:It(n,new Map(s.callees??[]))}}catch(s){return this.fallbackReferencesAndCallees(r,e,n,s)}}signaturesForDefinitions(e){let n=this.status(this.projectRoot);if(!n.available||!n.resolvedBinary)return{available:!1,resolvedBinary:n.resolvedBinary,reason:Se(n),signatures:cr(e)};try{let r=this.requestSession(n.resolvedBinary,e,{includeReferences:!1,includeCallees:!1,includeSignatures:!0});return{...ye(r),resolvedBinary:n.resolvedBinary,signatures:ds(e,new Map(r.signatures??[]))}}catch(r){return this.opts.fallbackSignatureResolver?.signaturesForDefinitions(e)??{available:!1,resolvedBinary:n.resolvedBinary,reason:r instanceof Error?r.message:String(r),signatures:cr(e)}}}importDefinitionsForFile(e,n){let r=this.status(this.projectRoot);if(n.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(n.map(i=>[i.id,null]))};try{let i=this.requestImportDefinitions(r.resolvedBinary,e,n);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(n.map(s=>[s.id,null]))}}}dispose(){this.requester.shutdown()}requestSession(e,n,r){let i=Ke(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,or),s=He(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),o=Ke(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,ar),a=He(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),c=r.referenceDefinitions?[...r.referenceDefinitions]:void 0,p=r.calleeDefinitions?[...r.calleeDefinitions]:void 0,u=r.signatureDefinitions?[...r.signatureDefinitions]:void 0,l=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,...r}),f={projectRoot:this.projectRoot,rustAnalyzerBinary:e,definitions:[...n],...c?{referenceDefinitions:c}:{},...p?{calleeDefinitions:p}:{},...u?{signatureDefinitions:u}:{},requestTimeoutMs:i,...r.includeReferences!==!1&&s>0?{referenceRetryTimeoutMs:s}:{},diagnosticsTimeoutMs:a,settleDelayMs:l,concurrency:o,includeReferences:r.includeReferences,includeCallees:r.includeCallees,includeSignatures:r.includeSignatures},d=ms(f);return k("rust.semantic.session.request",()=>this.requester.requestSemantic(f,Y(d,vt(i,f.referenceRetryTimeoutMs),o)),()=>({definitions:n.length,operationDefinitions:d,referenceDefinitions:f.referenceDefinitions?.length,calleeDefinitions:f.calleeDefinitions?.length,signatureDefinitions:f.signatureDefinitions?.length,references:f.includeReferences!==!1,callees:f.includeCallees===!0,signatures:f.includeSignatures===!0,referenceRetryTimeoutMs:f.referenceRetryTimeoutMs}))}fallbackReferencesAndCallees(e,n,r,i){let s=n.length===0?{available:!0,resolvedBinary:e.resolvedBinary,references:ge(n)}:this.opts.fallbackReferenceResolver?.referencesForDefinitions(n),o=r.length===0?{available:!0,resolvedBinary:e.resolvedBinary,callees:be(r)}:this.opts.fallbackCalleeResolver?.calleesForDefinitions(r);if(s&&o){let a={resolvedBinary:s.resolvedBinary??o.resolvedBinary??e.resolvedBinary,references:K(n,s.references),callees:It(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(n),callees:be(r)}}requestImportDefinitions(e,n,r){let i=Ke(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,or),s=Ke(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,ar),o=He(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(i,1e4)),a=He(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,lr),c={projectRoot:this.projectRoot,rustAnalyzerBinary:e,file:n,positions:[...r],requestTimeoutMs:i,diagnosticsTimeoutMs:o,settleDelayMs:a,concurrency:s};return k("rust.semantic.import-definitions.session.request",()=>this.requester.requestImportDefinitions(c,Y(r.length,i,s)),()=>({file:n,positions:r.length}))}};function ye(t){return t.available?{available:!0}:{available:!1,reason:t.reason}}function Se(t){return t.available?"rust-analyzer binary path is unavailable.":t.reason}function ur(t,e,n={}){return new Mt(t,e,n)}function Re(t,e){let n=pr(t);if(n!==null)return n;let r=e.includeReferences!==!1;return r&&e.includeCallees!==!0&&e.includeSignatures!==!0&&e.definitionCount<=rs||r&&e.includeCallees===!0&&e.includeSignatures!==!0&&e.definitionCount<=is?0:lr}function ss(t){let e=t?.trim().toLowerCase(),n=e==="0"||e==="false"||e==="off"||e==="worker",r=e==="1"||e==="true"||e==="on"||e==="durable",i=e===void 0||e==="";return{transport:n||!i&&!r?"worker":"durable",source:i?"default":"environment",fallback:"worker",valid:i||n||r,optOut:"SCIP_RUST_SEMANTIC_DURABLE_SESSION=0"}}function os(t){return ss(t).transport}function as(t,e){let n=null,r=!1,i=!1,s=!1,o=()=>n??=e(),a=()=>{i||(t.shutdown(),i=!0)},c=(u,l,f)=>{let d=ps(u);r=!0;try{a()}catch{}_()&&Ee({type:"span",name:"rust.semantic.durable-session.request",durationMs:f,ok:!1,kind:l,session:"worker-fallback",reason:d})},p=(u,l,f)=>{if(s)throw new Error("Rust semantic failover session was already disposed.");if(r)return f(o());let d=performance.now();try{return l(t)}catch(m){c(m,u,performance.now()-d)}return f(o())};return{requestSemantic(u,l){return p("semantic",f=>f.requestSemantic(u,l),f=>f.requestSemantic(u,l))},requestImportDefinitions(u,l){return p("import-definitions",f=>f.requestImportDefinitions(u,l),f=>f.requestImportDefinitions(u,l))},shutdown(){if(s)return;s=!0;let u=[];try{a()}catch(l){u.push(l)}try{n?.shutdown()}catch(l){u.push(l)}if(u.length>0)throw u[0]}}}function cs(t,e,n={worker:()=>ls(),durable:()=>Xn(t,{serverPath:Ve(ys()),semanticWorkerPath:Ve(fr())})}){return os(e)==="durable"?as(n.durable(),n.worker):n.worker()}function ls(t={}){let e=null,n=null,r=1,i=!1,s=null,o=null,a=l=>{l&&Rt(l,{recursive:!0,force:!0})},c=()=>{if(s)return;let l=e,f=n;e=null,n=null;let d=l?l.terminate():Promise.resolve(0);s=Promise.allSettled([d,rr(f,{gracefulMs:1e3,forceMs:1e3})]).then(([m,R])=>{let S=(R.status==="fulfilled"?R.value:[{reaped:!1,detail:String(R.reason)}]).filter(h=>!h.reaped);if(m.status==="rejected"||S.length>0){o=new Error(`Rust semantic worker cleanup did not complete; ownership evidence remains at ${f??"unknown"}.`);return}a(f)}).finally(()=>{s=null})},p=()=>{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 l=t.semanticWorkerPath?es(t.semanticWorkerPath):fr();if(!Xi(Ve(l)))throw new Error(`Rust semantic session worker was not found at ${Ve(l)}. Run npm run build before using built semantic Rust queries.`);return n=ir(ht(sr(),"codebaseiq-rust-session-")),e=new ns(l,t.shareEnvironment?{env:ts}:void 0),e.unref(),e},u=()=>{let l=n??ir(ht(sr(),"codebaseiq-rust-session-"));return n=l,ht(l,`${r++}.json`)};return{requestSemantic(l,f){if(i)throw new Error("Rust semantic session was already disposed.");let d=p(),m=u(),R=new SharedArrayBuffer(4),I=new Int32Array(R);if(d.postMessage({kind:"semantic",request:l,responsePath:m,sharedBuffer:R}),Atomics.wait(I,0,0,f)==="timed-out")throw c(),new Error(`Rust semantic session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let h=us(B(m,{maxBytes:H,inputKind:"Rust semantic worker response"}));if(!h.ok)throw new Error(h.error);return h.response}finally{Rt(m,{force:!0})}},requestImportDefinitions(l,f){if(i)throw new Error("Rust semantic session was already disposed.");let d=p(),m=u(),R=new SharedArrayBuffer(4),I=new Int32Array(R);if(d.postMessage({kind:"import-definitions",request:l,responsePath:m,sharedBuffer:R}),Atomics.wait(I,0,0,f)==="timed-out")throw c(),new Error(`Rust semantic import-definition session worker timed out after ${(f/1e3).toFixed(0)}s`);try{let h=fs(B(m,{maxBytes:H,inputKind:"Rust import-definition worker response"}));if(!h.ok)throw new Error(h.error);return h.response}finally{Rt(m,{force:!0})}},shutdown(){if(i)return;if(i=!0,!e){a(n),n=null;return}let l=u(),f=new SharedArrayBuffer(4),d=new Int32Array(f);e.postMessage({kind:"shutdown",responsePath:l,sharedBuffer:f}),Atomics.wait(d,0,0,5e3),c()}}}function us(t){let e=JSON.parse(t);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let n=e;return n.ok===!0&&"response"in n?{ok:!0,response:n.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function fs(t){let e=JSON.parse(t);if(!e||typeof e!="object")return{ok:!1,error:"Rust semantic session worker wrote a non-object response."};let n=e;return n.ok===!0&&"response"in n?{ok:!0,response:n.response}:{ok:!1,error:typeof e.error=="string"?e.error:"Rust semantic session worker failed."}}function ps(t){let e=t instanceof Error?`${t.name} ${t.message}`.toLowerCase():String(t).toLowerCase();return e.includes("readiness")?"readiness":e.includes("timeout")||e.includes("timed out")?"timeout":e.includes("helper")?"helper":"request"}function ge(t){return new Map(t.map(e=>[e.symbolId,[]]))}function be(t){return new Map(t.map(e=>[e.symbolId,[]]))}function cr(t){return new Map(t.map(e=>[e.symbolId,null]))}function It(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??[]]))}function ds(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??null]))}function ms(t){let e=0;return t.includeReferences!==!1&&(e+=(t.referenceDefinitions??t.definitions).length),t.includeCallees===!0&&(e+=(t.calleeDefinitions??t.definitions).length),t.includeSignatures===!0&&(e+=(t.signatureDefinitions??t.definitions).length),Math.max(1,e)}function vt(t,e){return e&&e>0?Math.max(t,e):t}function fr(){return new URL("./rust-semantic-session-worker.js",import.meta.url)}function ys(){return new URL("./rust-semantic-session-server.js",import.meta.url)}function Ke(t,e){return Z(t)??e}function He(t,e){return pr(t)??e}function pr(t){if(!t)return null;let e=Number(t);return Number.isInteger(e)&&e>=0?e:null}var Ct=15e3,Tt=8;function Sr(t,e={}){let n=e.status??Be,r=Rs(t,n),i=hs(t,n),s=Is(t,n),o=e.referenceResolver||e.calleeResolver||e.signatureResolver||!gs(e)?null:ur(t,n,{fallbackReferenceResolver:r,fallbackCalleeResolver:i,fallbackSignatureResolver:s}),a=e.referenceResolver??o??r,c=e.calleeResolver??o??i,p=e.signatureResolver??o??s,u=e.importUsageResolver??Nn(e.sourceImportUsageResolver??bs(),e.importDefinitionResolver??o),l=e.calleeSymbolResolver,f=e.sourceZeroCalleeOracle,d=e.scipOccurrenceCalleeOracle,m=new Map,R=new Map,I=null,S=null,h=()=>(I??=n(t),I),E=()=>{let b=h();return b.dependencyAvailable?S??b:b},M=b=>{if(b.length===0)return new Map;let y=Ie(b);try{let g=a.referencesForDefinitions(y),T=h();return S=$e(T,g),g.available?new Map(g.references):K(y,g.references)}catch(g){let T=h();return S=he(T,g),J(y)}},v=b=>{if(b.length===0)return new Map;let y=Ie(b),g=y.filter(dr);if(g.length===0)return G(y);let T=new Map,j=yr(g,d),F=[];for(let w of g)R.has(w.symbolId)?T.set(w.symbolId,R.get(w.symbolId)??[]):j.has(w.symbolId)?T.set(w.symbolId,j.get(w.symbolId)??[]):mr(w,f)?T.set(w.symbolId,[]):F.push(w);if(F.length===0)return ie(y,T,void 0);try{let w=c.calleesForDefinitions(F),O=h();S=$e(O,w);let P=ie(F,w.callees,l);for(let[ce,tt]of P)T.set(ce,tt);return ie(y,T,void 0)}catch(w){let O=h();return S=he(O,w),G(y)}},C=(b,y)=>{let g=Ie(b),T=Ie(y),j=T.filter(dr),F=new Map,w=yr(j,d),O=[];for(let P of j)w.has(P.symbolId)?F.set(P.symbolId,w.get(P.symbolId)??[]):mr(P,f)?F.set(P.symbolId,[]):O.push(P);if(g.length===0&&O.length===0)return{references:J(g),callees:ie(T,F,void 0)};try{let P=o?o.referencesAndCalleesForDefinitions(g,O):xs(a,c,{referenceDefinitions:g,calleeDefinitions:O}),ce=h();S=$e(ce,P);let tt=P.available?new Map(P.references):K(g,P.references);for(let[nt,rt]of P.callees)F.set(nt,rt);let Xt=ie(T,F,l);for(let[nt,rt]of Xt)R.set(nt,rt);return{references:tt,callees:Xt}}catch(P){let ce=h();return S=he(ce,P),{references:J(g),callees:G(T)}}},D=b=>{if(b.length===0)return new Map;let y=Ie(b);try{let g=p.signaturesForDefinitions(y),T=h();return S=$e(T,g),gr(y,g.signatures)}catch(g){let T=h();return S=he(T,g),Ye(y)}};return{language:"rust",availability:E,dispose:()=>{o?.dispose()},importUsage:b=>{let y=m.get(b);if(y)return y;try{let g=u.importUsage(b);return m.set(b,g),g}catch(g){let T=h();return S=he(T,g),[]}},referencesFor:b=>M([b]).get(b.symbolId)??[],referencesForDefinitions:M,referencesAndCalleesForDefinitions:C,calleesFor:b=>v([b]).get(b.symbolId)??[],calleesForDefinitions:v,signatureFor:b=>D([b]).get(b.symbolId)??null}}function $e(t,e){let n={dependencyAvailable:t.dependencyAvailable,resolvedBinary:e.resolvedBinary??t.resolvedBinary,...t.note?{note:t.note}:{}};return e.available?{available:!0,...n}:{available:!1,reason:e.reason,...n}}function he(t,e){return{available:!1,dependencyAvailable:t.dependencyAvailable,resolvedBinary:t.resolvedBinary,...t.note?{note:t.note}:{},reason:e instanceof Error?e.message:String(e)}}function gs(t){if(t.usePersistentSession!==void 0)return t.usePersistentSession;let e=process.env.SCIP_RUST_SEMANTIC_SESSION;return e!=="0"&&e!=="false"}function bs(){return{importUsageFacts:()=>({usage:[],positions:[]})}}function Ie(t){return t.map(e=>{let n=e;return{...e,leaf:typeof n.leaf=="string"?n.leaf:V(e.symbol),parentTypeName:n.parentTypeName??null,isFunctionLike:typeof n.isFunctionLike=="boolean"?n.isFunctionLike:In(e.symbol),isTypeLike:n.isTypeLike??!1,kind:n.kind??null,documentation:n.documentation??null,enclosingSymbol:n.enclosingSymbol??null}})}function dr(t){return t.isFunctionLike}function mr(t,e){if(!e)return!1;try{return e(t)}catch{return!1}}function yr(t,e){if(!e||t.length===0)return new Map;try{return e(t)}catch{return new Map}}function Rs(t,e){return{referencesForDefinitions:n=>Ms(t,e,n)}}function hs(t,e){return{calleesForDefinitions:n=>vs(t,e,n)}}function Is(t,e){return{signaturesForDefinitions:n=>Ds(t,e,n)}}function Ms(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),references:J(n)};let i=wt();if(!xt(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(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=Je(process.env.SCIP_RUST_SEMANTIC_REFERENCE_RETRY_TIMEOUT_MS,0),a=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),c=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),p=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!0}),u={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,...o>0?{referenceRetryTimeoutMs:o}:{},diagnosticsTimeoutMs:c,settleDelayMs:p,concurrency:a},l=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(u),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,vt(s,u.referenceRetryTimeoutMs),a)}),f=Pt(l.stdout);if(f)return{...kt(f),resolvedBinary:r.resolvedBinary,references:K(n,new Map(f.references),new Set(f.incompleteReferenceSymbolIds??[]))};let d=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:d,references:J(n)}}function vs(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),callees:G(n)};let i=wt();if(!xt(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(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),a=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),c=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!0}),p={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:o,includeReferences:!1,includeCallees:!0},u=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(p),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,s,o)}),l=Pt(u.stdout);if(l)return{...kt(l),resolvedBinary:r.resolvedBinary,callees:ie(n,new Map(l.callees??[]),void 0)};let f=u.error instanceof Error?u.error.message:u.stderr.trim()||`Rust semantic worker exited with status ${u.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:f,callees:G(n)}}function Ds(t,e,n){let r=e(t);if(!r.available||!r.resolvedBinary)return{available:!1,resolvedBinary:r.resolvedBinary,reason:Et(r),signatures:Ye(n)};let i=wt();if(!xt(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:Ye(n)};let s=se(process.env.SCIP_RUST_SEMANTIC_REQUEST_TIMEOUT_MS,Ct),o=se(process.env.SCIP_RUST_SEMANTIC_CONCURRENCY,Tt),a=Je(process.env.SCIP_RUST_SEMANTIC_DIAGNOSTICS_TIMEOUT_MS,Math.min(s,1e4)),c=Re(process.env.SCIP_RUST_SEMANTIC_SETTLE_MS,{definitionCount:n.length,includeReferences:!1,includeCallees:!1,includeSignatures:!0}),p={projectRoot:t,rustAnalyzerBinary:r.resolvedBinary,definitions:[...n],requestTimeoutMs:s,diagnosticsTimeoutMs:a,settleDelayMs:c,concurrency:o,includeReferences:!1,includeCallees:!1,includeSignatures:!0},u=Dt(process.execPath,[i],{cwd:t,input:JSON.stringify(p),encoding:"utf8",maxBuffer:50*1024*1024,windowsHide:!0,timeout:Y(n.length,s,o)}),l=Pt(u.stdout);if(l)return{...kt(l),resolvedBinary:r.resolvedBinary,signatures:gr(n,new Map(l.signatures??[]))};let f=u.error instanceof Error?u.error.message:u.stderr.trim()||`Rust semantic worker exited with status ${u.status??"unknown"}.`;return{available:!1,resolvedBinary:r.resolvedBinary,reason:f,signatures:Ye(n)}}function xs(t,e,n){let r=n.referenceDefinitions.length>0?t.referencesForDefinitions(n.referenceDefinitions):{available:!0,references:J(n.referenceDefinitions)},i=n.calleeDefinitions.length>0?e.calleesForDefinitions(n.calleeDefinitions):{available:!0,callees:G(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 J(t){return new Map(t.map(e=>[e.symbolId,[]]))}function G(t){return new Map(t.map(e=>[e.symbolId,[]]))}function Ye(t){return new Map(t.map(e=>[e.symbolId,null]))}function ie(t,e,n){let r=0,i=0;return k("rust.semantic.callees.complete-map",()=>{let s=new Map;for(let o of t){let a=e.get(o.symbolId)??[];a.length>0&&(r+=1),i+=a.length,s.set(o.symbolId,a.map(c=>({...c,symbol:n?n(c):c.symbol})))}return s},()=>({definitions:t.length,rows:r,callees:i,resolveSymbols:!!n}))}function gr(t,e){return new Map(t.map(n=>[n.symbolId,e.get(n.symbolId)??null]))}function wt(){return Ss(new URL("./rust-semantic-worker.js",import.meta.url))}function kt(t){return t.available?{available:!0}:{available:!1,reason:t.reason}}function Et(t){return t.available?"rust-analyzer binary path is unavailable.":t.reason}function Pt(t){try{let e=JSON.parse(t);if(!e||typeof e!="object")return null;let n=e;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 se(t,e){return Z(t)??e}function Je(t,e){if(!t)return e;let n=Number(t);return Number.isInteger(n)&&n>=0?n:e}var br=new WeakMap;function hr(t,e){let n=e.filter(Cs);if(n.length===0)return new Map;let r=0,i=0;return k("rust.scip-occurrence.callees",()=>{let s=ks(t),o=new Map;for(let a of n){let c=Ts(t,s,a);c!==null&&(o.set(a.symbolId,c),r+=1,i+=c.length)}return o},()=>({definitions:e.length,candidates:n.length,resolvedDefinitions:r,resolvedCallees:i}))}function Cs(t){return!(!t.symbol.startsWith("rust-analyzer ")||!t.relativePath.endsWith(".rs")||!t.isFunctionLike||t.leaf==="main"||de(t.symbol))}function Ts(t,e,n){let r=Pe(t,n.relativePath);if(!r||r.language!=="rust")return null;let i=r.callables.find(u=>u.startLine!==n.startLine||u.endLine!==n.endLine?!1:u.name===n.leaf||n.leaf.endsWith(u.name)||u.name.endsWith(n.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=Es(t,e,n.relativePath);if(!o)return null;let a=o.filter(u=>u.line>=i.startLine&&u.line<=i.endLine&&u.callee.symbol!==n.symbol);if(a.some(u=>u.traitImplMember)||!ws(s,a))return null;let c=[],p=new Set;for(let u of a){let l=`${u.callee.symbol}\0${u.callee.file}\0${u.callee.line}`;p.has(l)||(p.add(l),c.push(u.callee))}return c}function ws(t,e){let n=Rr(t),r=Rr(e);if(n.size!==r.size)return!1;for(let[i,s]of n)if(r.get(i)!==s)return!1;return!0}function Rr(t){let e=new Map;for(let n of t){let r=n.calleeLeaf??n.leaf;if(!r)continue;let i=`${n.line}\0${r}`;e.set(i,(e.get(i)??0)+1)}return e}function ks(t){let e=br.get(t);if(!e){let n=Fe(t).filter(r=>r.symbol.startsWith("rust-analyzer ")&&r.relativePath.endsWith(".rs")&&r.isFunctionLike);e={definitionBySymbol:new Map(n.map(r=>[r.symbol,r])),occurrencesByFile:new Map},br.set(t,e)}return e}function Es(t,e,n){return e.occurrencesByFile.has(n)||e.occurrencesByFile.set(n,Ps(t,e,n)),e.occurrencesByFile.get(n)??null}function Ps(t,e,n){if(!n.endsWith(".rs")||t.isIgnored(n))return[];let r=xn(t,n);if(!r)return null;let i=[];for(let s of r){if((s.roles&1)!==0)continue;let o=e.definitionBySymbol.get(s.symbol);if(!o)continue;let a=s.range[0];i.push({line:a,leaf:o.leaf,traitImplMember:de(o.symbol),callee:{symbol:o.symbol,file:o.relativePath,line:o.startLine,callsiteLine:a}})}return i}var Ge=class{sessions=new WeakMap;getOrCreate(e,n,r){let i=As(e,n),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(),c=r();return s.set(i,{key:i,language:n,projectRoot:e.config.projectRoot,provider:c,createdAtMs:a,lastUsedAtMs:a,hits:1}),c}sessionsFor(e){return[...this.sessions.get(e)?.values()??[]]}clear(e){let n=this.sessions.get(e);if(n)for(let r of n.values())r.provider.dispose?.();this.sessions.delete(e)}};function As(t,e){return`${t.config.projectRoot}:${e}-workspace`}import{randomUUID as io}from"crypto";import{existsSync as so}from"fs";import{dirname as oo}from"path";function Ir(t){if(!t||typeof t!="object"||Array.isArray(t))return null;let e=t;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(n=>typeof n=="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 x}from"perf_hooks";function U(t,e,n){if(t.has(e))return t.get(e);let r=n();return t.set(e,r),r}import Dr from"path";import{realpathSync as Mr}from"fs";function Fs(t,e){return t.getReferences().map(n=>{let r=n.getNode();return Qe(r,e)})}function Ns(t){let e=t;return typeof e.findReferences=="function"?e.findReferences():[]}function xr(t,e,n,r){let i=[];for(let s of Ns(t))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 n)i.push(s);return oe(i)}function Cr(t,e,n,r){let i=[],s=n?.getStart();for(let o of t.getReferences()){let a=o.getNode();ae(r,a.getSourceFile().getFilePath())===e&&(s!==void 0&&a.getStart()===s||i.push({location:Qe(a,r),node:a}))}return i}function Qe(t,e){let n=t.getSourceFile(),r=n.getLineAndColumnAtPos(t.getStart());return{file:ae(e,n.getFilePath())??n.getBaseName(),line:r.line-1,column:r.column-1}}function At(t,e,n){let r=t.getSourceFile(),i=Nt(r,t),s=t.getText(),o=new RegExp(`\\b${pe(s)}\\b`,"g"),a=r.getFullText().split(`
2
2
  `),c=[];for(let p=0;p<a.length;p++){if(p===i)continue;let u=a[p]??"";o.lastIndex=0;let l;for(;(l=o.exec(u))!==null;)c.push({file:e,line:p,column:l.index})}return oe(c.filter(p=>ae(n,Dr.join(n,p.file))===e))}function Ft(t){for(let e=t;e;e=e.getParent()){let n=e.getKindName();if(n.includes("Type")||n==="InterfaceDeclaration"||n==="TypeAliasDeclaration")return!0;if(n==="CallExpression"||n==="NewExpression"||n==="ExpressionStatement")return!1}return!1}function Nt(t,e){return t.getLineAndColumnAtPos(e.getStart()).line-1}function oe(t){let e=new Set,n=[];for(let r of t){let i=`${r.file}:${r.line}:${r.column}`;e.has(i)||(e.add(i),n.push(r))}return n}function ae(t,e){let n=t||process.cwd(),r=vr(n,e);if(r)return r;try{return vr(Mr(n),Mr(e))}catch{return null}}function vr(t,e){let n=Dr.relative(t,e).replace(/\\/g,"/");return!n||n===".."||n.startsWith("../")?null:n}function Tr(t,e,n,r){let i=_s(e,r);return i.size===0?new Map:Ls(t,n,i)}function _s(t,e){let n=new Map;for(let r of z(t,e)){let i=V(r.symbol)??r.leaf;if(!i)continue;let s=n.get(i);s||(s=[],n.set(i,s)),s.push(r)}return n}function Ls(t,e,n){let r=new Map,i=new Map;return e.forEachDescendant(s=>{for(let o of Os(t,s)){let a=n.get(o);if(!a)continue;let c=Nt(e,s);for(let p of a){if(c<p.startLine-1||c>p.endLine+1)continue;let u=Math.abs(c-p.startLine),l=i.get(p.symbolId);l!==void 0&&l<=u||(i.set(p.symbolId,u),r.set(p.symbolId,s))}}}),r}function Os(t,e){let n=[],r=i=>{i&&!n.includes(i)&&n.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 t.Node.isIdentifier(e)&&r(e.getText()),n}var Us=sn("ts-definition-leaf-candidates",{clearGroups:["definition-catalog"]});function wr(t,e,n,r){let i=Ot(t,e),s=_t(i.get(r)??[],n);if(s)return s;let o=[];for(let a of i.values())for(let c of a)((c.leaf||V(c.symbol)||"").includes(r)||c.symbol.includes(r))&&o.push(c);return _t(o,n)}function Lt(t,e,n,r){return _t(Ot(t,e).get(r)??[],n)}function kr(t,e){let n=new Map;for(let[r,i]of Ot(t,e)){let s=i[0];s&&n.set(r,s)}return n}function Ot(t,e){return Us.get(t,e,()=>{let n=new Map;for(let r of z(t,e)){let i=r.leaf||V(r.symbol);if(!i)continue;let s=n.get(i);s||(s=[],n.set(i,s)),s.push({...r,leaf:i})}for(let r of n.values())r.sort((i,s)=>i.startLine-s.startLine||i.endLine-s.endLine||i.symbolId-s.symbolId);return n})}function _t(t,e){let n=null,r=Number.POSITIVE_INFINITY;for(let i of t){let s=Math.abs(i.startLine-e);(s<r||s===r&&n&&i.startLine<n.startLine)&&(n=i,r=s)}return n}import Bs from"path";import{realpathSync as qs}from"fs";function Er(t,e){let n=new Map,r=null,i=null,s=()=>(i??=ke(t,{extensions:Le}),i),o=()=>(r??=k("typescript.source-file-index",()=>js(t.config.projectRoot,e,s()),()=>({projects:e.length,indexedDocuments:s().length})),r),a=c=>te(c)?U(n,c,()=>{let p=Pr(t.config.projectRoot,c);if(!p)return null;for(let{project:u,sourceFiles:l}of o()){let f=l.get(p)??null;if(f||(f=u.addSourceFileAtPathIfExists(p)??null,f&&Ut(l,f)),f)return{project:u,sourceFile:f}}return null}):null;return{sourceFile:c=>a(c)?.sourceFile??null,sourceFileMatch:a,indexedTypeScriptLikeDocuments:s}}function js(t,e,n){let r=e.map(({project:i})=>{let s=new Map;for(let o of i.getSourceFiles())Ut(s,o);return{project:i,sourceFiles:s}});for(let i of n){let s=Pr(t,i);if(s)for(let o of r){if(o.sourceFiles.has(s))break;let a=o.project.addSourceFileAtPathIfExists(s)??null;if(a){Ut(o.sourceFiles,a);break}}}return r}function Ut(t,e){let n=Bt(e.getFilePath());t.set(n,e);try{t.set(Bt(qs(n)),e)}catch(r){if(!fe(r))throw r}}function Pr(t,e){try{return Bt(dn(t,e,{inputKind:"indexed TypeScript source file"}).absolutePath)}catch(n){if(!fe(n))throw n;return null}}function Bt(t){return Bs.resolve(t)}function qt(t,e){for(let n of t)if(e===n.name||e.startsWith(`${n.name}/`))return n.name;return null}function Ar(t){let e=`${t.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 jt=["tsconfig.json","tsconfig.app.json","tsconfig.node.json","tsconfig.base.json"];function Wt(t,e){let r=e?A.dirname(A.join(t,e)):t,i=A.resolve(t);for(;r.startsWith(i);){for(let o of jt){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 jt){let o=A.join(t,s);if(Me(o))return o}return null}function Fr(t){let e=t.config.projectRoot,n=new Set(Ws(e,t.config.semantic?.typescript?.tsconfigs)),r=ke(t,{includeIgnored:!1,extensions:Le});for(let i of r){let s=Wt(e,i);s&&n.add(A.resolve(s))}if(n.size===0){let i=Wt(e);i&&n.add(A.resolve(i))}return[...n].filter(i=>!Nr(e,i)).sort((i,s)=>i.localeCompare(s))}function Ws(t,e=[]){let n=new Set;for(let r of e){let i=A.isAbsolute(r)?r:A.join(t,r);Me(i)&&n.add(A.resolve(i))}for(let r of zs(t))for(let i of jt){let s=A.join(r,i);Me(s)&&n.add(A.resolve(s))}if(n.size===0){let r=Wt(t);r&&n.add(A.resolve(r))}return[...n].filter(r=>!Nr(t,r)).sort((r,i)=>r.localeCompare(i))}function zs(t){let e=A.join(t,"package.json");if(!Me(e))return[];let n;try{n=JSON.parse(rn(e,"project package manifest"))}catch{return[]}return(Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages??[]).flatMap(i=>un(t,i))}function Nr(t,e){let n=A.relative(t,e).replace(/\\/g,"/");return n.startsWith("..")||n.includes("/node_modules/")||n.startsWith("node_modules/")||n.includes("/dist/")||n.startsWith("dist/")}function zt(t,e){try{return t()}catch{e?.();return}}var Ks=32;function qr(t,e){let n=k("typescript.provider.load",()=>kn());if(!n)return Oe("ts-morph is not installed");let r=k("typescript.provider.tsconfig-discovery",()=>Fr(t));if(r.length===0)return Oe("no tsconfig found");try{let i=k("typescript.provider.project-bundles",()=>En(n,r),()=>({tsconfigs:r.length}));return Hs(t,n,i)}catch(i){return Oe(i instanceof Error?i.message:String(i),r[0],r)}}function Hs(t,e,n,r={}){return k("typescript.provider.construct",()=>new Kt(t,e,n),()=>({tsconfigs:n.length,reusedProjects:r.reusedProjects===!0}))}var Kt=class{constructor(e,n,r){this.db=e;this.tsMorph=n;this.projects=r;this.workspacePackages=ln(e.config.projectRoot),this.sourceFiles=Er(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 U(this.importUsageCache,e,()=>{let n=this.sourceFiles.sourceFile(e);if(!n)return[];let r=$s();return k("typescript.import-usage.file",()=>this.importUsageForSourceFile(e,n,r),()=>({file:e,...r}))})}referencesFor(e){return U(this.referencesCache,e.symbolId,()=>{let n=this.nodeForDefinition(e);return this.referencesForDefinitionNode(e,n)})}referencesForDefinitions(e,n={}){let r=new Map,i=_(),s=[];for(let u of e){let l=this.referencesCache.get(u.symbolId);l?r.set(u.symbolId,l):s.push(u)}if(s.length===0)return r;let o=s,a=n.exact?[]:s.filter(u=>!Lr(u));if(a.length>=Ks){let u=this.referencesForDefinitionsBySymbolScan(a);if(u.incompleteFiles.size===0)for(let l of a){let f=u.references.get(l.symbolId)??[];this.referencesCache.set(l.symbolId,f),r.set(l.symbolId,f)}if(o=s.filter(l=>Lr(l)),o.length===0)return r}let c=new Map;for(let u of o){let l=c.get(u.relativePath);l?l.push(u):c.set(u.relativePath,[u])}let p=[];for(let[u,l]of c){let f=Or();k("typescript.references-map.file",()=>{let d=this.definitionNodesForFile(u);for(let m of l){i&&(f.cacheMisses+=1);let R=d.get(m.symbolId)??null;i&&(R?f.nodeHits+=1:f.nodeMisses+=1);try{let I=this.referencesForDefinitionNode(m,R,i?f:void 0);this.referencesCache.set(m.symbolId,I),r.set(m.symbolId,I)}catch{f.preciseSearchFailures+=1,p.push(m)}}},()=>({relativePath:u,definitions:l.length,...Ur(f)}))}if(p.length>0){let u=this.referencesForDefinitionsBySymbolScan(p);if(u.incompleteFiles.size===0)for(let l of p){let f=u.references.get(l.symbolId)??[];this.referencesCache.set(l.symbolId,f),r.set(l.symbolId,f)}}return r}referenceFragmentsForFiles(e){let n=Fe(this.db).filter(o=>te(o.relativePath)),r=e.filter(o=>this.sourceFiles.sourceFile(o)!==null),i=this.referencesForDefinitionsBySymbolScan(n,r),s=r.filter(o=>!i.incompleteFiles.has(o));return Pn(n,i.references,s)}referencesForDefinitionsBySymbolScan(e,n){let r=_(),i=Or(),s=new Map,o=new Set,a=new Set(e.map(p=>p.symbolId)),c=new Map(e.map(p=>[p.symbolId,p]));for(let p of e)s.set(p.symbolId,[]);return k("typescript.references-map.inverted-scan",()=>{let p=r?x.now():0,u=n?this.packageImportReferencesForFiles(n):this.packageImportReferences();for(let S of e){let h=u.get(S.symbolId)??[];if(h.length>0){let E=s.get(S.symbolId)??[];E.push(...h),s.set(S.symbolId,E)}r&&(i.packageReferenceCount+=h.length)}r&&(i.packageRefsMs+=x.now()-p);let l=new Map,f=new Map,d=this.hierarchyTargetsForDefinitions(e),m=new Set(e.map(S=>S.leaf).filter(Boolean)),R=r?x.now():0;for(let S of n??this.sourceFiles.indexedTypeScriptLikeDocuments()){if(this.db.isIgnored(S))continue;let h=this.sourceFiles.sourceFile(S);if(!h)continue;r&&(i.scanFiles+=1),this.addReferencesFromSourceFileScan(h,S,a,c,d,m,l,f,s,r?i:void 0)||o.add(S)}r&&(i.scanMs+=x.now()-R);let I=r?x.now():0;this.addHierarchyMemberReferences(e,s,r?i:void 0),r&&(i.hierarchyMs+=x.now()-I);for(let[S,h]of s){let E=oe(h);s.set(S,E),r&&(i.referenceCount+=E.length)}},()=>({definitions:e.length,...Ur(i)})),{references:s,incompleteFiles:o}}addReferencesFromSourceFileScan(e,n,r,i,s,o,a,c,p,u){let l=this.compilerCheckerForSourceFile(e),f=e.compilerNode,d=Gs(e),m=!0,R=I=>{if(this.tsMorph.ts.isIdentifier(I)){if(u&&(u.identifiers+=1),!o.has(I.text)&&!d.has(I.text)){this.tsMorph.ts.forEachChild(I,R);return}let S=this.compilerReferenceSymbol(l,I,u,()=>{m=!1});if(S){let h;a.has(S)?h=a.get(S)??null:(h=this.referenceDefinitionFromCompilerSymbol(S),a.set(S,h)),u&&(h?u.targetHits+=1:u.targetMisses+=1);let E=U(c,S,()=>this.compilerSymbolKeys(S)),M=null,v=null,C=h&&r.has(h.symbolId)?i.get(h.symbolId):void 0;if(C&&(M=Ze(f,I),!_r(C,n,M))){let D=f.getLineAndCharacterOfPosition(I.getStart(f));v={file:n,line:D.line,column:D.character};let b=p.get(C.symbolId)??[];b.push(v),p.set(C.symbolId,b),u&&(u.requestedHits+=1)}for(let D of E)for(let b of s.get(D)?.values()??[]){if(M??=Ze(f,I),_r(b,n,M))continue;if(!v){let g=f.getLineAndCharacterOfPosition(I.getStart(f));v={file:n,line:g.line,column:g.character}}let y=p.get(b.symbolId)??[];y.push(v),p.set(b.symbolId,y),u&&(u.requestedHits+=1)}}}this.tsMorph.ts.forEachChild(I,R)};return R(f),m}hierarchyTargetsForDefinitions(e){let n=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()),c=a.getSymbolAtLocation(s.name);if(c)for(let p of this.hierarchyMemberSymbols(a,o,c))for(let u of this.compilerSymbolKeys(p)){let l=n.get(u)??new Map;l.set(r.symbolId,r),n.set(u,l)}}return n}hierarchyMemberSymbols(e,n,r){let i=new Set,s=new Set,o=(a,c,p)=>{if(!s.has(a)){s.add(a),i.add(c);for(let u of p){let l=u.getProperty(r.name);l&&o(u,l,this.hierarchyAncestorTypesForType(e,u))}}};return o(e.getTypeAtLocation(n),r,this.hierarchyAncestorTypes(e,n)),i}addHierarchyMemberReferences(e,n,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 c=a.parent;if(!this.isHierarchyContainer(c))continue;let p=this.compilerCheckerForSourceFile(o.getSourceFile()),u=p.getSymbolAtLocation(a.name);if(!u)continue;let l=a.getSourceFile(),f=l.getLineAndCharacterOfPosition(a.name.getStart(l)),d={definition:s,location:{file:s.relativePath,line:f.line,column:f.character}},m=n.get(s.symbolId)??[];for(let I of this.hierarchyMemberSymbols(p,c,u))if(I!==u)for(let S of this.compilerSymbolLocations(I))m.push(S),r&&(r.hierarchyReferences+=1);n.set(s.symbolId,m);let R=this.hierarchyRootMemberSymbols(p,c,u);for(let I of R){let S=i.get(I)??new Map;S.set(s.symbolId,d),i.set(I,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=n.get(o.symbolId)??[];for(let c of s.values())c.definition.symbolId!==o.symbolId&&(a.push(c.location),r&&(r.hierarchyReferences+=1));n.set(o.symbolId,a)}}}hierarchyRootMemberSymbols(e,n,r){let i=new Set,s=new Set,o=(a,c,p)=>{if(s.has(a))return;s.add(a);let u=!1;for(let l of p){let f=l.getProperty(r.name);f&&(u=!0,o(l,f,this.hierarchyAncestorTypesForType(e,l)))}if(!u)for(let l of this.compilerSymbolKeys(c))i.add(l)};return o(e.getTypeAtLocation(n),r,this.hierarchyAncestorTypes(e,n)),i}compilerSymbolKeys(e){return(e.declarations??[]).map(n=>{let r=n.getSourceFile();return`${r.fileName}\0${n.getStart(r)}\0${e.name}`})}compilerSymbolLocations(e){let n=[];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));n.push({file:s,line:a.line,column:a.character})}return n}baseTypes(e,n){try{return e.getBaseTypes(n)??[]}catch{return[]}}hierarchyAncestorTypes(e,n){let r=new Set(this.hierarchyAncestorTypesForType(e,e.getTypeAtLocation(n)));for(let i of n.heritageClauses??[])for(let s of i.types)r.add(e.getTypeAtLocation(s));return[...r]}hierarchyAncestorTypesForType(e,n){let r=new Set(this.baseTypes(e,n));for(let i of n.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,n,r,i){r&&(r.symbolLookups+=1);let s=zt(()=>e.getSymbolAtLocation(n),i);if(s){if((s.flags&this.tsMorph.ts.SymbolFlags.Alias)===0)return s;try{return r&&(r.aliasResolutions+=1),e.getAliasedSymbol(s)}catch{return i?.(),s}}}calleesFor(e){if(this.calleesCache.has(e.symbolId))return this.calleesCache.get(e.symbolId)??[];let n=U(this.fileCalleesCache,e.relativePath,()=>this.calleeMapForFile(e.relativePath));if(n.incompleteSymbolIds.has(e.symbolId))throw new Error(`TypeScript callee evidence is incomplete for ${e.symbol}.`);let r=n.callees.get(e.symbolId)??[];return this.calleesCache.set(e.symbolId,r),r}calleesForDefinitions(e){let n=new Map,r=new Map;for(let i of e){if(this.calleesCache.has(i.symbolId)){n.set(i.symbolId,this.calleesCache.get(i.symbolId)??[]);continue}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(p=>p.symbolId)),c=o??this.calleeMapForFile(i,a);for(let p of s){if(c.incompleteSymbolIds.has(p.symbolId))continue;let u=c.callees.get(p.symbolId)??[];this.calleesCache.set(p.symbolId,u),n.set(p.symbolId,u)}}return n}referencesForDefinitionNode(e,n,r){let i=r?x.now():0,s=this.packageImportReferencesForDefinition(e);if(r&&(r.packageRefsMs+=x.now()-i,r.packageReferenceCount+=s.length),!n)return s;let o=r?x.now():0,a=xr(n,e,s,this.db.config.projectRoot);return r&&(r.semanticRefsMs+=x.now()-o,r.referenceCount+=a.length),a}signatureFor(e){return U(this.signatureCache,e.symbolId,()=>{let n=this.nodeForDefinition(e);if(!n||!this.tsMorph.Node.isFunctionDeclaration(n)&&!this.tsMorph.Node.isMethodDeclaration(n)&&!this.tsMorph.Node.isArrowFunction(n)&&!this.tsMorph.Node.isFunctionExpression(n)&&!this.tsMorph.Node.isConstructorDeclaration(n))return null;let r=n.getType().getCallSignatures()[0];if(!r)return null;let i=r.getParameters().map(o=>{let a=o.getDeclarations()[0],c=a?o.getTypeAtLocation(a).getText(a):o.getValueDeclaration()?.getType().getText()??"unknown";return Br(c)}),s=r.getReturnType().getText(n);return`(${i.join(",")})=>${Br(s)}`})}importUsageForSourceFile(e,n,r){let i=[],s=new Map;for(let o of n.getImportDeclarations()){r.declarations+=1;let a=ot(this.db,e,o.getModuleSpecifierValue()),c=o.getImportClause()?.isTypeOnly()??!1;for(let p of Ht(o)){r.entries+=1;let u=c?null:p.identifier?.getSymbol()?.compilerSymbol??null;!c&&p.identifier&&(u?r.bindingSymbols+=1:r.missingBindingSymbols+=1);let l={sourcePath:a,entry:p,typeOnlyDeclaration:c,bindingSymbol:u,references:[]};if(i.push(l),c||!p.localName||!u)continue;let f=s.get(p.localName);f?f.push(l):s.set(p.localName,[l])}}return s.size>0&&n.forEachDescendant(o=>{if(o.getKindName()!=="Identifier")return;let a=s.get(o.getText());if(!a||Ys(o))return;r.scannedIdentifiers+=1;let c=o.getSymbol()?.compilerSymbol;if(r.symbolLookups+=1,!!c){for(let p of a)if(p.bindingSymbol===c){p.references.push({location:Qe(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,n,r){let i;try{i=r.identifier?r.identifier.findReferences():[]}catch{let o=r.identifier?At(r.identifier,e,this.db.config.projectRoot):[];return{importer:e,sourcePath:n,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:r.isTypeOnly,isUsed:r.isTypeOnly||o.length>0,isTypeUsed:r.isTypeOnly,isValueUsed:!r.isTypeOnly&&o.length>0,references:o}}let s=[];for(let o of i)for(let a of Cr(o,e,r.identifier,this.db.config.projectRoot))s.push(a);return this.valueImportUsageFromLocations(e,n,r,s)}valueImportUsageFromLocations(e,n,r,i){let s=i.some(c=>!Ft(c.node)),o=i.some(c=>Ft(c.node)),a=r.isTypeOnly;return{importer:e,sourcePath:n,importedName:r.importedName,localName:r.localName,kind:r.kind,isTypeOnly:a,isUsed:a||i.length>0,isTypeUsed:a||o,isValueUsed:s,references:i.map(c=>c.location)}}packageImportReferencesForDefinition(e){return this.packageImportReferences().get(e.symbolId)??[]}packageImportReferencesForFiles(e){let n=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 c=qt(this.workspacePackages,a.getModuleSpecifierValue());c&&r.add(c)}}if(r.size===0)return n;let i=this.packageExportsForNames(r);for(let s of e)this.addPackageImportReferencesForDocument(n,i,s);for(let[s,o]of n)n.set(s,oe(o));return n}packageImportReferences(){if(this.packageImportReferenceIndex)return this.packageImportReferenceIndex;let e=new Map,n=this.packageExports();for(let r of this.sourceFiles.indexedTypeScriptLikeDocuments())this.addPackageImportReferencesForDocument(e,n,r);for(let[r,i]of e)e.set(r,oe(i));return this.packageImportReferenceIndex=e,e}addPackageImportReferencesForDocument(e,n,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,n,r,s)}addPackageImportReferencesForDeclaration(e,n,r,i){let s=qt(this.workspacePackages,i.getModuleSpecifierValue());if(!s)return;let o=n.get(s);if(o)for(let a of Ht(i)){if(a.kind!=="named"||!a.identifier)continue;let c=o.get(a.importedName);if(!c||c.size===0)continue;let p=At(a.identifier,r,this.db.config.projectRoot);p.length>0&&eo(e,c,p)}}packageExports(){return this.packageExportIndex?this.packageExportIndex:(this.packageExportIndex=this.packageExportsForNames(new Set(this.workspacePackages.map(e=>e.name))),this.packageExportIndex)}packageExportsForNames(e){let n=new Map;for(let r of this.workspacePackages){if(!e.has(r.name))continue;let i=new Map;for(let s of Ar(r))this.collectPackageExports(r,s,i,new Set);i.size>0&&n.set(r.name,i)}return n}collectPackageExports(e,n,r,i){if(i.has(n))return;i.add(n);let s=this.sourceFiles.sourceFile(n);if(s)for(let o of s.getExportDeclarations()){let a=o.getModuleSpecifierValue(),c=a?ot(this.db,n,a):n;if(!c||!c.startsWith(`${e.relativeDir}/src/`))continue;let p=o.getNamedExports();if(p.length===0){if(o.isNamespaceExport())continue;this.collectPackageExports(e,c,r,i);continue}for(let u of p){let l=u.getNameNode().getText(),f=u.getAliasNode()?.getText()??l,d=this.indexedDefinitionByLeaf(c,l);if(!d)continue;let m=r.get(f);m||(m=new Set,r.set(f,m)),m.add(d.symbolId)}}}indexedDefinitionByLeaf(e,n){return U(this.indexedDefinitionLeafCache,e,()=>kr(this.db,e)).get(n)??null}nodeForDefinition(e){return U(this.definitionNodeCache,e.symbolId,()=>this.definitionNodesForFile(e.relativePath).get(e.symbolId)??null)}definitionNodesForFile(e){return U(this.fileDefinitionNodeCache,e,()=>{let n=this.sourceFiles.sourceFile(e);return n?Tr(this.tsMorph,this.db,n,e):new Map})}referenceDefinitionFromCompilerSymbol(e){return this.definitionFromCompilerSymbol(e,void 0,!0)}definitionFromCompilerSymbol(e,n,r=!1){let i=e.name,s=n?x.now():0,o=e.declarations??[];n&&(n.declarationsMs+=x.now()-s,n.declarationChecks+=o.length);for(let a of o){let c=n?x.now():0,p=a.getSourceFile(),u=ae(this.db.config.projectRoot,p.fileName),l=p.getLineAndCharacterOfPosition(a.getStart(p)).line;if(n&&(n.declarationLocationMs+=x.now()-c),!u||this.db.isIgnored(u))continue;let f=n?x.now():0,d=this.compilerDeclarationName(a),m=r?Lt(this.db,u,l,i)??(d&&d!==i?Lt(this.db,u,l,d):null):wr(this.db,u,l,i);if(n&&(n.indexedLookupMs+=x.now()-f),m)return{symbolId:m.symbolId,symbol:m.symbol,file:m.relativePath,line:m.startLine}}return null}compilerDeclarationName(e){let n=e.name;return n&&this.tsMorph.ts.isIdentifier(n)?n.text:null}calleeMapForFile(e,n){let r=_(),i=0,s=0,o=0,a=0,c=0,p=0,u=0,l=0,f=r?Zs():void 0;return k("typescript.callee-map.file",()=>{let d=r?x.now():0,m=this.sourceFiles.sourceFile(e);if(r&&(c=Math.round(x.now()-d)),!m)return{callees:new Map,incompleteSymbolIds:new Set};let R=r?x.now():0,I=z(this.db,e).sort((y,g)=>y.startLine-g.startLine||g.endLine-y.endLine);if(r&&(p=Math.round(x.now()-R)),i=I.length,I.length===0)return{callees:new Map,incompleteSymbolIds:new Set};let S=new Map,h=new Set,E=r?x.now():0,M=this.compilerCheckerForSourceFile(m),v=m.compilerNode;r&&(u=Math.round(x.now()-E));let C=new Map,D=y=>{if(this.tsMorph.ts.isCallExpression(y)||this.tsMorph.ts.isNewExpression(y)){r&&(s+=1);let g=this.semanticCalleeForCallNode(M,v,I,y,C,n,h,f);g&&(r&&(o+=1),Js(S,g.callerId,g.target))}this.tsMorph.ts.forEachChild(y,D)},b=r?x.now():0;D(v),r&&(l=Math.round(x.now()-b));for(let[y,g]of S)S.set(y,to(g));return a=S.size,{callees:S,incompleteSymbolIds:h}},()=>({relativePath:e,definitions:i,callNodes:s,resolvedCallees:o,outputRows:a,requestedDefinitions:n?.size??i,sourceFileLookupMs:c,definitionsLoadMs:p,checkerLookupMs:u,traversalMs:l,...f?Xs(f):{}}))}semanticCalleeForCallNode(e,n,r,i,s,o,a,c){let p=c?x.now():0,u=Qs(r,Ze(n,i));if(c&&(c.callerLookupMs+=x.now()-p),!u)return null;if(o&&!o.has(u.symbolId))return c&&(c.skippedUnrequestedCallers+=1),null;let l=i.expression,f=this.compilerSymbolForExpression(e,l,c);f.incomplete&&a?.add(u.symbolId);let d=f.symbol,m=null;if(d)if(c&&(c.targetSymbolHits+=1),s.has(d))c&&(c.compilerSymbolCacheHits+=1),m=s.get(d)??null;else{c&&(c.compilerSymbolCacheMisses+=1);let R=c?x.now():0;m=this.definitionFromCompilerSymbol(d,c),c&&(c.targetLookupMs+=x.now()-R),s.set(d,m)}else c&&(c.targetMisses+=1);return m?{callerId:u.symbolId,target:{symbol:m.symbol,file:m.file,line:m.line,callsiteLine:Ze(n,i)}}:null}compilerSymbolForExpression(e,n,r){let i=!1,s=r?x.now():0,o=zt(()=>e.getSymbolAtLocation(n),()=>{i=!0});if(r&&(r.expressionSymbolMs+=x.now()-s),o)return{symbol:o,incomplete:!1};r&&(r.typeFallbacks+=1);let a=!1,c=r?x.now():0,p=zt(()=>e.getTypeAtLocation(n).getSymbol(),()=>{a=!0});return r&&(r.typeSymbolMs+=x.now()-c),{symbol:p,incomplete:!p&&(i||a)}}compilerCheckerForSourceFile(e){let n=e.getProject(),r=this.compilerCheckerCache.get(n);return r||(r=n.getTypeChecker().compilerObject,this.compilerCheckerCache.set(n,r)),r}};function Ht(t){let e=[],n=t.getDefaultImport();n&&e.push({identifier:n,importedName:"default",localName:n.getText(),kind:"default",isTypeOnly:t.getImportClause()?.isTypeOnly()??!1});let r=t.getNamespaceImport();r&&e.push({identifier:r,importedName:"*",localName:r.getText(),kind:"namespace",isTypeOnly:t.getImportClause()?.isTypeOnly()??!1});for(let i of t.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()||(t.getImportClause()?.isTypeOnly()??!1)})}return e.length===0&&e.push({identifier:null,importedName:"*",localName:null,kind:"side-effect",isTypeOnly:!1}),e}function Vs(t,e,n){return{importer:t,sourcePath:e,importedName:n.importedName,localName:n.localName,kind:n.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(t){for(let e=t;e;e=e.getParent())if(e.getKindName()==="ImportDeclaration")return!0;return!1}function Js(t,e,n){let r=t.get(e);r||(r=[],t.set(e,r)),r.push(n)}function Gs(t){let e=new Set;for(let n of t.getImportDeclarations())for(let r of Ht(n))r.localName&&e.add(r.localName);return e}function Qs(t,e){let n=null;for(let r of t)e<r.startLine||e>r.endLine||(!n||r.startLine>=n.startLine)&&(n=r);return n}function Ze(t,e){return t.getLineAndCharacterOfPosition(e.getStart(t)).line}function _r(t,e,n){return e===t.relativePath&&n>=t.startLine&&n<=t.endLine}function Lr(t){return t.symbol.includes("#")?Ae(t.symbol)==="type"&&t.relativePath.endsWith(".d.ts"):!1}function Zs(){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 Xs(t){return{...t,callerLookupMs:Math.round(t.callerLookupMs),expressionSymbolMs:Math.round(t.expressionSymbolMs),typeSymbolMs:Math.round(t.typeSymbolMs),targetLookupMs:Math.round(t.targetLookupMs),declarationsMs:Math.round(t.declarationsMs),declarationLocationMs:Math.round(t.declarationLocationMs),indexedLookupMs:Math.round(t.indexedLookupMs)}}function Or(){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 Ur(t){return{...t,scanMs:Math.round(t.scanMs),packageRefsMs:Math.round(t.packageRefsMs),semanticRefsMs:Math.round(t.semanticRefsMs),hierarchyMs:Math.round(t.hierarchyMs)}}function eo(t,e,n){for(let r of e){let i=t.get(r)??[];i.push(...n),t.set(r,i)}}function to(t){let e=new Set,n=[];for(let r of t){let i=`${r.symbol}|${r.file}|${r.line}|${r.callsiteLine??""}`;e.has(i)||(e.add(i),n.push(r))}return n}function Br(t){return t.replace(/\s+/g," ").replace(/\bimport\("[^"]+"\)\./g,"").trim()}import{join as no}from"path";var Xe=4;var ro="typescript-semantic";function jr(t){let e=no(t,ro),n=Ne(e);return{...n,requestDir:n.legacyRequestDir}}var ao=12e4,co=5;function Hr(t,e,n={}){let r=new Vt(t,n),i=null,s=null,o=process.env.CODEBASEIQ_SKIP_WATCH_SERVICE==="1",a=()=>(i??=qr(t,e),i),c=(l,f,d)=>{if(o)return d();try{return f(r.request(l))}catch{return o=!0,d()}},p=(l,f)=>c({kind:"references",definitions:[...l],...f?.exact?{exact:!0}:{}},d=>Kr(d),()=>a().referencesForDefinitions?.(l,f)??new Map(l.map(d=>[d.symbolId,a().referencesFor(d)]))),u=l=>c({kind:"callees",definitions:[...l]},f=>Kr(f),()=>a().calleesForDefinitions?.(l)??new Map(l.map(f=>[f.symbolId,a().calleesFor(f)])));return{language:"typescript",availability:()=>(s??=c({kind:"availability"},fo,()=>a().availability()),s),importUsage:l=>c({kind:"import-usage",file:l},f=>f,()=>a().importUsage(l)),referencesFor:l=>Wr(p([l]),l,"reference"),referencesForDefinitions:p,referenceFragmentsForFiles:l=>c({kind:"reference-fragments",files:[...l]},f=>uo(f),()=>a().referenceFragmentsForFiles?.(l)??new Map),calleesFor:l=>Wr(u([l]),l,"callee"),calleesForDefinitions:u,signatureFor:l=>c({kind:"signature",definition:l},po,()=>a().signatureFor(l)),dispose:()=>i?.dispose?.()}}function Wr(t,e,n){if(!t.has(e.symbolId))throw new Error(`TypeScript ${n} evidence is incomplete for ${e.symbol}.`);return t.get(e.symbolId)}var Vt=class{constructor(e,n={}){this.db=e;this.runtime=n.runtime??yo,this.timeoutMs=n.timeoutMs??mo(),this.mailboxLimits=n.mailboxLimits??{},this.cacheDir=oo(e.config.dbPath),this.projectRoot=pn(e.config.projectRoot)}db;runtime;timeoutMs;cacheDir;projectRoot;mailboxLimits;request(e){let n=wn(this.cacheDir),r=jr(this.cacheDir),i=lt(n.statePath);if(!zr(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,c=(this.runtime.monotonicNow??q)()+this.timeoutMs,p=fn(),u=X("typescript-semantic-v4",{generation:s,profileEnvironment:p,request:e}),l=ee(u),f=_e(r,{mailboxVersion:$,operationKey:u,clientId:this.runtime.randomId(),enqueuedAtMs:o,deadlineAtMs:a,protocolVersion:Xe,id:l,generation:s,profileEnvironment:p,request:e},{nowMs:o,limits:this.mailboxLimits});for(;(this.runtime.monotonicNow??q)()<=c;){if(so(f.responsePath))return lo(B(f.responsePath,{maxBytes:this.mailboxLimits.maxItemBytes??64*1024*1024,inputKind:"TypeScript semantic mailbox response"}),l,s,u);let d=lt(n.statePath);if(!zr(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 zr(t,e,n){let r=t?.processIdentity?n.readProcessIdentity?.(t.pid):null;return t!==null&&t.projectRoot===e&&t.typescriptSemantic?.protocolVersion===Xe&&n.isProcessAlive(t.pid)&&(!t.processIdentity||r!=null&&xe(t.processIdentity,r))}function lo(t,e,n,r){let i=JSON.parse(t);if(i.protocolVersion!==Xe||i.id!==e||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 Kr(t){if(!Array.isArray(t))throw new Error("TypeScript semantic service wrote an invalid numeric map.");return new Map(t)}function uo(t){if(!Array.isArray(t))throw new Error("TypeScript semantic service wrote an invalid string map.");return new Map(t)}function fo(t){let e=Ir(t);if(!e)throw new Error("TypeScript semantic service wrote invalid availability.");return e}function po(t){if(t!==null&&typeof t!="string")throw new Error("TypeScript semantic service wrote an invalid signature.");return t}function mo(){let t=Number(process.env.SCIP_TYPESCRIPT_SEMANTIC_TIMEOUT_MS);return Number.isInteger(t)&&t>0?t:ao}var yo={now:Date.now,monotonicNow:q,randomId:io,sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)},isProcessAlive:Te,readProcessIdentity:Ce};var $t=new Ge;en({name:"semantic-provider",groups:["semantic-provider"],clearAll:t=>$t.clear(t)});tn({name:"semantic-provider",close:t=>$t.clear(t)});function Q(t,e){let n=L(e)??"typescript";return $t.getOrCreate(t,n,()=>n==="rust"?Sr(t.config.projectRoot,{sourceImportUsageResolver:{importUsageFacts:r=>Fn(t,r)},calleeSymbolResolver:An(t),sourceZeroCalleeOracle:r=>So(t,r),scipOccurrenceCalleeOracle:r=>hr(t,r)}):Hr(t,e))}function L(t){return t?Sn(t)==="rust"?"rust":te(t)?"typescript":null:"typescript"}function So(t,e){let n=Pe(t,e.relativePath);if(!n||n.language!=="rust")return!1;let r=n.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine&&i.name===e.leaf)??n.callables.find(i=>i.startLine===e.startLine&&i.endLine===e.endLine);return r?!n.callSites.some(i=>i.line>=r.startLine&&i.line<=r.endLine):!1}var go=/^[A-Za-z_][A-Za-z0-9_]*$/,Vr=/\bDefault::default\b/g,bo=/^\.\.\s*Default::default\b/;function $r(t,e){let n=new Map,r=new Map;for(let i of e){let s=Yt(t,i,r);s!==null&&n.set(i.symbolId,s)}return n}function Yt(t,e,n=new Map){let r=ho(e.symbol);if(!r)return null;let i=Mn(t,[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=Ro(t,e.symbolId),c=[];for(let p of i){let u=Io(t,p.relative_path,n);if(u===null)return null;let l=u.split(/\r?\n/),f=0,d=[],m=0;for(let R=p.chunk_start;R<=p.chunk_end&&R<l.length;R+=1){let S=l[R]??"",h=new Set;s.lastIndex=0;let E;for(;E=s.exec(S);)c.push({file:p.relative_path,line:R,column:E.index+E[1].length+r.length+2}),m+=1;for(let M=0;M<S.length;M+=1){let v=bo.exec(S.slice(M));if(v){if(a&&d.includes(f)){let D=M+v[0].lastIndexOf("default");c.push({file:p.relative_path,line:R,column:D}),h.add(D),m+=1}M+=v[0].length-1;continue}let C=S[M];if(C==="{"){let D=o.test(S.slice(0,M));f+=1,D&&d.push(f);continue}if(C==="}")for(f=Math.max(0,f-1);d.length>0&&d[d.length-1]>f;)d.pop()}for(Vr.lastIndex=0;E=Vr.exec(S);){let M=E.index+9;if(!h.has(M))return null}}if(m===0)return null}return qe(c)}function Ro(t,e){return t.get("SELECT 1 AS present FROM mentions WHERE symbol_id = ? AND role = 1 LIMIT 1",e)?.present===1}function ho(t){let e=/impl#\[([^\]]+)\]\[Default\]default\(\)\./.exec(t)?.[1]??null;return!e||!go.test(e)?null:e}function Io(t,e,n){if(n.has(e))return n.get(e)??null;let r=t.get("SELECT text FROM documents WHERE relative_path = ?",e),i=typeof r?.text=="string"?r.text:Mo(t,e);return n.set(e,i),i}function Mo(t,e){try{return mn(t.config.projectRoot,e,{inputKind:"indexed Rust source file"})}catch(n){if(!fe(n))throw n;return null}}function Yr(t){let e=new Map;for(let n of t){let r=e.get(n.relativePath)??[];r.push(n),e.set(n.relativePath,r)}return e}var et=new WeakMap;function du(t){et.delete(t)}function mu(t){let e=et.get(t);return{incompleteSymbolIds:new Set(e?.incompleteSymbolIds),unavailableSymbolIds:new Set(e?.unavailableSymbolIds)}}function Qt(t,e){if(e.incompleteSymbolIds.size===0&&e.unavailableSymbolIds.size===0)return;let n=et.get(t)??{incompleteSymbolIds:new Set,unavailableSymbolIds:new Set};for(let r of e.incompleteSymbolIds)n.incompleteSymbolIds.add(r);for(let r of e.unavailableSymbolIds)n.unavailableSymbolIds.add(r);et.set(t,n)}var vo="typescript-import-usage-v1",Do="typescript-signatures-v1",Jt=on("semantic-prefetched-callees",{clearGroups:["whole-project","source-file","semantic-provider"]}),Jr=ct({kind:"semantic-import-usage",invalidation:ue("semantic-import-usage"),serialize:t=>JSON.stringify(t),deserialize:oi}),Gr=ct({kind:"semantic-signatures",invalidation:ue("semantic-signatures"),serialize:t=>JSON.stringify(t),deserialize:Fo}),Qr=at({kind:"typescript-import-usage",invalidation:ue("typescript-import-usage"),serialize:t=>JSON.stringify(t),deserialize:oi}),Zr=at({kind:"typescript-signatures",invalidation:ue("typescript-signatures"),serialize:t=>JSON.stringify(t),deserialize:No});function Zt(t){let e=new Map,n=new Set;return{capability:(r,i)=>ai(t,r,i),importUsage:r=>Co(t,r),references:r=>ei(t,r),materializeReferences:(r,i)=>ti(t,r,e,n,i),callerMap:r=>wo(t,r,e,n),calleeMap:r=>ii(t,r),signature:r=>Po(t,r)}}function xo(t,e){if(e.size===0)return;let n=Jt.get(t,()=>new Map);for(let[r,i]of e)n.set(r,[...i])}function yu(t,e){if(!Jt.has(t))return{hits:[],misses:[...e]};let n=Jt.get(t,()=>new Map),r=[],i=[];for(let s of e)n.has(s.symbolId)?r.push({definition:s,callees:n.get(s.symbolId)??[]}):i.push(s);return{hits:r,misses:i}}function Su(t,e){return Zt(t).importUsage(e)}function Co(t,e){if(L(e)==="typescript"){let s="fallback",o=0,a=0,c=0,p=0;return k("typescript.import-usage.materialize",()=>{let u=ut(t,e,vo);if(u?.key){o=1;let f=Qr.read(t,e,u.key);if(f)return s="hit",a=1,f;c=1;let d=W(t,e);if(!d)return s="unavailable",[];let m=d.importUsage(e);return Qr.write(t,e,u.key,m),s="computed",m}p=1;let l=W(t,e);return l?(s="direct-fallback",l.importUsage(e)):(s="unavailable",[])},()=>({state:s,eligible:o,cacheHits:a,cacheMisses:c,fallbacks:p}))}let n=si(t,"semantic-import-usage",e);if(n){let s=Jr.read(t,e,n);if(s)return s}let r=W(t,e);if(!r)return[];let i=r.importUsage(e);return n&&Jr.write(t,e,n,i),i}function gu(t,e){return Zt(t).references(e)}function ei(t,e){let n=Yt(t,e);if(n)return n;let r=On(t,e);if(r)return r;let i=W(t,e.relativePath);return i?i.referencesFor(e):[]}function bu(t,e){let n=To(t,e),r=n.incompleteSymbolIds.size+n.unavailableSymbolIds.size;if(r>0)throw new Error(`Exact semantic caller evidence is incomplete for ${r} definition(s).`);return n.callers}function To(t,e,n=r=>Q(t,r)){let r=new Map,i=new Set,s=new Set,o=new Map;for(let c of e){let p=L(c.relativePath);if(!p)continue;let u;try{u=n(c.relativePath)}catch{s.add(c.symbolId);continue}if(!u.availability().available){s.add(c.symbolId);continue}if(p==="typescript"){let l=o.get(u)??[];l.push(c),o.set(u,l);continue}Gt(t,r,c,ei(t,c))}for(let[c,p]of o){let u=pt(t,p,n),l=u?.references??(c.referencesForDefinitions?c.referencesForDefinitions(p,{exact:!0}):new Map(p.map(f=>[f.symbolId,c.referencesFor(f)])));!u&&_()&&ft(t,p,l,n);for(let f of p){if(!l.has(f.symbolId)){i.add(f.symbolId);continue}Gt(t,r,f,l.get(f.symbolId)??[])}}let a={callers:r,incompleteSymbolIds:i,unavailableSymbolIds:s};return Qt(t,a),a}function wo(t,e,n=new Map,r=new Set){let i=new Map,s=ti(t,e,n,r),o=0;return k("semantic.callers.from-references",()=>{for(let a of e)o+=Gt(t,i,a,n.get(a.symbolId)??[])},()=>({definitions:e.length,materialized:s.definitions,inMemoryHits:s.inMemoryHits,incompleteInMemoryHits:s.incompleteInMemoryHits,resultRows:i.size,callerFiles:o})),i}function ti(t,e,n,r,i={}){let s=st(t),o=[],a=[],c=[],p=0,u=0,l=0,f=0,d=0,m=0,R=0,I=0,S=0,h=0,E=0,M=0,v=[],C=new Map,D=e.filter(y=>L(y.relativePath)==="typescript"&&!n.has(y.symbolId)&&!r.has(y.symbolId)),b=pt(t,D,y=>Q(t,y));if(b){S=D.length,h=b.cacheHits,E=b.cacheMisses,M=b.computedFiles;for(let y of D)n.set(y.symbolId,b.references.get(y.symbolId)??[])}if(k("semantic.references.cache-scan",()=>{for(let[y,g]of Yr(e)){let T=[];for(let w of g)n.has(w.symbolId)?u+=1:r.has(w.symbolId)?I+=1:T.push(w);if(T.length===0){R+=1;continue}let j=ko(t,s,y);if(!j){for(let w of T)L(w.relativePath)||(p+=1),c.push(w);continue}m+=1;let F=an(t,y,j);for(let w of T){let O=F.get(w.symbol)??null;if(O!==null){let P=Eo(O);if(P){l+=1,n.set(w.symbolId,P);continue}f+=1}a.push({definition:w,cacheFingerprint:j})}}},()=>({definitions:e.length,skippedUnsupportedLanguage:p,cacheHits:l,parseFailures:f,misses:a.length,unkeyed:c.length,inMemoryHits:u,incompleteInMemoryHits:I,fullyInMemoryFiles:R,cacheReadFiles:m})),a.length>0||c.length>0){v=[...c,...a.map(y=>y.definition)],C=k("semantic.references.compute-misses",()=>{let y=ni(t,v,i);return d=y.size,y},()=>({definitions:v.length,misses:a.length,unkeyed:c.length,rows:d}));for(let y of v)C.has(y.symbolId)?(n.set(y.symbolId,C.get(y.symbolId)??[]),r.delete(y.symbolId)):r.add(y.symbolId);for(let{definition:y,cacheFingerprint:g}of a)C.has(y.symbolId)&&ai(t,"semantic-references",y.relativePath).available&&o.push({relativePath:y.relativePath,symbol:y.symbol,projectFingerprint:g,payload:JSON.stringify(C.get(y.symbolId)??[])})}return o.length>0&&k("semantic.references.cache-write",()=>cn(t,o),()=>({entries:o.length})),C.size>0&&ft(t,v,C,y=>Q(t,y)),{definitions:e.length,inMemoryHits:u,incompleteInMemoryHits:I,cacheHits:l,misses:a.length,unkeyed:c.length,skippedUnsupportedLanguage:p,parseFailures:f,computed:d,incomplete:r.size,cacheWrites:o.length,fragmentDefinitions:S,fragmentCacheHits:h,fragmentCacheMisses:E,fragmentComputedFiles:M}}function ko(t,e,n){if(!e)return null;let r=L(n);return r==="typescript"?we(JSON.stringify({kind:"semantic-references",language:r,schema:"typescript-references-v2-incomplete-scan",projectFingerprint:e})):r==="rust"?we(JSON.stringify({kind:"semantic-references",language:r,engine:St(t.config.projectRoot),projectFingerprint:e})):null}function ni(t,e,n={}){let r=_(),i=new Map,s=0,o=0,a=0,c=0,p=0,u=0,l=0,f=0,d=0;return k("semantic.references.provider-loop",()=>{let m=$r(t,e),R=Ln(t,e),I=new Map,S=n.prefetchCallees?new Map:null,h=[];for(let M of e){let v,C=()=>(v??=W(t,M.relativePath),v);if(S){let g=C();if(g?.referencesAndCalleesForDefinitions){let T=S.get(g);T?T.push(M):S.set(g,[M]),d+=1}}let D=m.get(M.symbolId);if(D){a+=1,c+=D.length,ve(i,M.symbolId,D,r,g=>{l+=1,f+=g});continue}let b=R.get(M.symbolId);if(b){p+=1,u+=b.length,ve(i,M.symbolId,b,r,g=>{l+=1,f+=g});continue}let y=C();if(!y){r&&(o+=1);continue}if(r&&(s+=1),y.referencesForDefinitions){let g=I.get(y);g?g.push(M):I.set(y,[M])}else h.push({provider:y,definition:M})}let E=new Set;if(S)for(let[M,v]of S){if(!M.referencesAndCalleesForDefinitions)continue;let C=I.get(M)??[],D=M.referencesAndCalleesForDefinitions(C,v);E.add(M),xo(t,D.callees);for(let b of C){if(!D.references.has(b.symbolId))continue;let y=D.references.get(b.symbolId)??[];ve(i,b.symbolId,y,r,g=>{l+=1,f+=g})}}for(let[M,v]of I){if(E.has(M))continue;let C=M.referencesForDefinitions(v);for(let D of v){if(!C.has(D.symbolId))continue;let b=C.get(D.symbolId)??[];ve(i,D.symbolId,b,r,y=>{l+=1,f+=y})}}for(let{provider:M,definition:v}of h){let C=M.referencesFor(v);ve(i,v.symbolId,C,r,D=>{l+=1,f+=D})}return i},()=>({definitions:e.length,providerHits:s,providerMisses:o,rustDefaultFastPathRows:a,rustDefaultFastPathReferences:c,rustScipOccurrenceFastPathRows:p,rustScipOccurrenceFastPathReferences:u,prefetchCalleeDefinitions:d,definitionsWithReferences:l,referenceCount:f,rows:i.size}))}function Ru(t,e,n={}){let r=ni(t,e,n),i=ri(t,e,r);return Qt(t,i),{rows:r,...i}}function ve(t,e,n,r,i){t.set(e,n),r&&n.length>0&&i(n.length)}function Gt(t,e,n,r){let i=0;for(let s of r){if(s.file===n.relativePath||t.isIgnored(s.file))continue;let o=e.get(n.symbolId);o||(o=new Set,e.set(n.symbolId,o));let a=o.size;o.add(s.file),o.size!==a&&(i+=1)}return i}function Eo(t){try{return JSON.parse(t)}catch{return null}}function hu(t,e,n){let r=ii(t,e,n),i=ri(t,e,r,n);return Qt(t,i),{rows:r,...i}}function ri(t,e,n,r){let i=new Set,s=new Set;for(let o of e)if(!(n.has(o.symbolId)||!L(o.relativePath)))try{(r?r(o.relativePath):Q(t,o.relativePath)).availability().available?i.add(o.symbolId):s.add(o.symbolId)}catch{s.add(o.symbolId)}return{incompleteSymbolIds:i,unavailableSymbolIds:s}}function ii(t,e,n){let r=_(),i=new Map,s=0,o=0,a=0,c=0;return k("semantic.callees.provider-loop",()=>{let p=new Map,u=[];for(let l of e){let f=n?n(l.relativePath):W(t,l.relativePath);if(f&&!f.availability().available){r&&(o+=1);continue}if(!f){r&&(o+=1);continue}r&&(s+=1);let d=l;if(f.calleesForDefinitions){let m=p.get(f);m?m.push(d):p.set(f,[d])}else u.push({provider:f,definition:d})}for(let[l,f]of p){let d=l.calleesForDefinitions(f);for(let m of f){if(!d.has(m.symbolId))continue;let R=d.get(m.symbolId)??[];Xr(i,m.symbolId,R,r,I=>{a+=1,c+=I})}}for(let{provider:l,definition:f}of u){let d=l.calleesFor(f);Xr(i,f.symbolId,d,r,m=>{a+=1,c+=m})}return i},()=>({definitions:e.length,providerHits:s,providerMisses:o,definitionsWithCallees:a,calleeCount:c,rows:i.size}))}function Xr(t,e,n,r,i){t.set(e,n),r&&n.length>0&&i(n.length)}function Iu(t,e){return Zt(t).signature(e)}function Po(t,e){if(L(e.relativePath)==="typescript"){let o="fallback",a=0,c=0,p=0,u=0;return k("typescript.signature.materialize",()=>{let l=ut(t,e.relativePath,Do);if(l?.key){a=1;let d=Zr.read(t,e.relativePath,l.key)??{};if(Object.prototype.hasOwnProperty.call(d,e.symbol))return o="hit",c=1,d[e.symbol]??null;p=1;let m=W(t,e.relativePath);if(!m)return o="unavailable",null;let R=m.signatureFor(e);return Zr.write(t,e.relativePath,l.key,{...d,[e.symbol]:R}),o="computed",R}u=1;let f=W(t,e.relativePath);return f?(o="direct-fallback",f.signatureFor(e)):(o="unavailable",null)},()=>({state:o,eligible:a,cacheHits:c,cacheMisses:p,fallbacks:u}))}let n=si(t,"semantic-signatures",e.relativePath),r=Ao(e);if(n){let o=Gr.read(t,r,n);if(o)return o.signature}let i=W(t,e.relativePath);if(!i)return null;let s=i.signatureFor(e);return n&&Gr.write(t,r,n,{signature:s}),s}function si(t,e,n){let r=st(t);if(!r)return null;let i=L(n);return i!=="rust"?null:we(JSON.stringify({kind:e,language:i,engine:St(t.config.projectRoot),projectFingerprint:r}))}function Ao(t){return`${t.relativePath}\0${t.symbol}`}function oi(t){try{let e=JSON.parse(t);return Array.isArray(e)?e:null}catch{return null}}function Fo(t){try{let e=JSON.parse(t);if(!e||typeof e!="object")return null;let n=e.signature;return n!==null&&typeof n!="string"?null:{signature:n}}catch{return null}}function No(t){try{let e=JSON.parse(t);if(!e||typeof e!="object"||Array.isArray(e))return null;for(let n of Object.values(e))if(n!==null&&typeof n!="string")return null;return e}catch{return null}}function ai(t,e,n){let r=L(n);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(t,n).availability()}}catch(i){return{slot:e,language:r,available:!1,reason:i instanceof Error?i.message:String(i)}}}function W(t,e){if(!L(e))return null;let n=Q(t,e);return n.availability().available?n:null}export{Yr as a,St as b,L as c,du as d,mu as e,Zt as f,yu as g,Su as h,gu as i,bu as j,To as k,ni as l,Ru as m,hu as n,Iu as o};
3
- //# sourceMappingURL=chunk-KLX6NSWT.js.map
3
+ //# sourceMappingURL=chunk-R2F2CTBA.js.map
@@ -1,3 +1,3 @@
1
- import{c as p}from"./chunk-CCIYWXX6.js";import{b as D}from"./chunk-B75HZHUP.js";import{a as m}from"./chunk-BGBBVSH4.js";import{d as g,u as B}from"./chunk-GVAF222T.js";import{b as f}from"./chunk-F74LZWCE.js";import{A as d,x as y}from"./chunk-7GAK2F3H.js";import{createHash as A}from"crypto";var h=3;function H(e,t={}){let{scope:o,maxLoc:n=15,minLoc:i=h,limit:r,scanLimit:s}=t,l=p(e),u=L(e,{scope:o,maxLoc:n,scanLimit:s}).map(a=>x(e,a,l,i)).filter(a=>a!==null),c=v(u);return r?c.slice(0,r):c}function M(e,t,o={}){let{scope:n,maxLoc:i=15,minLoc:r=h,scanLimit:s}=o,l=p(e),u=L(e,{scope:n,maxLoc:i,scanLimit:s}).map(a=>x(e,a,l,r)).filter(a=>a!==null),c=u.find(a=>a.symbol===t);return c?u.filter(a=>a.symbol!==c.symbol&&a.normalizedBody===c.normalizedBody&&a.file!==c.file).sort(z).map(({normalizedBody:a,...C})=>C):[]}function I(e){let t=S(e);return f(t).replace(/\s+/g,"")}function v(e){let t=new Map;for(let n of e){if(n.normalizedBody.length<8)continue;let i=F(n.normalizedBody),r=t.get(i)??[];r.push(n),t.set(i,r)}let o=[];for(let[n,i]of t){let r=new Set(i.map(l=>l.file));if(i.length<2||r.size<2)continue;let s=[...i].sort(z).map(({normalizedBody:l,...u})=>u);o.push({hash:n,canonical:s[0],functions:s})}return o.sort((n,i)=>{let r=i.functions.length-n.functions.length;if(r!==0)return r;let s=b(i)-b(n);return s!==0?s:n.canonical.file.localeCompare(i.canonical.file)}),o}function L(e,t){let o=B(e,{scope:t.scope}).filter(n=>n.isFunctionLike&&!e.isIgnored(n.relativePath)).filter(n=>!d(e,n.relativePath,n.startLine,"similar")).filter(n=>m(n)<=t.maxLoc);return o.sort((n,i)=>m(i)-m(n)||n.relativePath.localeCompare(i.relativePath)),D(o,t.scanLimit)}function x(e,t,o,n){let i=E(e,t);if(!i||W(i)<n)return null;let r=P(e,t);return r?{symbol:t.symbol,shortName:g(t.symbol),file:t.relativePath,startLine:t.startLine,endLine:t.endLine,loc:m(t),ageCommits:o?.get(t.relativePath)?.commitsAgo??null,normalizedBody:r}:null}function P(e,t){let o=E(e,t);return o&&I(o)||null}function E(e,t){let o=y(e,t.relativePath);return o.length===0?null:o.slice(t.startLine,t.endLine+1).join(`
1
+ import{c as p}from"./chunk-G2UU6PQP.js";import{b as D}from"./chunk-B75HZHUP.js";import{a as m}from"./chunk-BGBBVSH4.js";import{d as g,u as B}from"./chunk-TNLOX4TN.js";import{b as f}from"./chunk-RGBZDOUO.js";import{A as d,x as y}from"./chunk-23AD24QZ.js";import{createHash as A}from"crypto";var h=3;function H(e,t={}){let{scope:o,maxLoc:n=15,minLoc:i=h,limit:r,scanLimit:s}=t,l=p(e),u=L(e,{scope:o,maxLoc:n,scanLimit:s}).map(a=>x(e,a,l,i)).filter(a=>a!==null),c=v(u);return r?c.slice(0,r):c}function M(e,t,o={}){let{scope:n,maxLoc:i=15,minLoc:r=h,scanLimit:s}=o,l=p(e),u=L(e,{scope:n,maxLoc:i,scanLimit:s}).map(a=>x(e,a,l,r)).filter(a=>a!==null),c=u.find(a=>a.symbol===t);return c?u.filter(a=>a.symbol!==c.symbol&&a.normalizedBody===c.normalizedBody&&a.file!==c.file).sort(z).map(({normalizedBody:a,...C})=>C):[]}function I(e){let t=S(e);return f(t).replace(/\s+/g,"")}function v(e){let t=new Map;for(let n of e){if(n.normalizedBody.length<8)continue;let i=F(n.normalizedBody),r=t.get(i)??[];r.push(n),t.set(i,r)}let o=[];for(let[n,i]of t){let r=new Set(i.map(l=>l.file));if(i.length<2||r.size<2)continue;let s=[...i].sort(z).map(({normalizedBody:l,...u})=>u);o.push({hash:n,canonical:s[0],functions:s})}return o.sort((n,i)=>{let r=i.functions.length-n.functions.length;if(r!==0)return r;let s=b(i)-b(n);return s!==0?s:n.canonical.file.localeCompare(i.canonical.file)}),o}function L(e,t){let o=B(e,{scope:t.scope}).filter(n=>n.isFunctionLike&&!e.isIgnored(n.relativePath)).filter(n=>!d(e,n.relativePath,n.startLine,"similar")).filter(n=>m(n)<=t.maxLoc);return o.sort((n,i)=>m(i)-m(n)||n.relativePath.localeCompare(i.relativePath)),D(o,t.scanLimit)}function x(e,t,o,n){let i=E(e,t);if(!i||W(i)<n)return null;let r=P(e,t);return r?{symbol:t.symbol,shortName:g(t.symbol),file:t.relativePath,startLine:t.startLine,endLine:t.endLine,loc:m(t),ageCommits:o?.get(t.relativePath)?.commitsAgo??null,normalizedBody:r}:null}function P(e,t){let o=E(e,t);return o&&I(o)||null}function E(e,t){let o=y(e,t.relativePath);return o.length===0?null:o.slice(t.startLine,t.endLine+1).join(`
2
2
  `)}function S(e){let t=e.indexOf("{"),o=e.lastIndexOf("}");if(t>=0&&o>t)return e.slice(t+1,o);let n=e.indexOf("=>");return n>=0?e.slice(n+2).replace(/;+\s*$/,""):e}function W(e){return S(e).split(/\r?\n/).map(o=>o.trim()).filter(o=>o.length>0).length}function F(e){return A("sha256").update(e).digest("hex").slice(0,16)}function z(e,t){let o=e.ageCommits??-1;return(t.ageCommits??-1)-o||e.file.localeCompare(t.file)||e.startLine-t.startLine}function b(e){return e.functions.reduce((t,o)=>t+o.loc,0)}export{H as a,M as b,I as c,v as d,P as e,E as f,S as g};
3
- //# sourceMappingURL=chunk-2OMXFE64.js.map
3
+ //# sourceMappingURL=chunk-R7PXHYMY.js.map
@@ -1,4 +1,4 @@
1
- import{A as G,B as Je,C as D,D as Y,E as Ke,F as ye,G as Xe,H as Qe,e as Me,f as ve,g as _,h as $e,i as Ue,j as qe,k as B,l as Be,m as H,n as ze,o as Ve,p as We,q as F,r as J,s as A,t as de,u as ge,v as S,w as Se,x as He,y as he,z as Q}from"./chunk-ICUL7XRT.js";import{c as Oe,g as q,j as se,l as W,r as xe,t as K,v as X,w as L}from"./chunk-7GAK2F3H.js";import{c as ne}from"./chunk-UC2FD2PS.js";function O(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function At(e){return e.replace(/'''[\s\S]*?'''/g,k).replace(/"""[\s\S]*?"""/g,k).replace(/#.*$/gm,k).replace(/\/\/.*$/gm,k).replace(/\/\*[\s\S]*?\*\//g,k).replace(/`(?:\\[\s\S]|[^`])*`/g,k).replace(/'(?:\\.|[^'\\\r\n])*'/g,k).replace(/"(?:\\.|[^"\\\r\n])*"/g,k)}function Vn(e){return Ge(e,{maskStrings:!1})}function Wn(e){return Ge(e,{maskStrings:!0})}function Ge(e,r){let t="",n=0,s=e.length;for(;n<s;){if(e[n]==="/"&&e[n+1]==="/"){let i=e.indexOf(`
1
+ import{A as G,B as Je,C as D,D as Y,E as Ke,F as ye,G as Xe,H as Qe,e as Me,f as ve,g as _,h as $e,i as Ue,j as qe,k as B,l as Be,m as H,n as ze,o as Ve,p as We,q as F,r as J,s as A,t as de,u as ge,v as S,w as Se,x as He,y as he,z as Q}from"./chunk-NRNVMB2R.js";import{c as Oe,g as q,j as se,l as W,r as xe,t as K,v as X,w as L}from"./chunk-23AD24QZ.js";import{c as ne}from"./chunk-6I55VYFG.js";function O(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function At(e){return e.replace(/'''[\s\S]*?'''/g,k).replace(/"""[\s\S]*?"""/g,k).replace(/#.*$/gm,k).replace(/\/\/.*$/gm,k).replace(/\/\*[\s\S]*?\*\//g,k).replace(/`(?:\\[\s\S]|[^`])*`/g,k).replace(/'(?:\\.|[^'\\\r\n])*'/g,k).replace(/"(?:\\.|[^"\\\r\n])*"/g,k)}function Vn(e){return Ge(e,{maskStrings:!1})}function Wn(e){return Ge(e,{maskStrings:!0})}function Ge(e,r){let t="",n=0,s=e.length;for(;n<s;){if(e[n]==="/"&&e[n+1]==="/"){let i=e.indexOf(`
2
2
  `,n),a=i===-1?s:i;t+=be(e,n,a),n=a;continue}if(e[n]==="/"&&e[n+1]==="*"){let i=e.indexOf("*/",n+2),a=i===-1?s:i+2;t+=be(e,n,a),n=a;continue}let o=e[n];if(o==="`"||o==="'"||o==='"'){let i=o,a=n+1;for(;a<s;){if(e[a]==="\\"){a+=2;continue}if(e[a]===i){a+=1;break}if(i!=="`"&&e[a]===`
3
3
  `)break;a+=1}t+=r.maskStrings?be(e,n,a):e.slice(n,a),n=a;continue}t+=o,n+=1}return t}function be(e,r,t){let n="";for(let s=r;s<t;s+=1)n+=e[s]===`
4
4
  `?`
@@ -10,4 +10,4 @@ import{A as G,B as Je,C as D,D as Y,E as Ke,F as ye,G as Xe,H as Qe,e as Me,f as
10
10
  `:" ",s+=1;continue}let o=e[s];if(o===";"){let i=ae(e,s);n+=lt(e.slice(s,i)),s=i;continue}if(o==='"'){let i=te(e,s,0).index;n+=lt(e.slice(s,i)),s=i;continue}n+=o,s+=1}return n}function Rr(e){let r=0;for(;r<e.length&&(r=Le(e,r),!(r>=e.length));){let t=pe(e,r);if(!t){r+=1;continue}if(Sr(t.form))return t.form;r=t.index}return null}function pe(e,r){let t=Le(e,r);if(e.startsWith("#?@",t)||e.startsWith("#?",t))return Tr(e,t);if(e.startsWith("#_",t)){let s=pe(e,t+2);return s?{form:{type:"atom",text:"",start:t,end:s.index},index:s.index}:null}for(;Pe(e[t]);)t+=1;let n=e[t];return n?n==="("?Te(e,t,"list",")"):n==="["?Te(e,t,"vector","]"):n==="{"?Te(e,t,"map","}"):n==='"'?{form:{type:"atom",text:"",start:t,end:te(e,t,0).index},index:te(e,t,0).index}:Fr(e,t):null}function Tr(e,r){let t=e.startsWith("#?@",r)?3:2,n=pe(e,r+t);return n?{form:{type:"list",children:n.form.type==="list"||n.form.type==="vector"||n.form.type==="map"?Er(n.form.children):[],start:r,end:n.index},index:n.index}:null}function Er(e){let r=[];for(let t=0;t<e.length;t+=2){let n=P(e[t]),s=e[t+1];n?.startsWith(":")&&s&&r.push(s)}return r}function Te(e,r,t,n){let s=[],o=r+1;for(;o<e.length;){if(o=Le(e,o),e[o]===n)return{form:{type:t,children:s,start:r,end:o+1},index:o+1};let i=pe(e,o);if(!i){o+=1;continue}i.form.type==="atom"&&i.form.text===""||s.push(i.form),o=i.index}return{form:{type:t,children:s,start:r,end:e.length},index:e.length}}function Fr(e,r){let t=r;for(;t<e.length&&!_e(e[t]);)t+=1;return{form:{type:"atom",text:e.slice(r,t),start:r,end:t},index:t}}function Le(e,r){let t=r;for(;t<e.length;){let n=e[t];if(/\s|,/.test(n)){t+=1;continue}if(n===";"){t=ae(e,t);continue}break}return t}function lt(e){return e.replace(/[^\r\n]/g," ")}function ut(e,r,t){let n=[];for(let s of t.matchAll(/^[ \t]*import\s+['"]([^'"]+)['"](?:\s+as\s+([A-Za-z_]\w*))?[\s\S]*?;$/gm)){let o=s[1]?.trim(),i=s[2]?.trim()??null,a=s[0];if(!o||!a||typeof s.index!="number")continue;let c=w(t,s.index,s.index+a.length);n.push({importedName:o,localName:i,sourcePath:Se(e,r,o),kind:i?"namespace":"side-effect",used:i?x(c,i):!0,usedMembers:i?z(c,i):[]})}return n}function mt(e,r,t){let n=[];for(let s of t.matchAll(/^[ \t]*export\s+['"]([^'"]+)['"][\s\S]*?;$/gm)){let o=s[1]?.trim();o&&n.push({specifier:o,sourcePath:Se(e,r,o)})}return n}function ft(e,r,t){return ce(e,r,{csharp:n=>Lr(e,r,n),vb:n=>Ar(e,r,n)},()=>{let n=Ve(r)?/^[ \t]*Imports\s+(.+?)\s*$/gm:/^[ \t]*using\s+(.+?)\s*;$/gm;return I(t,n,(s,o)=>{let i=s[1]?.trim();if(!i)return[];let[a,c]=i.split(/\s*=\s*/),l=!!c,p=(l?c:a)?.trim()??i,u=p.split(".").pop()??p,m=l?a?.trim()??u:u;return[R(e,r,o,p,u,m,S(e,p,B))]})},t)}function Ar(e,r,t){let n=g(t,new Set(["imports_statement"])),s=[];for(let o of t.rootNode.descendantsOfType("imports_statement")){let i=o.namedChildren.filter(m=>m.type==="namespace_name");if(i.length===0)continue;let a=i[i.length-1],c=i.length>1?i[0]:null,l=a.text,p=l.split(".").pop()??l,u=c?.text??p;s.push(d(p,u,S(e,l,B),n,c?"namespace":"named"))}return s}function Lr(e,r,t){let n=g(t,new Set(["using_directive"])),s=[];for(let o of t.rootNode.descendantsOfType("using_directive")){let i=o.namedChildren;if(i.length===0)continue;let a=null,c;i.length>=2&&i[0].type==="identifier"&&(i[1].type==="qualified_name"||i[1].type==="identifier")?(a=i[0],c=i[1]):c=i[i.length-1];let l=c.text,p=l.split(".").pop()??l,u=a?.text??p;s.push(d(p,u,S(e,l,B),n,a?"namespace":"named"))}return s}var kr=q("vue-non-script-identifiers",{clearGroups:["whole-project","source-file"]});function dt(e,r){return kr.get(e,r,()=>{let t=new Set,n=L(e,r);if(!n)return t;let o=n.replace(/<script\b[^>]*>[\s\S]*?<\/script>/g,i=>i.replace(/[^\r\n]/g," ")).replace(/<!--[\s\S]*?-->/g,i=>i.replace(/[^\r\n]/g," ")).replace(/\/\*[\s\S]*?\*\//g,i=>i.replace(/[^\r\n]/g," "));for(let i of o.matchAll(/[A-Za-z_$][\w$]*/g))t.add(i[0]);return t})}function ke(e,r,t){return C(e,r,n=>jr(e,r,n),()=>wr(e,r,t),t)}function wr(e,r,t){return Wr(t).flatMap(n=>Hr(e,r,n.clause,n.specifier,n.start,n.end,t))}function jr(e,r,t){let n=Dr(e,r,t),s=[];for(let o of t.rootNode.descendantsOfType("import_statement"))s.push(...Or(e,r,t,o,n));return s}function Dr(e,r,t){let n=g(t,new Set(["import_statement"]));if(G(r))for(let s of dt(e,r))n.add(s);return n}function Or(e,r,t,n,s){let o=qr(n);if(!o)return[];let i=F(e,r,o),a=b(n,"import_clause");return a?Mr(t,a,i,s,Br(n.text)):[M("*",i)]}function Mr(e,r,t,n,s){let o=[];for(let i of r.namedChildren)if(i.type==="identifier")o.push(vr(i.text,t,n,s));else if(i.type==="namespace_import"){let a=$r(e,i,t,n,s);a&&o.push(a)}else i.type==="named_imports"&&o.push(...Ur(i,t,n,s));return o}function vr(e,r,t,n){return d("default",e,r,t,"default",{isTypeOnly:n})}function $r(e,r,t,n,s){let i=b(r,"identifier")?.text??"";if(!i)return null;let a=Vr(e,i);return v("*",t,{localName:i,usedMembers:a,isTypeOnly:s,used:a.length>0||n.has(i)})}function Ur(e,r,t,n){let s=[];for(let o of e.namedChildren){if(o.type!=="import_specifier")continue;let i=o.namedChild(0),a=o.namedChild(1);if(!i)continue;let c=i.text,l=a?.text??c;s.push(d(c,l,r,t,"named",{isTypeOnly:n||zr(o.text)}))}return s}function qr(e){let r=b(e,"string");if(!r)return null;let t=b(r,"string_fragment");return t?t.text:null}function Br(e){return/^\s*import\s+type\b/.test(e)}function zr(e){return/^\s*type\b/.test(e.trim())}function Vr(e,r){let t=new Set;for(let n of e.rootNode.descendantsOfType("member_expression")){let s=n.namedChild(0),o=n.namedChild(1);!s||!o||s.type!=="identifier"||s.text!==r||(o.type==="property_identifier"||o.type==="identifier")&&t.add(o.text)}return[...t]}function Wr(e){let r=[],t=/^[ \t]*import\s+([\s\S]*?)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let s of e.matchAll(t)){let o=s[0],i=s[1],a=s[2];!o||!a||typeof s.index!="number"||r.push({clause:i,specifier:a,start:s.index,end:s.index+o.length})}let n=/^[ \t]*import\s+['"]([^'"]+)['"]\s*;?/gm;for(let s of e.matchAll(n)){let o=s[0],i=s[1];!o||!i||typeof s.index!="number"||r.push({clause:null,specifier:i,start:s.index,end:s.index+o.length})}return r.sort((s,o)=>s.start-o.start)}function Hr(e,r,t,n,s,o,i){let a=F(e,r,n),c=w(i,s,o);return t?Jr(t).map(p=>({...p,sourcePath:a})).map(p=>{if(p.kind==="namespace"){let u=z(c,p.localName);return v(p.importedName,p.sourcePath,{localName:p.localName,usedMembers:u,used:u.length>0||x(c,p.localName),isTypeOnly:p.isTypeOnly})}return p.kind==="side-effect"?M(p.importedName,p.sourcePath):E(p.importedName,p.localName??"",p.sourcePath,p.localName?x(c,p.localName):!1,p.kind,[],{isTypeOnly:p.isTypeOnly})}):[M("*",a)]}function Jr(e){let r=e.trim(),t=/^type\b/.test(r),n=r.replace(/^type\s+/,""),[s,o]=Kr(n),i=[];return s&&i.push(...gt(s,t)),o&&i.push(...gt(o,t)),i}function gt(e,r){let t=e.trim();if(!t)return[];if(t.startsWith("{")){let n=t.slice(1,-1).trim();return n?y(n).map(s=>{let o=s.trim(),i=r||/^type\b/.test(o),a=o.replace(/^type\s+/,""),[c,l]=a.split(/\s+as\s+/);return{importedName:c.trim(),localName:(l??c).trim(),kind:"named",isTypeOnly:i}}):[]}return t.startsWith("* as ")?[{importedName:"*",localName:t.slice(5).trim(),kind:"namespace",isTypeOnly:r}]:[{importedName:"default",localName:t,kind:"default",isTypeOnly:r}]}function Kr(e){let r=0;for(let t=0;t<e.length;t++){let n=e[t];if(n==="{"&&r++,n==="}"&&r--,n===","&&r===0)return[e.slice(0,t).trim(),e.slice(t+1).trim()]}return[e.trim(),null]}function we(e,r,t){let n=D(e,r);return n?en(e,r,n):Xr(e,r,t)}function Xr(e,r,t){return[...Qr(e,r,t),...Gr(e,r,t),...Yr(e,r,t)]}function Qr(e,r,t){let n=[],s=/^[ \t]*export\s+(?:type\s+)?\{([\s\S]*?)\}\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[1]??"",a=o[2]??"",c=y(i).map(u=>Zr(u.trim())).filter(u=>!!u),l=V(t,o.index),p=V(t,o.index+o[0].length-1);n.push({kind:"named",sourcePath:F(e,r,a),names:c,startLine:l,endLine:p})}return n}function Gr(e,r,t){let n=[],s=/^[ \t]*export\s+\*\s+as\s+(\w+)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[2]??"",a=V(t,o.index),c=V(t,o.index+o[0].length-1);n.push({kind:"star-as",sourcePath:F(e,r,i),names:o[1]?[o[1]]:[],startLine:a,endLine:c})}return n}function Yr(e,r,t){let n=[],s=/^[ \t]*export\s+\*\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[1]??"",a=V(t,o.index),c=V(t,o.index+o[0].length-1);n.push({kind:"star",sourcePath:F(e,r,i),names:[],startLine:a,endLine:c})}return n}function Zr(e){if(!e)return null;let r=e.replace(/^type\s+/,"").trim();if(!r)return null;let t=r.match(/^(\w+)\s+as\s+(\w+)$/);if(t)return t[2]??null;let n=r.match(/^(\w+)$/);return n?n[1]??null:null}function V(e,r){let t=0;for(let n=0;n<r&&n<e.length;n++)e.charCodeAt(n)===10&&t++;return t}function en(e,r,t){let n=[];for(let s of t.rootNode.descendantsOfType("export_statement")){let o=tn(e,r,s);if(o===void 0)continue;let i=s.startPosition.row,a=s.endPosition.row,c=rn(s,o,i,a);n.push(c)}return n}function tn(e,r,t){let n=b(t,"string");if(!n)return;let s=b(n,"string_fragment");if(s)return F(e,r,s.text)}function rn(e,r,t,n){let s=b(e,"export_clause");if(s){let i=[];for(let a of s.namedChildren){if(a.type!=="export_specifier")continue;let c=a.namedChild(0),l=a.namedChild(1);c&&i.push((l??c).text)}return{kind:"named",sourcePath:r,names:i,startLine:t,endLine:n}}let o=b(e,"namespace_export");if(o){let i=o.namedChildren.find(a=>a.type==="identifier"||a.type==="type_identifier")?.text;return{kind:"star-as",sourcePath:r,names:i?[i]:[],startLine:t,endLine:n}}return{kind:"star",sourcePath:r,names:[],startLine:t,endLine:n}}function St(e,r,t){return ce(e,r,{java:n=>nn(e,r,n),kotlin:n=>sn(e,r,n),scala:n=>on(e,r,n)},()=>I(t,/^[ \t]*import\s+(?:static\s+)?(.+?)\s*;?$/gm,(n,s)=>{let o=n[1]?.trim();return o?an(e,r,o,s):[]}),t)}function nn(e,r,t){let n=g(t,new Set(["import_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("import_declaration")){let i=o.children.some(u=>u.type==="asterisk"),c=o.namedChildren.find(u=>u.type==="scoped_identifier")??o.namedChildren.find(u=>u.type==="identifier");if(!c)continue;let l=c.text;if(i){s.push(v("*",S(e,l,_)));continue}let p=l.split(".").pop()??l;s.push(d(p,p,S(e,l,_),n))}return s}function sn(e,r,t){let n=g(t,new Set(["import_header","import_list"])),s=[];for(let o of t.rootNode.descendantsOfType("import_header")){let i=o.namedChildren.find(f=>f.type==="identifier");if(!i)continue;let a=o.namedChildren.some(f=>f.type==="wildcard_import"),c=o.namedChildren.find(f=>f.type==="import_alias");if(a){s.push(v("*",S(e,i.text,_)));continue}let l=i.text,p=l.split(".").pop()??l,m=c?.namedChild(0)?.text??p;s.push(d(p,m,S(e,l,_),n))}return s}function on(e,r,t){let n=g(t,new Set(["import_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("import_declaration")){let i=o.namedChildren.find(u=>u.type==="namespace_selectors"||u.type==="namespace_wildcard"),a=o.namedChildren.filter(u=>u!==i&&(u.type==="identifier"||u.type==="stable_identifier")),c=a.map(u=>u.text).join(".");if(!c)continue;if(i?.type==="namespace_wildcard"){s.push(v("*",S(e,c,_)));continue}if(i?.type==="namespace_selectors"){for(let u of i.namedChildren)if(u.type==="arrow_renamed_identifier"){let[m,f]=u.namedChildren;if(!m)continue;let h=m.text,$=f?.text??h;if(h==="_")continue;s.push(d(h,$,S(e,`${c}.${h}`,_),n))}else if(u.type==="identifier"){let m=u.text;s.push(d(m,m,S(e,`${c}.${m}`,_),n))}continue}let l=a[a.length-1]?.text??c,p=a.slice(0,-1).map(u=>u.text).join(".")||c;s.push(d(l,l,S(e,p&&a.length>1?`${p}.${l}`:c,_),n))}return s}function an(e,r,t,n){if(t.includes("{")&&t.includes("}")){let s=t.slice(0,t.indexOf("{")).replace(/\.$/,"").trim(),o=t.slice(t.indexOf("{")+1,t.lastIndexOf("}")).trim();return y(o).flatMap(i=>{let a=i.trim();if(!a)return[];let[c,l]=a.includes("=>")?a.split(/\s*=>\s*/):a.split(/\s+as\s+/),p=c?.trim();if(!p||p==="_")return[];let u=(l??p.split(".").pop()??p).trim(),m=p==="_"?s:`${s}.${p}`.replace(/\.\./g,".");return[R(e,r,n,m,p,u)]})}return[R(e,r,n,t,t.split(".").pop()??t,t.split(".").pop()??t)]}function xt(e,r,t){return C(e,r,n=>cn(e,r,n),()=>I(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,s)=>{let o=n[1]?.trim();return o?y(o).flatMap(i=>{let a=i.trim();if(!a)return[];let[c,l]=a.split(/\s+as\s+/i),p=c?.trim()??a,u=p.split("\\").pop()??p,m=(l??u).trim();return[R(e,r,s,p,u,m,S(e,p.replace(/\\/g,"."),H))]}):[]}),t)}function cn(e,r,t){let n=g(t,new Set(["namespace_use_declaration"])),s=[],o=(i,a,c)=>{s.push(d(a,c,S(e,i.replace(/\\/g,"."),H),n))};for(let i of t.rootNode.descendantsOfType("namespace_use_declaration")){let a=i.namedChildren.find(c=>c.type==="namespace_use_group");if(a){let c=i.namedChildren.find(l=>l.type==="namespace_name")?.text??"";for(let l of a.namedChildren){if(l.type!=="namespace_use_clause")continue;let{importedName:p,localName:u,qualified:m}=ht(l,c);p&&o(m,p,u)}continue}for(let c of i.namedChildren){if(c.type!=="namespace_use_clause")continue;let{importedName:l,localName:p,qualified:u}=ht(c,"");l&&o(u,l,p)}}return s}function ht(e,r){let t=e.namedChildren.find(l=>l.type==="qualified_name"),n=e.namedChildren.filter(l=>l.type==="name"),s="";t?s=t.text:n.length>=1&&(s=n[0].text);let o=t&&n.length>0?n[n.length-1]:null,i=s.split("\\").pop()??s,a=o?.text??i,c=r?`${r}\\${s}`:s;return{importedName:i,localName:a,qualified:c}}function bt(e,r,t){return C(e,r,n=>ln(e,r,n),()=>un(t).flatMap(n=>fn(e,r,n,t)),t)}function ln(e,r,t){let n=g(t,new Set(["import_statement","import_from_statement"])),s=[];for(let o of t.rootNode.descendantsOfType("import_statement"))for(let i of o.namedChildren){let a=yt(i);if(!a)continue;let c=J(e,r,a.qualifiedName);s.push({importedName:a.qualifiedName,localName:a.localName,sourcePath:c,kind:"namespace",used:n.has(a.localName),usedMembers:[]})}for(let o of t.rootNode.descendantsOfType("import_from_statement")){let i=o.namedChild(0);if(!i)continue;let a=pn(i);if(a===null)continue;let c=J(e,r,a);for(let l=1;l<o.namedChildCount;l+=1){let p=o.namedChild(l);if(p.type==="wildcard_import"){s.push({importedName:"*",localName:null,sourcePath:c,kind:"side-effect",used:!0,usedMembers:[]});continue}let u=yt(p);u&&s.push({importedName:u.qualifiedName,localName:u.localName,sourcePath:c,kind:"named",used:n.has(u.localName),usedMembers:[]})}}return s}function yt(e){if(e.type==="aliased_import"){let r=e.namedChild(0),t=e.namedChild(1);return!r||!t?null:{qualifiedName:r.text,localName:t.text}}if(e.type==="dotted_name"){let r=e.text;return{qualifiedName:r,localName:r.split(".")[0]??r}}return e.type==="identifier"?{qualifiedName:e.text,localName:e.text}:null}function pn(e){if(e.type==="dotted_name")return e.text;if(e.type==="relative_import"){let r=b(e,"import_prefix")?.text??"",t=b(e,"dotted_name")?.text??"";return`${r}${t}`}return null}function un(e){let r=e.split(`
11
11
  `),t=[],n=0;for(let s=0;s<r.length;s++){let o=r[s],i=o.trimStart(),a=n;if(n+=o.length+1,!i.startsWith("import ")&&!i.startsWith("from "))continue;let c=o,l=a+o.length,p=Ne(o);for(;s+1<r.length&&(p>0||c.trimEnd().endsWith("\\"));){s++;let m=r[s];c+=`
12
12
  ${m}`,l+=1+m.length,p+=Ne(m),n+=m.length+1}let u=mn(c);u&&t.push({...u,start:a,end:l})}return t}function mn(e){let r=e.replace(/\\\s*\n/g," ").trim();if(r.startsWith("import "))return{kind:"import",module:null,clause:r.slice(7).trim()};let t=r.match(/^from\s+([.\w]+)\s+import\s+([\s\S]+)$/);if(!t)return null;let n=t[2].trim();return n.startsWith("(")&&n.endsWith(")")&&(n=n.slice(1,-1).trim()),{kind:"from",module:t[1],clause:n}}function fn(e,r,t,n){let s=w(n,t.start,t.end),o=t.clause.replace(/\n/g," ").trim();if(t.kind==="import")return y(o).flatMap(c=>{let l=c.trim().replace(/,$/,"");if(!l)return[];let[p,u]=l.split(/\s+as\s+/),m=p.trim(),f=(u??m.split(".")[0]??m).trim(),h=J(e,r,m),$=z(s,f);return[{importedName:m,localName:f,sourcePath:h,kind:"namespace",used:x(s,f)||$.length>0,usedMembers:$}]});let i=t.module?J(e,r,t.module):null,a=[];for(let c of y(o)){let l=c.trim().replace(/,$/,"");if(!l)continue;if(l==="*"){a.push({importedName:"*",localName:null,sourcePath:i,kind:"side-effect",used:!0,usedMembers:[]});continue}let[p,u]=l.split(/\s+as\s+/),m=(u??p).trim();a.push({importedName:p.trim(),localName:m,sourcePath:i,kind:"named",used:x(s,m),usedMembers:[]})}return a}import{basename as dn}from"path";function Nt(e,r,t){return C(e,r,n=>Sn(e,r,n),()=>gn(e,r,t),t)}function gn(e,r,t){return I(t,/^[ \t]*(require_relative|require)\s+["']([^"']+)["']\s*$/gm,(n,s)=>{let o=n[1],i=n[2];if(!o||!i)return[];let a=o==="require_relative"?de(e,r,i):null;if(a){let c=It(i);return[E(c,c,a,x(s,c))]}return[M(i,a)]})}function Sn(e,r,t){let n=g(t,new Set([])),s=[],o=new Set(["require","require_relative","load"]);for(let i of t.rootNode.descendantsOfType("call")){let a=i.namedChild(0);if(!a||a.type!=="identifier"||!o.has(a.text))continue;let l=i.namedChildren.find(f=>f.type==="argument_list")?.namedChild(0);if(!l||l.type!=="string")continue;let u=l.namedChildren.find(f=>f.type==="string_content")?.text;if(!u)continue;let m=a.text==="require_relative"?de(e,r,u):null;if(m){let f=It(u);s.push(d(f,f,m,n))}else s.push(M(u,m))}return s}function It(e){return Qe(dn(e).replace(/\.[^.]+$/,""),/_/)}function Ct(e,r,t){return C(e,r,n=>hn(e,r,n),()=>I(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,s)=>{let o=n[1]?.trim();return o?xn(e,r,o,s):[]}),t)}function hn(e,r,t){let n=g(t,new Set(["use_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("use_declaration")){let i=o.namedChild(0);if(i)for(let a of re(i,"")){if(!a.importedName||a.importedName==="*")continue;let c=A(e,r,a.qualifiedName)??A(e,r,a.qualifiedName.split("::").slice(0,-1).join("::"));s.push(d(a.importedName,a.localName,c,n))}}return s}function re(e,r){switch(e.type){case"identifier":case"super":case"crate":{let t=e.text;return[{qualifiedName:ue(r,t),importedName:t,localName:t}]}case"self":{let t=r.split("::").filter(Boolean).pop()??"self";return[{qualifiedName:r||"self",importedName:t,localName:t}]}case"scoped_identifier":{let t=e.text,n=t.split("::").pop()??t;return[{qualifiedName:ue(r,t),importedName:n,localName:n}]}case"scoped_use_list":{let t=e.namedChild(0),n=e.namedChild(1);if(!t||!n)return[];let s=ue(r,t.text),o=[];for(let i of n.namedChildren)o.push(...re(i,s));return o}case"use_list":{let t=[];for(let n of e.namedChildren)t.push(...re(n,r));return t}case"use_as_clause":{let t=e.namedChild(0),n=e.namedChild(1);if(!t||!n)return[];let s=re(t,r),o=n.text;return s.map(i=>({...i,localName:o}))}case"use_wildcard":{let t=e.namedChild(0),n=t?t.text:"";return[{qualifiedName:ue(r,`${n}::*`),importedName:"*",localName:"*"}]}default:return[]}}function ue(e,r){return e?r?`${e}::${r}`:e:r}function xn(e,r,t,n){let s=t.trim();if(s.includes("{")&&s.includes("}")){let p=s.slice(0,s.indexOf("{")).replace(/::$/,"").trim(),u=s.slice(s.indexOf("{")+1,s.lastIndexOf("}")).trim();return y(u).flatMap(m=>{let f=m.trim();if(!f)return[];if(f==="self"){let fe=p.split("::").filter(Boolean).pop();return fe?[R(e,r,n,p,fe,fe)]:[]}let[h,$]=f.split(/\s+as\s+/),U=h?.trim();if(!U)return[];let Et=($??U.split("::").pop()??U).trim(),Ft=`${p}::${U}`.replace(/::::/g,"::");return[R(e,r,n,Ft,U.split("::").pop()??U,Et,A(e,r,p))]})}let[o,i]=s.split(/\s+as\s+/),a=o?.trim()??s,c=(i??a.split("::").pop()??a).trim(),l=A(e,r,a)??A(e,r,a.split("::").slice(0,-1).join("::"));return[R(e,r,n,a,a.split("::").pop()??a,c,l)]}function Pt(e,r,t){let n=D(e,r);if(n)return yn(e,r,n);let s=[];for(let o of t.matchAll(/^[ \t]*pub\s+use\s+(.+?)\s*;$/gm)){let i=o[1]?.trim();i&&s.push(...Nn(e,r,i))}return s}function yn(e,r,t){let n=[];for(let s of t.rootNode.descendantsOfType("use_declaration")){if(!bn(s))continue;let o=s.namedChildren.find(i=>i.type!=="visibility_modifier");if(o)for(let i of re(o,""))i.importedName&&n.push(je(e,r,i.qualifiedName))}return n}function bn(e){for(let r of e.children)if(r.type==="visibility_modifier"&&r.text.startsWith("pub"))return!0;return!1}function Nn(e,r,t){let n=t.trim();if(n.includes("{")&&n.includes("}")){let s=n.slice(0,n.indexOf("{")).replace(/::$/,"").trim(),o=n.slice(n.indexOf("{")+1,n.lastIndexOf("}")).trim();return y(o).flatMap(i=>{let a=i.trim();if(!a||a==="self")return[];let[c]=a.split(/\s+as\s+/),l=`${s}::${c?.trim()??a}`.replace(/::::/g,"::");return[je(e,r,l)]})}return[je(e,r,n)]}function je(e,r,t){return{specifier:t,sourcePath:A(e,r,t)??A(e,r,t.split("::").slice(0,-1).join("::"))}}function j({language:e,extensions:r,imports:t,parseImports:n}){return{language:e,extensions:r,capabilities:{imports:t},parseImports:n}}function _t(e,r){let t=r.toLowerCase();for(let n of e)for(let s of n.extensions)if(t.endsWith(s))return n;return null}var In={language:"javascript",extensions:Me,capabilities:{imports:"ast-with-regex-fallback",reExports:"ast-with-regex-fallback"},parseImports:ke,parseReExports:we},Cn=j({language:"python",extensions:ve,imports:"ast-with-regex-fallback",parseImports:bt}),Pn=j({language:"jvm",extensions:_,imports:"ast-dispatch-with-regex-fallback",parseImports:St}),_n={language:"rust",extensions:$e,capabilities:{imports:"ast-with-regex-fallback",exports:"ast-with-regex-fallback"},parseImports:Ct,parseExports:Pt},Rn=j({language:"ruby",extensions:Ue,imports:"ast-with-regex-fallback",parseImports:Nt}),Tn=j({language:"c/cpp",extensions:qe,imports:"ast-with-regex-fallback",parseImports:ct}),En=j({language:"dotnet",extensions:B,imports:"ast-dispatch-with-regex-fallback",parseImports:ft}),Fn={language:"dart",extensions:Be,capabilities:{imports:"regex-only",exports:"regex-only"},parseImports:ut,parseExports:mt},An=j({language:"php",extensions:H,imports:"ast-with-regex-fallback",parseImports:xt}),Ln=j({language:"clojure",extensions:ze,imports:"regex-only",parseImports:pt}),kn=[In,Cn,Pn,_n,Rn,Tn,En,Fn,An,Ln];function me(e){return _t(kn,e)}var De={clearGroups:["whole-project","source-file"]},wn=q("source-imports",De),jn=q("source-exports",De),Dn=q("source-reexports",De),Rt=K({kind:"source-imports",invalidation:X("source-imports"),serialize:On,deserialize:Mn}),Tt=K({kind:"source-reexports",invalidation:X("source-reexports"),serialize:vn,deserialize:$n});function Qo(e,r){let t=ne(r);return Dn.get(e,t,()=>{let n=me(t);if(!n?.parseReExports)return[];let s=L(e,t);if(!s)return[];let o=W(e,t,s),i=he(e),a=Tt.read(e,t,o);if(a?.resolutionFingerprint===i)return a.reExports;let c=n.parseReExports(e,t,s);return Tt.write(e,t,o,{resolutionFingerprint:i,reExports:c}),c})}function Go(e,r){let t=ne(r);return wn.get(e,t,()=>{let n=me(t);if(!n)return[];let s=L(e,t);if(!s)return[];let o=W(e,t,s),i=he(e),a=Rt.read(e,t,o);if(a?.resolutionFingerprint===i)return a.imports;let c=n.parseImports(e,t,s);return Rt.write(e,t,o,{resolutionFingerprint:i,imports:c}),c})}function Yo(e,r){let t=ne(r);return jn.get(e,t,()=>{let n=me(t);if(!n?.parseExports)return[];let s=L(e,t);return s?n.parseExports(e,t,s):[]})}function On(e){return JSON.stringify(e)}function Mn(e){try{let r=JSON.parse(e);return!xe(r)||typeof r.resolutionFingerprint!="string"||!Array.isArray(r.imports)?null:{resolutionFingerprint:r.resolutionFingerprint,imports:r.imports}}catch{return null}}function vn(e){return JSON.stringify(e)}function $n(e){try{let r=JSON.parse(e);return!xe(r)||typeof r.resolutionFingerprint!="string"||!Array.isArray(r.reExports)?null:{resolutionFingerprint:r.resolutionFingerprint,reExports:r.reExports}}catch{return null}}export{O as a,At as b,Vn as c,Wn as d,Ne as e,T as f,Zt as g,sr as h,or as i,cr as j,lr as k,pr as l,ur as m,ue as n,Qo as o,Go as p,Yo as q};
13
- //# sourceMappingURL=chunk-F74LZWCE.js.map
13
+ //# sourceMappingURL=chunk-RGBZDOUO.js.map
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{d as o,f as i}from"./chunk-B2OB55RR.js";var r=[{question:"Who can call or reach this?",family:"execution",direction:"incoming"},{question:"What can this call or reach?",family:"execution",direction:"outgoing"},{question:"Where can this value come from?",family:"dataflow",direction:"incoming"},{question:"Where can this value go?",family:"dataflow",direction:"outgoing"},{question:"Which producer and consumer rendezvous?",family:"runtime",direction:"both"},{question:"What resource is observed or changed?",family:"state",direction:"both"},{question:"What occurs before or after this?",family:"temporal",direction:"both"},{question:"What interface constrains this?",family:"contract",direction:"both"},{question:"Are these observations the same entity?",family:"identity",direction:"both"},{question:"What contains or owns this?",family:"ownership",direction:"both"},{question:"What does this statically rely on?",family:"dependencies",direction:"outgoing"}],a={execution:{establishes:"Static may-call reachability between resolved program constructs.",nonClaims:["A may-call edge does not prove that a runtime invocation occurred."]},runtime:{establishes:"A source-grounded handoff between producer and consumer participants through a runtime mechanism.",nonClaims:["An unresolved or candidate join does not prove a runtime handoff."]},dataflow:{establishes:"A value, definition, argument, parameter, return, or statically resolved value may flow to another construct.",nonClaims:["Current partial providers do not establish general interprocedural definition-use coverage."]},state:{establishes:"A construct reads, writes, creates, deletes, or otherwise changes an identified state resource.",nonClaims:["A state edge does not prove transactionality, durability, or exclusive ownership unless qualified."]},temporal:{establishes:"One observed construct is locally ordered before or after another under the reported source evidence.",nonClaims:["Source order does not imply cross-process happens-before or durability."]},contract:{establishes:"A program construct implements, constrains, or is typed by an identified contract.",nonClaims:["Contract identity does not prove runtime invocation or conformance outside reported checks."]},identity:{establishes:"Two observations refer to the same compiler-owned or source-owned program entity.",nonClaims:["Shared identity does not establish execution or value transfer."]},ownership:{establishes:"A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity.",nonClaims:["Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified."]},dependencies:{establishes:"A file, module, or symbol statically relies on another indexed entity.",nonClaims:["A dependency edge does not establish that the depended-on code executes."]}};function s(e){return o.flatMap(n=>n.relations.filter(t=>t.family===e).map(t=>({...t,providerId:n.id,providerLabel:n.label})))}function l(e){return[...new Set(o.filter(n=>n.relations.some(t=>t.family===e)).map(n=>n.label))]}var m=i.map(e=>({family:e,...a[e],providers:l(e),relations:s(e)}));function c(e){return{family:e,...a[e],providers:l(e),relations:s(e)}}var y=["search","outline","entrypoints","evidence","inspect","code"];function f(){return r.map(e=>{let n=c(e.family);return{...e,establishes:n.establishes,evidenceStrengths:d(n.relations.flatMap(t=>t.evidenceStrengths)),supportCeilings:d(n.relations.map(t=>t.supportCeiling)),nonClaim:n.nonClaims.join(" ")}})}function d(e){return[...new Set(e)]}export{m as a,y as b,f as c};
3
- //# sourceMappingURL=chunk-362QOSFD.js.map
2
+ import{d as o,f as r}from"./chunk-B2OB55RR.js";var i=[{question:"Who can call or reach this?",family:"execution",direction:"incoming"},{question:"What can this call or reach?",family:"execution",direction:"outgoing"},{question:"Where can this value come from?",family:"dataflow",direction:"incoming"},{question:"Where can this value go?",family:"dataflow",direction:"outgoing"},{question:"Which producer and consumer rendezvous?",family:"runtime",direction:"both"},{question:"What resource is observed or changed?",family:"state",direction:"both"},{question:"What occurs before or after this?",family:"temporal",direction:"both"},{question:"What interface constrains this?",family:"contract",direction:"both"},{question:"Are these observations the same entity?",family:"identity",direction:"both"},{question:"What contains or owns this?",family:"ownership",direction:"both"},{question:"What does this statically rely on?",family:"dependencies",direction:"outgoing"}],a={execution:{establishes:"Static may-call reachability between resolved program constructs.",nonClaims:["A may-call edge does not prove that a runtime invocation occurred."]},runtime:{establishes:"A source-grounded handoff between producer and consumer participants through a runtime mechanism.",nonClaims:["An unresolved or candidate join does not prove a runtime handoff."]},dataflow:{establishes:"A value, definition, argument, parameter, return, or statically resolved value may flow to another construct.",nonClaims:["Current partial providers do not establish general interprocedural definition-use coverage."]},state:{establishes:"A construct reads, writes, creates, deletes, or otherwise changes an identified state resource.",nonClaims:["A state edge does not prove transactionality, durability, or exclusive ownership unless qualified."]},temporal:{establishes:"One observed construct is locally ordered before or after another under the reported source evidence.",nonClaims:["Source order does not imply cross-process happens-before or durability."]},contract:{establishes:"A program construct implements, constrains, or is typed by an identified contract.",nonClaims:["Contract identity does not prove runtime invocation or conformance outside reported checks."]},identity:{establishes:"Two observations refer to the same compiler-owned or source-owned program entity.",nonClaims:["Shared identity does not establish execution or value transfer."]},ownership:{establishes:"A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity.",nonClaims:["Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified."]},dependencies:{establishes:"A file, module, or symbol statically relies on another indexed entity.",nonClaims:["A dependency edge does not establish that the depended-on code executes."]}};function s(e){return o.flatMap(n=>n.relations.filter(t=>t.family===e).map(t=>({...t,providerId:n.id,providerLabel:n.label})))}function l(e){return[...new Set(o.filter(n=>n.relations.some(t=>t.family===e)).map(n=>n.label))]}var m=r.map(e=>({family:e,...a[e],providers:l(e),relations:s(e)}));function c(e){return{family:e,...a[e],providers:l(e),relations:s(e)}}var y=["search","outline","entrypoints","evidence","inspect","code"];function f(){return i.map(e=>{let n=c(e.family);return{...e,establishes:n.establishes,evidenceStrengths:d(n.relations.flatMap(t=>t.evidenceStrengths)),supportCeilings:d(n.relations.map(t=>t.supportCeiling)),nonClaim:n.nonClaims.join(" ")}})}function d(e){return[...new Set(e)]}export{m as a,y as b,f as c};
3
+ //# sourceMappingURL=chunk-RNPG5P4P.js.map
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{C as c,D as n,F as f,r as u,w as d,z as l}from"./chunk-DUKHVPU5.js";import{join as o}from"path";var j=6,B=5e3,y="watch.lock",S="watch-state.json",m="watch-activity.json",b="watch-refresh-requests";function C(t){return{lockPath:o(t,y),statePath:o(t,S),activityPath:o(t,m),refreshRequestsPath:o(t,b)}}function _(t){try{return g(JSON.parse(u(t,"watch service state")))}catch{return null}}function g(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!r(e.startedAt)||!r(e.heartbeatAt)||!r(e.lastActivityAt)||!h(e.watcher)||e.idleDeadlineAt!==void 0&&!r(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let i=d(e.processIdentity);if(!i||i.pid!==e.pid)return null;e.processIdentity=i}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!R(e.lastError)||e.lastRefresh!==void 0&&!A(e.lastRefresh)||e.reindexActivity!==void 0&&!v(e.reindexActivity)||e.refreshRequests!==void 0&&!E(e.refreshRequests)||e.typescriptSemantic!==void 0&&!P(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!w(e.typescriptIndex)||e.queryLane!==void 0&&!T(e.queryLane)?null:e}function r(t){return c(t)}function h(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return s(e.changedFiles)&&s(e.reindexAt);case"indexing":return s(e.startedAt);case"cooldown":return s(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return s(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&n(e.rebuilt)&&n(e.estimatedWriteBytes);case"draining":return s(e.startedAt)&&typeof e.reason=="string";default:return!1}}function R(t){if(!t||typeof t!="object")return!1;let e=t;return r(e.at)&&typeof e.message=="string"}function A(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&r(e.startedAt)&&r(e.completedAt)&&s(e.durationMs)}function v(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!n(e.recordsRead)||e.invalidRecords!==void 0&&!n(e.invalidRecords)||e.skippedRecords!==void 0&&!n(e.skippedRecords)||e.readErrors!==void 0&&!n(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!n(e.ignoredPartialTailBytes)||!r(e.windowStartedAt)||!r(e.windowEndedAt)||!n(e.runs)||!n(e.rebuilt)||!n(e.reused)||!n(e.failed)||!n(e.suppressed)||!s(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!n(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!n(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!n(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!r(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!r(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!n(e.attributedRuns)||e.unattributedRuns!==void 0&&!n(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!n(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!x(e.byLanguage)?!1:Object.values(e.byTrigger).every(i=>i===void 0||n(i))}function x(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,i]of Object.entries(t)){if(!l.includes(e)||!i||typeof i!="object")return!1;let a=i;if(!n(a.runs)||!n(a.rebuilt)||!n(a.reused)||!n(a.producedOutputBytes)||!f(a.durationMs)||a.rebuilt+a.reused!==a.runs)return!1}return!0}function E(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.claimed)&&n(e.completed)&&n(e.expired)&&n(e.invalid)&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function P(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&s(e.requests)&&s(e.sessionsCreated)&&s(e.sessionsReused)&&s(e.sessionsRefreshed)&&s(e.sessionsReplaced)&&s(e.projectsCreated)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function w(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&n(e.requests)&&n(e.sessionsCreated)&&n(e.sessionsReplaced)&&n(e.initializations)&&n(e.programUpdates)&&n(e.documentsEmitted)&&n(e.documentsRemoved)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastDurationMs===void 0||s(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function T(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&typeof e.socketPath=="string"&&e.socketPath.length>0&&n(e.requests)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")}function p(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.inflight)&&n(e.responses)&&n(e.deadLetters)&&n(e.invalid)&&n(e.totalItems)&&s(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function s(t){return typeof t=="number"&&Number.isFinite(t)}export{j as a,B as b,y as c,C as d,_ as e,r as f};
3
- //# sourceMappingURL=chunk-D62CTZX6.js.map
2
+ import{A as l,D as c,E as n,G as f,s as u,x as d}from"./chunk-KPMMOAV5.js";import{join as o}from"path";var j=6,B=5e3,y="watch.lock",S="watch-state.json",m="watch-activity.json",b="watch-refresh-requests";function C(t){return{lockPath:o(t,y),statePath:o(t,S),activityPath:o(t,m),refreshRequestsPath:o(t,b)}}function _(t){try{return g(JSON.parse(u(t,"watch service state")))}catch{return null}}function g(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!r(e.startedAt)||!r(e.heartbeatAt)||!r(e.lastActivityAt)||!h(e.watcher)||e.idleDeadlineAt!==void 0&&!r(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let i=d(e.processIdentity);if(!i||i.pid!==e.pid)return null;e.processIdentity=i}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!R(e.lastError)||e.lastRefresh!==void 0&&!A(e.lastRefresh)||e.reindexActivity!==void 0&&!v(e.reindexActivity)||e.refreshRequests!==void 0&&!E(e.refreshRequests)||e.typescriptSemantic!==void 0&&!P(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!w(e.typescriptIndex)||e.queryLane!==void 0&&!T(e.queryLane)?null:e}function r(t){return c(t)}function h(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return s(e.changedFiles)&&s(e.reindexAt);case"indexing":return s(e.startedAt);case"cooldown":return s(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return s(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&n(e.rebuilt)&&n(e.estimatedWriteBytes);case"draining":return s(e.startedAt)&&typeof e.reason=="string";default:return!1}}function R(t){if(!t||typeof t!="object")return!1;let e=t;return r(e.at)&&typeof e.message=="string"}function A(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&r(e.startedAt)&&r(e.completedAt)&&s(e.durationMs)}function v(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!n(e.recordsRead)||e.invalidRecords!==void 0&&!n(e.invalidRecords)||e.skippedRecords!==void 0&&!n(e.skippedRecords)||e.readErrors!==void 0&&!n(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!n(e.ignoredPartialTailBytes)||!r(e.windowStartedAt)||!r(e.windowEndedAt)||!n(e.runs)||!n(e.rebuilt)||!n(e.reused)||!n(e.failed)||!n(e.suppressed)||!s(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!n(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!n(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!n(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!r(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!r(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!n(e.attributedRuns)||e.unattributedRuns!==void 0&&!n(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!n(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!x(e.byLanguage)?!1:Object.values(e.byTrigger).every(i=>i===void 0||n(i))}function x(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,i]of Object.entries(t)){if(!l.includes(e)||!i||typeof i!="object")return!1;let a=i;if(!n(a.runs)||!n(a.rebuilt)||!n(a.reused)||!n(a.producedOutputBytes)||!f(a.durationMs)||a.rebuilt+a.reused!==a.runs)return!1}return!0}function E(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.claimed)&&n(e.completed)&&n(e.expired)&&n(e.invalid)&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function P(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&s(e.requests)&&s(e.sessionsCreated)&&s(e.sessionsReused)&&s(e.sessionsRefreshed)&&s(e.sessionsReplaced)&&s(e.projectsCreated)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function w(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&n(e.requests)&&n(e.sessionsCreated)&&n(e.sessionsReplaced)&&n(e.initializations)&&n(e.programUpdates)&&n(e.documentsEmitted)&&n(e.documentsRemoved)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastDurationMs===void 0||s(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function T(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&typeof e.socketPath=="string"&&e.socketPath.length>0&&n(e.requests)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")}function p(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.inflight)&&n(e.responses)&&n(e.deadLetters)&&n(e.invalid)&&n(e.totalItems)&&s(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function s(t){return typeof t=="number"&&Number.isFinite(t)}export{j as a,B as b,y as c,C as d,_ as e,r as f};
3
+ //# sourceMappingURL=chunk-RS6UYNEP.js.map
@@ -1,6 +1,6 @@
1
- import{a as x}from"./chunk-BWL3PMPT.js";import{C as b}from"./chunk-ICUL7XRT.js";import{x as p}from"./chunk-7GAK2F3H.js";var y=new Set(["call","call_expression","command","command_call","function_call_expression","invocation_expression","macro_invocation","method_call","method_invocation","new_expression","object_creation_expression"]);function h(e,t,n,r){if(!Number.isSafeInteger(n)||n<0)return null;if(!Number.isSafeInteger(r)||r<0)throw new RangeError(`contextLines must be a non-negative safe integer; received ${r}`);let i=p(e,t);if(i.length===0||n>=i.length)return null;let o=Math.max(0,n-r),c=Math.min(i.length-1,n+r);return{relativePath:t,startLine:o,endLine:c,focusLine:n,source:i.slice(o,c+1).join(`
1
+ import{a as x}from"./chunk-HTPEUJ42.js";import{C as b}from"./chunk-NRNVMB2R.js";import{x as p}from"./chunk-23AD24QZ.js";var y=new Set(["call","call_expression","command","command_call","function_call_expression","invocation_expression","macro_invocation","method_call","method_invocation","new_expression","object_creation_expression"]);function h(e,t,n,r){if(!Number.isSafeInteger(n)||n<0)return null;if(!Number.isSafeInteger(r)||r<0)throw new RangeError(`contextLines must be a non-negative safe integer; received ${r}`);let i=p(e,t);if(i.length===0||n>=i.length)return null;let o=Math.max(0,n-r),c=Math.min(i.length-1,n+r);return{relativePath:t,startLine:o,endLine:c,focusLine:n,source:i.slice(o,c+1).join(`
2
2
  `)}}function F(e,t,n,r,i){let o=h(e,t,n,r);if(!o)return null;let c=b(e,t)?.rootNode??null;if(!c)return{...o,kind:"bounded-context"};let s=_(c,n,i);if(s.length!==1)return{...o,kind:s.length===0?"non-call-reference":"bounded-context"};let l=s[0],a=p(e,t),u=Math.max(0,l.startPosition.row),S=l.endPosition.column===0?l.endPosition.row-1:l.endPosition.row,d=Math.min(a.length-1,Math.max(u,S));return{relativePath:t,startLine:u,endLine:d,focusLine:n,source:a.slice(u,d+1).join(`
3
3
  `),kind:"complete-call-expression"}}function L(e,t,n,r,i){if(!Number.isSafeInteger(i)||i<=0)throw new RangeError(`maxLines must be a positive safe integer; received ${i}`);let o=p(e,t);if(o.length===0||n<0||n>=o.length)return null;let c=Math.min(o.length-1,r,n+i-1);return{relativePath:t,startLine:n,endLine:c,focusLine:n,source:o.slice(n,c+1).join(`
4
4
  `)}}function k(e,t,n,r,i=6){if(!Number.isSafeInteger(r)||r<=0)throw new RangeError(`maxLines must be a positive safe integer; received ${r}`);let o=p(e,t);if(o.length===0||n<0||n>=o.length)return null;let c=x(e,t,n);if(!c){let m=h(e,t,n,i);return m?{...m,unitType:null,unitStartLine:m.startLine,unitEndLine:m.endLine,omittedLines:0}:null}let s=c.startLine,l=c.endLine,a=l-s+1,u=Math.min(a,r),S=n-s-Math.floor(u/2),d=Math.max(0,Math.min(a-u,S)),f=s+d,g=f+u-1;return{relativePath:t,startLine:f,endLine:g,focusLine:n,source:o.slice(f,g+1).join(`
5
5
  `),unitType:c.type,unitStartLine:s,unitEndLine:l,omittedLines:a-u}}function _(e,t,n){let r=[];return N(e,t,n,r),r.filter(i=>!r.some(o=>o!==i&&o.startIndex>=i.startIndex&&o.endIndex<=i.endIndex))}function N(e,t,n,r){if(M(e,t)){y.has(e.type)&&w(e)===n&&r.push(e);for(let i of e.namedChildren)N(i,t,n,r)}}function w(e){let t=e.childForFieldName("function")??e.childForFieldName("constructor")??e.childForFieldName("method")??e.childForFieldName("name")??e.namedChild(0);return t?t.text.match(/[\p{L}_$][\p{L}\p{N}_$!?-]*/gu)?.at(-1)??null:null}function M(e,t){return e.startPosition.row<=t&&e.endPosition.row>=t}export{h as a,F as b,L as c,k as d};
6
- //# sourceMappingURL=chunk-VGWZ4MOY.js.map
6
+ //# sourceMappingURL=chunk-RVBRPBLQ.js.map