codebaseiq 0.1.0 → 0.3.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 (447) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.md +1 -1
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/{chunk-ZMI2JSX2.js → chunk-23C5AD3B.js} +2 -2
  5. package/dist/chunk-2E6OUPCF.js +2 -0
  6. package/dist/chunk-2EDX3JT5.js +3 -0
  7. package/dist/chunk-2I2UHZET.js +2 -0
  8. package/dist/{chunk-T3DGWPXM.js → chunk-2OMXFE64.js} +2 -2
  9. package/dist/chunk-2PRONPAS.js +3 -0
  10. package/dist/{chunk-GW6Z3WGY.js → chunk-356EZBIP.js} +2 -2
  11. package/dist/{chunk-UDS562V4.js → chunk-36JC5BG2.js} +2 -2
  12. package/dist/chunk-3RR2K7EZ.js +20 -0
  13. package/dist/{chunk-JE3WZ6II.js → chunk-3RSBGWGL.js} +2 -2
  14. package/dist/{chunk-VE5AVNMP.js → chunk-3VJ3OCRE.js} +2 -2
  15. package/dist/{chunk-FDGD5AB5.js → chunk-4LK5OIPW.js} +2 -2
  16. package/dist/chunk-5DSL3NT2.js +17 -0
  17. package/dist/chunk-5FWR5HLG.js +90 -0
  18. package/dist/chunk-5IC2WZAL.js +22 -0
  19. package/dist/{chunk-MVB3DAEY.js → chunk-5IZRKWTZ.js} +2 -2
  20. package/dist/{chunk-Q65CQ4XL.js → chunk-5LL4KEHO.js} +2 -2
  21. package/dist/chunk-5T44HG5Y.js +88 -0
  22. package/dist/{chunk-TRRC4ZJ7.js → chunk-5ZI2PPI7.js} +2 -2
  23. package/dist/{chunk-7XAN6GKB.js → chunk-67VJAYVR.js} +2 -2
  24. package/dist/{chunk-MOVBWNIP.js → chunk-6BF3VYEF.js} +2 -2
  25. package/dist/chunk-6JMAVFL4.js +3 -0
  26. package/dist/chunk-6O3KXIDL.js +2 -0
  27. package/dist/{chunk-JOIRNPPY.js → chunk-6VREELBC.js} +2 -2
  28. package/dist/chunk-6WAPPQ5F.js +82 -0
  29. package/dist/{chunk-FW53T7EB.js → chunk-75KJGYX7.js} +2 -2
  30. package/dist/chunk-7GAK2F3H.js +77 -0
  31. package/dist/{chunk-UBGWN7I4.js → chunk-7JELP5YE.js} +2 -2
  32. package/dist/chunk-7UCDGXRW.js +8 -0
  33. package/dist/{chunk-L57ZKWVG.js → chunk-AEXQYQD7.js} +2 -2
  34. package/dist/chunk-AQI4N64O.js +22 -0
  35. package/dist/{chunk-ICFDQHAM.js → chunk-AURCQHSG.js} +2 -2
  36. package/dist/{chunk-I2T2LLK2.js → chunk-BBP7HVBJ.js} +2 -2
  37. package/dist/{chunk-OFBE4NGP.js → chunk-BFBIMTCJ.js} +2 -2
  38. package/dist/{chunk-JEJLSICM.js → chunk-BGGB5N53.js} +2 -2
  39. package/dist/{chunk-TIIC3ZE7.js → chunk-BRQL7AFJ.js} +2 -2
  40. package/dist/{chunk-YSNONTJ2.js → chunk-BWL3PMPT.js} +2 -2
  41. package/dist/chunk-C6WKPKCF.js +127 -0
  42. package/dist/{chunk-YESXMKX3.js → chunk-C7OUW52M.js} +2 -2
  43. package/dist/chunk-C7QWUBR2.js +545 -0
  44. package/dist/{chunk-4WKDMDEW.js → chunk-CCIYWXX6.js} +2 -2
  45. package/dist/{chunk-FAJQ7LWY.js → chunk-CIYA2KZN.js} +2 -2
  46. package/dist/{chunk-VEXUL62T.js → chunk-CR3OG6SQ.js} +2 -2
  47. package/dist/{chunk-JSOYNVWH.js → chunk-CVHOQONG.js} +2 -2
  48. package/dist/{chunk-LU3BMVH2.js → chunk-CW6AXOLR.js} +2 -2
  49. package/dist/{chunk-TXXOEMZJ.js → chunk-D53LWANR.js} +2 -2
  50. package/dist/{chunk-DO6WQD2T.js → chunk-D62CTZX6.js} +2 -2
  51. package/dist/{chunk-N3IQCBCF.js → chunk-D7AZAOZX.js} +2 -2
  52. package/dist/{chunk-RDBI2RXU.js → chunk-D7DOB27N.js} +7 -7
  53. package/dist/chunk-DAKIGMIK.js +21 -0
  54. package/dist/chunk-DDN2F6GB.js +2 -0
  55. package/dist/chunk-DUKHVPU5.js +4 -0
  56. package/dist/chunk-DVWO7RBC.js +2 -0
  57. package/dist/{chunk-HKQUXIFO.js → chunk-E52K4L2W.js} +2 -2
  58. package/dist/chunk-EIBGSU2R.js +2 -0
  59. package/dist/chunk-EN4AHLL3.js +3 -0
  60. package/dist/chunk-EQNMD62X.js +51 -0
  61. package/dist/{chunk-ENCCHKM6.js → chunk-EXZ7VLRY.js} +4 -4
  62. package/dist/{chunk-NEDP5RFQ.js → chunk-F3QSL4W2.js} +2 -2
  63. package/dist/{chunk-O6QTXQPJ.js → chunk-F74LZWCE.js} +2 -2
  64. package/dist/{chunk-BH5F2Q4O.js → chunk-FEIZXBLH.js} +2 -2
  65. package/dist/chunk-FH5WG4LE.js +2 -0
  66. package/dist/{chunk-BVAJLC5A.js → chunk-FOZ74V56.js} +2 -2
  67. package/dist/{chunk-L4NRUAGJ.js → chunk-FQTIFWLR.js} +2 -2
  68. package/dist/chunk-FTTV7IRX.js +355 -0
  69. package/dist/chunk-FWQGH2N2.js +2 -0
  70. package/dist/{chunk-CAUCPUOF.js → chunk-GDHWOA57.js} +2 -2
  71. package/dist/{chunk-6MUIJMVL.js → chunk-GIDCP7KV.js} +2 -2
  72. package/dist/{chunk-ZV3JV5G5.js → chunk-GL6UTNUB.js} +2 -2
  73. package/dist/chunk-GP7C5VAE.js +2 -0
  74. package/dist/{chunk-FQKZWM4L.js → chunk-GQLDYCWS.js} +5 -5
  75. package/dist/chunk-GQXXOS55.js +2 -0
  76. package/dist/{chunk-H3LGFZVK.js → chunk-GUFPEFBG.js} +2 -2
  77. package/dist/{chunk-NNOKTMZT.js → chunk-GV2CEZCW.js} +2 -2
  78. package/dist/{chunk-FETNQCFO.js → chunk-GVAF222T.js} +2 -2
  79. package/dist/chunk-GWYZVVKY.js +21 -0
  80. package/dist/{chunk-7FND7D7N.js → chunk-HENP2O4A.js} +2 -2
  81. package/dist/{chunk-LZYFLFEH.js → chunk-HINZQKSY.js} +2 -2
  82. package/dist/{chunk-RR7SX44N.js → chunk-HQA7EBSK.js} +2 -2
  83. package/dist/{chunk-XMQ23E27.js → chunk-HVFB3PME.js} +2 -2
  84. package/dist/chunk-I22IZYDI.js +2 -0
  85. package/dist/chunk-ICUL7XRT.js +21 -0
  86. package/dist/{chunk-CQP3THUZ.js → chunk-IHSLIIL3.js} +2 -2
  87. package/dist/{chunk-34WBMAYK.js → chunk-ITSJMNUD.js} +2 -2
  88. package/dist/{chunk-PX4RYAAK.js → chunk-IZDPGOZR.js} +2 -2
  89. package/dist/chunk-J3GLP7Q5.js +3 -0
  90. package/dist/{chunk-CVYSU6BX.js → chunk-J7AMBVWF.js} +2 -2
  91. package/dist/{chunk-Y6KHROC3.js → chunk-JCMFBF4Z.js} +2 -2
  92. package/dist/chunk-JFIA2JI3.js +3 -0
  93. package/dist/chunk-JLZLLLW5.js +3 -0
  94. package/dist/{chunk-5PUWMSDU.js → chunk-JSNTHRLQ.js} +2 -2
  95. package/dist/{chunk-C6SBF2WH.js → chunk-JX6ZWDOS.js} +2 -2
  96. package/dist/{chunk-4XTAUQFD.js → chunk-JYI7CV25.js} +2 -2
  97. package/dist/chunk-K7JLSGCJ.js +8 -0
  98. package/dist/{chunk-XWUOUWYI.js → chunk-KPZGTB2O.js} +2 -2
  99. package/dist/{chunk-VXYS3FZD.js → chunk-LKUTSP4G.js} +2 -2
  100. package/dist/{chunk-GTXSJDCO.js → chunk-LMTSB3TB.js} +2 -2
  101. package/dist/chunk-LONKINMJ.js +543 -0
  102. package/dist/{chunk-WMPRTGH2.js → chunk-LQHYYIOB.js} +2 -2
  103. package/dist/{chunk-VUIYB2V3.js → chunk-LZSQ6X7E.js} +2 -2
  104. package/dist/{chunk-ST7V3SKN.js → chunk-M2Y6PCFE.js} +2 -2
  105. package/dist/chunk-MEUHIDI3.js +7 -0
  106. package/dist/{chunk-OZYRSMSH.js → chunk-MHWMEZDA.js} +2 -2
  107. package/dist/{chunk-RKEJ6VTF.js → chunk-MQW6SJ4P.js} +2 -2
  108. package/dist/{chunk-J77SU6VA.js → chunk-MSI3K7PJ.js} +2 -2
  109. package/dist/chunk-MVRGB4KJ.js +278 -0
  110. package/dist/{chunk-DQMDCD24.js → chunk-MZNMASFM.js} +2 -2
  111. package/dist/{chunk-ID63777H.js → chunk-NBCQZSGR.js} +2 -2
  112. package/dist/chunk-NBZKSTXP.js +2 -0
  113. package/dist/{chunk-SZD2KF7Q.js → chunk-NCJILOAK.js} +2 -2
  114. package/dist/{chunk-C7QOQX32.js → chunk-NDKOVQFG.js} +2 -2
  115. package/dist/{chunk-UNBY47BC.js → chunk-NEWHKGVD.js} +2 -2
  116. package/dist/{chunk-PYAB5SM6.js → chunk-O2M3VNDY.js} +2 -2
  117. package/dist/chunk-OFGOOL6U.js +3 -0
  118. package/dist/{chunk-SWHMHUKF.js → chunk-OQUCBKOI.js} +2 -2
  119. package/dist/{chunk-7MGU3HPH.js → chunk-P4NVCOM7.js} +2 -2
  120. package/dist/{chunk-ANFVSJWQ.js → chunk-PFC44E6D.js} +2 -2
  121. package/dist/{chunk-EZNMUY67.js → chunk-PHNCEUXX.js} +2 -2
  122. package/dist/{chunk-4FC325IF.js → chunk-PTQPPPG2.js} +2 -2
  123. package/dist/chunk-PUVNH4PO.js +3 -0
  124. package/dist/chunk-Q23IMHXS.js +343 -0
  125. package/dist/chunk-Q3ZCQY2Y.js +3 -0
  126. package/dist/{chunk-KMITESMT.js → chunk-Q4XEU3UH.js} +2 -2
  127. package/dist/{chunk-QKPLA6IC.js → chunk-QEOWONKY.js} +2 -2
  128. package/dist/{chunk-BJ6SQAEN.js → chunk-QMOZZ2VX.js} +2 -2
  129. package/dist/chunk-RCIGX23V.js +60 -0
  130. package/dist/{chunk-IOP6FWIM.js → chunk-RIYJ4L33.js} +2 -2
  131. package/dist/chunk-RJVAPMHF.js +14 -0
  132. package/dist/chunk-SB7NASHU.js +2 -0
  133. package/dist/{chunk-UZGZB3VB.js → chunk-SGMNWYTH.js} +2 -2
  134. package/dist/chunk-SMDIEDM4.js +27 -0
  135. package/dist/chunk-SV2LEFVM.js +2 -0
  136. package/dist/chunk-SX72EVMY.js +3 -0
  137. package/dist/chunk-T5X7DK6C.js +3 -0
  138. package/dist/{chunk-6NW7MU72.js → chunk-T6MQNNAC.js} +2 -2
  139. package/dist/chunk-T75DS2E6.js +21 -0
  140. package/dist/{chunk-HRWGYWRJ.js → chunk-TEANKHUU.js} +2 -2
  141. package/dist/chunk-TJBOJUVN.js +3 -0
  142. package/dist/{chunk-XLQ3GLWZ.js → chunk-TJWVT4DO.js} +2 -2
  143. package/dist/{chunk-7NVGT435.js → chunk-TNJGTQWO.js} +2 -2
  144. package/dist/{chunk-NE6IU5ZD.js → chunk-TOTWJZIX.js} +2 -2
  145. package/dist/{chunk-PBI2LFKH.js → chunk-TPO7XC5Z.js} +2 -2
  146. package/dist/{chunk-HPJRBHVT.js → chunk-U33PMPNW.js} +2 -2
  147. package/dist/{chunk-QHRNXP3C.js → chunk-U7NUXDQO.js} +2 -2
  148. package/dist/chunk-UC2FD2PS.js +4 -0
  149. package/dist/{chunk-PIOMTC27.js → chunk-UQE4XFSA.js} +2 -2
  150. package/dist/chunk-UQYQBLJX.js +5 -0
  151. package/dist/{chunk-KWVHSKHK.js → chunk-USOAJHY7.js} +2 -2
  152. package/dist/{chunk-GCHRX4YW.js → chunk-UW6KD57C.js} +2 -2
  153. package/dist/{chunk-PTAWHLVJ.js → chunk-VGWZ4MOY.js} +2 -2
  154. package/dist/{chunk-XME3HPXZ.js → chunk-VWYGCMV5.js} +2 -2
  155. package/dist/{chunk-AKB7V7TV.js → chunk-W7YLRXZE.js} +2 -2
  156. package/dist/{chunk-SYDJMPES.js → chunk-WK2IQJPK.js} +2 -2
  157. package/dist/{chunk-RBAS5ZHI.js → chunk-WWCV4E6J.js} +2 -2
  158. package/dist/{chunk-OL6KJP3N.js → chunk-XMJ53WG4.js} +2 -2
  159. package/dist/chunk-XN3EKMLI.js +4 -0
  160. package/dist/chunk-XQAVQVIL.js +3 -0
  161. package/dist/{chunk-IJ4HMYBE.js → chunk-XQPPURLQ.js} +2 -2
  162. package/dist/{chunk-OVTS4DKB.js → chunk-YHPG3S2U.js} +2 -2
  163. package/dist/{chunk-WOQBZPIF.js → chunk-YRKP7PM7.js} +2 -2
  164. package/dist/chunk-YT4DVWUV.js +11 -0
  165. package/dist/chunk-YTJHCGYB.js +61 -0
  166. package/dist/chunk-Z35GOVEH.js +2 -0
  167. package/dist/{chunk-OLF4MA5W.js → chunk-Z6RL7XOE.js} +4 -4
  168. package/dist/{chunk-UP3BUZR5.js → chunk-ZAFGY22Q.js} +2 -2
  169. package/dist/{chunk-CO5R3UNA.js → chunk-ZB4C5TTR.js} +2 -2
  170. package/dist/{chunk-ZZXSWSN6.js → chunk-ZNH33XIB.js} +2 -2
  171. package/dist/{chunk-EMNIHCRB.js → chunk-ZQ62NNKN.js} +2 -2
  172. package/dist/cli-context-FJL2JHOE.js +3 -0
  173. package/dist/cli-context-PQNWHMCQ.js +2 -0
  174. package/dist/cli-program-UO7PZD6V.js +7 -0
  175. package/dist/cli.js +1 -1
  176. package/dist/{code-DlqpBDd0.d.ts → code-DfX3xeWy.d.ts} +1 -1
  177. package/dist/code-viewer-KIXEYQNJ.js +12 -0
  178. package/dist/code-viewer-VHLBLIUM.js +11 -0
  179. package/dist/command-descriptors-F5P2V3NW.js +335 -0
  180. package/dist/command-descriptors-YCLATF5I.js +337 -0
  181. package/dist/{config-types-BNoC96J3.d.ts → config-types-D6X5S68_.d.ts} +50 -0
  182. package/dist/{db-D7sauVFH.d.ts → db-BoG_PWYH.d.ts} +2 -2
  183. package/dist/direct-navigation-4XJTXIDT.js +2 -0
  184. package/dist/direct-navigation-J5MVYYAD.js +3 -0
  185. package/dist/{graph-evidence-BIFqyisO.d.ts → graph-evidence-D1jx1Cql.d.ts} +1 -1
  186. package/dist/{health-DJaZXg8I.d.ts → health-DkYBS5BI.d.ts} +1 -1
  187. package/dist/index.d.ts +2 -2
  188. package/dist/index.js +1 -1
  189. package/dist/invocation-command-descriptors-RWV4VAI4.js +2 -0
  190. package/dist/invocation-command-descriptors-U76PN7IY.js +3 -0
  191. package/dist/{scip-cli-B7N3haxa.d.ts → maintenance-types-CdL5eQii.d.ts} +2 -21
  192. package/dist/output-continuation-command-BL25S26S.js +3 -0
  193. package/dist/output-continuation-command-BTETTXEC.js +2 -0
  194. package/dist/postinstall.js +1 -1
  195. package/dist/project-reindex-CRJU3IFG.js +2 -0
  196. package/dist/project-reindex-TQFCOA2O.js +3 -0
  197. package/dist/queries/affected.d.ts +2 -2
  198. package/dist/queries/affected.js +1 -1
  199. package/dist/queries/anchors.d.ts +2 -2
  200. package/dist/queries/anchors.js +1 -1
  201. package/dist/queries/architecture.d.ts +2 -2
  202. package/dist/queries/architecture.js +1 -1
  203. package/dist/queries/bottlenecks.d.ts +2 -2
  204. package/dist/queries/bottlenecks.js +1 -1
  205. package/dist/queries/by-kind.d.ts +2 -2
  206. package/dist/queries/by-kind.js +1 -1
  207. package/dist/queries/call-graph.d.ts +2 -2
  208. package/dist/queries/call-graph.js +1 -1
  209. package/dist/queries/change-surface.d.ts +2 -2
  210. package/dist/queries/change-surface.js +1 -1
  211. package/dist/queries/cleanup-plan.d.ts +2 -2
  212. package/dist/queries/cleanup-plan.js +1 -1
  213. package/dist/queries/co-change.d.ts +2 -2
  214. package/dist/queries/co-change.js +1 -1
  215. package/dist/queries/code.d.ts +3 -3
  216. package/dist/queries/code.js +1 -1
  217. package/dist/queries/complexity-hotspots.d.ts +2 -2
  218. package/dist/queries/complexity-hotspots.js +1 -1
  219. package/dist/queries/complexity.d.ts +2 -2
  220. package/dist/queries/complexity.js +1 -1
  221. package/dist/queries/context.d.ts +2 -2
  222. package/dist/queries/context.js +1 -1
  223. package/dist/queries/convergence.d.ts +2 -2
  224. package/dist/queries/convergence.js +1 -1
  225. package/dist/queries/coupling.d.ts +2 -2
  226. package/dist/queries/coupling.js +1 -1
  227. package/dist/queries/cycles.d.ts +2 -2
  228. package/dist/queries/cycles.js +1 -1
  229. package/dist/queries/dataflow.d.ts +2 -2
  230. package/dist/queries/dataflow.js +1 -1
  231. package/dist/queries/dead.d.ts +2 -2
  232. package/dist/queries/dead.js +1 -1
  233. package/dist/queries/decorative-checkers.d.ts +2 -2
  234. package/dist/queries/decorative-checkers.js +1 -1
  235. package/dist/queries/deep-chains.d.ts +2 -2
  236. package/dist/queries/deep-chains.js +1 -1
  237. package/dist/queries/dependence-slice.d.ts +3 -3
  238. package/dist/queries/dependence-slice.js +1 -1
  239. package/dist/queries/dependency-depth.d.ts +2 -2
  240. package/dist/queries/dependency-depth.js +1 -1
  241. package/dist/queries/deps.d.ts +2 -2
  242. package/dist/queries/deps.js +1 -1
  243. package/dist/queries/diff-impact.d.ts +2 -2
  244. package/dist/queries/diff-impact.js +1 -1
  245. package/dist/queries/doc-drift.d.ts +2 -2
  246. package/dist/queries/doc-drift.js +1 -1
  247. package/dist/queries/drift.d.ts +2 -2
  248. package/dist/queries/drift.js +1 -1
  249. package/dist/queries/duplicate-bodies.d.ts +2 -2
  250. package/dist/queries/duplicate-bodies.js +1 -1
  251. package/dist/queries/entry-map.d.ts +2 -2
  252. package/dist/queries/entry-map.js +1 -1
  253. package/dist/queries/evidence.d.ts +3 -3
  254. package/dist/queries/evidence.js +1 -1
  255. package/dist/queries/extract-candidates.d.ts +2 -2
  256. package/dist/queries/extract-candidates.js +1 -1
  257. package/dist/queries/fan.d.ts +2 -2
  258. package/dist/queries/fan.js +1 -1
  259. package/dist/queries/files.d.ts +2 -2
  260. package/dist/queries/files.js +1 -1
  261. package/dist/queries/health.d.ts +3 -3
  262. package/dist/queries/health.js +1 -1
  263. package/dist/queries/hierarchy.d.ts +2 -2
  264. package/dist/queries/hierarchy.js +1 -1
  265. package/dist/queries/hotspots.d.ts +2 -2
  266. package/dist/queries/hotspots.js +1 -1
  267. package/dist/queries/imports.d.ts +2 -2
  268. package/dist/queries/imports.js +1 -1
  269. package/dist/queries/incomplete-migration.d.ts +2 -2
  270. package/dist/queries/incomplete-migration.js +1 -1
  271. package/dist/queries/index.d.ts +5 -5
  272. package/dist/queries/index.js +1 -1
  273. package/dist/queries/isolated.d.ts +2 -2
  274. package/dist/queries/isolated.js +1 -1
  275. package/dist/queries/locality-candidates.d.ts +2 -2
  276. package/dist/queries/locality-candidates.js +1 -1
  277. package/dist/queries/members.d.ts +2 -2
  278. package/dist/queries/members.js +1 -1
  279. package/dist/queries/methods.d.ts +2 -2
  280. package/dist/queries/methods.js +1 -1
  281. package/dist/queries/not-implemented.d.ts +2 -2
  282. package/dist/queries/not-implemented.js +1 -1
  283. package/dist/queries/outline.d.ts +2 -2
  284. package/dist/queries/outline.js +1 -1
  285. package/dist/queries/passthrough-candidates.d.ts +2 -2
  286. package/dist/queries/passthrough-candidates.js +1 -1
  287. package/dist/queries/plan-context.d.ts +2 -2
  288. package/dist/queries/plan-context.js +1 -1
  289. package/dist/queries/react-component-duplicates.d.ts +2 -2
  290. package/dist/queries/react-component-duplicates.js +1 -1
  291. package/dist/queries/react-hook-candidates.d.ts +2 -2
  292. package/dist/queries/react-hook-candidates.js +1 -1
  293. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  294. package/dist/queries/react-large-component-pressure.js +1 -1
  295. package/dist/queries/recent-duplicates.d.ts +2 -2
  296. package/dist/queries/recent-duplicates.js +1 -1
  297. package/dist/queries/redundant-reexports.d.ts +2 -2
  298. package/dist/queries/redundant-reexports.js +1 -1
  299. package/dist/queries/reference-neighborhood.d.ts +2 -2
  300. package/dist/queries/reference-neighborhood.js +1 -1
  301. package/dist/queries/reference-reachability.d.ts +2 -2
  302. package/dist/queries/reference-reachability.js +1 -1
  303. package/dist/queries/refs.d.ts +2 -2
  304. package/dist/queries/refs.js +1 -1
  305. package/dist/queries/self-audit.d.ts +2 -2
  306. package/dist/queries/self-audit.js +1 -1
  307. package/dist/queries/similar-chains.d.ts +2 -2
  308. package/dist/queries/similar-chains.js +1 -1
  309. package/dist/queries/similar-files.d.ts +2 -2
  310. package/dist/queries/similar-files.js +1 -1
  311. package/dist/queries/similar-signatures.d.ts +2 -2
  312. package/dist/queries/similar-signatures.js +1 -1
  313. package/dist/queries/similar.d.ts +2 -2
  314. package/dist/queries/similar.js +1 -1
  315. package/dist/queries/slice.d.ts +2 -2
  316. package/dist/queries/slice.js +1 -1
  317. package/dist/queries/source-inspection.d.ts +4 -4
  318. package/dist/queries/source-inspection.js +1 -1
  319. package/dist/queries/source-search.d.ts +2 -2
  320. package/dist/queries/source-search.js +1 -1
  321. package/dist/queries/stale-abstractions.d.ts +2 -2
  322. package/dist/queries/stale-abstractions.js +1 -1
  323. package/dist/queries/stats.d.ts +2 -2
  324. package/dist/queries/surface.d.ts +2 -2
  325. package/dist/queries/surface.js +1 -1
  326. package/dist/queries/symbols.d.ts +2 -2
  327. package/dist/queries/symbols.js +1 -1
  328. package/dist/queries/system-map.d.ts +2 -2
  329. package/dist/queries/system-map.js +1 -1
  330. package/dist/queries/system.d.ts +2 -2
  331. package/dist/queries/system.js +1 -1
  332. package/dist/queries/test-quality.d.ts +2 -2
  333. package/dist/queries/test-quality.js +1 -1
  334. package/dist/queries/trace.d.ts +2 -2
  335. package/dist/queries/trace.js +1 -1
  336. package/dist/queries/twin-ab.d.ts +2 -2
  337. package/dist/queries/twin-ab.js +1 -1
  338. package/dist/queries/twin-drift.d.ts +2 -2
  339. package/dist/queries/twin-drift.js +1 -1
  340. package/dist/queries/unused-imports.d.ts +2 -2
  341. package/dist/queries/unused-imports.js +1 -1
  342. package/dist/queries/unused-params.d.ts +2 -2
  343. package/dist/queries/unused-params.js +1 -1
  344. package/dist/queries/value-flow.d.ts +3 -3
  345. package/dist/queries/value-flow.js +1 -1
  346. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  347. package/dist/queries/vue-component-duplicates.js +1 -1
  348. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  349. package/dist/queries/vue-composable-candidates.js +1 -1
  350. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  351. package/dist/queries/vue-large-view-pressure.js +1 -1
  352. package/dist/queries/wrapper-candidates.d.ts +2 -2
  353. package/dist/queries/wrapper-candidates.js +1 -1
  354. package/dist/reindex-worker.js +2 -2
  355. package/dist/reindex.d.ts +3 -5
  356. package/dist/reindex.js +72 -33
  357. package/dist/runtime.d.ts +23 -4
  358. package/dist/runtime.js +3 -3
  359. package/dist/rust-semantic-session-server.js +1 -1
  360. package/dist/rust-semantic-session-worker.js +1 -1
  361. package/dist/rust-semantic-worker.js +1 -1
  362. package/dist/sentinel-ensure-command-OSWGCFFL.js +3 -0
  363. package/dist/sentinel-ensure-command-SPW7XQLB.js +2 -0
  364. package/dist/sentinel-hook.js +39 -0
  365. package/dist/sentinel-worker.js +16 -0
  366. package/dist/typescript-mailbox-worker.js +1 -1
  367. package/dist/watch-server.js +6 -6
  368. package/docs/COMMAND_REFERENCE.md +5 -3
  369. package/docs/INDEX_GENERATIONS.md +2 -2
  370. package/docs/NPM_RELEASE.md +323 -0
  371. package/docs/schemas/npm-release-state.schema.json +4 -13
  372. package/docs/schemas/project-config.schema.json +159 -0
  373. package/package.json +10 -14
  374. package/skills/codebaseiq/SKILL.md +1 -1
  375. package/skills/concrete-plan/SKILL.md +1 -1
  376. package/ui/view/api.js +450 -0
  377. package/ui/view/app.js +394 -0
  378. package/ui/view/builder.js +323 -0
  379. package/ui/view/file-panel.js +170 -0
  380. package/ui/view/focus.js +379 -0
  381. package/ui/view/index.html +54 -0
  382. package/ui/view/map.js +424 -0
  383. package/ui/view/styles.css +1125 -0
  384. package/dist/chunk-2Q2LW5JW.js +0 -14
  385. package/dist/chunk-2X7V4HS4.js +0 -88
  386. package/dist/chunk-3IER7Q6H.js +0 -12
  387. package/dist/chunk-3JSXXYTZ.js +0 -345
  388. package/dist/chunk-476NR5B7.js +0 -2
  389. package/dist/chunk-5VKBFZZU.js +0 -3
  390. package/dist/chunk-6BQ3DSPK.js +0 -2
  391. package/dist/chunk-6CS3UQTN.js +0 -3
  392. package/dist/chunk-6OAHRI2D.js +0 -6
  393. package/dist/chunk-ADTBPVUZ.js +0 -21
  394. package/dist/chunk-BFFZDZQV.js +0 -2
  395. package/dist/chunk-BMYOV5GP.js +0 -77
  396. package/dist/chunk-C74PPYLA.js +0 -3
  397. package/dist/chunk-CWONGW6P.js +0 -3
  398. package/dist/chunk-DDZ7VHWV.js +0 -20
  399. package/dist/chunk-DR2LURYU.js +0 -3
  400. package/dist/chunk-ECQBG7PW.js +0 -564
  401. package/dist/chunk-EF2R3WNQ.js +0 -2
  402. package/dist/chunk-FM5BPL4V.js +0 -60
  403. package/dist/chunk-G6XFR4ZL.js +0 -4
  404. package/dist/chunk-GTIYTDRE.js +0 -562
  405. package/dist/chunk-HOA5YGOH.js +0 -3
  406. package/dist/chunk-KUW32IRO.js +0 -2
  407. package/dist/chunk-LTA3BRZX.js +0 -2
  408. package/dist/chunk-NAUD7LCA.js +0 -2
  409. package/dist/chunk-NCZUNH3E.js +0 -109
  410. package/dist/chunk-NNJ2KZZG.js +0 -4
  411. package/dist/chunk-NNO6A2PO.js +0 -2
  412. package/dist/chunk-OGTFJ3XD.js +0 -2
  413. package/dist/chunk-Q5ELPRKQ.js +0 -2
  414. package/dist/chunk-Q72QSKXC.js +0 -308
  415. package/dist/chunk-QCN62RTF.js +0 -3
  416. package/dist/chunk-QW7EP6WI.js +0 -21
  417. package/dist/chunk-RU65DDUP.js +0 -215
  418. package/dist/chunk-SELM5MER.js +0 -2
  419. package/dist/chunk-SMRBZ6EC.js +0 -2
  420. package/dist/chunk-SNNWPCN7.js +0 -4
  421. package/dist/chunk-TFZB6XTM.js +0 -239
  422. package/dist/chunk-UCD3H3UZ.js +0 -5
  423. package/dist/chunk-UXM43C7T.js +0 -3
  424. package/dist/chunk-VFY6Y2H6.js +0 -61
  425. package/dist/chunk-WE5RZHZ7.js +0 -5
  426. package/dist/chunk-YMGZZEW4.js +0 -2
  427. package/dist/chunk-YVCIMIOC.js +0 -12
  428. package/dist/chunk-Z54RD7VL.js +0 -3
  429. package/dist/chunk-ZKX2FRS6.js +0 -15
  430. package/dist/cli-context-3SNLDYBM.js +0 -3
  431. package/dist/cli-context-T3B7W6GG.js +0 -2
  432. package/dist/cli-program-YNOXO72B.js +0 -7
  433. package/dist/command-descriptors-6AOUKWW7.js +0 -346
  434. package/dist/command-descriptors-ZFKJSRUP.js +0 -344
  435. package/dist/direct-navigation-DP4LVMRX.js +0 -3
  436. package/dist/direct-navigation-FLUS3BT6.js +0 -2
  437. package/dist/invocation-command-descriptors-QT2JMY5J.js +0 -3
  438. package/dist/invocation-command-descriptors-YN4QJEAX.js +0 -2
  439. package/dist/output-continuation-command-2V2SL4TD.js +0 -2
  440. package/dist/output-continuation-command-65J5IP3O.js +0 -3
  441. package/dist/project-reindex-5JOKXAXT.js +0 -2
  442. package/dist/project-reindex-UQBIKO4M.js +0 -3
  443. package/docs/WINDOWS_SIDECAR_RELEASE.md +0 -424
  444. package/docs/schemas/windows-sidecar-provenance.schema.json +0 -137
  445. package/scripts/build-codebaseiq-windows.mjs +0 -197
  446. package/scripts/codebaseiq-windows-provenance.mjs +0 -364
  447. package/scripts/verify-codebaseiq-windows.mjs +0 -29
@@ -0,0 +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-SMDIEDM4.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-6JMAVFL4.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(`
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-J3GLP7Q5.js.map
@@ -1,4 +1,4 @@
1
- import{d as O}from"./chunk-ELNRLMC5.js";import{d as S}from"./chunk-UZGZB3VB.js";import{A as T,c as A,e as b,t as F}from"./chunk-FETNQCFO.js";import{a as D,b as P,f as h,p as I}from"./chunk-O6QTXQPJ.js";import{K as _,z as k}from"./chunk-ADTBPVUZ.js";import{e as g,f as w,u as m}from"./chunk-BMYOV5GP.js";import{b as C,d as p}from"./chunk-NNJ2KZZG.js";function L(e,n,t,r={}){if(!t)return[];let i=m(e,n);return i?i.indexOf(t)===-1?[]:(x(e,n).get(t)??[]).filter(s=>!Y(s,r)):[]}function Y(e,n){return typeof n.excludeStartLine=="number"&&typeof n.excludeEndLine=="number"&&e>=n.excludeStartLine&&e<=n.excludeEndLine}var W=g("file-identifiers",{clearGroups:["whole-project","source-file"]});function $(e,n){let t=h(e,n);return t?t.fileIdentifiers:W.get(e,n,()=>new Set(x(e,n).keys()))}var V=g("file-ident-lines",{clearGroups:["whole-project","source-file"]});function x(e,n){let t=h(e,n);return t?t.identifierLineMap:V.get(e,n,()=>q(e,n))}var X=g("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function he(e,n){let t=h(e,n);return t?t.identifiersByLine:X.get(e,n,()=>{let r=x(e,n),i=0;for(let s of r.values()){let a=s[s.length-1];a!==void 0&&a>i&&(i=a)}let o=new Array(i+1);for(let s=0;s<=i;s+=1)o[s]=new Set;for(let[s,a]of r)for(let c of a)o[c].add(s);return o})}function q(e,n){let t=new Map,r=(a,c)=>{let l=t.get(a);if(!l){t.set(a,[c]);return}l[l.length-1]!==c&&l.push(c)},i=m(e,n);if(!i)return t;let o=P(i).split(/\r?\n/),s=/\b([A-Za-z_$][\w$]*)\b/g;for(let a=0;a<o.length;a+=1){let c=o[a]??"";for(let l of c.matchAll(s))l[1]&&r(l[1],a)}return t}function Ne(e,n){let t=z(e);return t?n.filter(r=>z(r.file)===t):n}function Me(e,n,t,r,i){let o=t.find(s=>s.file===n);if(o)return o;if(r){let s=i?.match(/^[A-Za-z_$][\w$]*/u)?.[0];if(!s)return null;let a=I(e,n),c=new Set(a.filter(f=>f.localName===s||f.importedName===s).map(f=>f.sourcePath).filter(f=>!!f));for(let f of t)for(let E of c)if(p(E,f.file))return f;let l=K(m(e,n)??"",s);if(l.size===0)return null;let u=new Set(a.filter(f=>l.has(f.localName??f.importedName)).map(f=>f.sourcePath).filter(f=>!!f)),d=t.filter(f=>l.has(A(f.symbol)??"")&&[...u].some(E=>p(E,f.file)));return d.length===1?d[0]:null}return t.length===1?t[0]:null}function K(e,n){let t=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new Set,i=[new RegExp(`\\b${t}\\s*:\\s*([A-Za-z_$][\\w$]*)`,"gu"),new RegExp(`\\b${t}\\s*=\\s*(?:new\\s+)?([A-Za-z_$][\\w$]*)\\s*\\(`,"gu")];for(let o of i)for(let s of e.matchAll(o))r.add(s[1]);return r.size===1?r:new Set}function z(e){let n=k(e);return n?n==="typescript"||n==="tsx"||n==="javascript"?"javascript-family":n:null}var Q=w("global-leaf-index",{clearGroups:["whole-project"]});function v(e){return Q.get(e,()=>{let n=e.all(`SELECT gs.id, gs.symbol,
1
+ import{d as O}from"./chunk-ELNRLMC5.js";import{d as S}from"./chunk-SGMNWYTH.js";import{A as T,c as A,e as b,t as F}from"./chunk-GVAF222T.js";import{a as D,b as P,f as h,p as I}from"./chunk-F74LZWCE.js";import{K as _,z as k}from"./chunk-ICUL7XRT.js";import{g,h as w,w as m}from"./chunk-7GAK2F3H.js";import{b as C,d as p}from"./chunk-UC2FD2PS.js";function L(e,n,t,r={}){if(!t)return[];let i=m(e,n);return i?i.indexOf(t)===-1?[]:(x(e,n).get(t)??[]).filter(s=>!Y(s,r)):[]}function Y(e,n){return typeof n.excludeStartLine=="number"&&typeof n.excludeEndLine=="number"&&e>=n.excludeStartLine&&e<=n.excludeEndLine}var W=g("file-identifiers",{clearGroups:["whole-project","source-file"]});function $(e,n){let t=h(e,n);return t?t.fileIdentifiers:W.get(e,n,()=>new Set(x(e,n).keys()))}var V=g("file-ident-lines",{clearGroups:["whole-project","source-file"]});function x(e,n){let t=h(e,n);return t?t.identifierLineMap:V.get(e,n,()=>q(e,n))}var X=g("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function he(e,n){let t=h(e,n);return t?t.identifiersByLine:X.get(e,n,()=>{let r=x(e,n),i=0;for(let s of r.values()){let a=s[s.length-1];a!==void 0&&a>i&&(i=a)}let o=new Array(i+1);for(let s=0;s<=i;s+=1)o[s]=new Set;for(let[s,a]of r)for(let c of a)o[c].add(s);return o})}function q(e,n){let t=new Map,r=(a,c)=>{let l=t.get(a);if(!l){t.set(a,[c]);return}l[l.length-1]!==c&&l.push(c)},i=m(e,n);if(!i)return t;let o=P(i).split(/\r?\n/),s=/\b([A-Za-z_$][\w$]*)\b/g;for(let a=0;a<o.length;a+=1){let c=o[a]??"";for(let l of c.matchAll(s))l[1]&&r(l[1],a)}return t}function Ne(e,n){let t=z(e);return t?n.filter(r=>z(r.file)===t):n}function Me(e,n,t,r,i){let o=t.find(s=>s.file===n);if(o)return o;if(r){let s=i?.match(/^[A-Za-z_$][\w$]*/u)?.[0];if(!s)return null;let a=I(e,n),c=new Set(a.filter(f=>f.localName===s||f.importedName===s).map(f=>f.sourcePath).filter(f=>!!f));for(let f of t)for(let E of c)if(p(E,f.file))return f;let l=K(m(e,n)??"",s);if(l.size===0)return null;let u=new Set(a.filter(f=>l.has(f.localName??f.importedName)).map(f=>f.sourcePath).filter(f=>!!f)),d=t.filter(f=>l.has(A(f.symbol)??"")&&[...u].some(E=>p(E,f.file)));return d.length===1?d[0]:null}return t.length===1?t[0]:null}function K(e,n){let t=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new Set,i=[new RegExp(`\\b${t}\\s*:\\s*([A-Za-z_$][\\w$]*)`,"gu"),new RegExp(`\\b${t}\\s*=\\s*(?:new\\s+)?([A-Za-z_$][\\w$]*)\\s*\\(`,"gu")];for(let o of i)for(let s of e.matchAll(o))r.add(s[1]);return r.size===1?r:new Set}function z(e){let n=k(e);return n?n==="typescript"||n==="tsx"||n==="javascript"?"javascript-family":n:null}var Q=w("global-leaf-index",{clearGroups:["whole-project"]});function v(e){return Q.get(e,()=>{let n=e.all(`SELECT gs.id, gs.symbol,
2
2
  COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
3
3
  FROM global_symbols gs
4
4
  LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
@@ -13,4 +13,4 @@ import{d as O}from"./chunk-ELNRLMC5.js";import{d as S}from"./chunk-UZGZB3VB.js";
13
13
  ) mention_doc ON mention_doc.symbol_id = gs.id
14
14
  WHERE 1 = 1
15
15
  ${e.symbolNoiseFor("gs")}`),t=new Map;for(let r of n){if(!r.relative_path||e.isIgnored(r.relative_path))continue;let i=b(r.symbol);if(!i)continue;let o=t.get(i);o||(o=[],t.set(i,o)),o.some(s=>s.symbolId===r.id)||o.push({symbol:r.symbol,symbolId:r.id,file:r.relative_path})}return t})}var ee=g("source-import-paths-by-local-name",{clearGroups:["whole-project","source-file"]});function j(e,n){let t=C(n);return ee.get(e,t,()=>te(e,t))}function te(e,n){let t=new Map;for(let r of I(e,n)){if(!r.sourcePath)continue;let i=r.localName??r.importedName;if(i&&B(t,i,r.sourcePath),r.kind==="namespace")for(let o of r.usedMembers)B(t,o,r.sourcePath)}return t}function B(e,n,t){let r=e.get(n);r||(r=new Set,e.set(n,r)),r.add(t)}var G=/[A-Za-z_$][A-Za-z0-9_$]*/g,Z=/^[A-Za-z_$][A-Za-z0-9_$]*$/,ne=512;function N(e){let n=[],t=!1;for(let r of e)r&&(t=!0,Z.test(r)||n.push(r));return{candidateNames:e,hasUsableCandidate:t,nonIdentifierNames:n}}function H(e,n){let t=re(n)?n:N(n);if(t.candidateNames.size===0||!t.hasUsableCandidate)return!0;if(t.candidateNames.size<=ne){for(let i of t.candidateNames)if(i){if(Z.test(i)){if(ie(i).test(e))return!0;continue}if(e.includes(i))return!0}return!1}G.lastIndex=0;let r;for(;(r=G.exec(e))!==null;)if(t.candidateNames.has(r[0]))return!0;for(let i of t.nonIdentifierNames)if(e.includes(i))return!0;return!1}function re(e){return"candidateNames"in e}function ie(e){return new RegExp(`(?<![A-Za-z_$0-9])${D(e)}(?![A-Za-z_$0-9])`)}function M(e,n,t){let r=v(e).get(t);if(!r||r.length===0)return[];if(r.length===1)return[y(r[0])];let i=r.filter(c=>c.file===n);if(i.length>0)return i.map(y);let o=j(e,n),s=o.get(t);if(s)for(let c of s){let l=r.filter(u=>p(c,u.file));if(l.length>0)return l.map(y)}let a=new Set;for(let c of o.values())for(let l of c)a.add(l);for(let c of a){let l=r.filter(u=>p(c,u.file));if(l.length>0&&l.length===r.length)return l.map(y)}return[]}function Je(e,n,t){let r=M(e,n,t);if(r.length>0)return r;let i=v(e).get(t);return!i||i.length===0?[]:i.map(y)}function U(e,n,t={}){let r=oe(e,n);if(!r)return[];let i=S(e,n);if(t.semantic!==!1&&t.semanticEvidence){let s=t.semanticEvidence.references(e,{...i,leaf:r.identifier,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(s.length>0){let a=new Map;for(let c of s){let l=a.get(c.file)??[];l.push(c.line),a.set(c.file,l)}return R(e,a)}}let o=new Map;for(let s of _(e)){let a=se(e,r,s);a.length>0&&o.set(s,a)}return R(e,o)}function oe(e,n){let t=S(e,n);if(!t)return null;let r=b(t.symbol);return r?{symbolId:t.symbolId,relativePath:t.relativePath,startLine:t.startLine,endLine:t.endLine,identifier:r}:null}function se(e,n,t){let r=m(e,t);return!r||r.indexOf(n.identifier)===-1?[]:t!==n.relativePath&&!M(e,t,n.identifier).some(o=>o.symbolId===n.symbolId)?[]:L(e,t,n.identifier,t===n.relativePath?{excludeStartLine:n.startLine,excludeEndLine:n.endLine}:{})}function Ye(e,n,t={}){let r=new Map;for(let c of n){if(!c.leaf)continue;let l=r.get(c.leaf)??[];l.push(c),r.set(c.leaf,l)}if(r.size===0)return new Map;let i=new Set(n.map(c=>c.symbolId)),o=new Set(r.keys()),s=N(o),a=new Map;for(let c of _(e)){if(t.skipPath?.(c)||!H(m(e,c),s))continue;let l=$(e,c);if(l.size!==0){for(let u of l)if(r.has(u))for(let d of M(e,c,u)){if(!i.has(d.symbolId)||c===d.relativePath)continue;let f=a.get(d.symbolId);f||(f=new Set,a.set(d.symbolId,f)),f.add(c)}}}return a}function y(e){return{symbolId:e.symbolId,symbol:e.symbol,relativePath:e.file}}function R(e,n){let t=[],r=new Set;for(let[i,o]of n){let s=F(e,i);for(let a of o){let c=T(s,a),l=`${i}|${a}|${c?.symbol??""}`;r.has(l)||(r.add(l),t.push({file:i,line:a,enclosingSymbol:c?.symbol??null}))}}return t}function ae(e,n){return ce(e,[n]).get(n.symbolId)??[]}function ce(e,n){let t=n.map(o=>({symbolId:o.symbolId,prelude:pe(e,o)})).filter(o=>o.prelude!==null),r=ue(e,t.map(o=>o.symbolId)),i=new Map;for(let{symbolId:o,prelude:s}of t){let a=fe(e,r.get(o)??new Map,s.match,s.identifier);i.set(o,R(e,a))}return i}function et(e,n,t={}){return le(e,n,t).map(r=>({file:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol}))}function le(e,n,t={}){let r=U(e,n,{semantic:t.semantic,semanticEvidence:t.semanticEvidence}),i=r.length>0?J(r,"source-attribution"):J(ae(e,n),"scip-reference-chunk");return t.includeIgnored===!0?i:i.filter(o=>!e.isIgnored(o.file))}function J(e,n){return e.map(t=>({...t,provenance:n}))}function fe(e,n,t,r){let i=new Map;for(let[o,s]of n)i.set(o,me(e,o,s,t,r));return i}function ue(e,n){let t=new Map;for(let r of O(e,n)){if(e.isIgnored(r.relative_path))continue;let i=t.get(r.symbol_id);i||(i=new Map,t.set(r.symbol_id,i));let o=i.get(r.relative_path);o||(o=[],i.set(r.relative_path,o)),o.push({start_line:r.chunk_start,end_line:r.chunk_end})}return t}function me(e,n,t,r,i){let o=n===r.relativePath?{excludeStartLine:r.startLine,excludeEndLine:r.endLine}:{},s=i?L(e,n,i,o):[];return t.flatMap(a=>de(s,a))}function de(e,n){let t=e.filter(r=>r>=n.start_line&&r<=n.end_line);return t.length>0?t:[n.start_line]}function pe(e,n){let t=S(e,n);return t?{match:t,identifier:b(t.symbol)||null}:null}export{L as a,x as b,he as c,Ne as d,Me as e,v as f,N as g,H as h,j as i,M as j,Je as k,Ye as l,ae as m,ce as n,et as o,le as p};
16
- //# sourceMappingURL=chunk-CVYSU6BX.js.map
16
+ //# sourceMappingURL=chunk-J7AMBVWF.js.map
@@ -1,7 +1,7 @@
1
- import{d as j}from"./chunk-PTAWHLVJ.js";import{a as k}from"./chunk-ST7V3SKN.js";import{a as _}from"./chunk-QHRNXP3C.js";import{b as C}from"./chunk-XLQ3GLWZ.js";import{a as T}from"./chunk-VE5AVNMP.js";import{g as S}from"./chunk-J77SU6VA.js";import{a as O,b as w,e as $}from"./chunk-UZGZB3VB.js";import{d as L,e as I,t as g}from"./chunk-FETNQCFO.js";import{f as B,p as M}from"./chunk-O6QTXQPJ.js";import{v as P}from"./chunk-BMYOV5GP.js";import{a as F}from"./chunk-NNJ2KZZG.js";import{basename as le,extname as U}from"path";var ee=12,ne=280;function y(n,e,t,o){let i=te(n,e,t,o);if(i.size===0)return se();let r=[],s=new Set,l=(a,d,c,f)=>{if(d===e&&c<=o&&f>=t)return;let b=`${d}:${c}:${f}:${a}`;s.has(b)||(s.add(b),r.push({name:a,relativePath:d,startLine:c,endLine:f}))};for(let a of g(n,e))i.has(a.leaf)&&l(a.leaf,a.relativePath,a.startLine,a.endLine);for(let a of M(n,e)){let d=a.localName;if(!d||!i.has(d)||!a.sourcePath||a.kind==="namespace")continue;let c=a.importedName==="default"?d:a.importedName;for(let f of T(n,a.sourcePath,c,{maxReexportDepth:3}))l(d,f.relativePath,f.startLine,f.endLine)}r.sort(W);let u=r.map(a=>{let d=ie(n,a);return d?{...a,source:d}:null}).filter(a=>a!==null).slice(0,ee);return D(u)}function A(n,e=[]){return D(re(n.flatMap(t=>t?.inline??[]),e))}function Ne(n){return n?n.inline.reduce((e,t)=>e+t.name.length+t.source.length+32,0):0}function te(n,e,t,o){let i=B(n,e),r=new Set;if(!i)return r;for(let s=t;s<=o;s+=1)for(let l of i.identifiersByLine[s]??[])r.add(l);return r}function ie(n,e){if(e.startLine!==e.endLine)return null;let t=(P(n,e.relativePath)[e.startLine]??"").trim();if(!t||t.length>ne)return null;let o=t.indexOf("=");if(o<0||t[o+1]===">")return null;let i=t.slice(o+1).replace(/(?:\/\/|#).*$/u,"").trim();if(!i||i.includes("${")||/\b(?:function|class|struct|interface|trait|enum|lambda)\b/u.test(i))return null;let s=i.replace(/(['"`])(?:\\.|(?!\1).)*\1/gu,"").replace(/\b(?:0[xX][\dA-Fa-f_]+|0[bB][01_]+|0[oO][0-7_]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[eE][+-]?\d+)?)n?\b/gu,""),l=new Set(["true","false","null","undefined","None","True","False"]);return(s.match(/[A-Za-z_][A-Za-z0-9_]*/gu)??[]).some(a=>!l.has(a))?null:t}function re(n,e){let t=new Map;for(let o of n){if(oe(o,e))continue;let i=`${o.relativePath}:${o.startLine}:${o.endLine}:${o.name}`;t.has(i)||t.set(i,{...o})}return[...t.values()].sort(W)}function oe(n,e){return e.some(t=>t.relativePath===n.relativePath&&t.startLine<=n.startLine&&t.endLine>=n.endLine)}function W(n,e){return n.relativePath.localeCompare(e.relativePath)||n.startLine-e.startLine||n.name.localeCompare(e.name)}function D(n){return{coverage:"indexed-project-literal-values",inline:n}}function se(){return D([])}function Ae(n,e,t={}){let{context:o=0}=t,i=Y(e);if(i)return q(n,i.filePath,i.startLine,i.endLine,o);let r=Q(n,e);if(r)return K(n,r);let s=O(n,e);return s?p(n,s,o):null}function We(n,e,t={}){if(e.length===0)throw new RangeError("code requires at least one selector.");if(e.length>24)throw new RangeError(`code accepts at most ${24} selectors per complete packet; received ${e.length}.`);let o=t.context??0,i=t.members??"exported",r=e.map(u=>ue(n,u,o,i)),s=r.flatMap(u=>u.results),l=s.map(u=>({relativePath:u.relativePath,startLine:u.startLine,endLine:u.endLine}));return{requested:e.length,matched:r.filter(u=>u.status==="matched").length,ambiguous:r.filter(u=>u.status==="ambiguous").length,missing:r.filter(u=>u.status==="missing").length,entries:r,bindingClosure:A(s.map(u=>u.bindingClosure),l)}}function ue(n,e,t,o){let i=Y(e);if(i){let d=q(n,i.filePath,i.startLine,i.endLine,t);return d?de(n,e,d,t):x(n,e,"definition-source-unreadable")}let r=Q(n,e);if(r)return fe(n,e,r,t,o);let s=w(n,e);if(!s.match)return x(n,e,"definition-not-found");let l=Le(n,s),u=l.map(V);if(s.total>1){let d=s.total<=4&&l.length===s.total;return{selector:e,status:"ambiguous",kind:"source",totalCandidates:s.total,results:d?l.flatMap(c=>{let f=p(n,c,t);return f?[f]:[]}):[],definitions:[],candidates:u,omittedCandidates:Math.max(0,s.total-u.length),suggestions:[]}}let a=p(n,s.match,t);return a?ve(e,a):x(n,e,"definition-source-unreadable")}function de(n,e,t,o){let i=g(n,t.relativePath).filter(a=>!X(a,t.relativePath)),r=ce(n,t,i),s=G(r.map(a=>p(n,a,o)).filter(a=>a!==null)).filter(a=>!J(t,a)),l=new Set(s.map(a=>a.symbol)),u=r.filter(a=>!l.has(a.symbol)&&!(t.startLine<=a.startLine&&t.endLine>=a.endLine)).map(V);return{selector:e,status:"matched",kind:"source",totalCandidates:1,results:[t,...s],definitions:[],candidates:[],omittedCandidates:0,suggestions:[],rangeCoverage:{basis:"requested-range-and-same-file-call-closure",referencedDefinitions:r.length,returnedDefinitions:r.length-u.length,returnedBodies:s.length,omittedDefinitions:u.length,omittedLedger:u}}}function ce(n,e,t){if(!h(e.freshness))return[];if(t.length===0)return[];let o=S(n,t,{additive:!1,semantic:!1}),i=new Map;for(let s of t){let l=i.get(s.symbol)??[];l.push(s),i.set(s.symbol,l)}let r=new Map;for(let s of t)if(!(s.endLine<e.startLine||s.startLine>e.endLine)){for(let l of o.get(s.symbolId)??[])if(l.file===e.relativePath&&!(l.source==="ast-callsite"&&(l.chunkId<e.startLine||l.chunkId>e.endLine)))for(let u of i.get(l.symbol)??[])r.set(u.symbolId,u)}return H(n,[...r.values()],t)}function fe(n,e,t,o,i){let r=t.relativePath,s=ge(n,r),l=h(t.freshness)?g(n,r).filter(m=>!X(m,r)):[],u=l.filter(m=>_(n,m)),a=u.length>0?u:me(s,l),d=i==="all"?[]:H(n,a,l),c=i==="all"||l.length===0?[K(n,t)]:G(d.map(m=>p(n,m,o)).filter(m=>m!==null)),f=he(s,c),b=be(r,s,c),N=Ce(s);return{selector:e,status:"matched",kind:"file-source",totalCandidates:1,results:c,definitions:[],candidates:[],omittedCandidates:0,suggestions:[],fileCoverage:{members:i,basis:i==="all"||l.length===0?"complete-file-source":u.length>0?"explicit-exports-and-same-file-reference-closure":"top-level-and-same-file-reference-closure",totalDefinitions:N,returnedDefinitions:f,returnedBodies:c.length,omittedDefinitions:Math.max(0,N-f),omittedLedger:b}}}function me(n,e){let t=new Set(n.map(o=>o.symbol));return e.filter(o=>t.has(o.symbol))}function ge(n,e){return k(n,e).flatMap(t=>pe(t,e)?t.children:[t])}function X(n,e){return z(e).has(n.leaf)}function pe(n,e){return z(e).has(I(n.symbol))}function z(n){let e=le(n);return new Set([e,e.slice(0,Math.max(0,e.length-U(e).length))])}function H(n,e,t){if(e.length===0)return[];let o=S(n,t,{additive:!0,semantic:!1}),i=new Map;for(let l of t){let u=i.get(l.symbol)??[];u.push(l),i.set(l.symbol,u)}let r=new Map,s=[...e];for(;s.length>0;){let l=s.shift();if(!r.has(l.symbolId)){r.set(l.symbolId,l);for(let u of o.get(l.symbolId)??[])for(let a of i.get(u.symbol)??[])r.has(a.symbolId)||s.push(a)}}return[...r.values()].sort(ye)}function G(n){let e=[...n].sort((o,i)=>o.relativePath.localeCompare(i.relativePath)||o.startLine-i.startLine||i.endLine-o.endLine),t=[];for(let o of e)t.some(i=>J(i,o))||t.push(o);return t}function K(n,e){let t=e.text.split(`
1
+ import{d as j}from"./chunk-VGWZ4MOY.js";import{a as k}from"./chunk-M2Y6PCFE.js";import{a as _}from"./chunk-U7NUXDQO.js";import{b as C}from"./chunk-TJWVT4DO.js";import{a as T}from"./chunk-3VJ3OCRE.js";import{g as S}from"./chunk-MSI3K7PJ.js";import{a as O,b as w,e as $}from"./chunk-SGMNWYTH.js";import{d as L,e as I,t as g}from"./chunk-GVAF222T.js";import{f as B,p as M}from"./chunk-F74LZWCE.js";import{x as P}from"./chunk-7GAK2F3H.js";import{a as F}from"./chunk-UC2FD2PS.js";import{basename as le,extname as U}from"path";var ee=12,ne=280;function y(n,e,t,o){let i=te(n,e,t,o);if(i.size===0)return se();let r=[],s=new Set,l=(a,d,c,f)=>{if(d===e&&c<=o&&f>=t)return;let b=`${d}:${c}:${f}:${a}`;s.has(b)||(s.add(b),r.push({name:a,relativePath:d,startLine:c,endLine:f}))};for(let a of g(n,e))i.has(a.leaf)&&l(a.leaf,a.relativePath,a.startLine,a.endLine);for(let a of M(n,e)){let d=a.localName;if(!d||!i.has(d)||!a.sourcePath||a.kind==="namespace")continue;let c=a.importedName==="default"?d:a.importedName;for(let f of T(n,a.sourcePath,c,{maxReexportDepth:3}))l(d,f.relativePath,f.startLine,f.endLine)}r.sort(W);let u=r.map(a=>{let d=ie(n,a);return d?{...a,source:d}:null}).filter(a=>a!==null).slice(0,ee);return D(u)}function A(n,e=[]){return D(re(n.flatMap(t=>t?.inline??[]),e))}function Ne(n){return n?n.inline.reduce((e,t)=>e+t.name.length+t.source.length+32,0):0}function te(n,e,t,o){let i=B(n,e),r=new Set;if(!i)return r;for(let s=t;s<=o;s+=1)for(let l of i.identifiersByLine[s]??[])r.add(l);return r}function ie(n,e){if(e.startLine!==e.endLine)return null;let t=(P(n,e.relativePath)[e.startLine]??"").trim();if(!t||t.length>ne)return null;let o=t.indexOf("=");if(o<0||t[o+1]===">")return null;let i=t.slice(o+1).replace(/(?:\/\/|#).*$/u,"").trim();if(!i||i.includes("${")||/\b(?:function|class|struct|interface|trait|enum|lambda)\b/u.test(i))return null;let s=i.replace(/(['"`])(?:\\.|(?!\1).)*\1/gu,"").replace(/\b(?:0[xX][\dA-Fa-f_]+|0[bB][01_]+|0[oO][0-7_]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[eE][+-]?\d+)?)n?\b/gu,""),l=new Set(["true","false","null","undefined","None","True","False"]);return(s.match(/[A-Za-z_][A-Za-z0-9_]*/gu)??[]).some(a=>!l.has(a))?null:t}function re(n,e){let t=new Map;for(let o of n){if(oe(o,e))continue;let i=`${o.relativePath}:${o.startLine}:${o.endLine}:${o.name}`;t.has(i)||t.set(i,{...o})}return[...t.values()].sort(W)}function oe(n,e){return e.some(t=>t.relativePath===n.relativePath&&t.startLine<=n.startLine&&t.endLine>=n.endLine)}function W(n,e){return n.relativePath.localeCompare(e.relativePath)||n.startLine-e.startLine||n.name.localeCompare(e.name)}function D(n){return{coverage:"indexed-project-literal-values",inline:n}}function se(){return D([])}function Ae(n,e,t={}){let{context:o=0}=t,i=Y(e);if(i)return q(n,i.filePath,i.startLine,i.endLine,o);let r=Q(n,e);if(r)return K(n,r);let s=O(n,e);return s?p(n,s,o):null}function We(n,e,t={}){if(e.length===0)throw new RangeError("code requires at least one selector.");if(e.length>24)throw new RangeError(`code accepts at most ${24} selectors per complete packet; received ${e.length}.`);let o=t.context??0,i=t.members??"exported",r=e.map(u=>ue(n,u,o,i)),s=r.flatMap(u=>u.results),l=s.map(u=>({relativePath:u.relativePath,startLine:u.startLine,endLine:u.endLine}));return{requested:e.length,matched:r.filter(u=>u.status==="matched").length,ambiguous:r.filter(u=>u.status==="ambiguous").length,missing:r.filter(u=>u.status==="missing").length,entries:r,bindingClosure:A(s.map(u=>u.bindingClosure),l)}}function ue(n,e,t,o){let i=Y(e);if(i){let d=q(n,i.filePath,i.startLine,i.endLine,t);return d?de(n,e,d,t):x(n,e,"definition-source-unreadable")}let r=Q(n,e);if(r)return fe(n,e,r,t,o);let s=w(n,e);if(!s.match)return x(n,e,"definition-not-found");let l=Le(n,s),u=l.map(V);if(s.total>1){let d=s.total<=4&&l.length===s.total;return{selector:e,status:"ambiguous",kind:"source",totalCandidates:s.total,results:d?l.flatMap(c=>{let f=p(n,c,t);return f?[f]:[]}):[],definitions:[],candidates:u,omittedCandidates:Math.max(0,s.total-u.length),suggestions:[]}}let a=p(n,s.match,t);return a?ve(e,a):x(n,e,"definition-source-unreadable")}function de(n,e,t,o){let i=g(n,t.relativePath).filter(a=>!X(a,t.relativePath)),r=ce(n,t,i),s=G(r.map(a=>p(n,a,o)).filter(a=>a!==null)).filter(a=>!J(t,a)),l=new Set(s.map(a=>a.symbol)),u=r.filter(a=>!l.has(a.symbol)&&!(t.startLine<=a.startLine&&t.endLine>=a.endLine)).map(V);return{selector:e,status:"matched",kind:"source",totalCandidates:1,results:[t,...s],definitions:[],candidates:[],omittedCandidates:0,suggestions:[],rangeCoverage:{basis:"requested-range-and-same-file-call-closure",referencedDefinitions:r.length,returnedDefinitions:r.length-u.length,returnedBodies:s.length,omittedDefinitions:u.length,omittedLedger:u}}}function ce(n,e,t){if(!h(e.freshness))return[];if(t.length===0)return[];let o=S(n,t,{additive:!1,semantic:!1}),i=new Map;for(let s of t){let l=i.get(s.symbol)??[];l.push(s),i.set(s.symbol,l)}let r=new Map;for(let s of t)if(!(s.endLine<e.startLine||s.startLine>e.endLine)){for(let l of o.get(s.symbolId)??[])if(l.file===e.relativePath&&!(l.source==="ast-callsite"&&(l.chunkId<e.startLine||l.chunkId>e.endLine)))for(let u of i.get(l.symbol)??[])r.set(u.symbolId,u)}return H(n,[...r.values()],t)}function fe(n,e,t,o,i){let r=t.relativePath,s=ge(n,r),l=h(t.freshness)?g(n,r).filter(m=>!X(m,r)):[],u=l.filter(m=>_(n,m)),a=u.length>0?u:me(s,l),d=i==="all"?[]:H(n,a,l),c=i==="all"||l.length===0?[K(n,t)]:G(d.map(m=>p(n,m,o)).filter(m=>m!==null)),f=he(s,c),b=be(r,s,c),N=Ce(s);return{selector:e,status:"matched",kind:"file-source",totalCandidates:1,results:c,definitions:[],candidates:[],omittedCandidates:0,suggestions:[],fileCoverage:{members:i,basis:i==="all"||l.length===0?"complete-file-source":u.length>0?"explicit-exports-and-same-file-reference-closure":"top-level-and-same-file-reference-closure",totalDefinitions:N,returnedDefinitions:f,returnedBodies:c.length,omittedDefinitions:Math.max(0,N-f),omittedLedger:b}}}function me(n,e){let t=new Set(n.map(o=>o.symbol));return e.filter(o=>t.has(o.symbol))}function ge(n,e){return k(n,e).flatMap(t=>pe(t,e)?t.children:[t])}function X(n,e){return z(e).has(n.leaf)}function pe(n,e){return z(e).has(I(n.symbol))}function z(n){let e=le(n);return new Set([e,e.slice(0,Math.max(0,e.length-U(e).length))])}function H(n,e,t){if(e.length===0)return[];let o=S(n,t,{additive:!0,semantic:!1}),i=new Map;for(let l of t){let u=i.get(l.symbol)??[];u.push(l),i.set(l.symbol,u)}let r=new Map,s=[...e];for(;s.length>0;){let l=s.shift();if(!r.has(l.symbolId)){r.set(l.symbolId,l);for(let u of o.get(l.symbolId)??[])for(let a of i.get(u.symbol)??[])r.has(a.symbolId)||s.push(a)}}return[...r.values()].sort(ye)}function G(n){let e=[...n].sort((o,i)=>o.relativePath.localeCompare(i.relativePath)||o.startLine-i.startLine||i.endLine-o.endLine),t=[];for(let o of e)t.some(i=>J(i,o))||t.push(o);return t}function K(n,e){let t=e.text.split(`
2
2
  `);return{symbol:e.relativePath,shortName:e.relativePath,relativePath:e.relativePath,startLine:0,endLine:Math.max(0,t.length-1),language:n.get("SELECT language FROM documents WHERE relative_path = ?",e.relativePath)?.language??E(e.relativePath),source:e.text,freshness:e.freshness,...h(e.freshness)?{bindingClosure:y(n,e.relativePath,0,Math.max(0,t.length-1))}:{}}}function he(n,e){return v(n).filter(t=>e.some(o=>R(t,o))).length}function be(n,e,t){let o=[];return Z(o,n,e,t,0),o}function Z(n,e,t,o,i){for(let r of t){if(o.some(l=>R(r,l)))continue;let s=v(r.children).filter(l=>!o.some(u=>R(l,u))).length;n.push({symbol:r.symbol,shortName:r.shortName,relativePath:e,startLine:r.startLine,endLine:r.endLine,signature:r.signature,depth:i,nestedDefinitions:s}),Z(n,e,r.children,o,i+1)}}function v(n){return n.flatMap(e=>[e,...v(e.children)])}function Ce(n){return v(n).length}function R(n,e){return e.startLine<=n.startLine&&e.endLine>=n.endLine}function J(n,e){return n.relativePath===e.relativePath&&n.startLine<=e.startLine&&n.endLine>=e.endLine}function ye(n,e){return n.startLine-e.startLine||e.endLine-n.endLine||n.symbol.localeCompare(e.symbol)}function ve(n,e){return{selector:n,status:"matched",kind:"source",totalCandidates:1,results:[e],definitions:[],candidates:[],omittedCandidates:0,suggestions:[]}}function x(n,e,t){return{selector:e,status:"missing",kind:"source",totalCandidates:0,results:[],definitions:[],candidates:[],omittedCandidates:0,suggestions:$(n,e,5),reason:t}}function Q(n,e){try{return C(n,e)}catch(t){if(t instanceof F)return null;throw t}}function Le(n,e){if(!e.match)return[];let t=[e.match];for(let i of e.candidates){let r=g(n,i.relativePath).find(s=>s.symbol===i.symbol&&s.startLine===i.startLine);r&&t.push(r)}let o=new Set;return t.filter(i=>{let r=`${i.relativePath}:${i.startLine}:${i.endLine}:${i.symbol}`;return o.has(r)?!1:(o.add(r),!0)})}function V(n){return{symbol:n.symbol,shortName:L(n.symbol),relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine}}function Y(n){let e=n.match(/^(.+):(\d+)-(\d+)$/);if(!e)return null;let t=Number(e[2]),o=Number(e[3]);if(!Number.isSafeInteger(t)||t<1)throw new RangeError(`Source range start line must be a positive integer, got "${e[2]}".`);if(!Number.isSafeInteger(o)||o<t)throw new RangeError(`Source range end line must be an integer at or after ${t}, got "${e[3]}".`);return{filePath:e[1],startLine:t,endLine:o}}function p(n,e,t){let o=n.get("SELECT language FROM documents WHERE relative_path = ?",e.relativePath),i=C(n,e.relativePath);if(!i)return null;let s=i.text.split(`
3
3
  `),l=e.endLine<=e.startLine?j(n,e.relativePath,e.startLine,Number.MAX_SAFE_INTEGER):null,u=l?.unitType?l.unitStartLine:e.startLine,a=l?.unitType?l.unitEndLine:e.endLine,d=Math.max(0,u-t),c=Math.min(s.length-1,a+t),f=s.slice(d,c+1).join(`
4
4
  `);return{symbol:e.symbol,shortName:L(e.symbol),relativePath:e.relativePath,startLine:d,endLine:c,language:o?.language??E(e.relativePath),source:f,freshness:i.freshness,...h(i.freshness)?{bindingClosure:y(n,e.relativePath,d,c)}:{}}}function q(n,e,t,o,i){let r=C(n,e);if(!r)return null;let s=n.get("SELECT language FROM documents WHERE relative_path = ?",r.relativePath),u=r.text.split(`
5
5
  `);if(t>u.length)return null;let a=Math.max(0,t-1-i),d=Math.min(u.length-1,o-1+i),c=u.slice(a,d+1).join(`
6
6
  `);return{symbol:`${r.relativePath}:${t}-${o}`,shortName:`${r.relativePath}:${t}-${o}`,relativePath:r.relativePath,startLine:a,endLine:d,language:s?.language??E(r.relativePath),source:c,freshness:r.freshness,...h(r.freshness)?{bindingClosure:y(n,r.relativePath,a,d)}:{}}}function h(n){return!!(n&&n.semantic.state!=="stale"&&n.semantic.basis!=="no-compiler-document")}function E(n){switch(U(n).toLowerCase()){case".ts":case".tsx":case".mts":case".cts":return"typescript";case".js":case".jsx":case".mjs":case".cjs":return"javascript";case".py":case".pyi":return"python";case".rs":return"rust";case".go":return"go";case".java":return"java";case".kt":case".kts":return"kotlin";case".scala":return"scala";case".rb":return"ruby";case".php":return"php";case".cs":return"csharp";case".vb":return"vb";case".dart":return"dart";case".c":case".h":return"c";case".cc":case".cpp":case".cxx":case".hpp":case".hh":case".hxx":return"cpp";case".vue":return"vue";default:return null}}export{y as a,A as b,Ne as c,Ae as d,We as e};
7
- //# sourceMappingURL=chunk-Y6KHROC3.js.map
7
+ //# sourceMappingURL=chunk-JCMFBF4Z.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import{d as R,e as k}from"./chunk-D62CTZX6.js";import{i as f,j as L,w as E,x as v}from"./chunk-DUKHVPU5.js";import{connect as D}from"net";import{performance as S}from"perf_hooks";import{createHash as b}from"crypto";import{tmpdir as V,userInfo as j}from"os";import{join as Q}from"path";var c=1,_=1*1024*1024,h=64*1024*1024,y=12e4,x=["NO_COLOR","FORCE_COLOR","CLICOLOR","CLICOLOR_FORCE","TERM","CODEBASEIQ_DEBUG"],O=1500;function P(t){let e=T(),r=b("sha256").update(`${e}\0${t}`).digest("hex");return process.platform==="win32"?`\\\\.\\pipe\\codebaseiq-lane-${r.slice(0,32)}`:Q(Y(),`lane-${r.slice(0,24)}.sock`)}function Y(){let t=T(),e=b("sha256").update(t).digest("hex").slice(0,16);return Q(V(),`codebaseiq-${e}`)}function T(){try{return j().username}catch{return`uid-${typeof process.getuid=="function"?process.getuid():"unknown"}`}}function A(t,e){let r=Buffer.from(JSON.stringify(t),"utf8");if(r.byteLength>e)throw new Error(`query-lane frame of ${r.byteLength} bytes exceeds the ${e}-byte limit`);let n=Buffer.allocUnsafe(4+r.byteLength);return n.writeUInt32LE(r.byteLength,0),r.copy(n,4),n}function w(t,e,r){let n=Buffer.alloc(0),u=!1,i=s=>{u||(u=!0,r(new Error(s)))};return{push(s){if(!u)for(n=n.byteLength===0?s:Buffer.concat([n,s]);n.byteLength>=4;){let a=n.readUInt32LE(0);if(a>t){i(`query-lane frame of ${a} bytes exceeds the ${t}-byte limit`);return}if(n.byteLength<4+a)return;let l=n.subarray(4,4+a);n=n.subarray(4+a);let o;try{o=JSON.parse(l.toString("utf8"))}catch{i("query-lane frame carried invalid JSON");return}if(e(o),u)return}}}}function N(t){if(!t||typeof t!="object")return null;let e=t;if(e.protocolVersion!==c)return null;if(e.ok===!1)return e.code!=="unsupported"&&e.code!=="invalid-request"&&e.code!=="wrong-project"&&e.code!=="busy"&&e.code!=="stale-index"&&e.code!=="ineligible-command"&&e.code!=="execution-error"||typeof e.message!="string"?null:{ok:!1,protocolVersion:c,code:e.code,message:e.message};if(e.ok!==!0)return null;if(e.kind==="accepted"){let n=e.serverPid;return typeof n!="number"||!Number.isInteger(n)||n<=0?null:{ok:!0,kind:"accepted",protocolVersion:c,serverPid:n}}if(e.kind==="executed"){let n=e;return typeof n.serverPid!="number"||!Number.isInteger(n.serverPid)||n.serverPid<=0||typeof n.exitCode!="number"||!Number.isInteger(n.exitCode)||typeof n.stdout!="string"||typeof n.stderr!="string"||typeof n.generation!="string"||!/^[a-f0-9]{64}$/.test(n.generation)||typeof n.durationMs!="number"||!Number.isFinite(n.durationMs)?null:{ok:!0,kind:"executed",protocolVersion:c,serverPid:n.serverPid,exitCode:n.exitCode,stdout:n.stdout,stderr:n.stderr,generation:n.generation,durationMs:n.durationMs}}if(e.kind!=="pong"||typeof e.serverPid!="number"||!Number.isInteger(e.serverPid)||e.serverPid<=0||typeof e.cliVersion!="string"||typeof e.projectRoot!="string"||e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration))return null;let r;if(e.processIdentity!==void 0){let n=E(e.processIdentity);if(!n||n.pid!==e.serverPid)return null;r=n}return{ok:!0,kind:"pong",protocolVersion:c,serverPid:e.serverPid,...r?{processIdentity:r}:{},cliVersion:e.cliVersion,projectRoot:e.projectRoot,...e.indexGeneration!==void 0?{indexGeneration:e.indexGeneration}:{}}}var I=250,q=2e3,C="CODEBASEIQ_NO_DAEMON",$="CODEBASEIQ_DAEMON";async function se(t,e={}){let r=await M(t,{protocolVersion:c,kind:"ping",projectRoot:f(t.projectRoot)},e);if(r.kind!=="ok")return r;let n=r.response;return n.ok!==!0?{kind:"incompatible",reason:`query lane refused ping: ${n.code}: ${n.message}`}:n.kind!=="pong"?{kind:"incompatible",reason:"query lane answered ping with a non-pong response"}:n.serverPid!==r.state.pid?{kind:"incompatible",reason:"query lane responder is not the advertised watch service process"}:n.processIdentity&&r.state.processIdentity&&!v(n.processIdentity,r.state.processIdentity)?{kind:"incompatible",reason:"query lane responder identity differs from the advertised service"}:{kind:"ok",pong:n,roundTripMs:r.roundTripMs,state:r.state}}async function ie(t){let e=t[0];if(!e||e.startsWith("-"))return{served:!1,reason:"no eligible command was invoked"};if(process.env.CODEBASEIQ_INDEX_DB)return{served:!1,reason:"an explicit index database is pinned by the environment"};if(process.env.CODEBASEIQ_SESSION)return{served:!1,reason:"session-ledger evidence runs in-process"};let r;try{let{resolveProjectRoot:d,resolveCliProjectContext:p,residentQueryLaneEligible:U}=await import("./cli-context-FJL2JHOE.js");if(!U(e))return{served:!1,reason:`command ${e} always executes in-process`};let m=d(),g=p(m);r={projectRoot:m,cacheDir:g.paths.cacheDir,enabled:process.env[$]==="1"||g.config.daemon?.enabled===!0}}catch(d){return{served:!1,reason:`project resolution failed: ${d instanceof Error?d.message:d}`}}if(!r.enabled)return{served:!1,reason:"resident execution is not enabled for this project"};let{normalizeLegacyEvidenceInvocation:n}=await import("./invocation-command-descriptors-U76PN7IY.js"),u=["node","codebaseiq",...t];n(u);let i=u.slice(2),s={};for(let d of x){let p=process.env[d];p!==void 0&&(s[d]=p)}let a={protocolVersion:c,kind:"execute",projectRoot:f(r.projectRoot),argv:i,cwd:process.cwd(),envAllowlist:s,tty:{isTTY:process.stdout.isTTY===!0,...typeof process.stdout.columns=="number"?{columns:process.stdout.columns}:{}},deadlineMs:y,clientInvocation:{execPath:process.execPath,...process.argv[1]!==void 0?{scriptPath:process.argv[1]}:{}}},l=await M(r,a,{acceptTimeoutMs:O,responseTimeoutMs:y+5e3});if(l.kind!=="ok")return{served:!1,reason:l.reason};let o=l.response;return o.ok!==!0||o.kind!=="executed"?{served:!1,reason:o.ok===!1?`${o.code}: ${o.message}`:"the lane answered with a non-execution response"}:o.serverPid!==l.state.pid?{served:!1,reason:"the executing process is not the advertised watch service"}:(o.stdout.length>0&&process.stdout.write(o.stdout),o.stderr.length>0&&process.stderr.write(o.stderr),process.exitCode=o.exitCode,{served:!0,exitCode:o.exitCode})}async function M(t,e,r={}){if(process.env[C]==="1")return{kind:"unavailable",reason:`${C}=1 disables the query lane`};let n=B(t);if("reason"in n)return n;let u=r.socketPathOverride??P(t.cacheDir),i=S.now(),s=await W(u,e,r);if("reason"in s)return s;let a=N(s.value);return a?{kind:"ok",response:a,roundTripMs:S.now()-i,state:n.state}:{kind:"incompatible",reason:"query lane returned a response this client cannot validate"}}function F(t){return!!t&&typeof t=="object"&&t.kind==="accepted"&&t.ok===!0}function B(t){let e=k(R(t.cacheDir).statePath);return e?e.projectRoot!==f(t.projectRoot)?{kind:"unavailable",reason:"the published watch service serves a different project root"}:e.queryLane===void 0?{kind:"unavailable",reason:"the running watch service does not advertise a query lane"}:e.queryLane.protocolVersion!==c?{kind:"incompatible",reason:`query lane protocol ${e.queryLane.protocolVersion} does not match client protocol ${c}`}:L(e.pid)?{state:e}:{kind:"unavailable",reason:"the advertised watch service process is not alive"}:{kind:"unavailable",reason:"no watch service state is published for this cache"}}function W(t,e,r){return new Promise(n=>{let u=!1,i=o=>{u||(u=!0,clearTimeout(a),s.destroy(),n(o))},s=D({path:t,timeout:r.connectTimeoutMs??I}),a=setTimeout(()=>i({kind:"unavailable",reason:"query lane response timed out"}),(r.connectTimeoutMs??I)+(r.acceptTimeoutMs??r.responseTimeoutMs??q)),l=w(h,o=>{if(F(o)){clearTimeout(a),a=setTimeout(()=>i({kind:"unavailable",reason:"query lane response timed out after acknowledgement"}),r.responseTimeoutMs??q);return}i({value:o})},o=>i({kind:"unavailable",reason:`query lane response was malformed: ${o.message}`}));s.on("timeout",()=>i({kind:"unavailable",reason:"query lane connection timed out"})),s.on("error",o=>i({kind:"unavailable",reason:`query lane connection failed: ${o.message}`})),s.on("close",()=>i({kind:"unavailable",reason:"query lane closed before responding"})),s.on("data",o=>l.push(o)),s.on("connect",()=>{s.setTimeout(0);try{s.write(A(e,_))}catch(o){i({kind:"unavailable",reason:`query lane request could not be encoded: ${o instanceof Error?o.message:String(o)}`})}})})}export{se as a,ie as b};
3
+ //# sourceMappingURL=chunk-JFIA2JI3.js.map
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ import{b as v}from"./chunk-AQI4N64O.js";import{e as s,fb as E,kb as V,lb as I}from"./chunk-C7QWUBR2.js";import{c as y}from"./chunk-XZEE23VG.js";import{aa as h,ka as S,t as w}from"./chunk-7UCDGXRW.js";import{l as x}from"./chunk-5T44HG5Y.js";var ce={defaultRole:"repository-observation"};function pe(e,n=[]){return{defaultRole:e,...n.length>0?{rules:n}:{}}}function k(e,n){for(let t of e.rules??[]){if(t.when.kind==="option-present"){let r=n.options[t.when.name];if(r!==void 0&&r!==!1)return t.role;continue}if((t.when.kind==="argument"?n.args[t.when.index]:n.options[t.when.name])===t.when.equals)return t.role}return e.defaultRole}function fe(e){return[...new Set([e.defaultRole,...(e.rules??[]).map(n=>n.role)])]}function A(e){return e==="repository-observation"||e==="repository-preview"||e==="composite"}import{AsyncLocalStorage as z}from"async_hooks";var U=1,j=1;var F={policyId:"codebaseiq:unresolved-repository-policy",policyVersion:j,permission:"not-established",reasons:["No repository action policy was supplied for this claim."]};function N(e){return{schemaVersion:U,origin:e.contract.origin,coverage:$(e.coverage),producerValidation:e.contract.producerValidation,stateAuthority:w(e.receipt,e.receipt),repositoryPolicy:e.repositoryPolicy??F,...e.contract.families?{families:e.contract.families}:{}}}function $(e){return e?e.complete===!0?{state:"complete",returned:e.returned,totalKnown:!0,total:e.total??e.returned,omitted:0}:e.totalKnown?{state:"partial",returned:e.returned,totalKnown:!0,...e.total===void 0?{}:{total:e.total},...e.omitted===void 0?{}:{omitted:e.omitted}}:{state:"unknown",returned:e.returned,totalKnown:!1}:{state:"unknown",returned:0,totalKnown:!1}}var W="codebaseiq-result";var G=1,Y=1,_=1,L=1;function M(e){let n=e.resultSchemaVersion??Y;if(!X(n))throw new Error("CLI result schema version must be a positive safe integer.");let{producerVersion:t,...o}=e;return{kind:W,schemaVersion:G,producer:{name:"codebaseiq",version:t},resultSchemaVersion:n,...o}}function J(e,n){return JSON.stringify(e,null,n?0:2)}function X(e){return Number.isSafeInteger(e)&&Number(e)>0}var P=Symbol("option-value-source"),T=new Map,D=new Map,B=new Map,H=new z;function Ie(e,n){return H.run(e,n)}function ke(e){T=new Map(e)}function Ae(e){D=new Map(e)}function Ne(e){B=new Map(e)}function m(e){return(...n)=>{let{args:t,opts:o}=le(n);S(r=>{v(r.generation.identity),e({db:r,args:t,opts:o})})}}function R(e,n){return m(t=>{let o=I(t.db,e,d(t.opts,"full"),{quiet:d(t.opts,"json")});n({...t,budget:o})})}function _e(e){return m(n=>c(n,e,{kind:"list"}))}function Le(e){return m(n=>c(n,e,{kind:"table",headers:e.headers,dashWidths:e.dashWidths}))}function Me(e){return m(n=>c(n,e,{kind:"grouped",key:e.key}))}function Z(e){return m(n=>b(n,e))}function Je(e){return Z({commandName:e.commandName,query:e.query,emptyMessage:e.emptyMessage,heuristicLabel:e.heuristicLabel,before:e.before,render:(n,t)=>s.sectionedReport(e.sections(n,t)),toJson:e.toJson,coverage:e.coverage,agentResult:e.agentResult,after:e.after})}function ee(e,n){return R(e,t=>b(t,{...n,commandName:n.commandName??e}))}function Pe(e,n){return ee(e,{commandName:n.commandName??e,query:n.query,emptyMessage:n.emptyMessage,heuristicLabel:n.heuristicLabel,before:n.before,render:(t,o)=>s.sectionedReport(n.sections(t,o)),toJson:n.toJson,coverage:n.coverage,agentResult:n.agentResult,after:n.after})}function Te(e,n){return R(e,t=>c(t,{...n,commandName:e},{kind:"list"}))}function De(e,n){return R(e,t=>c(t,{...n,commandName:e},{kind:"grouped",key:n.key}))}function Be(e,n){return String(e[n])}function He(e,n){let t=e[n];return typeof t=="string"?[t]:Array.isArray(t)&&t.every(o=>typeof o=="string")?t:[]}function Qe(e,n){let t=e[n];return typeof t=="string"?t:void 0}function qe(e,n){let t=e[n];return typeof t=="string"?t:void 0}function Q(e,n){let t=e[n];return typeof t=="number"?t:void 0}function d(e,n){return!!e[n]}function Ke(e,n){let t=e[n];return Array.isArray(t)&&t.every(o=>typeof o=="string")?t:[]}function Ue(e,n,t){return Q(e,n)??t}function je(e,n,t){let o=Q(e,n),r=o!==void 0&&ne(e,n)!=="default";if(d(e,"full")){if(r)throw new Error("--full cannot be combined with --limit. Use --full for all findings, or --limit N for a capped report.");return Number.MAX_SAFE_INTEGER}return o??t}function ne(e,n){return e[P]?.(n)}function c(e,n,t){b(e,{commandName:n.commandName,query:n.query,emptyMessage:(o,r)=>o.length===0&&n.emptyMessage?n.emptyMessage(r):void 0,heuristicLabel:n.heuristicLabel,render:(o,r)=>{t.kind==="list"?s.list(o,i=>n.format(i,r)):t.kind==="table"?s.table(t.headers,o.map(i=>n.format(i,r)),t.dashWidths):s.groupedByFile(o,i=>n.format(i,r),t.key?i=>t.key(i,r):void 0)},toJson:n.toJson,coverage:n.coverage,agentResult:n.agentResult,before:n.before,after:n.after})}function b(e,n){let t=n.query(e);if(d(e.opts,"json")){if(!n.commandName)throw new Error("JSON output requires a command name so its result contract can be identified.");oe(n.commandName,e.args,e.opts,n.toJson?n.toJson(t,e):t,{analysisBudget:te(e),coverage:n.coverage?.(t,e),agentResult:n.agentResult?.(t,e),resultSchemaVersion:n.resultSchemaVersion});return}let o=n.emptyMessage?.(t,e);if(o){s.empty(o);return}n.heuristicLabel&&V(n.heuristicLabel),n.before?.(t,e),n.render(t,e),n.after?.(t,e)}function te(e){return e.budget?.analysisBudget}function oe(e,n,t,o,r={}){let i=T.get(e),a=D.get(e),u=B.get(e),p=a?k(a.operation,{args:n,options:t}):void 0,f=H.getStore();if(f!==void 0&&p!==void 0&&f!==p)throw new Error(`Command ${e} changed operation role during execution: selected ${f}, rendered ${p}.`);let g=f??p,O=de(o),C=r.coverage??ae(a,o,r.analysisBudget),l=C&&O&&!C.resolution?{...C,resolution:O}:C;if(l&&ie(l),d(t,"resultOnly")){let K=Object.hasOwn(r,"resultOnly")?r.resultOnly:o;y(JSON.stringify(K,null,d(t,"compact")?0:2));return}let q=M({producerVersion:x,command:e,...g?{operationRole:g}:{},...i?{evidence:i}:{},...r.analysisBudget?{analysisBudget:r.analysisBudget}:{},args:ue(n),options:t,result:o,...l?{coverage:l}:{},...r.agentResult!==void 0?{agentResult:r.agentResult}:{},...re(g,i,r.analysisBudget,l,u,r.observationReceipt),...r.resultSchemaVersion===void 0?{}:{resultSchemaVersion:r.resultSchemaVersion}});y(J(q,d(t,"compact")))}function re(e,n,t,o,r,i){if(!e||!A(e))return{};let a=h(),u=i??(a?E({projectRoot:a.config.projectRoot,db:a,...r?{observedSourceKinds:r.observedSources}:{}}):void 0);return u?{evidenceContext:{schemaVersion:_,operationRole:e,receipt:u,analysisManifest:{schemaVersion:L,...n?{evidence:n}:{},...t?{analysisBudget:t}:{},...o?{coverage:o}:{},...r?{claimQualification:N({contract:r,receipt:u,...o?{coverage:o}:{}})}:{}}}}:{}}function ie(e){if(!Number.isSafeInteger(e.returned)||e.returned<0)throw new Error("Invocation coverage returned count must be a non-negative safe integer.");if(e.complete!==!0&&e.complete!==!1&&e.complete!==null)throw new Error("Invocation coverage complete must be true, false, or null.");if(e.complete===!0){if(!e.totalKnown)throw new Error("Complete invocation coverage must know its total.");if(!Number.isSafeInteger(e.total)||e.total!==e.returned)throw new Error("Complete invocation coverage total must equal returned.");if(e.omitted!==0)throw new Error("Complete invocation coverage cannot omit results.");if(e.omittedIdentities!==void 0)throw new Error("Complete invocation coverage cannot name omitted identities.");if(e.continuation!==void 0)throw new Error("Complete invocation coverage cannot provide a continuation.")}else if(e.totalKnown){if(e.complete!==!1)throw new Error("Known incomplete invocation coverage must set complete to false.");if(!Number.isSafeInteger(e.total)||e.total<e.returned)throw new Error("Known invocation coverage total must be a safe integer at least as large as returned.");let n=e.total-e.returned;if(e.omitted!==n)throw new Error("Known invocation coverage omitted count must equal total minus returned.");if(n===0)throw new Error("Known incomplete invocation coverage must omit at least one result.");if(e.omittedIdentities&&e.omittedIdentities.length!==n)throw new Error("Omitted identity count must equal the disclosed omitted count.")}else{if(e.total!==void 0||e.omitted!==void 0)throw new Error("Unknown invocation coverage cannot claim a total or omitted count.");if(e.omittedIdentities!==void 0)throw new Error("Unknown invocation coverage cannot claim omitted identities.")}if(e.continuation&&(e.continuation.cursor.length===0||e.continuation.indexGeneration.length===0))throw new Error("Invocation coverage continuation requires a cursor and index generation.");if(e.resolution){if(!Number.isSafeInteger(e.resolution.totalCandidates)||e.resolution.totalCandidates<0)throw new Error("Invocation resolution candidate count must be a non-negative safe integer.");if(e.resolution.state==="exact"&&e.resolution.totalCandidates!==1)throw new Error("Exact invocation resolution must name exactly one candidate.");if(e.resolution.state==="missing"&&e.resolution.totalCandidates!==0)throw new Error("Missing invocation resolution cannot name candidates.");if(e.resolution.state==="ambiguous"&&e.resolution.totalCandidates<2)throw new Error("Ambiguous invocation resolution must name at least two candidates.")}}function ae(e,n,t){if(!e)return;let o=se(e,n);return e.coverage==="complete"?{complete:!0,totalKnown:!0,returned:o,total:o,omitted:0}:e.coverage==="sampled"?{complete:!1,totalKnown:!1,returned:o}:e.coverage==="bounded"&&t?{complete:!1,totalKnown:!1,returned:o}:{complete:null,totalKnown:!1,returned:o}}function se(e,n){let t=e.resultUnits??{kind:"report"};if(t.kind==="rows")return Array.isArray(n)?n.length:0;if(t.kind==="field"){if(!n||typeof n!="object")return 0;let o=n[t.field];return Array.isArray(o)?o.length:o==null?0:1}return n==null?0:1}function de(e){if(!e||typeof e!="object"||Array.isArray(e))return;let n=e;if(n.matched===!1)return{state:"missing",totalCandidates:0};if(n.matched!==!0||!Number.isSafeInteger(n.totalMatches))return;let t=n.totalMatches;return t<=0?{state:"missing",totalCandidates:0}:t===1?{state:"exact",totalCandidates:t}:{state:"ambiguous",totalCandidates:t}}function ue(e){return e.filter(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean")}function le(e){if(e.length===0)return{args:[],opts:{}};let n=e[e.length-1];return{args:e.slice(0,-1),opts:me(n)}}function me(e){if(!e||typeof e!="object")return{};let n=e,t=typeof n.optsWithGlobals=="function"?n.optsWithGlobals.bind(n):typeof n.opts=="function"?n.opts.bind(n):null;if(t){let o=t();return!o||typeof o!="object"?{}:(typeof n.getOptionValueSource=="function"&&Object.defineProperty(o,P,{value:r=>n.getOptionValueSource(r),enumerable:!1}),o)}return e}export{ce as a,pe as b,k as c,fe as d,Ie as e,ke as f,Ae as g,Ne as h,m as i,R as j,_e as k,Le as l,Me as m,Z as n,Je as o,ee as p,Pe as q,Te as r,De as s,Be as t,He as u,Qe as v,qe as w,Q as x,d as y,Ke as z,Ue as A,je as B,ne as C,oe as D,le as E,me as F};
3
+ //# sourceMappingURL=chunk-JLZLLLW5.js.map
@@ -1,4 +1,4 @@
1
- import{a as u}from"./chunk-JOIRNPPY.js";import{f as d}from"./chunk-J77SU6VA.js";import{d as r,u as a}from"./chunk-FETNQCFO.js";function b(e,i={}){return f(e,i).rows}function f(e,i={}){let{limit:l=30,scope:t}=i,n=t?"AND def_d.relative_path LIKE ?":"",c=t?[`%${t}%`]:[],o=e.all(`SELECT
1
+ import{a as u}from"./chunk-6VREELBC.js";import{f as d}from"./chunk-MSI3K7PJ.js";import{d as r,u as a}from"./chunk-GVAF222T.js";function b(e,i={}){return f(e,i).rows}function f(e,i={}){let{limit:l=30,scope:t}=i,n=t?"AND def_d.relative_path LIKE ?":"",c=t?[`%${t}%`]:[],o=e.all(`SELECT
2
2
  gs.symbol,
3
3
  COUNT(*) AS ref_count,
4
4
  COUNT(DISTINCT ref_d.id) AS file_count,
@@ -23,4 +23,4 @@ import{a as u}from"./chunk-JOIRNPPY.js";import{f as d}from"./chunk-J77SU6VA.js";
23
23
  GROUP BY gs.id
24
24
  ORDER BY ref_count DESC
25
25
  LIMIT ?`,...c,l).filter(s=>!e.isIgnored(s.defined_in)).map(s=>({symbol:s.symbol,shortName:r(s.symbol),refCount:s.ref_count,fileCount:s.file_count,definedIn:s.defined_in,basis:"scip-cross-file-mentions",countUnit:"reference-occurrences"}));return o.length>0?{rows:o,coverage:{semanticEvidence:{enabled:!1,status:"disabled",incompleteSymbolCount:0,unavailableSymbolCount:0}}}:p(e,t,l)}function I(e,i={}){return b(e,i)}function p(e,i,l){let t=a(e,{scope:i}).filter(o=>!e.isIgnored(o.relativePath)),n=d(e,t,{limit:500,semanticEvidence:u}),c=t.filter(o=>!n.incompleteSymbolIds.has(o.symbolId)&&!n.unavailableSymbolIds.has(o.symbolId)).map(o=>y(o,n.rows.get(o.symbolId)??[])).filter(o=>o.refCount>0).sort((o,s)=>s.refCount-o.refCount||s.fileCount-o.fileCount).slice(0,l),m=n.incompleteSymbolIds.size>0&&n.unavailableSymbolIds.size>0?"incomplete-and-unavailable":n.incompleteSymbolIds.size>0?"incomplete":n.unavailableSymbolIds.size>0?"unavailable":"complete";return{rows:c,coverage:{semanticEvidence:{enabled:!0,status:m,incompleteSymbolCount:n.incompleteSymbolIds.size,unavailableSymbolCount:n.unavailableSymbolIds.size}}}}function y(e,i){let l=i.filter(t=>t.file!==e.relativePath);return{symbol:e.symbol,shortName:r(e.symbol),refCount:l.length,fileCount:new Set(l.map(t=>t.file)).size,definedIn:e.relativePath,basis:"source-backed-incoming-evidence",countUnit:"distinct-incoming-evidence-rows"}}export{b as a,f as b,I as c};
26
- //# sourceMappingURL=chunk-5PUWMSDU.js.map
26
+ //# sourceMappingURL=chunk-JSNTHRLQ.js.map
@@ -1,4 +1,4 @@
1
- import{a as L}from"./chunk-DGXRDLV5.js";import{c as M}from"./chunk-OL6KJP3N.js";import{c as w}from"./chunk-7FND7D7N.js";import{a as I}from"./chunk-JOIRNPPY.js";import{f as E}from"./chunk-6CS3UQTN.js";import{f as x}from"./chunk-J77SU6VA.js";import{d as f}from"./chunk-SGX43S2L.js";import{d as C}from"./chunk-FETNQCFO.js";import{f as h}from"./chunk-O6QTXQPJ.js";var H=new Set(f());function U(e,t){return P(e,t).rows}function P(e,t){let{scope:l,minLoc:o=10,limit:s=30,scanLimit:a}=t??{},c=new w(e),r=t?.semantic!==!1,u=B(r,new Set,new Set);return{rows:L({candidates:()=>c.productionCallableDefinitions({scope:l,minLoc:o,requireFunctionLikeSymbol:!0,includeSuppressed:!0,sortByLocDesc:typeof a=="number"&&a>0}),scanLimit:a,filterCandidate:R,profile:{name:"complexity-hotspots"},prepare:n=>{let i=z(e,n);(r?E(e):null)?.materializeReferences(n,{prefetchCallees:!0});let m=x(e,n,{semantic:r,semanticEvidence:I}),y=c.calleeEvidenceMap(n,{semantic:r}),g=new Set([...m.incompleteSymbolIds,...y.incompleteSymbolIds]),v=new Set([...m.unavailableSymbolIds,...y.unavailableSymbolIds]);u=B(r,g,v);let D=new Map(n.map(p=>[p.symbolId,p]));return{callerMap:new Map([...m.rows].map(([p,F])=>[p,new Set(F.filter(d=>d.file!==D.get(p)?.relativePath).map(d=>d.file))])),calleeMap:y.rows,incompleteSymbolIds:g,unavailableSymbolIds:v,languageByFile:i,clojureCallableIds:k(e,n,i),branchEstimates:M(e,n)}},evaluate:(n,i)=>i.incompleteSymbolIds.has(n.symbolId)||i.unavailableSymbolIds.has(n.symbolId)?null:j(n,i,o),orderResults:(n,i)=>i.score-n.score||i.loc-n.loc,limit:s}),coverage:u}}function B(e,t,l){let o=new Set([...t,...l]).size,s=e?t.size>0&&l.size>0?"incomplete-and-unavailable":t.size>0?"incomplete":l.size>0?"unavailable":"complete":"disabled";return{semanticEvidence:{enabled:e,status:s,incompleteSymbolCount:t.size,unavailableSymbolCount:l.size,excludedSymbolCount:o}}}function R(e){return e.symbol.startsWith("rust-analyzer ")?typeof e.kind=="number"&&H.has(e.kind):!0}function j(e,t,l){if(t.languageByFile.get(e.relativePath)==="clojure"&&!t.clojureCallableIds.has(e.symbolId))return null;let o=e.endLine-e.startLine+1;if(o<l)return null;let s=t.callerMap.get(e.symbolId)?.size??0,a=t.calleeMap.get(e.symbolId)??[],c=new Set,r=new Set;for(let b of a){let m=`${b.symbol}|${b.file}`;c.add(m),b.file!==e.relativePath&&r.add(m)}let u=r.size,S=c.size,n=t.branchEstimates.get(e.symbolId)??{branches:0,estimateBasis:"regex-fallback"},i=n.branches+1;return{symbol:e.symbol,shortName:C(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:o,fanIn:s,fanOut:u,calleeCount:S,branches:n.branches,estimateBasis:n.estimateBasis,score:Math.round(o/50*(s/5)*Math.max(u/5,1)*Math.max(i/5,1)*100)/100}}function z(e,t){let l=[...new Set(t.map(a=>a.relativePath))];if(l.length===0)return new Map;let o=l.map(()=>"?").join(", "),s=e.all(`SELECT relative_path, language
1
+ import{a as L}from"./chunk-DGXRDLV5.js";import{c as M}from"./chunk-XMJ53WG4.js";import{c as w}from"./chunk-HENP2O4A.js";import{a as I}from"./chunk-6VREELBC.js";import{f as E}from"./chunk-J3GLP7Q5.js";import{f as x}from"./chunk-MSI3K7PJ.js";import{d as f}from"./chunk-SGX43S2L.js";import{d as C}from"./chunk-GVAF222T.js";import{f as h}from"./chunk-F74LZWCE.js";var H=new Set(f());function U(e,t){return P(e,t).rows}function P(e,t){let{scope:l,minLoc:o=10,limit:s=30,scanLimit:a}=t??{},c=new w(e),r=t?.semantic!==!1,u=B(r,new Set,new Set);return{rows:L({candidates:()=>c.productionCallableDefinitions({scope:l,minLoc:o,requireFunctionLikeSymbol:!0,includeSuppressed:!0,sortByLocDesc:typeof a=="number"&&a>0}),scanLimit:a,filterCandidate:R,profile:{name:"complexity-hotspots"},prepare:n=>{let i=z(e,n);(r?E(e):null)?.materializeReferences(n,{prefetchCallees:!0});let m=x(e,n,{semantic:r,semanticEvidence:I}),y=c.calleeEvidenceMap(n,{semantic:r}),g=new Set([...m.incompleteSymbolIds,...y.incompleteSymbolIds]),v=new Set([...m.unavailableSymbolIds,...y.unavailableSymbolIds]);u=B(r,g,v);let D=new Map(n.map(p=>[p.symbolId,p]));return{callerMap:new Map([...m.rows].map(([p,F])=>[p,new Set(F.filter(d=>d.file!==D.get(p)?.relativePath).map(d=>d.file))])),calleeMap:y.rows,incompleteSymbolIds:g,unavailableSymbolIds:v,languageByFile:i,clojureCallableIds:k(e,n,i),branchEstimates:M(e,n)}},evaluate:(n,i)=>i.incompleteSymbolIds.has(n.symbolId)||i.unavailableSymbolIds.has(n.symbolId)?null:j(n,i,o),orderResults:(n,i)=>i.score-n.score||i.loc-n.loc,limit:s}),coverage:u}}function B(e,t,l){let o=new Set([...t,...l]).size,s=e?t.size>0&&l.size>0?"incomplete-and-unavailable":t.size>0?"incomplete":l.size>0?"unavailable":"complete":"disabled";return{semanticEvidence:{enabled:e,status:s,incompleteSymbolCount:t.size,unavailableSymbolCount:l.size,excludedSymbolCount:o}}}function R(e){return e.symbol.startsWith("rust-analyzer ")?typeof e.kind=="number"&&H.has(e.kind):!0}function j(e,t,l){if(t.languageByFile.get(e.relativePath)==="clojure"&&!t.clojureCallableIds.has(e.symbolId))return null;let o=e.endLine-e.startLine+1;if(o<l)return null;let s=t.callerMap.get(e.symbolId)?.size??0,a=t.calleeMap.get(e.symbolId)??[],c=new Set,r=new Set;for(let b of a){let m=`${b.symbol}|${b.file}`;c.add(m),b.file!==e.relativePath&&r.add(m)}let u=r.size,S=c.size,n=t.branchEstimates.get(e.symbolId)??{branches:0,estimateBasis:"regex-fallback"},i=n.branches+1;return{symbol:e.symbol,shortName:C(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:o,fanIn:s,fanOut:u,calleeCount:S,branches:n.branches,estimateBasis:n.estimateBasis,score:Math.round(o/50*(s/5)*Math.max(u/5,1)*Math.max(i/5,1)*100)/100}}function z(e,t){let l=[...new Set(t.map(a=>a.relativePath))];if(l.length===0)return new Map;let o=l.map(()=>"?").join(", "),s=e.all(`SELECT relative_path, language
2
2
  FROM documents
3
3
  WHERE relative_path IN (${o})`,...l);return new Map(s.map(a=>[a.relative_path,a.language?.toLowerCase()??null]))}function k(e,t,l){let o=new Set,s=new Map;for(let a of t){if(l.get(a.relativePath)!=="clojure")continue;let c=s.get(a.relativePath);c||(c=new Set((h(e,a.relativePath)?.callables??[]).map(r=>`${r.name}:${r.startLine}`)),s.set(a.relativePath,c)),c.has(`${a.leaf}:${a.startLine}`)&&o.add(a.symbolId)}return o}export{U as a,P as b};
4
- //# sourceMappingURL=chunk-C6SBF2WH.js.map
4
+ //# sourceMappingURL=chunk-JX6ZWDOS.js.map
@@ -1,2 +1,2 @@
1
- import{a as U}from"./chunk-SELM5MER.js";import{c as T}from"./chunk-7FND7D7N.js";import{a as R}from"./chunk-UZGZB3VB.js";import{d as x}from"./chunk-FETNQCFO.js";import{a as v}from"./chunk-ADTBPVUZ.js";import{b}from"./chunk-NNJ2KZZG.js";import{posix as p}from"path";var G=20,O=1,q=new Map([["app","app"],["apps","app"],["component","component"],["components","component"],["composable","composable"],["composables","composable"],["contract","contract"],["contracts","contract"],["domain","domain"],["domains","domain"],["feature","feature"],["features","feature"],["hook","hook"],["hooks","hook"],["lib","library"],["module","module"],["modules","module"],["package","package"],["packages","package"],["page","page"],["pages","page"],["route","route"],["routes","route"],["screen","screen"],["screens","screen"],["service","service"],["services","service"],["shared","shared"],["src","source-root"],["store","state"],["stores","state"],["test","test"],["tests","test"],["util","utility"],["utils","utility"],["view","view"],["views","view"]]),K=new Set(["components","contracts","hooks","lib","services","shared","stores","utils"]),Y=new Set(["access","api","auth","config","db","effect","errors","hooks","lib","middleware","permissions","routes","schemas","servicetasks","services","startup","store","stores","test-utils","repository","repositories","tests","types","ui","utils","workflow","workflows"]);function Ae(e,n={}){let t=D(n.limit,G),i=D(n.minConsumers,O),r=new T(e),s=r.fileDependencyGraph(n.scope),o=fe(v(e,{includeIgnored:!1})),a=ye(e.config.locality?.architecturalBoundarySegments,n.architecturalBoundarySegments);return(n.target?J(e,r,n.target):Q(e,n.scope,n.scanLimit)).map(l=>V(e,r,s,l,n,o,a)).filter(l=>l.consumerFiles.length>=i||n.target).sort(ge).slice(0,t)}function J(e,n,t){let i=ee(e,t);if(i)return[P(i)];let r=R(e,t);if(!r)return[];let s=n.definitionsForFile(r.relativePath).find(o=>o.symbolId===r.symbolId);return s?[ne(s)]:[{unit:{kind:"symbol",file:r.relativePath,shortName:x(r.symbol),symbol:r.symbol,startLine:r.startLine,endLine:r.endLine}}]}function Q(e,n,t){let i=v(e,{scope:n,includeIgnored:!1}),r=D(t,i.length);return i.slice(0,r).map(s=>P(s))}function V(e,n,t,i,r,s,o){let a=i.definition?X(e,n,i.definition,r.semantic):null,c=a?.files??Z(t,i.unit.file),u=i.definition?a.coverage==="complete"?c.length>0?"exact":"none":a.coverage:c.length>0?"file-level":"none",l=u==="incomplete"||u==="unavailable"||u==="incomplete-and-unavailable",y=i.unit.file,g=d(p.dirname(y)),f=ie(c),j=te(g),z=C([...F(g),...f?F(f):[]]),S=l?"repository-level-review":re(i.unit,g,f,c),h=l?{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:`Compiler-resolved consumer evidence is ${u}; no relocation destination is safe to score.`}:oe(S,i.unit,g,f,c,s,o),A=ue(i.unit,u,f,c,g,h.whyNoSuggestedHome),_=de(i.unit,g,f,c,h.suggestedHome,h.whyNoSuggestedHome);return{actionTier:"signal",sourceUnit:i.unit,candidatePath:y,currentDirectory:g,directoryAncestry:j,consumerFiles:c,consumerCoverage:u,nearestCommonOwner:f,boundaryMarkers:z,recommendedTier:S,suggestedHome:h.suggestedHome,destinationConfidence:h.confidence,whyNoSuggestedHome:h.whyNoSuggestedHome,counterevidence:l?[...A,"Known consumer files are retained, but missing compiler evidence can hide additional owners."]:A,reasons:_,recommendation:l?"Retain the current location until compiler-resolved consumer evidence is complete.":me(S,h.suggestedHome,u)}}function X(e,n,t,i){let r=U(e,n).forDefinitions([t],{semantic:i!==!1,sourceFallback:!0}).get(t.symbolId),s=r?.semanticIncomplete?r.semanticUnavailable?"incomplete-and-unavailable":"incomplete":r?.semanticUnavailable?"unavailable":"complete";return{files:W(r?.files.map(o=>o.file)??[]),coverage:s}}function Z(e,n){let t=[];for(let[i,r]of e.entries())i!==n&&r.has(n)&&t.push(i);return W(t)}function ee(e,n){let t=b(n),i=v(e,{includeIgnored:!1}),r=i.find(o=>o===t);if(r)return r;let s=i.find(o=>o.endsWith(`/${t}`));return s||(i.find(o=>o.includes(t))??null)}function ne(e){return{definition:e,unit:{kind:"symbol",file:e.relativePath,shortName:x(e.symbol),symbol:e.symbol,startLine:e.startLine,endLine:e.endLine}}}function P(e){return{unit:{kind:"file",file:e,shortName:p.basename(e)}}}function te(e){if(e===".")return[{path:".",depth:0,markers:[]}];let n=[],t=e.split("/").filter(Boolean);for(let i=0;i<t.length;i+=1){let r=t.slice(0,i+1).join("/");n.push({path:r,depth:i,markers:k(r)})}return n}function F(e){return e==="."?[]:H(e).map(({marker:n,prefix:t})=>`${n}: ${t}`)}function k(e){return C(H(e).map(({marker:n})=>n))}function H(e){let n=e.split("/").filter(Boolean),t=[];for(let i=0;i<n.length;i+=1){let r=q.get(n[i]);r&&t.push({marker:r,prefix:n.slice(0,i+1).join("/")})}return t}function ie(e){if(e.length===0)return null;let n=e.map(i=>d(p.dirname(i))),t=n[0].split("/").filter(Boolean);for(let i of n.slice(1)){let r=i.split("/").filter(Boolean),s=[],o=Math.min(t.length,r.length);for(let a=0;a<o&&t[a]===r[a];a+=1)s.push(t[a]);t=s}return t.length===0?".":t.join("/")}function re(e,n,t,i){return t?e.kind==="symbol"&&i.length===1?i[0]===e.file?"same-file":"sibling-folder":t==="."||t==="src"?"repository-level-review":I(t,"package")?"package-level-shared":I(t,"app")?"app-level-shared":$(t,["feature","domain","module"])||$(n,["feature","domain","module"])?"feature-local-shared":"sibling-folder":"no-exact-consumers"}function oe(e,n,t,i,r,s,o){let a=se(e,i);if(a)return m(a);let c=he(n.file),u=ae(e,t,c,r,o);if(u)return u;let l=i;if(d(t)===d(l))return m(`${t} is already the nearest common owner for its consumers.`);let y=ce(l,t,c,o);return y||le(l,t,c,s,o)}function se(e,n){return n?e==="no-exact-consumers"||e==="repository-level-review"?"The inferred owner is too broad or unsupported for an exact destination.":null:"No consumer owner could be inferred from the current index."}function ae(e,n,t,i,r){if(e==="same-file"){let s=i[0]??null;return s?L(s):m("No same-file consumer path was available.")}if(e==="sibling-folder"&&i.length===1){let s=d(p.dirname(i[0])),o=B(n,t,s,r);return o?m(o):L(s)}return null}function ce(e,n,t,i){return ve(e)?M(e,n,t,i,`Nearest shared owner ${e} is outside source root ${t}.`):null}function le(e,n,t,i,r){if(e===".")return m("The nearest common owner is the repository root.");let s=`${e}/shared`,o=M(s,n,t,r,`Proposed home ${s} is outside source root ${t}.`);return o.confidence==="withheld"||i.has(s)?o:m(`${s} does not exist in the indexed project.`)}function M(e,n,t,i,r){if(!E(e,t))return m(r);let s=B(n,t,e,i);return s?m(s):L(e)}function L(e){return{suggestedHome:e,confidence:"exact",whyNoSuggestedHome:null}}function m(e){return{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:e}}function ue(e,n,t,i,r,s){let o=["Report-only signal; review ownership before moving files."];return n==="none"&&o.push("No consumers were found in the current index."),n==="file-level"&&o.push("File-level import evidence can hide which exported unit is actually used."),(t==="."||t==="src")&&o.push("Nearest common owner is broad, so this is not enough evidence for automatic placement."),i.length===1&&o.push("Only one consumer was found; inlining or same-folder placement may be better than shared extraction."),e.kind==="file"&&o.push("File targets describe module locality, not symbol-level usage."),t&&r.startsWith(`${t}/`)&&o.push("Candidate already lives under the nearest common owner."),s&&o.push(`No exact suggested home: ${s}`),o}function de(e,n,t,i,r,s){let o=[];return o.push(`${e.shortName} currently lives in ${n}.`),t?o.push(`${i.length} consumer file(s) share ${t} as their nearest common owner.`):o.push("No consumer owner could be inferred from the current index."),r?o.push(`Suggested home is ${r}.`):s&&o.push(`No exact suggested home: ${s}`),o}function me(e,n,t){return e==="no-exact-consumers"?"Review references before moving; no consumers were found.":e==="repository-level-review"?"Keep this as a broad locality signal; the inferred owner is too general for automatic relocation.":n?`Review whether ${t==="exact"?"symbol usage":"module import"} supports moving or extracting toward ${n}.`:"Review ownership manually before changing structure."}function ge(e,n){return N(n)-N(e)||e.candidatePath.localeCompare(n.candidatePath)}function N(e){let n=e.consumerFiles.length*10;return e.consumerCoverage==="exact"&&(n+=5),e.suggestedHome&&(n+=3),e.recommendedTier==="repository-level-review"&&(n*=.1),e.recommendedTier==="no-exact-consumers"&&(n*=.05),n}function fe(e){let n=new Set(["."]);for(let t of e){let i=d(p.dirname(t));for(;!n.has(i)&&(n.add(i),i!==".");)i=d(p.dirname(i))}return n}function he(e){let n=w(e),t=n.indexOf("src");return t>=0?n.slice(0,t+1).join("/"):n.length<=1?".":n[0]}function E(e,n){let t=d(e),i=d(n);return i==="."||t===i||t.startsWith(`${i}/`)}function pe(e,n,t){let i=w(e),r=w(n);return(E(e,n)?i.slice(r.length):i).some(o=>t.has(o.toLowerCase()))}function B(e,n,t,i){return d(e)===d(t)||!pe(e,n,i)?null:`${e} is a named architectural boundary; an exact move to ${t} needs human design.`}function ye(...e){let n=new Set(Y);for(let t of e)for(let i of t??[]){let r=be(i);r&&n.add(r)}return n}function be(e){let n=e.trim().toLowerCase();return n===""?null:n}function I(e,n){return k(e).includes(n)}function $(e,n){let t=k(e);return n.some(i=>t.includes(i))}function ve(e){let n=e.split("/").filter(Boolean),t=n[n.length-1];return t?K.has(t):!1}function d(e){let n=b(e);return n===""?".":n}function w(e){let n=b(e);return n==="."?[]:n.split("/").filter(Boolean)}function D(e,n){return!Number.isFinite(e)||e===void 0||e<1?n:Math.floor(e)}function W(e){return C([...e]).sort((n,t)=>n.localeCompare(t))}function C(e){return[...new Set(e)]}export{Ae as a};
2
- //# sourceMappingURL=chunk-4XTAUQFD.js.map
1
+ import{a as U}from"./chunk-NBZKSTXP.js";import{c as T}from"./chunk-HENP2O4A.js";import{a as R}from"./chunk-SGMNWYTH.js";import{d as x}from"./chunk-GVAF222T.js";import{a as v}from"./chunk-ICUL7XRT.js";import{b}from"./chunk-UC2FD2PS.js";import{posix as p}from"path";var G=20,O=1,q=new Map([["app","app"],["apps","app"],["component","component"],["components","component"],["composable","composable"],["composables","composable"],["contract","contract"],["contracts","contract"],["domain","domain"],["domains","domain"],["feature","feature"],["features","feature"],["hook","hook"],["hooks","hook"],["lib","library"],["module","module"],["modules","module"],["package","package"],["packages","package"],["page","page"],["pages","page"],["route","route"],["routes","route"],["screen","screen"],["screens","screen"],["service","service"],["services","service"],["shared","shared"],["src","source-root"],["store","state"],["stores","state"],["test","test"],["tests","test"],["util","utility"],["utils","utility"],["view","view"],["views","view"]]),K=new Set(["components","contracts","hooks","lib","services","shared","stores","utils"]),Y=new Set(["access","api","auth","config","db","effect","errors","hooks","lib","middleware","permissions","routes","schemas","servicetasks","services","startup","store","stores","test-utils","repository","repositories","tests","types","ui","utils","workflow","workflows"]);function Ae(e,n={}){let t=D(n.limit,G),i=D(n.minConsumers,O),r=new T(e),s=r.fileDependencyGraph(n.scope),o=fe(v(e,{includeIgnored:!1})),a=ye(e.config.locality?.architecturalBoundarySegments,n.architecturalBoundarySegments);return(n.target?J(e,r,n.target):Q(e,n.scope,n.scanLimit)).map(l=>V(e,r,s,l,n,o,a)).filter(l=>l.consumerFiles.length>=i||n.target).sort(ge).slice(0,t)}function J(e,n,t){let i=ee(e,t);if(i)return[P(i)];let r=R(e,t);if(!r)return[];let s=n.definitionsForFile(r.relativePath).find(o=>o.symbolId===r.symbolId);return s?[ne(s)]:[{unit:{kind:"symbol",file:r.relativePath,shortName:x(r.symbol),symbol:r.symbol,startLine:r.startLine,endLine:r.endLine}}]}function Q(e,n,t){let i=v(e,{scope:n,includeIgnored:!1}),r=D(t,i.length);return i.slice(0,r).map(s=>P(s))}function V(e,n,t,i,r,s,o){let a=i.definition?X(e,n,i.definition,r.semantic):null,c=a?.files??Z(t,i.unit.file),u=i.definition?a.coverage==="complete"?c.length>0?"exact":"none":a.coverage:c.length>0?"file-level":"none",l=u==="incomplete"||u==="unavailable"||u==="incomplete-and-unavailable",y=i.unit.file,g=d(p.dirname(y)),f=ie(c),j=te(g),z=C([...F(g),...f?F(f):[]]),S=l?"repository-level-review":re(i.unit,g,f,c),h=l?{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:`Compiler-resolved consumer evidence is ${u}; no relocation destination is safe to score.`}:oe(S,i.unit,g,f,c,s,o),A=ue(i.unit,u,f,c,g,h.whyNoSuggestedHome),_=de(i.unit,g,f,c,h.suggestedHome,h.whyNoSuggestedHome);return{actionTier:"signal",sourceUnit:i.unit,candidatePath:y,currentDirectory:g,directoryAncestry:j,consumerFiles:c,consumerCoverage:u,nearestCommonOwner:f,boundaryMarkers:z,recommendedTier:S,suggestedHome:h.suggestedHome,destinationConfidence:h.confidence,whyNoSuggestedHome:h.whyNoSuggestedHome,counterevidence:l?[...A,"Known consumer files are retained, but missing compiler evidence can hide additional owners."]:A,reasons:_,recommendation:l?"Retain the current location until compiler-resolved consumer evidence is complete.":me(S,h.suggestedHome,u)}}function X(e,n,t,i){let r=U(e,n).forDefinitions([t],{semantic:i!==!1,sourceFallback:!0}).get(t.symbolId),s=r?.semanticIncomplete?r.semanticUnavailable?"incomplete-and-unavailable":"incomplete":r?.semanticUnavailable?"unavailable":"complete";return{files:W(r?.files.map(o=>o.file)??[]),coverage:s}}function Z(e,n){let t=[];for(let[i,r]of e.entries())i!==n&&r.has(n)&&t.push(i);return W(t)}function ee(e,n){let t=b(n),i=v(e,{includeIgnored:!1}),r=i.find(o=>o===t);if(r)return r;let s=i.find(o=>o.endsWith(`/${t}`));return s||(i.find(o=>o.includes(t))??null)}function ne(e){return{definition:e,unit:{kind:"symbol",file:e.relativePath,shortName:x(e.symbol),symbol:e.symbol,startLine:e.startLine,endLine:e.endLine}}}function P(e){return{unit:{kind:"file",file:e,shortName:p.basename(e)}}}function te(e){if(e===".")return[{path:".",depth:0,markers:[]}];let n=[],t=e.split("/").filter(Boolean);for(let i=0;i<t.length;i+=1){let r=t.slice(0,i+1).join("/");n.push({path:r,depth:i,markers:k(r)})}return n}function F(e){return e==="."?[]:H(e).map(({marker:n,prefix:t})=>`${n}: ${t}`)}function k(e){return C(H(e).map(({marker:n})=>n))}function H(e){let n=e.split("/").filter(Boolean),t=[];for(let i=0;i<n.length;i+=1){let r=q.get(n[i]);r&&t.push({marker:r,prefix:n.slice(0,i+1).join("/")})}return t}function ie(e){if(e.length===0)return null;let n=e.map(i=>d(p.dirname(i))),t=n[0].split("/").filter(Boolean);for(let i of n.slice(1)){let r=i.split("/").filter(Boolean),s=[],o=Math.min(t.length,r.length);for(let a=0;a<o&&t[a]===r[a];a+=1)s.push(t[a]);t=s}return t.length===0?".":t.join("/")}function re(e,n,t,i){return t?e.kind==="symbol"&&i.length===1?i[0]===e.file?"same-file":"sibling-folder":t==="."||t==="src"?"repository-level-review":I(t,"package")?"package-level-shared":I(t,"app")?"app-level-shared":$(t,["feature","domain","module"])||$(n,["feature","domain","module"])?"feature-local-shared":"sibling-folder":"no-exact-consumers"}function oe(e,n,t,i,r,s,o){let a=se(e,i);if(a)return m(a);let c=he(n.file),u=ae(e,t,c,r,o);if(u)return u;let l=i;if(d(t)===d(l))return m(`${t} is already the nearest common owner for its consumers.`);let y=ce(l,t,c,o);return y||le(l,t,c,s,o)}function se(e,n){return n?e==="no-exact-consumers"||e==="repository-level-review"?"The inferred owner is too broad or unsupported for an exact destination.":null:"No consumer owner could be inferred from the current index."}function ae(e,n,t,i,r){if(e==="same-file"){let s=i[0]??null;return s?L(s):m("No same-file consumer path was available.")}if(e==="sibling-folder"&&i.length===1){let s=d(p.dirname(i[0])),o=B(n,t,s,r);return o?m(o):L(s)}return null}function ce(e,n,t,i){return ve(e)?M(e,n,t,i,`Nearest shared owner ${e} is outside source root ${t}.`):null}function le(e,n,t,i,r){if(e===".")return m("The nearest common owner is the repository root.");let s=`${e}/shared`,o=M(s,n,t,r,`Proposed home ${s} is outside source root ${t}.`);return o.confidence==="withheld"||i.has(s)?o:m(`${s} does not exist in the indexed project.`)}function M(e,n,t,i,r){if(!E(e,t))return m(r);let s=B(n,t,e,i);return s?m(s):L(e)}function L(e){return{suggestedHome:e,confidence:"exact",whyNoSuggestedHome:null}}function m(e){return{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:e}}function ue(e,n,t,i,r,s){let o=["Report-only signal; review ownership before moving files."];return n==="none"&&o.push("No consumers were found in the current index."),n==="file-level"&&o.push("File-level import evidence can hide which exported unit is actually used."),(t==="."||t==="src")&&o.push("Nearest common owner is broad, so this is not enough evidence for automatic placement."),i.length===1&&o.push("Only one consumer was found; inlining or same-folder placement may be better than shared extraction."),e.kind==="file"&&o.push("File targets describe module locality, not symbol-level usage."),t&&r.startsWith(`${t}/`)&&o.push("Candidate already lives under the nearest common owner."),s&&o.push(`No exact suggested home: ${s}`),o}function de(e,n,t,i,r,s){let o=[];return o.push(`${e.shortName} currently lives in ${n}.`),t?o.push(`${i.length} consumer file(s) share ${t} as their nearest common owner.`):o.push("No consumer owner could be inferred from the current index."),r?o.push(`Suggested home is ${r}.`):s&&o.push(`No exact suggested home: ${s}`),o}function me(e,n,t){return e==="no-exact-consumers"?"Review references before moving; no consumers were found.":e==="repository-level-review"?"Keep this as a broad locality signal; the inferred owner is too general for automatic relocation.":n?`Review whether ${t==="exact"?"symbol usage":"module import"} supports moving or extracting toward ${n}.`:"Review ownership manually before changing structure."}function ge(e,n){return N(n)-N(e)||e.candidatePath.localeCompare(n.candidatePath)}function N(e){let n=e.consumerFiles.length*10;return e.consumerCoverage==="exact"&&(n+=5),e.suggestedHome&&(n+=3),e.recommendedTier==="repository-level-review"&&(n*=.1),e.recommendedTier==="no-exact-consumers"&&(n*=.05),n}function fe(e){let n=new Set(["."]);for(let t of e){let i=d(p.dirname(t));for(;!n.has(i)&&(n.add(i),i!==".");)i=d(p.dirname(i))}return n}function he(e){let n=w(e),t=n.indexOf("src");return t>=0?n.slice(0,t+1).join("/"):n.length<=1?".":n[0]}function E(e,n){let t=d(e),i=d(n);return i==="."||t===i||t.startsWith(`${i}/`)}function pe(e,n,t){let i=w(e),r=w(n);return(E(e,n)?i.slice(r.length):i).some(o=>t.has(o.toLowerCase()))}function B(e,n,t,i){return d(e)===d(t)||!pe(e,n,i)?null:`${e} is a named architectural boundary; an exact move to ${t} needs human design.`}function ye(...e){let n=new Set(Y);for(let t of e)for(let i of t??[]){let r=be(i);r&&n.add(r)}return n}function be(e){let n=e.trim().toLowerCase();return n===""?null:n}function I(e,n){return k(e).includes(n)}function $(e,n){let t=k(e);return n.some(i=>t.includes(i))}function ve(e){let n=e.split("/").filter(Boolean),t=n[n.length-1];return t?K.has(t):!1}function d(e){let n=b(e);return n===""?".":n}function w(e){let n=b(e);return n==="."?[]:n.split("/").filter(Boolean)}function D(e,n){return!Number.isFinite(e)||e===void 0||e<1?n:Math.floor(e)}function W(e){return C([...e]).sort((n,t)=>n.localeCompare(t))}function C(e){return[...new Set(e)]}export{Ae as a};
2
+ //# sourceMappingURL=chunk-JYI7CV25.js.map
@@ -0,0 +1,8 @@
1
+ import{e as C,f as G,m as z,n as U}from"./chunk-6JMAVFL4.js";import{D as h,E as _,F as j,H as F,o as $,q as M,s as R,t as P}from"./chunk-UC2FD2PS.js";import{execFileSync as ge}from"child_process";import{existsSync as fe,readdirSync as q}from"fs";import{extname as X,join as V}from"path";var Y=new Set([".git",".hg",".svn",".idea",".vscode","node_modules","vendor","dist","build","target","bin","obj",".dart_tool",".gradle",".next",".venv","venv","__pycache__"]),me=[{language:"typescript",files:["tsconfig.json","tsconfig.base.json"],extensions:[".ts",".tsx",".mts",".cts"]},{language:"rust",files:["Cargo.toml"],extensions:[".rs"]},{language:"go",files:["go.mod"],extensions:[".go"]},{language:"java",files:["pom.xml","build.gradle","build.gradle.kts"],extensions:[".java"]},{language:"kotlin",files:["build.gradle.kts"],extensions:[".kt",".kts"]},{language:"scala",files:["build.sbt"],extensions:[".scala"]},{language:"clojure",files:["deps.edn","project.clj","bb.edn","shadow-cljs.edn"],extensions:[".clj",".cljs",".cljc"]},{language:"python",files:["pyproject.toml","setup.py","setup.cfg","Pipfile"],extensions:[".py",".pyi"]},{language:"ruby",files:["Gemfile"],extensions:[".rb"]},{language:"cpp",files:["compile_commands.json","CMakeLists.txt","Makefile"],extensions:[".cc",".cpp",".cxx",".hpp",".hh",".hxx"]},{language:"c",files:["compile_commands.json","CMakeLists.txt","Makefile"],extensions:[".c",".h"]},{language:"csharp",globs:["*.csproj","*.sln"],extensions:[".cs"]},{language:"vb",globs:["*.vbproj"],extensions:[".vb"]},{language:"dart",files:["pubspec.yaml"],extensions:[".dart"]},{language:"php",files:["composer.json"],extensions:[".php"]},{language:"javascript",files:["package.json"],extensions:[".js",".jsx",".mjs",".cjs"]}];function rt(e){let t=[],n=pe(e),r=xe(e);for(let s of me){if(ye(e,s.files)){t.push(s.language);continue}if(Re(n,s.globs)){t.push(s.language);continue}Be(r,s.extensions)&&t.push(s.language)}return t.includes("typescript")&&K(t,"javascript"),t.includes("cpp")&&!r.has(".c")&&K(t,"c"),t}function pe(e){try{return q(e)}catch{return[]}}function ye(e,t){return t?.length?t.some(n=>fe(V(e,n))):!1}function Re(e,t){return t?.length?e.some(n=>t.some(r=>be(n,r))):!1}function be(e,t){if(t==="*")return!0;if(!t.includes("*"))return e===t;let[n,r]=t.split("*");return e.startsWith(n??"")&&e.endsWith(r??"")}function xe(e){let t=ve(e);if(t)return t;let n=new Set,r=[e];for(;r.length>0;){let s=r.pop();if(!s)continue;let a;try{a=q(s,{withFileTypes:!0})}catch{continue}for(let i of a){if(i.name.startsWith(".")&&!i.name.endsWith("proj")&&!i.name.endsWith("sln")&&i.isDirectory())continue;let u=V(s,i.name);if(i.isDirectory()){Y.has(i.name)||r.push(u);continue}let d=X(i.name).toLowerCase();d&&n.add(d)}}return n}function ve(e){try{let t=ge("git",["-C",e,"ls-files","-co","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:26214400,stdio:["ignore","pipe","ignore"],windowsHide:!0,timeout:3e4,killSignal:"SIGKILL"}),n=new Set;for(let r of t.split(`
2
+ `)){if(!r||r.split("/").some(a=>Y.has(a)))continue;let s=X(r).toLowerCase();s&&n.add(s)}return n}catch{return null}}function Be(e,t){return t?.length?t.some(n=>e.has(n)):!1}function K(e,t){let n=e.indexOf(t);n!==-1&&e.splice(n,1)}import{existsSync as ne,statSync as De}from"fs";import{dirname as se,join as ae}from"path";import{appendFileSync as he,existsSync as Le,mkdirSync as Se,renameSync as Ae,rmSync as Te,statSync as ke,truncateSync as we}from"fs";import{basename as Oe,dirname as Me}from"path";var L=".previous",Pe=".rotation.lock",_e=2e3,E=class extends Error{constructor(n,r){super(`Timed out after ${r}ms waiting for rotating JSONL lock: ${n}`);this.lockPath=n;this.timeoutMs=r;this.name="RotatingJsonlLockTimeoutError"}lockPath;timeoutMs;code="ROTATING_JSONL_LOCK_TIMEOUT"},N=class extends Error{constructor(n){super(`Rotating JSONL lock ownership changed before release: ${n}`);this.lockPath=n;this.name="RotatingJsonlLockReleaseError"}lockPath;code="ROTATING_JSONL_LOCK_RELEASE_FAILED"},H=Object.freeze({monotonicNow:C,wait(e){Atomics.wait(new Int32Array(new SharedArrayBuffer(4)),0,0,e)},tryAcquireLock(e,t){let n=G(e,{kind:"rotating-jsonl",detail:{target:Oe(t)}});return n.kind==="acquired"?{kind:"acquired",lock:n.lock}:{kind:"contended"}},makeDirectory(e){Se(e,{recursive:!0})},exists:Le,readBytes(e){return j(e,{maxBytes:h,inputKind:"rotating JSONL segment"})},size(e){return ke(e).size},truncate:we,remove(e){Te(e,{force:!0})},rename:Ae,append:he});function Q(e,t,n){let r=n.runtime??H,s=JSON.stringify(t);if(s===void 0)throw new TypeError("Rotating JSONL records must be JSON-serializable values.");let a=Buffer.from(`${s}
3
+ `),i=Math.max(1,Math.floor(n.maxSegmentBytes),a.length);return ee(e,n.lockTimeoutMs,r,()=>{r.makeDirectory(Me(e));let u=Ee(e,h,r);n.onPhase?.("tail-repaired");let d=`${e}${n.previousSuffix??L}`,o=!1,g=!1;return r.exists(e)&&r.size(e)+a.length>i&&(r.exists(d)&&(r.remove(d),g=!0),n.onPhase?.("previous-pruned"),r.rename(e,d),o=!0,n.onPhase?.("current-rotated")),r.append(e,a),n.onPhase?.("record-appended"),{lineBytes:a.length,segmentLimitBytes:i,repairedTailBytes:u,rotated:o,prunedPrevious:g}})}function Z(e,t={}){let n=t.runtime??H,r=Ne(t.maxSegmentBytes);return ee(e,t.lockTimeoutMs,n,()=>{let s=[],a=0,i=`${e}${t.previousSuffix??L}`;for(let u of[i,e]){if(!n.exists(u))continue;let d=Ie(te(u,r,n));s.push(...d.lines),a+=d.partialTailBytes}return{lines:s,ignoredPartialTailBytes:a}})}function ee(e,t,n,r){let s=`${e}${Pe}`,a=Math.max(0,t??_e),i=n.monotonicNow()+a,u;for(;;){let m=n.tryAcquireLock(s,e);if(m.kind==="acquired"){u=m.lock;break}let p=i-n.monotonicNow();if(p<=0)throw new E(s,a);n.wait(Math.min(5,p))}let d=!1,o,g;try{g=r()}catch(m){d=!0,o=m}let l=!1;try{l=u.release()}catch(m){if(!d)throw m}if(d)throw o;if(!l)throw new N(s);return g}function Ee(e,t,n){if(!n.exists(e))return 0;let r=te(e,t,n);if(r.length===0||r[r.length-1]===10)return 0;let s=r.lastIndexOf(10),a=s<0?0:s+1;return n.truncate(e,a),r.length-a}function Ne(e){let t=e??h;if(!Number.isSafeInteger(t)||t<=0)throw new RangeError(`maxSegmentBytes must be a positive safe integer; received ${t}`);return t}function te(e,t,n){let r=n.size(e);if(r>t)throw new _("rotating JSONL segment",e,"too-large",r,t);let s=n.readBytes(e),a=n.size(e);if(a!==r||s.byteLength!==r)throw new _("rotating JSONL segment",e,"changed-during-read",a,t);return s}function Ie(e){let t=e.lastIndexOf(10),n=t<0?0:t+1;return{lines:e.subarray(0,n).toString("utf8").split(`
4
+ `).filter(s=>s.length>0),partialTailBytes:e.length-n}}var Je="reindex-activity.jsonl",S=L,We=1024*1024,$e=1440*60*1e3,ie=e=>F(e,"reindex activity segment");function D(e){return ae(se(e),Je)}function je(e){if(e.reused)return 0;let t=I(e.indexPath)+I(e.dbPath);for(let n of e.shards??[])!n.reused&&n.outputBytes!==null&&(t+=n.outputBytes);return t}function bt(e,t){let n=t.lastRefresh;if(!n)return{state:"failed",reason:"reindex result has no refresh metadata"};let r=je(t);return oe(D(e),{version:1,event:"run",recordedAt:n.completedAt,trigger:n.trigger,result:n.result,durationMs:n.durationMs,estimatedLogicalOutputBytes:r,estimatedWriteBytes:r+(t.writeTelemetry?.fallbackCopiedBytes??0),reflinkedBytes:t.writeTelemetry?.reflinkedBytes??0,fallbackCopiedBytes:t.writeTelemetry?.fallbackCopiedBytes??0,byLanguage:Ke(t)})}function xt(e,t){return oe(D(e),{version:1,event:"run",recordedAt:t.completedAt,trigger:t.trigger,result:"failed",durationMs:t.durationMs,estimatedLogicalOutputBytes:0})}function Fe(e,t,n=We,r){Q(e,t,{maxSegmentBytes:n,previousSuffix:S,...r?{runtime:r}:{}})}function Ce(e,t=new Date,n=$e,r=ie){let s=t.getTime(),a=s-n,i={confidence:"complete",recordsRead:0,invalidRecords:0,skippedRecords:0,readErrors:0,ignoredPartialTailBytes:0,windowStartedAt:new Date(a).toISOString(),windowEndedAt:t.toISOString(),runs:0,rebuilt:0,reused:0,failed:0,suppressed:0,estimatedLogicalOutputBytes:0,estimatedWriteBytes:0,reflinkedBytes:0,fallbackCopiedBytes:0,languageAttribution:"complete",attributedRuns:0,unattributedRuns:0,invalidLanguageDetails:0,byLanguage:{},byTrigger:{}},u=D(e),d=[];if(r===ie){if(!ne(u)&&!ne(`${u}${S}`))return i;try{let o=Z(u,{previousSuffix:S});d=o.lines,i.ignoredPartialTailBytes=o.ignoredPartialTailBytes}catch{i.readErrors+=1,i.confidence="unavailable"}}else{let o=0;for(let g of[`${u}${S}`,u])try{d.push(...Ze(r(g))),o+=1}catch{i.readErrors+=1}o===0?i.confidence="unavailable":i.readErrors>0&&(i.confidence="partial")}for(let o of d){i.recordsRead+=1;let g=Ge(o);if(!g){i.invalidRecords+=1,i.confidence!=="unavailable"&&(i.confidence="partial");continue}let{record:l}=g,m=Date.parse(l.recordedAt);if(m<a||m>s){i.skippedRecords+=1;continue}if(i.invalidLanguageDetails=(i.invalidLanguageDetails??0)+g.invalidLanguageDetails,i.byTrigger[l.trigger.kind]=(i.byTrigger[l.trigger.kind]??0)+1,l.event==="suppressed"){i.suppressed+=1;continue}i.runs+=1,i[l.result]+=1,i.estimatedLogicalOutputBytes+=l.estimatedLogicalOutputBytes,i.estimatedWriteBytes=(i.estimatedWriteBytes??0)+(l.estimatedWriteBytes??l.estimatedLogicalOutputBytes),i.reflinkedBytes=(i.reflinkedBytes??0)+(l.reflinkedBytes??0),i.fallbackCopiedBytes=(i.fallbackCopiedBytes??0)+(l.fallbackCopiedBytes??0),l.result!=="failed"&&(g.hasLanguageDetails?i.attributedRuns=(i.attributedRuns??0)+1:i.unattributedRuns=(i.unattributedRuns??0)+1);for(let[p,y]of Ye(l.byLanguage)){let b=(i.byLanguage??={})[p]??=He();b.runs+=1,b[y.result]+=1,b.producedOutputBytes+=y.producedOutputBytes,b.durationMs+=y.durationMs}l.result==="rebuilt"&&i.oldestRebuildAt===void 0&&(i.oldestRebuildAt=l.recordedAt),(l.estimatedWriteBytes??l.estimatedLogicalOutputBytes)>0&&i.oldestWriteAt===void 0&&(i.oldestWriteAt=l.recordedAt)}return i.ignoredPartialTailBytes>0&&i.confidence!=="unavailable"&&(i.confidence="partial"),i.languageAttribution=Qe(i),i}function oe(e,t){try{return Fe(e,t),{state:"recorded"}}catch(n){return{state:"failed",reason:n instanceof Error?n.message:String(n)}}}function Ge(e){try{let t=JSON.parse(e);if(!t||typeof t!="object")return null;let n=t;if(n.version!==1||!$(n.recordedAt)||!n.trigger||!Ue(n.trigger.kind))return null;if(n.event==="suppressed")return n.reason==="completed-index-is-fresh"?{record:n,hasLanguageDetails:!1,invalidLanguageDetails:0}:null;if(n.event!=="run"||n.result!=="rebuilt"&&n.result!=="reused"&&n.result!=="failed"||!R(n.durationMs)||!R(n.estimatedLogicalOutputBytes)||n.estimatedWriteBytes!==void 0&&!R(n.estimatedWriteBytes)||n.reflinkedBytes!==void 0&&!R(n.reflinkedBytes)||n.fallbackCopiedBytes!==void 0&&!R(n.fallbackCopiedBytes))return null;let r=n,{byLanguage:s,...a}=r,i=qe(s);return{record:{...a,...i.byLanguage?{byLanguage:i.byLanguage}:{}},hasLanguageDetails:i.hasLanguageDetails,invalidLanguageDetails:i.invalidLanguageDetails}}catch{return null}}function vt(e,t,n=new Date){return t.enabled?ze(Ce(e,n,t.windowMs),t,n.getTime()):{state:"allowed",rebuilt:0,estimatedWriteBytes:0}}function ze(e,t,n){let r=e.estimatedWriteBytes??e.estimatedLogicalOutputBytes,s={rebuilt:e.rebuilt,estimatedWriteBytes:r};return t.enabled?e.confidence!==void 0&&e.confidence!=="complete"?{state:"paused",reason:"activity-evidence",until:n+t.windowMs,...s,detail:`reindex activity evidence is ${e.confidence}`}:e.rebuilt>=t.maxRebuilds?{state:"paused",reason:"rebuild-count",until:re(e.oldestRebuildAt,t.windowMs,n),...s,detail:`${e.rebuilt}/${t.maxRebuilds} automatic rebuild slots consumed`}:r>=t.maxEstimatedWriteBytes?{state:"paused",reason:"estimated-write-bytes",until:re(e.oldestWriteAt,t.windowMs,n),...s,detail:`${r}/${t.maxEstimatedWriteBytes} estimated write bytes consumed`}:{state:"allowed",...s}:{state:"allowed",...s}}function re(e,t,n){let r=e?Date.parse(e):Number.NaN;return Number.isFinite(r)&&r+t>n?r+t:n+t}function Ue(e){return e==="manual-cli"||e==="setup"||e==="watch-source"||e==="watch-startup"||e==="watch-demand"||e==="watch-git-head"||e==="watch-git-index"||e==="watch-git-state"||e==="unknown"}function I(e){try{return De(e).size}catch{return 0}}function Ke(e){let t={};for(let n of e.languages){let r=(e.shards??[]).filter(o=>o.language===n),s=r.find(o=>o.id===n),a=e.reused||(s?s.reused:r.length>0&&r.every(o=>o.reused)),i=I(ae(se(e.dbPath),"language-indexes",`${n}.scip`)),u=i>0?i:s?.outputBytes??i,d=a?0:s?.durationMs??r.filter(o=>!o.reused).reduce((o,g)=>o+g.durationMs,0);t[n]={result:a?"reused":"rebuilt",outputBytes:u,producedOutputBytes:a?0:u,durationMs:d}}return t}function qe(e){if(e===void 0)return{hasLanguageDetails:!1,invalidLanguageDetails:0};if(!e||typeof e!="object"||Array.isArray(e))return{hasLanguageDetails:!1,invalidLanguageDetails:1};let t={},n=0;for(let[s,a]of Object.entries(e)){if(!Ve(s)||!Xe(a)){n+=1;continue}t[s]=a}let r=Object.keys(t).length>0;return{...r?{byLanguage:t}:{},hasLanguageDetails:r,invalidLanguageDetails:n}}function Xe(e){if(!e||typeof e!="object")return!1;let t=e;return(t.result==="rebuilt"||t.result==="reused")&&M(t.outputBytes)&&M(t.producedOutputBytes)&&R(t.durationMs)&&(t.result!=="reused"||t.producedOutputBytes===0&&t.durationMs===0)&&t.producedOutputBytes<=t.outputBytes}function Ve(e){return P.includes(e)}function Ye(e){return e?P.flatMap(t=>{let n=e[t];return n?[[t,n]]:[]}):[]}function He(){return{runs:0,rebuilt:0,reused:0,producedOutputBytes:0,durationMs:0}}function Qe(e){let t=e.invalidLanguageDetails??0,n=e.attributedRuns??0;return(e.unattributedRuns??0)===0&&t===0?"complete":n===0?"unavailable":"partial"}function Ze(e){return e.endsWith(`
5
+ `)||(e=e.slice(0,Math.max(0,e.lastIndexOf(`
6
+ `)+1))),e.split(`
7
+ `).filter(t=>t.length>0)}import{spawn as et}from"child_process";import{platform as ue}from"os";import{performance as de}from"perf_hooks";var Tt={probe:1e4,git:3e4,analysis:18e4,install:3e5,indexer:6e5},B=class extends Error{constructor(n,r,s,a={}){super(s,a.cause===void 0?void 0:{cause:a.cause});this.kind=n;this.label=r;this.name="BoundedProcessError",this.timedOut=a.timedOut??!1,this.reaped=a.reaped??!1,this.stdout=a.stdout??"",this.stderr=a.stderr??"",this.stdoutTruncated=a.stdoutTruncated??!1,this.stderrTruncated=a.stderrTruncated??!1}kind;label;timedOut;reaped;stdout;stderr;stdoutTruncated;stderrTruncated};function v(e,t){if(!Number.isFinite(e)||e<=0)throw new TypeError(`${t} must be a positive finite number.`)}function le(e,t,n,r){let s=Math.max(0,r-n);s>0&&e.push(t.subarray(0,s))}function ce(e,t,n){let r=Buffer.concat([...e,t]);e.length=0,e.push(r.subarray(Math.max(0,r.length-n)))}function kt(e){v(e.timeoutMs,"timeoutMs"),v(e.maxStdoutBytes,"maxStdoutBytes"),v(e.maxStderrBytes,"maxStderrBytes");let t=e.terminationGraceMs??1e3;v(t,"terminationGraceMs");let n=e.terminationForceMs??t;return v(n,"terminationForceMs"),new Promise((r,s)=>{let a=de.now(),i;try{let c=ue()!=="win32";i=et(e.command,[...e.args??[]],{cwd:e.cwd,env:e.env,detached:c?!0:e.detached,stdio:["pipe","pipe","pipe"],windowsHide:!0})}catch(c){s(new B("spawn",e.label,`${e.label} could not start.`,{cause:c,reaped:!0}));return}let u=[],d=[],o=0,g=0,l=!1,m=!1,p=null,y=!1,b=ue()!=="win32",J=i.pid===void 0?null:z(i.pid,b),A=()=>{clearTimeout(W),e.signal?.removeEventListener("abort",k)},T=c=>{if(y||!p)return;y=!0,A();let f=Buffer.concat(u).toString("utf8"),w=Buffer.concat(d).toString("utf8"),O=c.reaped||!c.detail?"":` Process-tree cleanup failed: ${c.detail}`;s(new B(p.kind,e.label,`${p.message}${O}`,{timedOut:p.timedOut,reaped:c.reaped,stdout:f,stderr:w,stdoutTruncated:l,stderrTruncated:m}))},x=c=>{if(!(p||y)){if(p=c,!J){T({reaped:i.pid===void 0,reason:i.pid===void 0?"terminated":"identity-unavailable"});return}U(J,{gracefulMs:t,forceMs:n}).then(T,f=>{T({reaped:!1,reason:"signal-failed",detail:f instanceof Error?f.message:String(f)})})}},W=setTimeout(()=>{x({kind:"timeout",timedOut:!0,message:`${e.label} timed out after ${e.timeoutMs}ms.`})},e.timeoutMs);W.unref();let k=()=>{x({kind:"aborted",timedOut:!1,message:`${e.label} was cancelled.`})};e.signal?.addEventListener("abort",k,{once:!0}),e.signal?.aborted&&k(),i.stdout.on("data",c=>{let f=Buffer.isBuffer(c)?c:Buffer.from(c);e.outputLimitBehavior==="truncate-tail"?ce(u,f,e.maxStdoutBytes):le(u,f,o,e.maxStdoutBytes),o+=f.length,o>e.maxStdoutBytes&&(l=!0,e.outputLimitBehavior!=="truncate-tail"&&x({kind:"stdout-limit",timedOut:!1,message:`${e.label} exceeded stdout limit (${e.maxStdoutBytes} bytes).`}))}),i.stderr.on("data",c=>{let f=Buffer.isBuffer(c)?c:Buffer.from(c);e.outputLimitBehavior==="truncate-tail"?ce(d,f,e.maxStderrBytes):le(d,f,g,e.maxStderrBytes),g+=f.length,g>e.maxStderrBytes&&(m=!0,e.outputLimitBehavior!=="truncate-tail"&&x({kind:"stderr-limit",timedOut:!1,message:`${e.label} exceeded stderr limit (${e.maxStderrBytes} bytes).`}))}),i.on("error",c=>{if(!y&&!p){if(i.pid===void 0){A(),y=!0,s(new B("spawn",e.label,`${e.label} could not start: ${c.message}`,{cause:c,reaped:!0}));return}x({kind:"spawn",timedOut:!1,message:`${e.label} failed after start: ${c.message}`})}}),i.on("close",(c,f)=>{if(y||p)return;y=!0,A();let w=Buffer.concat(u).toString("utf8"),O=Buffer.concat(d).toString("utf8");r({status:c,signal:f,stdout:w,stderr:O,timedOut:!1,durationMs:de.now()-a,stdoutTruncated:l,stderrTruncated:m})}),e.input===void 0?i.stdin.end():i.stdin.end(e.input)})}export{L as a,Q as b,rt as c,Je as d,bt as e,xt as f,vt as g,Tt as h,B as i,kt as j};
8
+ //# sourceMappingURL=chunk-K7JLSGCJ.js.map
@@ -1,2 +1,2 @@
1
- import{a as R,b as P}from"./chunk-IRQOAM5G.js";import{a as C,c as B,e as a,f}from"./chunk-OTOKVOJ3.js";import{a as v,b as h,c as k}from"./chunk-NMTSZXCL.js";import{M as g}from"./chunk-ADTBPVUZ.js";function D(e,o={}){let{minSimilarity:r=.62,minTokens:n=8,limit:l=20,scope:m,scanLimit:d,filePattern:p,focusFiles:u}=o,c=g(e).reactProfiles({scope:m,minJsxTokens:n,scanLimit:d}).filter(t=>t.kind==="component").map(t=>({file:t.file,component:t.name,tokens:t.jsxTokens,profile:t})),s=R(c,t=>t.tokens);return P({profiles:c,limit:l,filePattern:p,focusFiles:u,candidateIndex:s,profile:{name:"react-component-duplicates"},compare:(t,i)=>y(t,i,r),sort:(t,i)=>i.similarity-t.similarity||t.fileA.localeCompare(i.fileA)||t.componentA.localeCompare(i.componentA)||t.fileB.localeCompare(i.fileB)||t.componentB.localeCompare(i.componentB)})}function y(e,o,r){let n=v(e.tokens,o.tokens);if(n.size<6||!T(n))return null;let l=k(e.tokens,o.tokens);if(l<r)return null;let m=a(n,"component:"),d=a(n,"native:"),p=a(n,"prop:"),u=a(n,"event:"),c=a(n,"binding:"),s=b({sharedComponents:m,sharedNativeTags:d,sharedProps:p,sharedEvents:u,sharedBindings:c});return{fileA:e.file,componentA:e.component,fileB:o.file,componentB:o.component,similarity:l,tokenCountA:e.tokens.size,tokenCountB:o.tokens.size,sharedTokens:f(n),sharedComponents:m,sharedNativeTags:d,sharedProps:p,sharedEvents:u,sharedBindings:c,evidenceClass:s.evidenceClass,actionTier:s.actionTier,evidenceClassReasons:s.reasons,recommendation:s.recommendation,uniqueToA:f(h(e.tokens,o.tokens)).slice(0,25),uniqueToB:f(h(o.tokens,e.tokens)).slice(0,25),locA:e.profile.loc,locB:o.profile.loc}}function T(e){let o=0,r=0;for(let n of e)n.startsWith("component:")&&(o+=1),(n.startsWith("prop:")||n.startsWith("event:")||n.startsWith("native:")||n.startsWith("jsx:"))&&(r+=1);return B([{name:"component",count:o},{name:"shape",count:r}],[{min:{component:1},reason:"shared custom component"},{min:{shape:4},reason:"shared JSX structure"}]).pass}function b(e){return C({genericWords:w,primitiveGroups:[{values:e.sharedNativeTags,reasonPrefix:"shared native tags",bucket:"generic"},{values:e.sharedProps,reasonPrefix:"shared props",bucket:"generic"},{values:e.sharedEvents,reasonPrefix:"shared events",bucket:"generic"}],nameGroups:[{names:e.sharedComponents,label:"shared component",fallbackBucket:"generic"},{names:e.sharedBindings,label:"shared binding",fallbackBucket:"generic"}],recommendation:A})}function A(e){switch(e){case"domain-behavior":case"mixed":return"Review for a shared component or feature-specific UI primitive around the named domain structure.";case"shared-abstraction":return"Review the existing shared component usage first; extract only if duplicated structure remains outside it.";case"generic-workflow-scaffolding":return"Generic structural overlap \u2014 verify intent before consolidating."}}var w=new Set(["actions","app","button","card","children","content","container","dialog","field","form","header","input","item","label","layout","list","modal","page","panel","row","section","shell","table","text","toolbar","ui","value","view","wrapper"]);export{D as a};
2
- //# sourceMappingURL=chunk-XWUOUWYI.js.map
1
+ import{a as R,b as P}from"./chunk-IRQOAM5G.js";import{a as C,c as B,e as a,f}from"./chunk-OTOKVOJ3.js";import{a as v,b as h,c as k}from"./chunk-NMTSZXCL.js";import{M as g}from"./chunk-ICUL7XRT.js";function D(e,o={}){let{minSimilarity:r=.62,minTokens:n=8,limit:l=20,scope:m,scanLimit:d,filePattern:p,focusFiles:u}=o,c=g(e).reactProfiles({scope:m,minJsxTokens:n,scanLimit:d}).filter(t=>t.kind==="component").map(t=>({file:t.file,component:t.name,tokens:t.jsxTokens,profile:t})),s=R(c,t=>t.tokens);return P({profiles:c,limit:l,filePattern:p,focusFiles:u,candidateIndex:s,profile:{name:"react-component-duplicates"},compare:(t,i)=>y(t,i,r),sort:(t,i)=>i.similarity-t.similarity||t.fileA.localeCompare(i.fileA)||t.componentA.localeCompare(i.componentA)||t.fileB.localeCompare(i.fileB)||t.componentB.localeCompare(i.componentB)})}function y(e,o,r){let n=v(e.tokens,o.tokens);if(n.size<6||!T(n))return null;let l=k(e.tokens,o.tokens);if(l<r)return null;let m=a(n,"component:"),d=a(n,"native:"),p=a(n,"prop:"),u=a(n,"event:"),c=a(n,"binding:"),s=b({sharedComponents:m,sharedNativeTags:d,sharedProps:p,sharedEvents:u,sharedBindings:c});return{fileA:e.file,componentA:e.component,fileB:o.file,componentB:o.component,similarity:l,tokenCountA:e.tokens.size,tokenCountB:o.tokens.size,sharedTokens:f(n),sharedComponents:m,sharedNativeTags:d,sharedProps:p,sharedEvents:u,sharedBindings:c,evidenceClass:s.evidenceClass,actionTier:s.actionTier,evidenceClassReasons:s.reasons,recommendation:s.recommendation,uniqueToA:f(h(e.tokens,o.tokens)).slice(0,25),uniqueToB:f(h(o.tokens,e.tokens)).slice(0,25),locA:e.profile.loc,locB:o.profile.loc}}function T(e){let o=0,r=0;for(let n of e)n.startsWith("component:")&&(o+=1),(n.startsWith("prop:")||n.startsWith("event:")||n.startsWith("native:")||n.startsWith("jsx:"))&&(r+=1);return B([{name:"component",count:o},{name:"shape",count:r}],[{min:{component:1},reason:"shared custom component"},{min:{shape:4},reason:"shared JSX structure"}]).pass}function b(e){return C({genericWords:w,primitiveGroups:[{values:e.sharedNativeTags,reasonPrefix:"shared native tags",bucket:"generic"},{values:e.sharedProps,reasonPrefix:"shared props",bucket:"generic"},{values:e.sharedEvents,reasonPrefix:"shared events",bucket:"generic"}],nameGroups:[{names:e.sharedComponents,label:"shared component",fallbackBucket:"generic"},{names:e.sharedBindings,label:"shared binding",fallbackBucket:"generic"}],recommendation:A})}function A(e){switch(e){case"domain-behavior":case"mixed":return"Review for a shared component or feature-specific UI primitive around the named domain structure.";case"shared-abstraction":return"Review the existing shared component usage first; extract only if duplicated structure remains outside it.";case"generic-workflow-scaffolding":return"Generic structural overlap \u2014 verify intent before consolidating."}}var w=new Set(["actions","app","button","card","children","content","container","dialog","field","form","header","input","item","label","layout","list","modal","page","panel","row","section","shell","table","text","toolbar","ui","value","view","wrapper"]);export{D as a};
2
+ //# sourceMappingURL=chunk-KPZGTB2O.js.map
@@ -1,4 +1,4 @@
1
- import{a as b,b as y,c as m}from"./chunk-SGX43S2L.js";import{b as f,d as g,f as d,u as p}from"./chunk-FETNQCFO.js";import{a as c}from"./chunk-ADTBPVUZ.js";import{SymbolInformation_Kind as o}from"@c4312/scip";var _=500;function K(n){let s=parseInt(n,10);if(!isNaN(s))return s;let t=n.toLowerCase(),e=y.get(t);if(e!==void 0)return e;for(let[i,l]of b)if(l.toLowerCase().includes(t))return i;return null}function v(n,s,t={}){let{scope:e,limit:i=100}=t,l=K(s);return l===null?[]:h(n,e).map(r=>({row:r,resolvedKind:k(r)})).filter(r=>r.resolvedKind===l).slice(0,i).map(({row:r,resolvedKind:a})=>({symbol:r.symbol,shortName:g(r.symbol),kind:a,kindName:m(a),relativePath:r.relative_path,startLine:r.start_line,endLine:r.end_line}))}function T(n,s={}){let t=I(n,s.scope);for(let e of S(n,s.scope)){let i=k(e);i===null||i===0||t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,i)=>i[1]-e[1]||e[0]-i[0]).map(([e,i])=>({kind:e,kindName:m(e),count:i}))}function h(n,s){return p(n,{scope:s}).map(R)}function I(n,s){let t=new Map;for(let e of N(c(n,{scope:s,includeIgnored:!1}))){let i=e.map(()=>"?").join(", "),l=n.all(`SELECT gs.kind AS kind, COUNT(*) AS count
1
+ import{a as b,b as y,c as m}from"./chunk-SGX43S2L.js";import{b as f,d as g,f as d,u as p}from"./chunk-GVAF222T.js";import{a as c}from"./chunk-ICUL7XRT.js";import{SymbolInformation_Kind as o}from"@c4312/scip";var _=500;function K(n){let s=parseInt(n,10);if(!isNaN(s))return s;let t=n.toLowerCase(),e=y.get(t);if(e!==void 0)return e;for(let[i,l]of b)if(l.toLowerCase().includes(t))return i;return null}function v(n,s,t={}){let{scope:e,limit:i=100}=t,l=K(s);return l===null?[]:h(n,e).map(r=>({row:r,resolvedKind:k(r)})).filter(r=>r.resolvedKind===l).slice(0,i).map(({row:r,resolvedKind:a})=>({symbol:r.symbol,shortName:g(r.symbol),kind:a,kindName:m(a),relativePath:r.relative_path,startLine:r.start_line,endLine:r.end_line}))}function T(n,s={}){let t=I(n,s.scope);for(let e of S(n,s.scope)){let i=k(e);i===null||i===0||t.set(i,(t.get(i)??0)+1)}return[...t.entries()].sort((e,i)=>i[1]-e[1]||e[0]-i[0]).map(([e,i])=>({kind:e,kindName:m(e),count:i}))}function h(n,s){return p(n,{scope:s}).map(R)}function I(n,s){let t=new Map;for(let e of N(c(n,{scope:s,includeIgnored:!1}))){let i=e.map(()=>"?").join(", "),l=n.all(`SELECT gs.kind AS kind, COUNT(*) AS count
2
2
  FROM defn_enclosing_ranges der
3
3
  JOIN global_symbols gs ON der.symbol_id = gs.id
4
4
  JOIN documents d ON der.document_id = d.id
@@ -20,4 +20,4 @@ import{a as b,b as y,c as m}from"./chunk-SGX43S2L.js";import{b as f,d as g,f as
20
20
  ${n.symbolNoiseFor("gs")}
21
21
  AND d.relative_path IN (${i})
22
22
  ORDER BY d.relative_path, der.start_line, der.end_line, gs.symbol`,...e))}return t}function N(n){let s=[];for(let t=0;t<n.length;t+=_)s.push(n.slice(t,t+_));return s}function R(n){return{symbol:n.symbol,kind:n.kind,documentation:n.documentation,enclosing_symbol:n.enclosingSymbol,relative_path:n.relativePath,start_line:n.startLine,end_line:n.endLine}}function k(n){return n.kind!==null&&n.kind!==0?D(n.kind,n.symbol,n.documentation):C(n.symbol,n.documentation,n.enclosing_symbol)}function D(n,s,t){let e=(t??"").toLowerCase();if(d(s)==="type"){if(e.includes("type "))return o.TypeAlias;if(e.includes("interface "))return o.Interface;if(e.includes("struct "))return o.Struct;if(e.includes("trait "))return o.Trait;if(e.includes("class "))return o.Class}return n}function C(n,s,t){let e=f(n);if("kind"in e)return null;let i=e.descriptors,l=i[i.length-2]??null,u=d(n),r=(s??"").toLowerCase();return u==="type"?r.includes("type ")?o.TypeAlias:r.includes("interface ")?o.Interface:r.includes("struct ")?o.Struct:r.includes("trait ")?o.Trait:r.includes("class ")?o.Class:o.Class:u==="method"?l?.suffix==="type"?o.Method:o.Function:u==="namespace"?o.Module:u!=="term"?null:r.includes("async def ")||r.includes("def ")?o.Function:(t?d(t):l?.suffix??null)==="type"?o.Field:o.Variable}export{v as a,T as b};
23
- //# sourceMappingURL=chunk-VXYS3FZD.js.map
23
+ //# sourceMappingURL=chunk-LKUTSP4G.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-UZGZB3VB.js";import{b as a}from"./chunk-ADTBPVUZ.js";import{existsSync as c}from"fs";import{isAbsolute as p,join as u}from"path";function g(e,t){let o=l(e,t,{allowMultiple:!1})[0]?.relativePath;return o||s(e,t)}function x(e,t){return l(e,t,{allowMultiple:!0}).map(o=>o.relativePath)}function s(e,t){if(!t)return null;let o=t.replace(/\\/g,"/").replace(/^\.\//,""),r=p(o)&&o.startsWith(e.config.projectRoot)?o.slice(e.config.projectRoot.length).replace(/^\/+/,""):o,n=u(e.config.projectRoot,r);return c(n)?r:null}function l(e,t,o){let r=a(e,t,o);if(r.length===0){if(s(e,t))return[];let n=i(e,t);return!n||e.isIgnored(n.relativePath)?[]:[{relativePath:n.relativePath,score:700}]}return r}export{g as a,x as b};
2
- //# sourceMappingURL=chunk-GTXSJDCO.js.map
1
+ import{a as i}from"./chunk-SGMNWYTH.js";import{b as a}from"./chunk-ICUL7XRT.js";import{existsSync as c}from"fs";import{isAbsolute as p,join as u}from"path";function g(e,t){let o=l(e,t,{allowMultiple:!1})[0]?.relativePath;return o||s(e,t)}function x(e,t){return l(e,t,{allowMultiple:!0}).map(o=>o.relativePath)}function s(e,t){if(!t)return null;let o=t.replace(/\\/g,"/").replace(/^\.\//,""),r=p(o)&&o.startsWith(e.config.projectRoot)?o.slice(e.config.projectRoot.length).replace(/^\/+/,""):o,n=u(e.config.projectRoot,r);return c(n)?r:null}function l(e,t,o){let r=a(e,t,o);if(r.length===0){if(s(e,t))return[];let n=i(e,t);return!n||e.isIgnored(n.relativePath)?[]:[{relativePath:n.relativePath,score:700}]}return r}export{g as a,x as b};
2
+ //# sourceMappingURL=chunk-LMTSB3TB.js.map