scip-query 0.20.0 → 0.21.1

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 (594) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +255 -884
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/by-kind-XXGZGNZ6.js +2 -0
  5. package/dist/call-graph-VGY3R4L3.js +2 -0
  6. package/dist/call-graph-evidence-lZa2dwQA.d.ts +11 -0
  7. package/dist/change-analysis-types-CCtoCHbC.d.ts +9 -0
  8. package/dist/chunk-26CT72HM.js +2 -0
  9. package/dist/chunk-27OUNZW5.js +3 -0
  10. package/dist/chunk-2LJLEM5B.js +2 -0
  11. package/dist/chunk-3KXFB2FM.js +2 -0
  12. package/dist/chunk-3T5U2EQ2.js +2 -0
  13. package/dist/chunk-3TNRNKAT.js +2 -0
  14. package/dist/{chunk-PXY7F6Y4.js → chunk-3XQLJG7V.js} +5 -5
  15. package/dist/chunk-3XZELASU.js +2 -0
  16. package/dist/chunk-3YETOKNO.js +4 -0
  17. package/dist/chunk-47WX6UC4.js +2 -0
  18. package/dist/{chunk-7SQQWSY3.js → chunk-4HQYNZ3P.js} +2 -2
  19. package/dist/chunk-4IASLUOP.js +3 -0
  20. package/dist/{chunk-KMKTIO2G.js → chunk-4KIPF45P.js} +2 -2
  21. package/dist/chunk-4SZJF4GK.js +2 -0
  22. package/dist/chunk-4TOU7HHQ.js +2 -0
  23. package/dist/chunk-4ZCLDH6T.js +11 -0
  24. package/dist/{chunk-DQGFVPUV.js → chunk-527HV7JY.js} +3 -3
  25. package/dist/{chunk-ZTETIQ35.js → chunk-5BJPJUXF.js} +2 -2
  26. package/dist/chunk-5J3A6RBZ.js +16 -0
  27. package/dist/chunk-5KIJMEPC.js +2 -0
  28. package/dist/{chunk-JDOEX4E6.js → chunk-5QM7QT5B.js} +2 -2
  29. package/dist/chunk-5Z2H76VD.js +11 -0
  30. package/dist/chunk-63TFRBMB.js +2 -0
  31. package/dist/chunk-67FK5KGV.js +3 -0
  32. package/dist/chunk-6DO3VBLV.js +2 -0
  33. package/dist/chunk-6LS3IG2I.js +13 -0
  34. package/dist/chunk-6QN4FYQW.js +2 -0
  35. package/dist/chunk-6X4KO5A7.js +11 -0
  36. package/dist/chunk-743MEVFJ.js +8 -0
  37. package/dist/chunk-7G2WIVIX.js +2 -0
  38. package/dist/chunk-7KCZELVM.js +2 -0
  39. package/dist/chunk-7MUHSZGN.js +3 -0
  40. package/dist/chunk-7YZGSLW6.js +3 -0
  41. package/dist/chunk-7Z4GMCHM.js +117 -0
  42. package/dist/{chunk-32LVLCLN.js → chunk-AAOEROT3.js} +3 -3
  43. package/dist/chunk-AFRS7WJU.js +26 -0
  44. package/dist/chunk-ANCHW2R4.js +57 -0
  45. package/dist/{chunk-SXP2MBJH.js → chunk-AQF35NGT.js} +2 -2
  46. package/dist/chunk-ARGPDW2Y.js +6 -0
  47. package/dist/chunk-B3AREUQK.js +16 -0
  48. package/dist/chunk-BCTCADNB.js +2 -0
  49. package/dist/chunk-BM4OTGSY.js +3 -0
  50. package/dist/chunk-BMKTDJI6.js +16 -0
  51. package/dist/chunk-BOJ5SVE2.js +2 -0
  52. package/dist/{chunk-WXZLAAWK.js → chunk-BVR44XXB.js} +2 -2
  53. package/dist/{chunk-RUJURYSV.js → chunk-BYXWXLKM.js} +2 -2
  54. package/dist/chunk-BZCRHP46.js +3 -0
  55. package/dist/chunk-BZYSGZRK.js +2 -0
  56. package/dist/chunk-C52Q3JEQ.js +2 -0
  57. package/dist/chunk-C7WSQA6A.js +21 -0
  58. package/dist/{chunk-BDCC2NPY.js → chunk-CNT4ND5O.js} +2 -2
  59. package/dist/chunk-CQVDALWQ.js +2 -0
  60. package/dist/chunk-CTO3TRX7.js +2 -0
  61. package/dist/chunk-CXT3GZSQ.js +2 -0
  62. package/dist/{chunk-JVYA47YU.js → chunk-DGM2RJ3I.js} +2 -2
  63. package/dist/{chunk-7PIO7NKH.js → chunk-DK6MB565.js} +2 -2
  64. package/dist/chunk-DNPETNXT.js +2 -0
  65. package/dist/chunk-DRENNWRG.js +2 -0
  66. package/dist/chunk-DUDUIT5P.js +2 -0
  67. package/dist/chunk-DXEJ4FLZ.js +21 -0
  68. package/dist/chunk-DXYMTQZ4.js +2 -0
  69. package/dist/chunk-DZA7MQMU.js +6 -0
  70. package/dist/{chunk-ZHXX42OH.js → chunk-DZNWXJN2.js} +4 -4
  71. package/dist/{chunk-CJST5ETY.js → chunk-E6N6YTVM.js} +2 -2
  72. package/dist/chunk-E7CJ6O72.js +2 -0
  73. package/dist/chunk-EJHNTAEE.js +2 -0
  74. package/dist/chunk-EPLE5O5O.js +2 -0
  75. package/dist/chunk-F4FNK44D.js +2 -0
  76. package/dist/chunk-FCGMQETU.js +2 -0
  77. package/dist/chunk-FIO44MVK.js +3 -0
  78. package/dist/chunk-FLSVYEPL.js +2 -0
  79. package/dist/chunk-FOP7HD6H.js +3 -0
  80. package/dist/chunk-FSPENGSU.js +4 -0
  81. package/dist/chunk-FUUDUAKM.js +2 -0
  82. package/dist/chunk-FYCH2EYQ.js +2 -0
  83. package/dist/{chunk-5E4WNAVD.js → chunk-G47MFF47.js} +2 -2
  84. package/dist/chunk-G6VV7ROY.js +2 -0
  85. package/dist/chunk-GBZCVYWA.js +2 -0
  86. package/dist/chunk-GSHTVE56.js +3 -0
  87. package/dist/chunk-GTZFKDP3.js +2 -0
  88. package/dist/{chunk-2HPVVXM5.js → chunk-H2RBDP5S.js} +2 -2
  89. package/dist/chunk-H5EXS3HM.js +2 -0
  90. package/dist/chunk-HR5JYLVV.js +4 -0
  91. package/dist/chunk-HW7FASEL.js +2 -0
  92. package/dist/chunk-HYU4W353.js +10 -0
  93. package/dist/{chunk-FKSELJQF.js → chunk-I2LY3KN7.js} +2 -2
  94. package/dist/chunk-IGBQVEHE.js +2 -0
  95. package/dist/{chunk-3G66UZBH.js → chunk-IH3K5J6K.js} +2 -2
  96. package/dist/chunk-IHGK3SZ7.js +29 -0
  97. package/dist/chunk-IM23CSG5.js +2 -0
  98. package/dist/chunk-IQMGNIGY.js +2 -0
  99. package/dist/chunk-ITF3CWS5.js +2 -0
  100. package/dist/chunk-IZKJQQCQ.js +3 -0
  101. package/dist/chunk-J4HUBIVF.js +5 -0
  102. package/dist/{chunk-AZJQQKDD.js → chunk-JGMD6JGB.js} +2 -2
  103. package/dist/chunk-JLZWYDCZ.js +4 -0
  104. package/dist/chunk-JO6FK3Q5.js +2 -0
  105. package/dist/chunk-JSHDCVUM.js +81 -0
  106. package/dist/chunk-K2DZCH2K.js +2 -0
  107. package/dist/chunk-K63CAPS2.js +23 -0
  108. package/dist/chunk-KBIC6JHJ.js +2 -0
  109. package/dist/chunk-KFFQURUZ.js +2 -0
  110. package/dist/chunk-KFOYCQAJ.js +9 -0
  111. package/dist/chunk-KGKCJFWZ.js +6 -0
  112. package/dist/chunk-KK7GPALL.js +28 -0
  113. package/dist/chunk-L7WRUNKJ.js +2 -0
  114. package/dist/{chunk-W4ETQAXM.js → chunk-LFWB7TOJ.js} +2 -2
  115. package/dist/chunk-LGVTIZPV.js +61 -0
  116. package/dist/chunk-LIWIV26I.js +29 -0
  117. package/dist/chunk-LJMWILX6.js +3 -0
  118. package/dist/{chunk-BPAPWKP6.js → chunk-LXMW6ZAX.js} +8 -8
  119. package/dist/chunk-MFBVUQJZ.js +2 -0
  120. package/dist/{chunk-O64IZ6UX.js → chunk-MLTKGHD2.js} +2 -2
  121. package/dist/chunk-MLTSTKXD.js +5 -0
  122. package/dist/chunk-MR4ZKWO6.js +57 -0
  123. package/dist/{chunk-EN3O7VJA.js → chunk-MRXBLYRE.js} +2 -2
  124. package/dist/chunk-MXNGIEPU.js +3 -0
  125. package/dist/chunk-N4EFQIRX.js +20 -0
  126. package/dist/chunk-ND3BWIVN.js +7 -0
  127. package/dist/chunk-NODZYYGC.js +2 -0
  128. package/dist/chunk-NP4JFCLE.js +133 -0
  129. package/dist/chunk-NQXWWE6S.js +8 -0
  130. package/dist/chunk-NSDPPUDY.js +7 -0
  131. package/dist/chunk-NT4NVEHU.js +18 -0
  132. package/dist/chunk-O2VY47Y5.js +325 -0
  133. package/dist/chunk-O3EX5STE.js +5 -0
  134. package/dist/chunk-O4PZFAXA.js +3 -0
  135. package/dist/chunk-OA2BO4DR.js +2 -0
  136. package/dist/chunk-OFZVFIDF.js +3 -0
  137. package/dist/{chunk-PQCI4SQX.js → chunk-OG5UK2K7.js} +2 -2
  138. package/dist/chunk-OMVNRPST.js +2 -0
  139. package/dist/{chunk-7BAVHKMJ.js → chunk-OU6SDWAM.js} +9 -9
  140. package/dist/{chunk-LY4WC4AD.js → chunk-OY7PCALC.js} +2 -2
  141. package/dist/{chunk-A73XVBCR.js → chunk-P3UFF22M.js} +2 -2
  142. package/dist/chunk-PAZSBPJR.js +3 -0
  143. package/dist/chunk-PJBYDCBQ.js +38 -0
  144. package/dist/chunk-PRLU3I7G.js +79 -0
  145. package/dist/chunk-PU6XDQ2X.js +16 -0
  146. package/dist/{chunk-3CLX5EOX.js → chunk-PWEQ6CZZ.js} +2 -2
  147. package/dist/{chunk-XSRF6Q77.js → chunk-PX6QNUYF.js} +2 -2
  148. package/dist/chunk-Q4MRRB3C.js +3 -0
  149. package/dist/chunk-QGVUPYBC.js +35 -0
  150. package/dist/chunk-QH5Q6M5C.js +2 -0
  151. package/dist/chunk-QLWZUFDT.js +2 -0
  152. package/dist/chunk-QN2AI3D2.js +3 -0
  153. package/dist/{chunk-JAYYFEQY.js → chunk-QZCACNV5.js} +2 -2
  154. package/dist/chunk-RNKRYK6B.js +4 -0
  155. package/dist/chunk-RSUH7G5T.js +29 -0
  156. package/dist/chunk-RZWBTKXO.js +5 -0
  157. package/dist/chunk-SBFDPHKH.js +4 -0
  158. package/dist/{chunk-HX4GQPZP.js → chunk-SGSPCEFC.js} +3 -3
  159. package/dist/chunk-SIGVQT43.js +2 -0
  160. package/dist/chunk-SRIZDEWX.js +4 -0
  161. package/dist/chunk-SV2LEFVM.js +2 -0
  162. package/dist/chunk-T2PBOVDI.js +3 -0
  163. package/dist/chunk-TP2X2C2Y.js +3 -0
  164. package/dist/chunk-U2MNECDU.js +2 -0
  165. package/dist/chunk-U7DOYZDH.js +2 -0
  166. package/dist/chunk-UAQQR55F.js +2 -0
  167. package/dist/chunk-UBETC3Q2.js +2 -0
  168. package/dist/chunk-UEQORB2A.js +2 -0
  169. package/dist/chunk-UM56ZET4.js +38 -0
  170. package/dist/chunk-UXNXOMXJ.js +2 -0
  171. package/dist/{chunk-6SHPK5ZE.js → chunk-V6XENWOF.js} +2 -2
  172. package/dist/chunk-VJAD5WX5.js +2 -0
  173. package/dist/chunk-VRJG7N3I.js +453 -0
  174. package/dist/chunk-W7HN6V4E.js +7 -0
  175. package/dist/chunk-WCIKJ2E3.js +3 -0
  176. package/dist/chunk-WEXQYJY3.js +5 -0
  177. package/dist/chunk-WOPZX5GM.js +2 -0
  178. package/dist/chunk-WRQXLNYE.js +9 -0
  179. package/dist/{chunk-XKWKXZKW.js → chunk-WV6R37XV.js} +2 -2
  180. package/dist/{chunk-N5W4YZMK.js → chunk-WZ7V4BQV.js} +2 -2
  181. package/dist/chunk-WZRNEVYC.js +2 -0
  182. package/dist/chunk-X5MWO4DM.js +7 -0
  183. package/dist/chunk-XDAUYDFT.js +2 -0
  184. package/dist/{chunk-L7AW2QB5.js → chunk-XDOEHEET.js} +2 -2
  185. package/dist/chunk-XDQX6LDT.js +4 -0
  186. package/dist/chunk-XFRHBAIT.js +2 -0
  187. package/dist/chunk-XIPGCT3D.js +5 -0
  188. package/dist/chunk-XKM5D2XS.js +16 -0
  189. package/dist/chunk-XNF5T4T2.js +4 -0
  190. package/dist/chunk-Y2S4YNLH.js +3 -0
  191. package/dist/chunk-YA72ZUKO.js +2 -0
  192. package/dist/chunk-YBWE6J32.js +43 -0
  193. package/dist/chunk-YCXQQ3YB.js +2 -0
  194. package/dist/chunk-YDTK77JP.js +43 -0
  195. package/dist/chunk-YF25RQER.js +4 -0
  196. package/dist/chunk-YKHL4J3G.js +2 -0
  197. package/dist/chunk-YLNCTPOI.js +4 -0
  198. package/dist/chunk-YR7VRWNX.js +2 -0
  199. package/dist/chunk-YT4IQBET.js +3 -0
  200. package/dist/chunk-YUKYB54I.js +1 -0
  201. package/dist/chunk-Z2KGMIL4.js +2 -0
  202. package/dist/chunk-Z2QB75BS.js +3 -0
  203. package/dist/chunk-Z67JOKRE.js +554 -0
  204. package/dist/chunk-ZGDHC5AT.js +2 -0
  205. package/dist/chunk-ZMS4YCY7.js +2 -0
  206. package/dist/chunk-ZNW5A5VX.js +3 -0
  207. package/dist/{chunk-TFRAYKN6.js → chunk-ZP2WUVZ5.js} +2 -2
  208. package/dist/chunk-ZQUNCTEZ.js +2 -0
  209. package/dist/cli-main.js +8 -0
  210. package/dist/cli.js +1 -3
  211. package/dist/code-AXLJBZ6T.js +2 -0
  212. package/dist/code-B17qEMbt.d.ts +121 -0
  213. package/dist/code-result-json-CTZHAQXJ.js +2 -0
  214. package/dist/command-descriptors-6INSCKLW.js +342 -0
  215. package/dist/{config-types-jVM3D7MA.d.ts → config-types-B9B60MiR.d.ts} +199 -23
  216. package/dist/dataflow-AFXY423Q.js +2 -0
  217. package/dist/{db-B5PM5yNk.d.ts → db-BwIVAYNB.d.ts} +1 -1
  218. package/dist/dependence-slice-2G4X6VSJ.js +2 -0
  219. package/dist/deps-LMCAV5DO.js +2 -0
  220. package/dist/direct-navigation-2ONV22Y2.js +3 -0
  221. package/dist/entry-map-ZOC3VXO5.js +2 -0
  222. package/dist/exploration-topology-BG4v30HZ.d.ts +256 -0
  223. package/dist/file-dep-graph-Bqg3t3Px.d.ts +4 -0
  224. package/dist/file-kind-BKCVMNUf.d.ts +10 -0
  225. package/dist/files-WJQJLHMH.js +2 -0
  226. package/dist/graph-evidence-Bjyky2V4.d.ts +126 -0
  227. package/dist/graph-exploration-contract-CqDsnPQL.d.ts +7 -0
  228. package/dist/{health-Do5TKSJI.d.ts → health-CPp2Jf1Z.d.ts} +33 -34
  229. package/dist/hierarchy-ASNIHAX4.js +2 -0
  230. package/dist/imports-JICEKDKK.js +2 -0
  231. package/dist/index.d.ts +4 -31
  232. package/dist/index.js +1 -1
  233. package/dist/members-C5H2K3MS.js +2 -0
  234. package/dist/methods-KZOZHSD4.js +2 -0
  235. package/dist/next-anchor-candidates-BwMczMvX.d.ts +90 -0
  236. package/dist/output-continuation-command-NX3RH3TP.js +3 -0
  237. package/dist/output-pagination-3OFL2MJV.js +19 -0
  238. package/dist/postinstall.js +1 -1
  239. package/dist/project-reindex-A2SXUH2H.js +3 -0
  240. package/dist/queries/affected.d.ts +22 -4
  241. package/dist/queries/affected.js +1 -1
  242. package/dist/queries/anchors.d.ts +123 -0
  243. package/dist/queries/anchors.js +2 -0
  244. package/dist/queries/architecture.d.ts +3 -2
  245. package/dist/queries/architecture.js +1 -1
  246. package/dist/queries/bottlenecks.d.ts +26 -7
  247. package/dist/queries/bottlenecks.js +1 -1
  248. package/dist/queries/by-kind.d.ts +2 -2
  249. package/dist/queries/by-kind.js +1 -1
  250. package/dist/queries/call-graph.d.ts +17 -3
  251. package/dist/queries/call-graph.js +1 -1
  252. package/dist/queries/change-surface.d.ts +2 -2
  253. package/dist/queries/change-surface.js +1 -1
  254. package/dist/queries/cleanup-plan.d.ts +2 -2
  255. package/dist/queries/cleanup-plan.js +1 -1
  256. package/dist/queries/co-change.d.ts +2 -2
  257. package/dist/queries/co-change.js +1 -1
  258. package/dist/queries/code.d.ts +5 -26
  259. package/dist/queries/code.js +1 -1
  260. package/dist/queries/complexity-hotspots.d.ts +2 -2
  261. package/dist/queries/complexity-hotspots.js +1 -1
  262. package/dist/queries/complexity.d.ts +2 -2
  263. package/dist/queries/complexity.js +1 -1
  264. package/dist/queries/context.d.ts +145 -0
  265. package/dist/queries/context.js +2 -0
  266. package/dist/queries/convergence.d.ts +2 -2
  267. package/dist/queries/convergence.js +1 -1
  268. package/dist/queries/coupling.d.ts +8 -3
  269. package/dist/queries/coupling.js +1 -1
  270. package/dist/queries/cycles.d.ts +34 -7
  271. package/dist/queries/cycles.js +1 -1
  272. package/dist/queries/dataflow.d.ts +40 -14
  273. package/dist/queries/dataflow.js +1 -1
  274. package/dist/queries/dead.d.ts +2 -2
  275. package/dist/queries/dead.js +1 -1
  276. package/dist/queries/decorative-checkers.d.ts +3 -3
  277. package/dist/queries/decorative-checkers.js +1 -1
  278. package/dist/queries/deep-chains.d.ts +4 -38
  279. package/dist/queries/deep-chains.js +1 -1
  280. package/dist/queries/dependence-slice.d.ts +47 -0
  281. package/dist/queries/dependence-slice.js +2 -0
  282. package/dist/queries/dependency-depth.d.ts +49 -0
  283. package/dist/queries/dependency-depth.js +2 -0
  284. package/dist/queries/deps.d.ts +4 -2
  285. package/dist/queries/deps.js +1 -1
  286. package/dist/queries/diff-impact.d.ts +3 -3
  287. package/dist/queries/diff-impact.js +1 -1
  288. package/dist/queries/doc-drift.d.ts +4 -4
  289. package/dist/queries/doc-drift.js +1 -1
  290. package/dist/queries/drift.d.ts +2 -2
  291. package/dist/queries/drift.js +1 -1
  292. package/dist/queries/duplicate-bodies.d.ts +2 -2
  293. package/dist/queries/duplicate-bodies.js +1 -1
  294. package/dist/queries/entry-map.d.ts +121 -0
  295. package/dist/queries/entry-map.js +2 -0
  296. package/dist/queries/evidence.d.ts +70 -0
  297. package/dist/queries/evidence.js +2 -0
  298. package/dist/queries/extract-candidates.d.ts +2 -2
  299. package/dist/queries/extract-candidates.js +1 -1
  300. package/dist/queries/fan.d.ts +18 -5
  301. package/dist/queries/fan.js +1 -1
  302. package/dist/queries/files.d.ts +2 -2
  303. package/dist/queries/files.js +1 -1
  304. package/dist/queries/health.d.ts +4 -3
  305. package/dist/queries/health.js +1 -1
  306. package/dist/queries/hierarchy.d.ts +5 -3
  307. package/dist/queries/hierarchy.js +1 -1
  308. package/dist/queries/hotspots.d.ts +11 -5
  309. package/dist/queries/hotspots.js +1 -1
  310. package/dist/queries/imports.d.ts +2 -2
  311. package/dist/queries/imports.js +1 -1
  312. package/dist/queries/incomplete-migration.d.ts +4 -4
  313. package/dist/queries/incomplete-migration.js +1 -1
  314. package/dist/queries/index.d.ts +56 -136
  315. package/dist/queries/index.js +1 -1
  316. package/dist/queries/isolated.d.ts +2 -2
  317. package/dist/queries/isolated.js +1 -1
  318. package/dist/queries/locality-candidates.d.ts +2 -2
  319. package/dist/queries/locality-candidates.js +1 -1
  320. package/dist/queries/members.d.ts +2 -2
  321. package/dist/queries/members.js +1 -1
  322. package/dist/queries/methods.d.ts +2 -2
  323. package/dist/queries/methods.js +1 -1
  324. package/dist/queries/not-implemented.d.ts +3 -3
  325. package/dist/queries/not-implemented.js +1 -1
  326. package/dist/queries/outline.d.ts +2 -2
  327. package/dist/queries/outline.js +1 -1
  328. package/dist/queries/passthrough-candidates.d.ts +5 -9
  329. package/dist/queries/passthrough-candidates.js +1 -1
  330. package/dist/queries/plan-context.d.ts +27 -64
  331. package/dist/queries/plan-context.js +1 -1
  332. package/dist/queries/react-component-duplicates.d.ts +2 -2
  333. package/dist/queries/react-component-duplicates.js +1 -1
  334. package/dist/queries/react-hook-candidates.d.ts +2 -2
  335. package/dist/queries/react-hook-candidates.js +1 -1
  336. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  337. package/dist/queries/react-large-component-pressure.js +1 -1
  338. package/dist/queries/recent-duplicates.d.ts +2 -2
  339. package/dist/queries/recent-duplicates.js +1 -1
  340. package/dist/queries/redundant-reexports.d.ts +2 -2
  341. package/dist/queries/redundant-reexports.js +1 -1
  342. package/dist/queries/reference-neighborhood.d.ts +4 -0
  343. package/dist/queries/reference-neighborhood.js +2 -0
  344. package/dist/queries/reference-reachability.d.ts +48 -0
  345. package/dist/queries/reference-reachability.js +2 -0
  346. package/dist/queries/refs.d.ts +2 -2
  347. package/dist/queries/refs.js +1 -1
  348. package/dist/queries/self-audit.d.ts +2 -2
  349. package/dist/queries/self-audit.js +1 -1
  350. package/dist/queries/similar-chains.d.ts +2 -2
  351. package/dist/queries/similar-chains.js +1 -1
  352. package/dist/queries/similar-files.d.ts +2 -2
  353. package/dist/queries/similar-files.js +1 -1
  354. package/dist/queries/similar-signatures.d.ts +2 -2
  355. package/dist/queries/similar-signatures.js +1 -1
  356. package/dist/queries/similar.d.ts +2 -2
  357. package/dist/queries/similar.js +1 -1
  358. package/dist/queries/slice.d.ts +3 -36
  359. package/dist/queries/slice.js +1 -1
  360. package/dist/queries/source-inspection.d.ts +209 -0
  361. package/dist/queries/source-inspection.js +2 -0
  362. package/dist/queries/source-search.d.ts +13 -0
  363. package/dist/queries/source-search.js +2 -0
  364. package/dist/queries/stale-abstractions.d.ts +2 -2
  365. package/dist/queries/stale-abstractions.js +1 -1
  366. package/dist/queries/stats.d.ts +2 -2
  367. package/dist/queries/surface.d.ts +13 -4
  368. package/dist/queries/surface.js +1 -1
  369. package/dist/queries/symbols.d.ts +2 -2
  370. package/dist/queries/symbols.js +1 -1
  371. package/dist/queries/system-map.d.ts +449 -0
  372. package/dist/queries/system-map.js +2 -0
  373. package/dist/queries/system.d.ts +5 -3
  374. package/dist/queries/system.js +1 -1
  375. package/dist/queries/test-quality.d.ts +2 -2
  376. package/dist/queries/test-quality.js +1 -1
  377. package/dist/queries/trace.d.ts +47 -3
  378. package/dist/queries/trace.js +1 -1
  379. package/dist/queries/twin-ab.d.ts +3 -3
  380. package/dist/queries/twin-ab.js +1 -1
  381. package/dist/queries/twin-drift.d.ts +3 -3
  382. package/dist/queries/twin-drift.js +1 -1
  383. package/dist/queries/unused-imports.d.ts +2 -2
  384. package/dist/queries/unused-imports.js +1 -1
  385. package/dist/queries/unused-params.d.ts +2 -2
  386. package/dist/queries/unused-params.js +1 -1
  387. package/dist/queries/value-flow.d.ts +43 -0
  388. package/dist/queries/value-flow.js +2 -0
  389. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  390. package/dist/queries/vue-component-duplicates.js +1 -1
  391. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  392. package/dist/queries/vue-composable-candidates.js +1 -1
  393. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  394. package/dist/queries/vue-large-view-pressure.js +1 -1
  395. package/dist/queries/wrapper-candidates.d.ts +2 -2
  396. package/dist/queries/wrapper-candidates.js +1 -1
  397. package/dist/query-service-fastpath.js +6 -0
  398. package/dist/query-service-server.js +5 -0
  399. package/dist/refs-ZOORVRQC.js +2 -0
  400. package/dist/refs-pagination-SRCUOYRD.js +2 -0
  401. package/dist/reindex-worker.js +85 -86
  402. package/dist/reindex.d.ts +64 -42
  403. package/dist/reindex.js +93 -77
  404. package/dist/repository-text-C0Q8VYdN.d.ts +19 -0
  405. package/dist/runtime.d.ts +287 -8
  406. package/dist/runtime.js +4 -3
  407. package/dist/rust-semantic-session-server.js +1 -1
  408. package/dist/rust-semantic-session-worker.js +1 -1
  409. package/dist/rust-semantic-worker.js +1 -1
  410. package/dist/{scip-cli-BnEwZRLJ.d.ts → scip-cli-H-n59izO.d.ts} +33 -2
  411. package/dist/slice-NOTBWA7S.js +2 -0
  412. package/dist/source-search-types-Dwz8KeuW.d.ts +79 -0
  413. package/dist/source-snippet-_wrcgmZc.d.ts +15 -0
  414. package/dist/stats-OOJ74B32.js +2 -0
  415. package/dist/surface-BTBCLKNA.js +2 -0
  416. package/dist/symbol-resolution-SVSMX4RN.js +2 -0
  417. package/dist/system-2EIUFP6B.js +2 -0
  418. package/dist/trace-BB2GHQPG.js +2 -0
  419. package/dist/typescript-mailbox-worker.js +1 -1
  420. package/dist/value-flow-OA7AHSUG.js +2 -0
  421. package/dist/watch-server.js +3 -2
  422. package/docs/AGENT_GUIDE.md +133 -476
  423. package/docs/AI_FAILURE_MODES.md +30 -301
  424. package/docs/API.md +1 -1
  425. package/docs/API_EVOLUTION.md +6 -0
  426. package/docs/CLI_JSON_OUTPUT.md +207 -29
  427. package/docs/COMMAND_REFERENCE.md +255 -154
  428. package/docs/CONFIGURATION_WRITE_SAFETY.md +14 -13
  429. package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +84 -0
  430. package/docs/DETECTOR_GUIDE.md +46 -138
  431. package/docs/DURABILITY.md +7 -1
  432. package/docs/INDEX_GENERATIONS.md +6 -0
  433. package/docs/LOCK_PROTOCOL.md +8 -0
  434. package/docs/REINDEX_METADATA_COMPATIBILITY.md +13 -3
  435. package/docs/SECURITY_MODEL.md +39 -42
  436. package/docs/accuracy-audit-checklist.md +4 -0
  437. package/docs/accuracy-hardening-goal.md +9 -2
  438. package/docs/analyzer-inventory.md +59 -264
  439. package/docs/analyzer-validation-protocol.md +62 -170
  440. package/docs/architecture-coherence-vision.md +18 -12
  441. package/docs/locality-analyzer-design.md +1 -1
  442. package/docs/schemas/cli-json-envelope.schema.json +212 -27
  443. package/docs/schemas/cli-json-export-receipt.schema.json +25 -0
  444. package/docs/schemas/cli-output-page.schema.json +1 -1
  445. package/docs/schemas/observation-receipt.schema.json +164 -0
  446. package/docs/schemas/project-config.schema.json +37 -45
  447. package/docs/schemas/suppression-record.schema.json +1 -34
  448. package/package.json +69 -11
  449. package/skills/concrete-plan/SKILL.md +8 -0
  450. package/skills/concrete-plan/agents/openai.yaml +4 -0
  451. package/skills/scip-explore/SKILL.md +49 -61
  452. package/skills/scip-explore/agents/openai.yaml +3 -3
  453. package/skills/scip-explore/references/delegated-exploration.md +51 -0
  454. package/skills/scip-explore/references/external-evidence.md +72 -0
  455. package/skills/scip-explore/references/information-model.md +51 -0
  456. package/skills/scip-explore/scripts/capture-evidence.mjs +666 -0
  457. package/skills/scip-integrity-audit/SKILL.md +185 -0
  458. package/skills/scip-integrity-audit/agents/openai.yaml +4 -0
  459. package/skills/scip-plan/SKILL.md +67 -49
  460. package/skills/scip-plan/agents/openai.yaml +3 -3
  461. package/skills/scip-query/SKILL.md +98 -77
  462. package/skills/scip-query/agents/openai.yaml +3 -3
  463. package/skills/scip-setup/SKILL.md +10 -102
  464. package/skills/scip-setup/agents/openai.yaml +3 -3
  465. package/dist/chunk-26QA6FAI.js +0 -8
  466. package/dist/chunk-2KAZEZ6M.js +0 -2
  467. package/dist/chunk-3ORVDL3H.js +0 -2
  468. package/dist/chunk-46XGSFNI.js +0 -2
  469. package/dist/chunk-4MAK2HOY.js +0 -6
  470. package/dist/chunk-4TURLRL5.js +0 -16
  471. package/dist/chunk-4UQVNCQE.js +0 -2
  472. package/dist/chunk-55Q3WLZX.js +0 -2
  473. package/dist/chunk-5I5G2QOX.js +0 -3
  474. package/dist/chunk-6LDJQXAH.js +0 -2
  475. package/dist/chunk-6O5TICIZ.js +0 -3
  476. package/dist/chunk-7O5IKBTZ.js +0 -16
  477. package/dist/chunk-7S5E7KWT.js +0 -2
  478. package/dist/chunk-7WPLAODU.js +0 -5
  479. package/dist/chunk-AFHORGLH.js +0 -42
  480. package/dist/chunk-AIE7TFJW.js +0 -9
  481. package/dist/chunk-AQOFWNQJ.js +0 -1
  482. package/dist/chunk-B2PX5I6M.js +0 -2
  483. package/dist/chunk-B75HZHUP.js +0 -2
  484. package/dist/chunk-B7PBSLZN.js +0 -2
  485. package/dist/chunk-BBW6JFHN.js +0 -2
  486. package/dist/chunk-BNXCIFVY.js +0 -2
  487. package/dist/chunk-BS2NMXQZ.js +0 -4
  488. package/dist/chunk-C3KV2II6.js +0 -2
  489. package/dist/chunk-C43RDDP4.js +0 -20
  490. package/dist/chunk-DAFAHMNB.js +0 -42
  491. package/dist/chunk-DQLPXMH6.js +0 -8
  492. package/dist/chunk-EKZTZXHZ.js +0 -117
  493. package/dist/chunk-EW2NTSFA.js +0 -18
  494. package/dist/chunk-F3Z4OUDS.js +0 -8
  495. package/dist/chunk-FJH2NW7J.js +0 -66
  496. package/dist/chunk-FTFP6O3L.js +0 -11
  497. package/dist/chunk-FYLK2DEJ.js +0 -2
  498. package/dist/chunk-GH74ASD6.js +0 -11
  499. package/dist/chunk-GMXWZP2B.js +0 -2
  500. package/dist/chunk-GOUBFH5O.js +0 -3
  501. package/dist/chunk-HLF2TX6R.js +0 -2
  502. package/dist/chunk-HX7M4BDI.js +0 -30
  503. package/dist/chunk-HZ72SESS.js +0 -128
  504. package/dist/chunk-IB2N4FIY.js +0 -10
  505. package/dist/chunk-IZYYAFN5.js +0 -2
  506. package/dist/chunk-JFGGXWQF.js +0 -947
  507. package/dist/chunk-JN4NMBEX.js +0 -8
  508. package/dist/chunk-JW56N3KI.js +0 -4
  509. package/dist/chunk-JZ2OXNWB.js +0 -2
  510. package/dist/chunk-KFZNKUNT.js +0 -2
  511. package/dist/chunk-L5GJNV2T.js +0 -8
  512. package/dist/chunk-L7JDSCDF.js +0 -4
  513. package/dist/chunk-LU47HG23.js +0 -14
  514. package/dist/chunk-LVY7NPF7.js +0 -2
  515. package/dist/chunk-MKCDWWGV.js +0 -4
  516. package/dist/chunk-MNE7YG56.js +0 -2
  517. package/dist/chunk-MRXBEXSY.js +0 -26
  518. package/dist/chunk-MV7OWDUX.js +0 -2
  519. package/dist/chunk-NGEXCJJW.js +0 -11
  520. package/dist/chunk-NIW6JDC5.js +0 -29
  521. package/dist/chunk-PBUQFCNB.js +0 -16
  522. package/dist/chunk-POAVPHH7.js +0 -2
  523. package/dist/chunk-QZ4JVECJ.js +0 -2
  524. package/dist/chunk-RDO52JGY.js +0 -2
  525. package/dist/chunk-RJT3TUUZ.js +0 -2
  526. package/dist/chunk-RVLDN63O.js +0 -4
  527. package/dist/chunk-RXOXSKY3.js +0 -2
  528. package/dist/chunk-S7OYBOCK.js +0 -2
  529. package/dist/chunk-SMNXQT5Z.js +0 -3
  530. package/dist/chunk-SRAFT254.js +0 -2
  531. package/dist/chunk-T7YQSHPQ.js +0 -3
  532. package/dist/chunk-UJCOIXDY.js +0 -2
  533. package/dist/chunk-UJPRPGCO.js +0 -13
  534. package/dist/chunk-WCCFZ7V7.js +0 -113
  535. package/dist/chunk-WUPW3UN3.js +0 -3
  536. package/dist/chunk-X54AGLVX.js +0 -2
  537. package/dist/chunk-Y2MVPNKY.js +0 -5
  538. package/dist/chunk-YKUU5AIC.js +0 -3
  539. package/dist/chunk-YLCJLTPL.js +0 -2
  540. package/dist/chunk-YTQVETEO.js +0 -2
  541. package/dist/chunk-Z4N3MZYA.js +0 -38
  542. package/dist/chunk-ZJOOT3BG.js +0 -2
  543. package/dist/chunk-ZK26BAQL.js +0 -2
  544. package/dist/command-descriptors-DSS46KXI.js +0 -642
  545. package/dist/diff-gate-types-B0QYpDv1.d.ts +0 -11
  546. package/dist/direct-navigation-6YHV6IB5.js +0 -3
  547. package/dist/queries/diff-gate.d.ts +0 -253
  548. package/dist/queries/diff-gate.js +0 -2
  549. package/docs/COMMITTED_RECORD_COMPATIBILITY.md +0 -154
  550. package/docs/analyzer-validation-ledger.md +0 -516
  551. package/docs/schemas/outcome-event-record.schema.json +0 -95
  552. package/skills/_shared/SKILL.md +0 -101
  553. package/skills/_shared/agents/openai.yaml +0 -4
  554. package/skills/_shared/references/agent-contract-catalog.md +0 -105
  555. package/skills/_shared/references/command-catalog.md +0 -118
  556. package/skills/_shared/references/detector-precision-and-diffgate.md +0 -59
  557. package/skills/_shared/references/evidence-and-dead-code.md +0 -25
  558. package/skills/scip-audit/SKILL.md +0 -77
  559. package/skills/scip-audit/agents/openai.yaml +0 -4
  560. package/skills/scip-audit/references/claims.md +0 -98
  561. package/skills/scip-audit/references/cleanup.md +0 -100
  562. package/skills/scip-audit/references/directory.md +0 -222
  563. package/skills/scip-audit/references/frontend.md +0 -130
  564. package/skills/scip-audit/references/integrity.md +0 -154
  565. package/skills/scip-audit/references/maintainability.md +0 -162
  566. package/skills/scip-audit/references/twin-drift.md +0 -104
  567. package/skills/scip-diagnose/SKILL.md +0 -52
  568. package/skills/scip-diagnose/agents/openai.yaml +0 -4
  569. package/skills/scip-diagnose/references/debug.md +0 -117
  570. package/skills/scip-diagnose/references/probe-reachability.md +0 -77
  571. package/skills/scip-diagnose/references/root-cause.md +0 -145
  572. package/skills/scip-diagnose/references/triage.md +0 -119
  573. package/skills/scip-explore/references/diagrams.md +0 -40
  574. package/skills/scip-explore/references/language-playbook.md +0 -49
  575. package/skills/scip-improve/SKILL.md +0 -56
  576. package/skills/scip-improve/agents/openai.yaml +0 -4
  577. package/skills/scip-improve/references/cleanup-batches.md +0 -53
  578. package/skills/scip-improve/references/directory-moves.md +0 -53
  579. package/skills/scip-improve/references/doc-reconcile.md +0 -30
  580. package/skills/scip-improve/references/frontend-extraction.md +0 -39
  581. package/skills/scip-improve/references/maintainability-mechanism.md +0 -43
  582. package/skills/scip-improve/references/twin-drift.md +0 -35
  583. package/skills/scip-plan/references/api-impact.md +0 -19
  584. package/skills/scip-plan/references/conductor.md +0 -41
  585. package/skills/scip-plan/references/high-assurance.md +0 -43
  586. package/skills/scip-plan/references/hyper-optimization.md +0 -50
  587. package/skills/scip-plan/references/tla-model.md +0 -88
  588. package/skills/scip-setup/references/bootstrap-workflow.md +0 -119
  589. package/skills/scip-setup/references/language-verification.md +0 -61
  590. package/skills/scip-setup/references/lifecycle-commands.md +0 -119
  591. package/skills/scip-setup/references/per-repo-triage.md +0 -24
  592. package/skills/scip-verify/SKILL.md +0 -229
  593. package/skills/scip-verify/agents/openai.yaml +0 -4
  594. package/skills/scip-verify/references/calibrate-detectors.md +0 -170
@@ -1,2 +1,2 @@
1
- import{a as F,b as A}from"./chunk-MV7OWDUX.js";import{c as C}from"./chunk-UJCOIXDY.js";import{a as k}from"./chunk-T7YQSHPQ.js";import{d as S}from"./chunk-EKZTZXHZ.js";import{a as y}from"./chunk-NGEXCJJW.js";import{b as p}from"./chunk-C3KV2II6.js";import{posix as h}from"path";var _=20,G=1,O=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"]]),q=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 Ce(e,n={}){let t=L(n.limit,_),i=L(n.minConsumers,G),r=new C(e),s=r.fileDependencyGraph(n.scope),o=ge(y(e,{includeIgnored:!1})),a=pe(e.config.locality?.architecturalBoundarySegments,n.architecturalBoundarySegments);return(n.target?K(e,r,n.target):J(e,n.scope,n.scanLimit)).map(c=>Q(e,r,s,c,n,o,a)).filter(c=>c.consumerFiles.length>=i||n.target).sort(me).slice(0,t)}function K(e,n,t){let i=Z(e,t);if(i)return[I(i)];let r=k(e,t);if(!r)return[];let s=n.definitionsForFile(r.relativePath).find(o=>o.symbolId===r.symbolId);return s?[ee(s)]:[{unit:{kind:"symbol",file:r.relativePath,shortName:S(r.symbol),symbol:r.symbol,startLine:r.startLine,endLine:r.endLine}}]}function J(e,n,t){let i=y(e,{scope:n,includeIgnored:!1}),r=L(t,i.length);return i.slice(0,r).map(s=>I(s))}function Q(e,n,t,i,r,s,o){let a=i.definition?V(e,n,i.definition,r.semantic):X(t,i.unit.file),d=i.definition?a.length>0?"exact":"none":a.length>0?"file-level":"none",f=i.unit.file,c=l(h.dirname(f)),u=te(a),B=ne(c),W=w([...T(c),...u?T(u):[]]),b=ie(i.unit,c,u,a),g=re(b,i.unit,c,u,a,s,o),j=le(i.unit,d,u,a,c,g.whyNoSuggestedHome),z=ue(i.unit,c,u,a,g.suggestedHome,g.whyNoSuggestedHome);return{actionTier:"signal",sourceUnit:i.unit,candidatePath:f,currentDirectory:c,directoryAncestry:B,consumerFiles:a,consumerCoverage:d,nearestCommonOwner:u,boundaryMarkers:W,recommendedTier:b,suggestedHome:g.suggestedHome,destinationConfidence:g.confidence,whyNoSuggestedHome:g.whyNoSuggestedHome,counterevidence:j,reasons:z,recommendation:de(b,g.suggestedHome,d)}}function V(e,n,t,i){let r=A(F(e,n).forDefinitions([t],{semantic:i!==!1,sourceFallback:!0}));return E(r.get(t.symbolId)??[])}function X(e,n){let t=[];for(let[i,r]of e.entries())i!==n&&r.has(n)&&t.push(i);return E(t)}function Z(e,n){let t=p(n),i=y(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 ee(e){return{definition:e,unit:{kind:"symbol",file:e.relativePath,shortName:S(e.symbol),symbol:e.symbol,startLine:e.startLine,endLine:e.endLine}}}function I(e){return{unit:{kind:"file",file:e,shortName:h.basename(e)}}}function ne(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:D(r)})}return n}function T(e){return e==="."?[]:$(e).map(({marker:n,prefix:t})=>`${n}: ${t}`)}function D(e){return w($(e).map(({marker:n})=>n))}function $(e){let n=e.split("/").filter(Boolean),t=[];for(let i=0;i<n.length;i+=1){let r=O.get(n[i]);r&&t.push({marker:r,prefix:n.slice(0,i+1).join("/")})}return t}function te(e){if(e.length===0)return null;let n=e.map(i=>l(h.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 ie(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":U(t,"package")?"package-level-shared":U(t,"app")?"app-level-shared":N(t,["feature","domain","module"])||N(n,["feature","domain","module"])?"feature-local-shared":"sibling-folder":"no-exact-consumers"}function re(e,n,t,i,r,s,o){let a=oe(e,i);if(a)return m(a);let d=fe(n.file),f=se(e,t,d,r,o);if(f)return f;let c=i;if(l(t)===l(c))return m(`${t} is already the nearest common owner for its consumers.`);let u=ae(c,t,d,o);return u||ce(c,t,d,s,o)}function oe(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 se(e,n,t,i,r){if(e==="same-file"){let s=i[0]??null;return s?v(s):m("No same-file consumer path was available.")}if(e==="sibling-folder"&&i.length===1){let s=l(h.dirname(i[0])),o=H(n,t,s,r);return o?m(o):v(s)}return null}function ae(e,n,t,i){return be(e)?P(e,n,t,i,`Nearest shared owner ${e} is outside source root ${t}.`):null}function ce(e,n,t,i,r){if(e===".")return m("The nearest common owner is the repository root.");let s=`${e}/shared`,o=P(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 P(e,n,t,i,r){if(!M(e,t))return m(r);let s=H(n,t,e,i);return s?m(s):v(e)}function v(e){return{suggestedHome:e,confidence:"exact",whyNoSuggestedHome:null}}function m(e){return{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:e}}function le(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 ue(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 de(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 me(e,n){return R(n)-R(e)||e.candidatePath.localeCompare(n.candidatePath)}function R(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 ge(e){let n=new Set(["."]);for(let t of e){let i=l(h.dirname(t));for(;!n.has(i)&&(n.add(i),i!==".");)i=l(h.dirname(i))}return n}function fe(e){let n=x(e),t=n.indexOf("src");return t>=0?n.slice(0,t+1).join("/"):n.length<=1?".":n[0]}function M(e,n){let t=l(e),i=l(n);return i==="."||t===i||t.startsWith(`${i}/`)}function he(e,n,t){let i=x(e),r=x(n);return(M(e,n)?i.slice(r.length):i).some(o=>t.has(o.toLowerCase()))}function H(e,n,t,i){return l(e)===l(t)||!he(e,n,i)?null:`${e} is a named architectural boundary; an exact move to ${t} needs human design.`}function pe(...e){let n=new Set(Y);for(let t of e)for(let i of t??[]){let r=ye(i);r&&n.add(r)}return n}function ye(e){let n=e.trim().toLowerCase();return n===""?null:n}function U(e,n){return D(e).includes(n)}function N(e,n){let t=D(e);return n.some(i=>t.includes(i))}function be(e){let n=e.split("/").filter(Boolean),t=n[n.length-1];return t?q.has(t):!1}function l(e){let n=p(e);return n===""?".":n}function x(e){let n=p(e);return n==="."?[]:n.split("/").filter(Boolean)}function L(e,n){return!Number.isFinite(e)||e===void 0||e<1?n:Math.floor(e)}function E(e){return w([...e]).sort((n,t)=>n.localeCompare(t))}function w(e){return[...new Set(e)]}export{Ce as a};
2
- //# sourceMappingURL=chunk-JAYYFEQY.js.map
1
+ import{a as F,b as A}from"./chunk-63TFRBMB.js";import{c as C}from"./chunk-NODZYYGC.js";import{a as k}from"./chunk-7MUHSZGN.js";import{d as S}from"./chunk-7Z4GMCHM.js";import{a as y}from"./chunk-C7WSQA6A.js";import{b as p}from"./chunk-WEXQYJY3.js";import{posix as h}from"path";var _=20,G=1,O=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"]]),q=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 Ce(e,n={}){let t=L(n.limit,_),i=L(n.minConsumers,G),r=new C(e),s=r.fileDependencyGraph(n.scope),o=ge(y(e,{includeIgnored:!1})),a=pe(e.config.locality?.architecturalBoundarySegments,n.architecturalBoundarySegments);return(n.target?K(e,r,n.target):J(e,n.scope,n.scanLimit)).map(c=>Q(e,r,s,c,n,o,a)).filter(c=>c.consumerFiles.length>=i||n.target).sort(me).slice(0,t)}function K(e,n,t){let i=Z(e,t);if(i)return[I(i)];let r=k(e,t);if(!r)return[];let s=n.definitionsForFile(r.relativePath).find(o=>o.symbolId===r.symbolId);return s?[ee(s)]:[{unit:{kind:"symbol",file:r.relativePath,shortName:S(r.symbol),symbol:r.symbol,startLine:r.startLine,endLine:r.endLine}}]}function J(e,n,t){let i=y(e,{scope:n,includeIgnored:!1}),r=L(t,i.length);return i.slice(0,r).map(s=>I(s))}function Q(e,n,t,i,r,s,o){let a=i.definition?V(e,n,i.definition,r.semantic):X(t,i.unit.file),d=i.definition?a.length>0?"exact":"none":a.length>0?"file-level":"none",f=i.unit.file,c=l(h.dirname(f)),u=te(a),B=ne(c),W=w([...T(c),...u?T(u):[]]),b=ie(i.unit,c,u,a),g=re(b,i.unit,c,u,a,s,o),j=le(i.unit,d,u,a,c,g.whyNoSuggestedHome),z=ue(i.unit,c,u,a,g.suggestedHome,g.whyNoSuggestedHome);return{actionTier:"signal",sourceUnit:i.unit,candidatePath:f,currentDirectory:c,directoryAncestry:B,consumerFiles:a,consumerCoverage:d,nearestCommonOwner:u,boundaryMarkers:W,recommendedTier:b,suggestedHome:g.suggestedHome,destinationConfidence:g.confidence,whyNoSuggestedHome:g.whyNoSuggestedHome,counterevidence:j,reasons:z,recommendation:de(b,g.suggestedHome,d)}}function V(e,n,t,i){let r=A(F(e,n).forDefinitions([t],{semantic:i!==!1,sourceFallback:!0}));return E(r.get(t.symbolId)??[])}function X(e,n){let t=[];for(let[i,r]of e.entries())i!==n&&r.has(n)&&t.push(i);return E(t)}function Z(e,n){let t=p(n),i=y(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 ee(e){return{definition:e,unit:{kind:"symbol",file:e.relativePath,shortName:S(e.symbol),symbol:e.symbol,startLine:e.startLine,endLine:e.endLine}}}function I(e){return{unit:{kind:"file",file:e,shortName:h.basename(e)}}}function ne(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:D(r)})}return n}function T(e){return e==="."?[]:$(e).map(({marker:n,prefix:t})=>`${n}: ${t}`)}function D(e){return w($(e).map(({marker:n})=>n))}function $(e){let n=e.split("/").filter(Boolean),t=[];for(let i=0;i<n.length;i+=1){let r=O.get(n[i]);r&&t.push({marker:r,prefix:n.slice(0,i+1).join("/")})}return t}function te(e){if(e.length===0)return null;let n=e.map(i=>l(h.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 ie(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":U(t,"package")?"package-level-shared":U(t,"app")?"app-level-shared":N(t,["feature","domain","module"])||N(n,["feature","domain","module"])?"feature-local-shared":"sibling-folder":"no-exact-consumers"}function re(e,n,t,i,r,s,o){let a=oe(e,i);if(a)return m(a);let d=fe(n.file),f=se(e,t,d,r,o);if(f)return f;let c=i;if(l(t)===l(c))return m(`${t} is already the nearest common owner for its consumers.`);let u=ae(c,t,d,o);return u||ce(c,t,d,s,o)}function oe(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 se(e,n,t,i,r){if(e==="same-file"){let s=i[0]??null;return s?v(s):m("No same-file consumer path was available.")}if(e==="sibling-folder"&&i.length===1){let s=l(h.dirname(i[0])),o=H(n,t,s,r);return o?m(o):v(s)}return null}function ae(e,n,t,i){return be(e)?P(e,n,t,i,`Nearest shared owner ${e} is outside source root ${t}.`):null}function ce(e,n,t,i,r){if(e===".")return m("The nearest common owner is the repository root.");let s=`${e}/shared`,o=P(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 P(e,n,t,i,r){if(!M(e,t))return m(r);let s=H(n,t,e,i);return s?m(s):v(e)}function v(e){return{suggestedHome:e,confidence:"exact",whyNoSuggestedHome:null}}function m(e){return{suggestedHome:null,confidence:"withheld",whyNoSuggestedHome:e}}function le(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 ue(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 de(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 me(e,n){return R(n)-R(e)||e.candidatePath.localeCompare(n.candidatePath)}function R(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 ge(e){let n=new Set(["."]);for(let t of e){let i=l(h.dirname(t));for(;!n.has(i)&&(n.add(i),i!==".");)i=l(h.dirname(i))}return n}function fe(e){let n=x(e),t=n.indexOf("src");return t>=0?n.slice(0,t+1).join("/"):n.length<=1?".":n[0]}function M(e,n){let t=l(e),i=l(n);return i==="."||t===i||t.startsWith(`${i}/`)}function he(e,n,t){let i=x(e),r=x(n);return(M(e,n)?i.slice(r.length):i).some(o=>t.has(o.toLowerCase()))}function H(e,n,t,i){return l(e)===l(t)||!he(e,n,i)?null:`${e} is a named architectural boundary; an exact move to ${t} needs human design.`}function pe(...e){let n=new Set(Y);for(let t of e)for(let i of t??[]){let r=ye(i);r&&n.add(r)}return n}function ye(e){let n=e.trim().toLowerCase();return n===""?null:n}function U(e,n){return D(e).includes(n)}function N(e,n){let t=D(e);return n.some(i=>t.includes(i))}function be(e){let n=e.split("/").filter(Boolean),t=n[n.length-1];return t?q.has(t):!1}function l(e){let n=p(e);return n===""?".":n}function x(e){let n=p(e);return n==="."?[]:n.split("/").filter(Boolean)}function L(e,n){return!Number.isFinite(e)||e===void 0||e<1?n:Math.floor(e)}function E(e){return w([...e]).sort((n,t)=>n.localeCompare(t))}function w(e){return[...new Set(e)]}export{Ce as a};
2
+ //# sourceMappingURL=chunk-QZCACNV5.js.map
@@ -0,0 +1,4 @@
1
+ import{a as v,b as L,c as $,d as B}from"./chunk-63TFRBMB.js";import{a as K}from"./chunk-5BJPJUXF.js";import{b as D,c as A}from"./chunk-NODZYYGC.js";import{a as g}from"./chunk-BGBBVSH4.js";import{h as R}from"./chunk-743MEVFJ.js";import{b as M}from"./chunk-HW7FASEL.js";import{b as k,d as F,e as b}from"./chunk-7Z4GMCHM.js";import{s as w}from"./chunk-6LS3IG2I.js";import{z as C}from"./chunk-JSHDCVUM.js";function me(t,e){let{scope:n,minLoc:s=3,maxLoc:i=80,limit:r=30,includeLowConfidence:l=!1,scanLimit:o}=e??{},m=e?.semantic!==!1,a=new A(t),d=a.scopedDefinitions(n),y=Q(a,n),p={high:0,medium:1,low:2};return K({candidates:()=>O(t,a,d,{minLoc:s,maxLoc:i}),orderCandidates:(c,u)=>g(u)-g(c)||c.relativePath.localeCompare(u.relativePath),scanLimit:o,profile:{name:"stale-abstractions"},prepare:c=>{let u=U(c),f=W(t,a,c,u,{semantic:m}),h=c.filter(x=>{if(a.hasSuppressionComment(x))return!1;let I=S(t,x,f,u);return I.realConsumers.length<=1&&!I.transitivelyReachable&&j(x,I.realConsumers.length,y)});return{consumerFileMap:f,singletonBackedClassIds:H(t,a,d,h,{semantic:m}),candidateIndex:u}},evaluate:(c,u)=>{if(a.hasSuppressionComment(c)||u.singletonBackedClassIds.has(c.symbolId))return null;let f=S(t,c,u.consumerFileMap,u.candidateIndex);if(f.transitivelyReachable||f.realConsumers.length>1||f.realConsumers.length===0&&f.barrelConsumers>0||!j(f.definition,f.realConsumers.length,y))return null;let h=V(t,f);return!l&&h.confidence==="low"?null:h},orderResults:(c,u)=>p[c.confidence]-p[u.confidence]||u.loc-c.loc||c.file.localeCompare(u.file)||c.startLine-u.startLine,limit:r})}function O(t,e,n,s){return n.filter(i=>i.isTypeLike&&g(i)>=s.minLoc).filter(i=>g(i)<=s.maxLoc).filter(i=>!t.isIgnored(i.relativePath)).filter(i=>!i.relativePath.endsWith(".d.ts")).filter(i=>M(i.relativePath)!=="test").filter(i=>!R(t,i.symbol,i.relativePath)).filter(i=>!X(i.symbol))}function T(t,e,n,s){return L(v(t,e).forDefinitions(n,{semantic:s.semantic,sourceFallback:s.sourceFallback}))}function W(t,e,n,s,i){let r=T(t,e,n,{semantic:!1,sourceFallback:!1}),l=n.filter(a=>{let d=S(t,a,r,s);return d.realConsumers.length<=1&&!(d.realConsumers.length>0&&P(a.relativePath))}),o=i.semantic&&l.length>0?D(r,T(t,e,l,{semantic:!0,sourceFallback:!1})):r,m=l.filter(a=>S(t,a,o,s).realConsumers.length<=1);return D(o,T(t,e,m,{semantic:!1,sourceFallback:!0}))}function U(t){let e=new Map;for(let n of t){let s=e.get(n.relativePath);s||(s=new Map,e.set(n.relativePath,s));let i=b(n.symbol);i&&s.set(i,n)}return e}function S(t,e,n,s){let r=[...n.get(e.symbolId)??new Set].filter(d=>d!==e.relativePath&&!t.isIgnored(d)),{realConsumers:l,barrelConsumers:o,importOnlyConsumers:m}=$(t,e,r),a=Y(t,e,n,s);return{definition:e,realConsumers:l,barrelConsumers:o+m,transitivelyReachable:a}}function V(t,e){let n=E(t,e.definition.relativePath,e.definition.startLine),s=P(e.definition.relativePath)?!0:ee(t,e.definition),{confidence:i,reason:r}=ne(e.realConsumers.length,n,s),l=z(e.realConsumers.length,n,s);return{symbol:e.definition.symbol,shortName:F(e.definition.symbol),file:e.definition.relativePath,startLine:e.definition.startLine,endLine:e.definition.endLine,loc:g(e.definition),consumers:e.realConsumers.length,barrelConsumers:e.barrelConsumers,kind:n,definerUsesType:s,confidence:i,reason:r,actionTier:l.actionTier,stalenessKind:l.stalenessKind,recommendation:l.recommendation}}function z(t,e,n){return t===0?{actionTier:"direct",stalenessKind:"unused-abstraction",recommendation:"Delete the abstraction or wire the missing consumer after checking public/package surfaces."}:e==="class"?{actionTier:"signal",stalenessKind:"one-to-one-class-encapsulation",recommendation:"Treat as weak signal: a one-consumer class may be intentional encapsulation, so inline only after reviewing ownership and state boundaries."}:n?{actionTier:"signal",stalenessKind:"single-consumer-abstraction",recommendation:"Review whether this single-consumer abstraction earns its name or should be folded into the owning feature."}:{actionTier:"signal",stalenessKind:"misplaced-single-consumer-type",recommendation:"Review moving or co-locating the type with its only real consumer; keep it here only if this file owns the public contract."}}function H(t,e,n,s,i){let r=_(t,Z(n),s),l=r.map(a=>a.singleton);if(r.length===0)return new Set;let o=L(v(t,e).forDefinitions(l,{semantic:i.semantic,sourceFallback:!0})),m=new Set;for(let{singleton:a,classId:d}of r)G(t,a,o)&&m.add(d);return m}function Z(t){let e=new Map;for(let n of t){let s=b(n.symbol);s&&e.set(N(n.relativePath,s),n)}return e}function _(t,e,n){let s=[];for(let i of n){let r=q(t,e,i);r&&s.push({singleton:r,classId:i.symbolId})}return s}function q(t,e,n){if(E(t,n.relativePath,n.startLine)!=="class")return null;let s=b(n.symbol);if(!s)return null;let i=J(t,n.relativePath,s);return i?e.get(N(n.relativePath,i))??null:null}function G(t,e,n){let s=b(e.symbol),i=n.get(e.symbolId);return!s||!i?!1:[...i].some(r=>r!==e.relativePath&&!t.isIgnored(r)&&!B(t,r,s))}function N(t,e){return`${t}\0${e}`}function J(t,e,n){let s=C(t,e);if(!s)return null;let i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\bexport\\s+const\\s+([A-Za-z_$][\\w$]*)\\s*=\\s*new\\s+${i}\\s*\\(`);return s.match(r)?.[1]??null}function Q(t,e){return new Set(t.scopedDefinitions(e).filter(n=>n.isFunctionLike).map(n=>n.relativePath))}function X(t){let e=k(t);if("kind"in e)return!1;let n=e.descriptors;if(n.length<2)return!1;let s=n[n.length-1],i=n[n.length-2];return s?.suffix==="type"&&i?.suffix==="type"}function P(t){let n=(t.split("/").pop()??"").replace(/\.[^.]+$/,"");return!!(n==="types"||n.endsWith("-types")||n==="models"||n==="schema"||n==="common"||n==="protocol"||n==="proto"||n==="dto"||n==="mod"||n==="contracts"||/(^|\/)types(\/|\.)/.test(t)||/(^|\/)models?(\/|\.)/.test(t)||/(^|\/)proto(?:col)?(\/|\.)/.test(t)||/(^|\/)schema(\/|\.)/.test(t)||/(^|\/)contracts?(\/|\.)/.test(t))}function j(t,e,n){return!(P(t.relativePath)&&e>0||e===0&&n.has(t.relativePath))}function Y(t,e,n,s){let i=w(t,e.relativePath),r=b(e.symbol);if(!r)return!1;let l=s.get(e.relativePath);if(!l)return!1;let o=[...i.get(r)??[]],m=new Set;for(;o.length>0;){let a=o.pop();if(m.has(a))continue;m.add(a);let d=l.get(a);if(!d)continue;let y=n.get(d.symbolId);if(y){for(let p of y)if(p!==e.relativePath&&!t.isIgnored(p))return!0}for(let p of i.get(a)??[])o.push(p)}return!1}function E(t,e,n){let s=C(t,e);if(!s)return"other";let i=s.split(`
2
+ `),r=Math.max(0,n-2),l=Math.min(i.length-1,n+2);for(let o=r;o<=l;o++){let a=(i[o]??"").replace(/^\s*\/\/.*$/g,"");if(/\b(?:export\s+)?(?:abstract\s+)?class\s+\w/.test(a))return"class";if(/\b(?:export\s+)?interface\s+\w/.test(a))return"interface";if(/\b(?:export\s+)?type\s+\w/.test(a))return"type";if(/\b(?:export\s+)?(?:const\s+)?enum\s+\w/.test(a))return"enum"}return"other"}function ee(t,e){let n=C(t,e.relativePath);if(!n)return!1;let s=b(e.symbol);if(!s)return!1;let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\b${i}\\b`),l=n.split(`
3
+ `);for(let o=0;o<l.length;o++)if(!(o>=e.startLine&&o<=e.endLine)&&r.test(l[o]??""))return!0;return!1}function ne(t,e,n){return t===0?{confidence:"high",reason:"unused \u2014 no consumers and defining file has no real usage"}:t===1&&e==="class"?{confidence:"low",reason:"1 consumer + class kind \u2014 likely 1:1 encapsulation, not over-abstraction"}:t===1&&!n?{confidence:"high",reason:"1 consumer + defining file never uses it \u2014 type belongs with its consumer"}:{confidence:"medium",reason:"1 consumer \u2014 single-use abstraction"}}export{me as a};
4
+ //# sourceMappingURL=chunk-RNKRYK6B.js.map
@@ -0,0 +1,29 @@
1
+ import{b as a}from"./chunk-OMVNRPST.js";import{d as l}from"./chunk-SRIZDEWX.js";import{c as o,f as i}from"./chunk-DRENNWRG.js";function _(e,t){let r=a(e,t);return r.length===0?[]:u([...c(e,r),...f(e,r)]).filter(s=>!e.isIgnored(s.relative_path)).map(d)}function R(e,t){let r=a(e,t);return r.length===0?[]:u(c(e,r)).filter(s=>!e.isIgnored(s.relative_path)).map(s=>({...d(s),basis:"external-reference"}))}function c(e,t){let r=t.map(()=>"?").join(", ");return e.all(`SELECT DISTINCT d1.relative_path, gs.symbol
2
+ FROM mentions m
3
+ JOIN chunks c ON m.chunk_id = c.id
4
+ JOIN documents d1 ON c.document_id = d1.id
5
+ JOIN global_symbols gs ON m.symbol_id = gs.id
6
+ WHERE d1.relative_path NOT IN (${r})
7
+ AND (
8
+ EXISTS (
9
+ SELECT 1
10
+ FROM defn_enclosing_ranges der
11
+ JOIN documents d2 ON der.document_id = d2.id
12
+ WHERE der.symbol_id = gs.id
13
+ AND d2.relative_path IN (${r})
14
+ )
15
+ OR EXISTS (
16
+ SELECT 1
17
+ FROM mentions def_m
18
+ JOIN chunks def_c ON def_m.chunk_id = def_c.id
19
+ JOIN documents d2 ON def_c.document_id = d2.id
20
+ WHERE def_m.symbol_id = gs.id
21
+ AND def_m.role = 1
22
+ AND d2.relative_path IN (${r})
23
+ )
24
+ )
25
+ AND m.role != 1
26
+ AND ${e.localSymbolPredicate}
27
+ ${e.pathExclusionsFor("d1")}
28
+ ORDER BY d1.relative_path`,...t,...t,...t)}function f(e,t){let r=new l(e);return t.flatMap(s=>r.definitionsForFile(s).filter(n=>i(n.symbol)).map(n=>({relative_path:s,symbol:n.symbol})))}function u(e){let t=new Set;return e.filter(r=>{let s=`${r.relative_path}|${r.symbol}`;return t.has(s)?!1:(t.add(s),!0)})}function d(e){return{consumer:e.relative_path,symbol:e.symbol,shortName:o(e.symbol)}}export{_ as a,R as b};
29
+ //# sourceMappingURL=chunk-RSUH7G5T.js.map
@@ -0,0 +1,5 @@
1
+ import{b as L}from"./chunk-GBZCVYWA.js";import{d as S}from"./chunk-CXT3GZSQ.js";import{a as h,b as T}from"./chunk-HW7FASEL.js";import{a as C}from"./chunk-DHEQMPLW.js";import{A as I,d as f,i as w,t as F}from"./chunk-7Z4GMCHM.js";import{l as v}from"./chunk-6LS3IG2I.js";import{I as x}from"./chunk-C7WSQA6A.js";import{B as g}from"./chunk-JSHDCVUM.js";function z(e,t,n){let r=[],o=[],s=new Map;for(let i of[...e].sort(n)){let l=i.channel??"default",d=t[l]??Number.MAX_SAFE_INTEGER,a=s.get(l)??0;if(a>=d){o.push(i);continue}r.push(i),s.set(l,a+1)}return{selected:r,omitted:o}}function k(e,t,n,r,o=!1){let s=[...e],i=[],l=new Set,d=0;for(;s.length>0&&i.length<t;){let a=s.filter(u=>d+u.evidenceCharacters<=n||o&&i.length===0);if(a.length===0)break;let c=a.filter(u=>u.roles.includes("location")||u.roles.includes("definition")).sort(r);a.sort((u,p)=>R(p,l)-R(u,l)||r(u,p));let m=c[0]??a[0];i.push(m),d+=m.evidenceCharacters;for(let u of P(m))l.add(u.key);s.splice(s.indexOf(m),1)}return{selected:i,omitted:s.sort(r)}}function R(e,t){let n=P(e).reduce((s,i)=>s+(t.has(i.key)?0:i.weight),0),r=Math.max(0,8-e.priority)*20,o=Math.min(500,Math.ceil(e.evidenceCharacters/160));return n+r-o}function P(e){return[...e.reasons.map(K),...e.roles.map(t=>({key:`role:${t}`,weight:$(t)})),{key:`file:${e.relativePath}`,weight:180},{key:`scope:${A(e.relativePath)}`,weight:120},{key:`kind:${e.fileKind}`,weight:40},...e.symbols.map(t=>({key:`symbol:${t}`,weight:100})),...e.behaviorSignals.map(t=>({key:`behavior:${t}`,weight:70}))]}function K(e){let t=e.indexOf(":"),n=t<0?e:e.slice(0,t);return n==="dependency"||n==="consumer"?{key:`reason:${n}`,weight:220}:{key:`reason:${e}`,weight:n==="location"||n==="definition"?1400:800}}function $(e){switch(e){case"location":return 1200;case"definition":return 1100;case"reference":return 600;case"caller":case"callee":return 550;case"dependency":case"consumer":return 500;case"search":return 400;default:return 300}}function A(e){let t=e.lastIndexOf("/");return t<0?e:e.slice(0,t)}var E=64,M=12;function te(e,t,n={}){if(t.length===0)return[];let r=n.context??6;if(!Number.isSafeInteger(r)||r<0)throw new RangeError(`context must be a non-negative safe integer; received ${r}`);let o=n.limit??12;if(!Number.isSafeInteger(o)||o<=0)throw new RangeError(`limit must be a positive safe integer; received ${o}`);let s=t.map(i=>{if(i.length===0)throw new Error("The source search pattern must not be empty.");return{pattern:i,regexp:n.regexp?C(i,"source search pattern",n.ignoreCase?"iu":"u"):null,literal:n.ignoreCase?i.toLocaleLowerCase():i,identities:[],fileCoverage:[],textByPath:new Map}});if(!n.regexp&&!n.ignoreCase){let i=s.map(d=>Buffer.from(d.pattern,"utf8")),l=S(e,{scope:n.scope,literalBytes:i.length===1?i[0]:i},(d,a)=>{let c=g(d.text);if(c.length!==0)for(let m of a){let u=s[m];u&&_(e,u,d,c,n)}});return s.map(d=>B(d,l,r,o,n))}return s.map(i=>{let l=S(e,{scope:n.scope},d=>{let a=g(d.text);a.length>0&&_(e,i,d,a,n)});return B(i,l,r,o,n)})}function _(e,t,n,r,o){let s=[];for(let a=0;a<r.length;a+=1){let c=r[a]??"",m=c.endsWith("\r")?c.slice(0,-1):c;(t.regexp?t.regexp.test(m):(o.ignoreCase?m.toLocaleLowerCase():m).includes(t.literal))&&s.push(a)}if(s.length===0)return;let i=n.relativePath;t.textByPath.set(i,n.text);let l=n.freshness.semantic.state!=="stale"&&n.freshness.semantic.basis!=="no-compiler-document"?F(e,i):[],d=v(e,i)?.callables??[];for(let a of s){let c=I(l,a),m=x(d,a),u=c&&!w(c.symbol)?c:null,p=u?.startLine??m?.startLine??c?.startLine??a,y=u?.endLine??m?.endLine??c?.endLine??a,b=L(e,i,a,p,y);t.identities.push({relativePath:i,focusLine:a,ownerSymbol:u?.symbol??null,ownerShort:u?f(u.symbol):m?.name??(c?f(c.symbol):null),ownerStartLine:b.startLine,ownerEndLine:b.endLine,fileKind:T(i),freshness:n.freshness})}t.fileCoverage.push({relativePath:i,matchingLines:s.length,returnedMatches:0,freshness:n.freshness})}function B(e,t,n,r,o){e.identities.sort(N);let s=e.identities.length>E?O(e.identities,E):e.identities,l=(r===Number.MAX_SAFE_INTEGER?e.identities:o.ranking?O(e.identities,r):e.identities.slice(0,r)).flatMap(c=>{let m=e.textByPath.get(c.relativePath),u=m===void 0?null:D(c.relativePath,m,c.focusLine,n);return u?[{...u,...c}]:[]}),d=new Map;for(let c of l)d.set(c.relativePath,(d.get(c.relativePath)??0)+1);for(let c of e.fileCoverage)c.returnedMatches=d.get(c.relativePath)??0;let a=H(e.fileCoverage);return{pattern:e.pattern,mode:o.regexp?"regexp":"literal",identities:e.identities,...s.length<e.identities.length?{identityManifest:s}:{},identityCoverage:{mode:s.length===e.identities.length?"complete":"bounded",returned:s.length,total:e.identities.length,omitted:e.identities.length-s.length},matches:l,matchingLines:e.identities.length,matchingFiles:e.fileCoverage.length,omittedMatches:Math.max(0,e.identities.length-l.length),fileCoverage:e.fileCoverage,scopeHints:a.slice(0,M),omittedScopeHints:Math.max(0,a.length-M),scannedFiles:t.scannedTextFiles,textCoverage:{basis:"current-project-text-files",candidateFiles:t.candidateFiles,scannedTextFiles:t.scannedTextFiles,scannedBytes:t.scannedBytes,skippedBinaryPaths:t.skippedBinaryPaths,skippedUnreadablePaths:t.skippedUnreadablePaths,skippedOversizedPaths:t.skippedOversizedPaths,semanticFiles:t.semanticFiles}}}function D(e,t,n,r){let o=t.split(`
2
+ `),s=t.endsWith(`
3
+ `)?o.length-1:o.length;if(n<0||n>=s)return null;let i=Math.max(0,n-r),l=Math.min(s-1,n+r);return{relativePath:e,startLine:i,endLine:l,focusLine:n,source:o.slice(i,l+1).join(`
4
+ `)}}function H(e){let t=new Map;for(let n of e){let r=j(n.relativePath),o=t.get(r)??{matchingLines:0,matchingFiles:0};o.matchingLines+=n.matchingLines,o.matchingFiles+=1,t.set(r,o)}return[...t.entries()].map(([n,r])=>({scope:n,...r})).sort((n,r)=>r.matchingLines-n.matchingLines||r.matchingFiles-n.matchingFiles||n.scope.localeCompare(r.scope))}function j(e){let t=e.lastIndexOf("/");return t<0?e:e.slice(0,t)}function O(e,t){let n=e.map((o,s)=>({...o,priority:h(o.fileKind),sequence:s,evidenceCharacters:1,roles:["search"],reasons:["search"],symbols:o.ownerSymbol?[o.ownerSymbol]:[],behaviorSignals:[]})),r=[];for(let o of[0,1,2]){let s=t-r.length;if(s===0)break;let i=n.filter(l=>h(l.fileKind)===o);r.push(...k(i,s,Number.MAX_SAFE_INTEGER,N).selected)}return r.map(({priority:o,sequence:s,evidenceCharacters:i,roles:l,reasons:d,symbols:a,behaviorSignals:c,...m})=>m)}function N(e,t){return h(e.fileKind)-h(t.fileKind)||+(t.ownerSymbol!==null)-+(e.ownerSymbol!==null)||e.relativePath.localeCompare(t.relativePath)||e.focusLine-t.focusLine}export{z as a,k as b,te as c};
5
+ //# sourceMappingURL=chunk-RZWBTKXO.js.map
@@ -0,0 +1,4 @@
1
+ import{a as y}from"./chunk-J4HUBIVF.js";import{a as v}from"./chunk-ZMS4YCY7.js";import{q as S}from"./chunk-5J3A6RBZ.js";import{a as b}from"./chunk-T2PBOVDI.js";import{M as p,N as g,g as d}from"./chunk-NP4JFCLE.js";import{c as u,d as f,g as m}from"./chunk-DRENNWRG.js";function q(e,t,i={}){let n=T(e,t,i);return{definitions:n.definitions,referencedBy:n.referencedBy.map(r=>({relativePath:r.relativePath,line:r.line,enclosingSymbol:r.enclosingSymbol,enclosingShort:r.enclosingShort}))}}function T(e,t,i={}){let n=R(e,t,i);return{definitions:n.definitions,referencedBy:n.referencedBy}}function R(e,t,i={}){let n=b(e,t);if(!n)return{definitions:[],referencedBy:[],referenceEvidence:[],claimSupport:null};let r=e.get("SELECT display_name, documentation FROM global_symbols WHERE id = ?",n.symbolId),c=g(r?.documentation??null),o=e.isIgnored(n.relativePath)?[]:[{relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine,signature:K(c,r?.display_name??null,n.symbol),source:B(e,n.relativePath,n.startLine,n.endLine)}],h=i.referenceContext??2,s=S(e,n,{semantic:i.semantic,semanticEvidence:v}).map(l=>{let a=y(e,l.file,l.line,h,f(n.symbol));return{relativePath:l.file,line:l.line,enclosingSymbol:l.enclosingSymbol,enclosingShort:l.enclosingSymbol?u(l.enclosingSymbol):"(top-level)",provenance:l.provenance,sourceStartLine:a?.startLine??null,sourceEndLine:a?.endLine??null,source:a?.source??null,sourceKind:a?.kind??"unavailable"}}),E=s.map(x);return{definitions:o,referencedBy:E,referenceEvidence:s.map(l=>({relativePath:l.relativePath,line:l.line,provenance:l.provenance,sourceKind:l.sourceKind})),claimSupport:P(s)}}function x(e){return{relativePath:e.relativePath,line:e.line,enclosingSymbol:e.enclosingSymbol,enclosingShort:e.enclosingShort,sourceStartLine:e.sourceStartLine,sourceEndLine:e.sourceEndLine,source:e.source}}function P(e){let t="resolved source-attributed or SCIP-indexed references to this exact symbol",i=["Dynamic dispatch, reflection, generated calls, and unindexed source are outside this scope."],n=e.filter(c=>c.sourceKind!=="complete-call-expression"&&c.sourceKind!=="non-call-reference"),r="direct, statically visible call expressions among the resolved reference sites";return{referenceAbsence:{status:"eligible",scope:t,limitations:i},callsitePredicates:n.length===0?{status:"eligible",scope:r,limitations:i}:{status:"ineligible",scope:r,reason:`${n.length} reference site(s) lack one unambiguous complete call expression.`,followup:L(n)}}}function L(e){let t=[...new Set(e.map(i=>`${i.relativePath}:${i.line+1}`))];return t.length===0||t.length>24?null:`scip-query inspect ${t.map(i=>`--at ${C(i)}`).join(" ")} --view behavior`}function C(e){return`'${e.replaceAll("'","'\\''")}'`}function B(e,t,i,n){let r=d(e,t);if(!r)return null;let o=r.split(`
2
+ `).slice(i,n+1).join(`
3
+ `).trimEnd();return o.length>0?o:null}function K(e,t,i){let n=p(e);if(n&&!A(n))return n;let r=(t??"").trim();return r?m(i)&&!r.endsWith("()")?`${r}()`:r:u(i)}function A(e){return e.startsWith("undefined")||e.includes("|")||e.includes("```")}export{q as a,T as b,R as c};
4
+ //# sourceMappingURL=chunk-SBFDPHKH.js.map
@@ -1,7 +1,7 @@
1
- import{a as j}from"./chunk-N5W4YZMK.js";import{a as N,b as g,c as R}from"./chunk-MV7OWDUX.js";import{a as _}from"./chunk-ZTETIQ35.js";import{b as C,c as P}from"./chunk-UJCOIXDY.js";import{a as E}from"./chunk-B75HZHUP.js";import{a as k}from"./chunk-BGBBVSH4.js";import{a as w}from"./chunk-7O5IKBTZ.js";import{d,e as y,k as v,z as L}from"./chunk-EKZTZXHZ.js";import{i as S}from"./chunk-UJPRPGCO.js";import{v as x}from"./chunk-WCCFZ7V7.js";import{basename as m,extname as b}from"path";function ae(t,n){let{scope:e,maxLoc:i=15,limit:a=30,scanLimit:o}=n??{},r=new P(t),s=z(r.fileDependencyGraph(e));return _({candidates:()=>B(t,r,e,i),orderCandidates:E,scanLimit:o,profile:{name:"wrapper-candidates"},prepare:l=>({callerFileMap:A(t,r,l,{semantic:n?.semantic!==!1}),reverseFanIn:s}),evaluate:(l,u)=>O(t,r,l,u),orderResults:(l,u)=>u.callerFanIn-l.callerFanIn||u.loc-l.loc,limit:a})}function A(t,n,e,i){let a=N(t,n),o=g(a.forDefinitions(e,{semantic:!1,sourceFallback:!1})),r=[];i.semantic&&x("wrapper.semantic-candidates",()=>{r=e.filter(c=>F(t,n,c,o).length<=1)},()=>({symbols:e.length,semanticCandidates:r.length}));let s=r.length===0?new Map:g(a.forDefinitions(r,{semantic:!0,sourceFallback:!1})),l=s.size===0?o:C(o,s),u=new Map(e.map(c=>[c.symbolId,c])),f=new Map;for(let c of e){let I=F(t,n,c,l);if(I.length>1||(f.set(c.symbolId,c),I.length!==1))continue;let D=I[0],M=T(t,c.symbolId,D);if(!M)continue;let p=W(n,t,D,c.symbol,M);p?.isFunctionLike&&u.has(p.symbolId)&&f.set(p.symbolId,u.get(p.symbolId))}let h=[...f.values()];return h.length===0?l:C(l,g(a.forDefinitions(h,{semantic:!1,sourceFallback:!0})))}function O(t,n,e,i){let a=F(t,n,e,i.callerFileMap);if(a.length!==1)return null;let o=a[0],r=T(t,e.symbolId,o);if(!r)return null;let s=W(n,t,o,e.symbol,r);if(s&&v(s.symbol))return null;let{fanIn:l,source:u}=J(i.callerFileMap,i.reverseFanIn,o,s);if(u==="function"?l<=3:l<=5)return null;let f=H(t,e,o,s);return{symbol:e.symbol,shortName:d(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:k(e),singleCaller:s?.symbol??"",singleCallerShort:s?.isFunctionLike?d(s.symbol):m(o),callerFanIn:l,actionTier:f.length>0?"signal":"direct",boundaryEvidence:f}}function B(t,n,e,i){return n.productionCallableDefinitions({scope:e,minLoc:2,maxLoc:i,requireFunctionLikeSymbol:!0,excludeRootedSymbols:!0,excludeRustTraitImplMembers:!0}).filter(a=>!S(t,a))}function F(t,n,e,i){let a=m(e.relativePath,b(e.relativePath)),o=[...i.get(e.symbolId)??[]].filter(r=>r!==e.relativePath).filter(r=>m(r,b(r))!==a).filter(r=>{let s=n.fileKind(r);return s!=="barrel"&&s!=="entry"&&s!=="test"});return R(t,e,o).realConsumers}function T(t,n,e){return t.get(`SELECT c.start_line, c.end_line
1
+ import{a as R}from"./chunk-WZ7V4BQV.js";import{a as j,b as g,c as N}from"./chunk-63TFRBMB.js";import{a as _}from"./chunk-5BJPJUXF.js";import{a as E}from"./chunk-BOJ5SVE2.js";import{b as C,c as P}from"./chunk-NODZYYGC.js";import{a as k}from"./chunk-BGBBVSH4.js";import{b as w}from"./chunk-B3AREUQK.js";import{A as L,d,e as y,k as v}from"./chunk-7Z4GMCHM.js";import{o as S}from"./chunk-6LS3IG2I.js";import{t as x}from"./chunk-JSHDCVUM.js";import{basename as m,extname as b}from"path";function ae(t,n){let{scope:e,maxLoc:i=15,limit:a=30,scanLimit:o}=n??{},r=new P(t),s=z(r.fileDependencyGraph(e));return _({candidates:()=>B(t,r,e,i),orderCandidates:E,scanLimit:o,profile:{name:"wrapper-candidates"},prepare:l=>({callerFileMap:A(t,r,l,{semantic:n?.semantic!==!1}),reverseFanIn:s}),evaluate:(l,u)=>O(t,r,l,u),orderResults:(l,u)=>u.callerFanIn-l.callerFanIn||u.loc-l.loc,limit:a})}function A(t,n,e,i){let a=j(t,n),o=g(a.forDefinitions(e,{semantic:!1,sourceFallback:!1})),r=[];i.semantic&&x("wrapper.semantic-candidates",()=>{r=e.filter(c=>F(t,n,c,o).length<=1)},()=>({symbols:e.length,semanticCandidates:r.length}));let s=r.length===0?new Map:g(a.forDefinitions(r,{semantic:!0,sourceFallback:!1})),l=s.size===0?o:C(o,s),u=new Map(e.map(c=>[c.symbolId,c])),f=new Map;for(let c of e){let I=F(t,n,c,l);if(I.length>1||(f.set(c.symbolId,c),I.length!==1))continue;let D=I[0],M=T(t,c.symbolId,D);if(!M)continue;let p=W(n,t,D,c.symbol,M);p?.isFunctionLike&&u.has(p.symbolId)&&f.set(p.symbolId,u.get(p.symbolId))}let h=[...f.values()];return h.length===0?l:C(l,g(a.forDefinitions(h,{semantic:!1,sourceFallback:!0})))}function O(t,n,e,i){let a=F(t,n,e,i.callerFileMap);if(a.length!==1)return null;let o=a[0],r=T(t,e.symbolId,o);if(!r)return null;let s=W(n,t,o,e.symbol,r);if(s&&v(s.symbol))return null;let{fanIn:l,source:u}=J(i.callerFileMap,i.reverseFanIn,o,s);if(u==="function"?l<=3:l<=5)return null;let f=H(t,e,o,s);return{symbol:e.symbol,shortName:d(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:k(e),singleCaller:s?.symbol??"",singleCallerShort:s?.isFunctionLike?d(s.symbol):m(o),callerFanIn:l,actionTier:f.length>0?"signal":"direct",boundaryEvidence:f}}function B(t,n,e,i){return n.productionCallableDefinitions({scope:e,minLoc:2,maxLoc:i,requireFunctionLikeSymbol:!0,excludeRootedSymbols:!0,excludeRustTraitImplMembers:!0}).filter(a=>!S(t,a))}function F(t,n,e,i){let a=m(e.relativePath,b(e.relativePath)),o=[...i.get(e.symbolId)??[]].filter(r=>r!==e.relativePath).filter(r=>m(r,b(r))!==a).filter(r=>{let s=n.fileKind(r);return s!=="barrel"&&s!=="entry"&&s!=="test"});return N(t,e,o).realConsumers}function T(t,n,e){return t.get(`SELECT c.start_line, c.end_line
2
2
  FROM mentions m
3
3
  JOIN chunks c ON m.chunk_id = c.id
4
4
  JOIN documents d ON c.document_id = d.id
5
5
  WHERE m.symbol_id = ? AND m.role != 1 AND d.relative_path = ?
6
- LIMIT 1`,n,e)}function W(t,n,e,i,a){let o=t.definitionsForFile(e),r=q(n,e,i,a.start_line,a.end_line);return L(o,r)}function J(t,n,e,i){if(i?.isFunctionLike){let a=[...t.get(i.symbolId)??[]].filter(o=>o!==i.relativePath);if(a.length>0)return{fanIn:a.length,source:"function"}}return{fanIn:G(n,e),source:"file"}}function q(t,n,e,i,a){let o=y(e);if(!o)return i;let r=w(t,n).get(o);if(!r||r.length===0)return i;for(let s of r)if(s>=i&&s<=a)return s;return i}function z(t){let n=new Map;for(let[e,i]of t){n.has(e)||n.set(e,n.get(e)??0);for(let a of i)n.set(a,(n.get(a)??0)+1)}return n}function G(t,n){let e=t.get(n)??0;if(e>0)return e;let i=m(n,b(n)),a=0;for(let[o,r]of t)o!==n&&m(o,b(o))===i&&r>a&&(a=r);return a}function H(t,n,e,i){return j(t,n.relativePath,n.startLine,"wrapper","explicit ignore-wrapper comment",[{label:"wrapper name",value:d(n.symbol)},{label:"caller name",value:i?.symbol?d(i.symbol):m(e)},{label:"wrapper path",value:n.relativePath},{label:"caller path",value:e}])}export{ae as a};
7
- //# sourceMappingURL=chunk-HX4GQPZP.js.map
6
+ LIMIT 1`,n,e)}function W(t,n,e,i,a){let o=t.definitionsForFile(e),r=q(n,e,i,a.start_line,a.end_line);return L(o,r)}function J(t,n,e,i){if(i?.isFunctionLike){let a=[...t.get(i.symbolId)??[]].filter(o=>o!==i.relativePath);if(a.length>0)return{fanIn:a.length,source:"function"}}return{fanIn:G(n,e),source:"file"}}function q(t,n,e,i,a){let o=y(e);if(!o)return i;let r=w(t,n).get(o);if(!r||r.length===0)return i;for(let s of r)if(s>=i&&s<=a)return s;return i}function z(t){let n=new Map;for(let[e,i]of t){n.has(e)||n.set(e,n.get(e)??0);for(let a of i)n.set(a,(n.get(a)??0)+1)}return n}function G(t,n){let e=t.get(n)??0;if(e>0)return e;let i=m(n,b(n)),a=0;for(let[o,r]of t)o!==n&&m(o,b(o))===i&&r>a&&(a=r);return a}function H(t,n,e,i){return R(t,n.relativePath,n.startLine,"wrapper","explicit ignore-wrapper comment",[{label:"wrapper name",value:d(n.symbol)},{label:"caller name",value:i?.symbol?d(i.symbol):m(e)},{label:"wrapper path",value:n.relativePath},{label:"caller path",value:e}])}export{ae as a};
7
+ //# sourceMappingURL=chunk-SGSPCEFC.js.map
@@ -0,0 +1,2 @@
1
+ import{b as A}from"./chunk-PRLU3I7G.js";import{d as fe,f as vt}from"./chunk-DXYMTQZ4.js";import{b as ye}from"./chunk-O4PZFAXA.js";import{a as ge,b as he,c as H,d as E}from"./chunk-NQXWWE6S.js";import{e as K}from"./chunk-HGFDYOVB.js";import{a as St,b as It,c as le,d as pe}from"./chunk-Z2KGMIL4.js";import{A as ke,E as Rt,F as Pt,H as Et,I as Gt,J as Ae,K as Le,N as Ce,P as Tt,Q as Dt,S as kt,a as v,b as Q,c as x,f as S,g as R,h as I,j as ht,k as W,l as bt,n as xt,o as wt,p as ue,ra as Oe,w as me,x as L,y as J}from"./chunk-XIPGCT3D.js";import{createHash as Br,randomUUID as zr}from"crypto";import{existsSync as V,mkdirSync as Wr,readdirSync as Hr,rmSync as Ct,statSync as Ot}from"fs";import{basename as Vr,dirname as Se,join as w}from"path";import{join as Fr}from"path";function jr(e,t){return e.reason instanceof Error?e.reason:new Error(t)}function Fi(e,t){if(e?.aborted)throw jr(e,t)}var _r=e=>{if(!e||typeof e!="object"||Array.isArray(e))return null;let t=e.pid;return typeof t=="number"&&Number.isSafeInteger(t)&&t>0?{pid:t}:null};function At(e,t={}){return C(Fr(e,"gc.lock"),t)}function C(e,t={}){let r=t.waitMs??0,n=t.pollMs??10,i=t.now??pe,o=i()+r;do{let a=qr(e,t.directoryDurability);if(a)return Nr(a);let s=o-i();if(s<=0)return null;$r(Math.min(n,s))}while(i()<=o);return null}function qr(e,t){let r=ye(e,{kind:"generic",parseLegacy:_r,...t?{directoryDurability:t}:{}});return r.kind==="acquired"?r.lock:null}function Nr(e){return{release:()=>{e.release()}}}function $r(e){let t=new Int32Array(new SharedArrayBuffer(Int32Array.BYTES_PER_ELEMENT));Atomics.wait(t,0,0,e)}var F=1,_e=1,Z=".scipquery-generations",Ie="manifest.json",Mt="readers",Ur="gc.lock",Yr=128,X=new Map,jt={pid:process.pid,now:()=>new Date,randomToken:()=>zr(),isProcessAlive:ge,readProcessIdentity:le};function h(e){return w(Se(e),Z)}function qe(e){return w(h(e),Ur)}function Zi(e,t=jt){let r=C(qe(e.dbPath),{waitMs:5e3,directoryDurability:"recoverable"});if(!r)throw new Error("SQLite generation retention is busy; retry opening the index.");let n;try{let i=Jr(e);if(i.source!=="immutable")return{generation:i,release(){}};let o=t.randomToken();if(!/^[A-Za-z0-9._-]+$/.test(o))throw new Error("SQLite generation reader token is unsafe.");let a=w(h(e.dbPath),Mt);Wr(a,{recursive:!0}),n=w(a,`${t.pid}-${o}.json`);let s=t.readProcessIdentity(t.pid);H(n,{version:1,token:o,generationIdentity:i.identity,pid:t.pid,...s?{processIdentity:s}:{},acquiredAt:t.now().toISOString()},{spacing:2,trailingNewline:!0});let c=!1;return{generation:i,release(){c||!n||(c=!0,Ct(n,{force:!0}))}}}finally{r.release()}}function Ft(e,t,r=jt,n={}){let i=w(h(e),Mt);if(!V(i))return{protectedGenerations:new Set,activeLeases:0,staleLeasesRemoved:0,malformedLeases:0};let o=new Set,a=0,s=0,c=0;for(let d of Hr(i,{withFileTypes:!0})){if(!d.isFile()||!d.name.endsWith(".json"))continue;let u=w(i,d.name),f;try{f=Qr(JSON.parse(I(u,"SQLite generation reader lease")))}catch{f=null}if(!f){c+=1;for(let m of t)o.add(m);continue}if(!Kr(f,r)){n.removeStale!==!1&&(Ct(u,{force:!0}),s+=1);continue}a+=1,o.add(f.generationIdentity)}return{protectedGenerations:o,activeLeases:a,staleLeasesRemoved:s,malformedLeases:c}}function Qr(e){if(!e||typeof e!="object"||Array.isArray(e))return null;let t=e,r=t.processIdentity===void 0?null:St(t.processIdentity);return t.version!==1||typeof t.token!="string"||t.token.trim()===""||typeof t.generationIdentity!="string"||!/^[a-f0-9]{64}$/.test(t.generationIdentity)||typeof t.pid!="number"||!Number.isSafeInteger(t.pid)||t.pid<=0||typeof t.acquiredAt!="string"||!Number.isFinite(Date.parse(t.acquiredAt))||t.processIdentity!==void 0&&(!r||r.pid!==t.pid)?null:{version:1,token:t.token,generationIdentity:t.generationIdentity,pid:t.pid,...r?{processIdentity:r}:{},acquiredAt:t.acquiredAt}}function Kr(e,t){if(!t.isProcessAlive(e.pid))return!1;if(!e.processIdentity)return!0;let r=t.readProcessIdentity(e.pid);return r===null||It(e.processIdentity,r)}function _(e){try{let t=JSON.parse(I(w(h(e),"state.json"),"SQLite generation state"));return tn(t)?t:null}catch{return null}}function ee(e,t){return te(h(e),t)}function te(e,t){try{let r=JSON.parse(I(w(e,t,Ie),"SQLite generation manifest"));return en(r,t)?r:null}catch{return null}}function Jr(e){let t=_(e.dbPath);if(t){let r=Xr(e,t.currentGeneration);if(r)return r;if(t.artifactSet==="immutable-v1")throw new Error(`Published SQLite generation ${t.currentGeneration} is missing or invalid.`)}if(V(w(Se(e.dbPath),"index.lock")))throw new Error("Legacy SQLite publication is in progress; retry after the reindex lock is released.");return Zr(e,t?.currentGeneration)}function eo(e){let t=_(e);if(t)return t.currentGeneration;try{let r=w(Se(e),"meta.json"),n=V(r)?I(r,"reindex metadata"):void 0;return _t(e,n)}catch{return null}}function O(e){return vt(fe(e))??e}function Xr(e,t){try{let r=w(h(e.dbPath),t),n=ee(e.dbPath,t);if(!n)return null;let i=Me(r,n.database),o=n.index?Me(r,n.index):void 0,a=n.metadata?Me(r,n.metadata):void 0;return!je(i,n.database)||n.index&&(!o||!je(o,n.index))||n.metadata&&(!a||!je(a,n.metadata))?null:{identity:t,databasePath:i,...o?{indexPath:o}:{},...a?{metadataPath:a,metadataRaw:I(a,"reindex metadata")}:{},source:"immutable"}}catch{return null}}function Zr(e,t){let r=q(e.dbPath),n=w(Se(e.dbPath),"meta.json"),i=V(n)?I(n,"reindex metadata"):void 0,o=V(e.indexPath)?e.indexPath:void 0;return{identity:t??_t(e.dbPath,i),databasePath:e.dbPath,...o?{indexPath:o}:{},...i===void 0?{}:{metadataPath:n,metadataRaw:i},source:"legacy",databaseFileIdentity:r}}function _t(e,t){let r=Br("sha256").update("sqlite-generation-legacy-v1\0");return t!==void 0&&r.update(O(t)),r.update(`\0${q(e)}`),r.digest("hex")}function q(e){let t=Ot(e);return`${t.dev}:${t.ino}:${t.size}:${t.mtimeMs}`}function Me(e,t){if(Vr(t.file)!==t.file||t.file==="."||t.file==="..")throw new Error("SQLite generation manifest contains an unsafe artifact path");return w(e,t.file)}function je(e,t){if(!V(e))return!1;let r=Lt(e);if(!r||r.size!==t.size)return!1;let n=`${e}\0${t.sha256}\0${r.identity}`;if(X.has(n))return!0;let i=W(e,{inputKind:"immutable SQLite generation artifact",maxBytes:t.size}),o=Lt(e);if(!o||o.identity!==r.identity||i!==t.sha256)return!1;for(X.set(n,!0);X.size>Yr;){let a=X.keys().next().value;if(a===void 0)break;X.delete(a)}return!0}function Lt(e){let t=Ot(e,{bigint:!0});return t.isFile()?{identity:`${t.dev}:${t.ino}:${t.size}:${t.mtimeNs}:${t.ctimeNs}`,size:Number(t.size)}:null}function en(e,t){return e.version===_e&&e.identity===t&&Fe(e.database)&&(e.index===void 0||Fe(e.index))&&(e.metadata===void 0||Fe(e.metadata))}function Fe(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.file=="string"&&!!t.file&&Number.isSafeInteger(t.size)&&(t.size??-1)>=0&&typeof t.sha256=="string"&&/^[a-f0-9]{64}$/.test(t.sha256)}function tn(e){return e.version===F&&typeof e.currentGeneration=="string"&&!!e.currentGeneration&&typeof e.publishedAt=="string"&&Number.isFinite(Date.parse(e.publishedAt))&&(e.artifactSet===void 0||e.artifactSet==="immutable-v1")&&rn(e.stableMirrors)&&nn(e.previousGeneration)&&on(e.publication)}function rn(e){if(e===void 0)return!0;if(!e||typeof e!="object")return!1;let t=e;return typeof t.databaseFileIdentity=="string"&&!!t.databaseFileIdentity&&(t.indexFileIdentity===void 0||typeof t.indexFileIdentity=="string"&&!!t.indexFileIdentity)}function nn(e){if(e===void 0)return!0;if(!e||typeof e!="object")return!1;let t=e;return typeof t.generationIdentity=="string"&&!!t.generationIdentity&&typeof t.databasePath=="string"&&!!t.databasePath&&(t.metadataPath===void 0||typeof t.metadataPath=="string"&&!!t.metadataPath)}function on(e){if(e===void 0)return!0;if(!e||typeof e!="object")return!1;let t=e,r=[t.converterDurationMs,t.affectedDocumentCount,t.changedDocumentCount,t.producerDurationMs,t.materializationDurationMs,t.patchDurationMs].filter(n=>n!==void 0);return(t.mode==="incremental"||t.mode==="full")&&t.validation==="passed"&&t.converterDurationMs!==void 0&&r.every(n=>typeof n=="number"&&Number.isFinite(n)&&n>=0)&&(t.scipCompanion===void 0||t.scipCompanion==="current"||t.scipCompanion==="deferred")&&(t.typescriptOverlayGeneration===void 0||typeof t.typescriptOverlayGeneration=="string"&&!!t.typescriptOverlayGeneration)&&(t.scipCompanion!=="deferred"||!!t.typescriptOverlayGeneration)&&(t.fallbackReason===void 0||typeof t.fallbackReason=="string")}import{execFileSync as an}from"child_process";import{existsSync as sn,readdirSync as qt}from"fs";import{extname as Nt,join as $t}from"path";var Bt=new Set([".git",".hg",".svn",".idea",".vscode","node_modules","vendor","dist","build","target","bin","obj",".dart_tool",".gradle",".next",".venv","venv","__pycache__"]),cn=[{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 ao(e){let t=[],r=dn(e),n=pn(e);for(let i of cn){if(ln(e,i.files)){t.push(i.language);continue}if(un(r,i.globs)){t.push(i.language);continue}gn(n,i.extensions)&&t.push(i.language)}if(t.includes("typescript")&&Ne(t,"javascript"),t.includes("cpp")&&t.includes("c")){let i=n.has(".c"),o=[".cc",".cpp",".cxx"].some(a=>n.has(a));i&&!o?Ne(t,"cpp"):i||Ne(t,"c")}return t}function dn(e){try{return qt(e)}catch{return[]}}function ln(e,t){return t?.length?t.some(r=>sn($t(e,r))):!1}function un(e,t){return t?.length?e.some(r=>t.some(n=>fn(r,n))):!1}function fn(e,t){if(t==="*")return!0;if(!t.includes("*"))return e===t;let[r,n]=t.split("*");return e.startsWith(r??"")&&e.endsWith(n??"")}function pn(e){let t=mn(e);if(t)return t;let r=new Set,n=[e];for(;n.length>0;){let i=n.pop();if(!i)continue;let o;try{o=qt(i,{withFileTypes:!0})}catch{continue}for(let a of o){if(a.name.startsWith(".")&&!a.name.endsWith("proj")&&!a.name.endsWith("sln")&&a.isDirectory())continue;let s=$t(i,a.name);if(a.isDirectory()){Bt.has(a.name)||n.push(s);continue}let c=Nt(a.name).toLowerCase();c&&r.add(c)}}return r}function mn(e){try{let t=Tt(e,26214400,()=>an("git",["-C",e,"ls-files","-co","-v","-z","--exclude-standard","--","."],{encoding:"utf-8",maxBuffer:52428800,stdio:["ignore","pipe","ignore"],timeout:3e4,killSignal:"SIGKILL"})),r=new Set;for(let n of Dt(t)){if(n.split("/").some(o=>Bt.has(o)))continue;let i=Nt(n).toLowerCase();i&&r.add(i)}return r}catch{return null}}function gn(e,t){return t?.length?t.some(r=>e.has(r)):!1}function Ne(e,t){let r=e.indexOf(t);r!==-1&&e.splice(r,1)}import{writeFileSync as yn}from"fs";import{create as zt}from"@bufbuild/protobuf";import{deserializeSCIP as hn,DocumentSchema as Sn,IndexSchema as In,serializeSCIP as bn,SymbolRole as xn}from"@c4312/scip";function mo(e){let t;try{t=hn(S(e,{inputKind:"SCIP sanitization input",maxBytes:x}))}catch{return{removedDefinitionOccurrences:0,touchedDocuments:0}}let r=$e(t);return r.removedDefinitionOccurrences>0&&yn(e,bn(r.index)),{removedDefinitionOccurrences:r.removedDefinitionOccurrences,touchedDocuments:r.touchedDocuments}}function $e(e){let t=new Set;for(let o of e.documents){Rt(o.relativePath);for(let a of o.symbols)a.symbol&&t.add(a.symbol)}for(let o of e.externalSymbols)o.symbol&&t.add(o.symbol);let r=0,n=0,i=[];for(let o of e.documents){let a=o.occurrences.filter(s=>(s.symbolRoles&xn.Definition)===0||t.has(s.symbol)?!0:(r+=1,!1));if(a.length===o.occurrences.length){i.push(o);continue}n+=1,i.push(zt(Sn,{language:o.language,relativePath:o.relativePath,occurrences:a,symbols:o.symbols,text:o.text,positionEncoding:o.positionEncoding}))}return{index:r===0?e:zt(In,{metadata:e.metadata,documents:i,externalSymbols:e.externalSymbols}),removedDefinitionOccurrences:r,touchedDocuments:n}}import{writeFileSync as Be}from"fs";import{create as re}from"@bufbuild/protobuf";import{deserializeSCIP as ze,serializeSCIP as We,DocumentSchema as wn,IndexSchema as Wt,MetadataSchema as vn,SymbolInformationSchema as Rn}from"@c4312/scip";function Ht(e){if(e.length===0)throw new Error("Cannot merge zero SCIP indexes");if(e.length===1)return e[0];let t=En(e),r=Gn(e.flatMap(i=>i.documents??[])),n=Ut(e.flatMap(i=>i.externalSymbols??[]));return re(Wt,{metadata:t,documents:r,externalSymbols:n})}function wo(e,t){if(e.length===0)throw new Error("Cannot merge zero SCIP files");let r=e.map(i=>ze(S(i,{inputKind:"SCIP merge input",maxBytes:x}))),n=Ht(r);return Be(t,We(n)),{documentCount:n.documents.length,externalSymbolCount:n.externalSymbols.length,inputCount:e.length}}function vo(e,t){if(e.length===0)throw new Error("Cannot merge zero SCIP files");let r=K("reindex.publish.scip-output.deserialize",()=>e.map(o=>ze(S(o,{inputKind:"SCIP merge input",maxBytes:x})))),n=K("reindex.publish.scip-output.merge",()=>Ht(r)),i=K("reindex.publish.scip-output.sanitize",()=>$e(n));return K("reindex.publish.scip-output.serialize",()=>Be(t,We(i.index))),{documentCount:i.index.documents.length,externalSymbolCount:i.index.externalSymbols.length,inputCount:e.length,removedDefinitionOccurrences:i.removedDefinitionOccurrences,touchedDocuments:i.touchedDocuments}}function Pn(e,t,r){let n=e.metadata;if(!n)throw new Error("Cannot rebase a SCIP index without metadata");if(n.projectRoot!==t)throw new Error(`Cannot rebase SCIP project root: expected ${t}, got ${n.projectRoot}`);return re(Wt,{metadata:re(vn,{...n,projectRoot:r}),documents:e.documents,externalSymbols:e.externalSymbols})}function Vt(e,t,r){let n=ze(S(e,{inputKind:"SCIP normalization input",maxBytes:x})),i=Pn(n,t,r);Be(e,We(i))}function En(e){let t=e[0]?.metadata;if(!t)return;let r=t.projectRoot;for(let n of e.slice(1)){let i=n.metadata?.projectRoot;if(r&&i&&i!==r)throw new Error(`Cannot merge SCIP indexes with different project roots: ${r} vs ${i}`)}return t}function Gn(e){let t=new Map;for(let r of e){let n=t.get(r.relativePath);if(!n){t.set(r.relativePath,r);continue}t.set(r.relativePath,re(wn,{language:n.language||r.language,relativePath:n.relativePath||r.relativePath,occurrences:Tn([...n.occurrences,...r.occurrences]),symbols:Ut([...n.symbols,...r.symbols]),text:kn(n.text,r.text),positionEncoding:n.positionEncoding||r.positionEncoding}))}return[...t.values()]}function Tn(e){let t=new Set,r=[];for(let n of e){let i=JSON.stringify(n);t.has(i)||(t.add(i),r.push(n))}return r}function Ut(e){let t=new Map;for(let r of e){let n=t.get(r.symbol);if(!n){t.set(r.symbol,r);continue}t.set(r.symbol,re(Rn,{symbol:n.symbol,documentation:An([...n.documentation,...r.documentation]),relationships:Dn([...n.relationships,...r.relationships]),kind:n.kind||r.kind,displayName:n.displayName||r.displayName,enclosingSymbol:n.enclosingSymbol||r.enclosingSymbol,signatureDocumentation:n.signatureDocumentation??r.signatureDocumentation}))}return[...t.values()]}function Dn(e){let t=new Set,r=[];for(let n of e){let i=[n.symbol,n.isReference?"1":"0",n.isImplementation?"1":"0",n.isTypeDefinition?"1":"0",n.isDefinition?"1":"0"].join("|");t.has(i)||(t.add(i),r.push(n))}return r}function kn(e,t){return e?t?e.length>=t.length?e:t:e:t}function An(e){return[...new Set(e)]}import Ln from"better-sqlite3";var Cn=25,On=new Set(["typescript","javascript"]);function To(e,t,r){let n=null;try{n=new Ln(e,{readonly:!0,fileMustExist:!0});let i=new Set(n.prepare("SELECT relative_path FROM documents").pluck().all().map(ke)),o=Mn(t,r),a=new Set([...o.values()].flatMap(u=>[...u])),s=[...a].filter(u=>!i.has(u)).sort();if(s.length===0)return{state:"complete",expectedDocumentCount:a.size,actualDocumentCount:i.size};let c=new Set(s),d=r.filter(u=>[...o.get(u)??[]].some(f=>c.has(f)));return{state:"incomplete",expectedDocumentCount:a.size,actualDocumentCount:i.size,missingDocumentCount:s.length,missingPaths:s.slice(0,Cn),affectedLanguages:d}}catch(i){return{state:"unavailable",reason:i instanceof Error?i.message:String(i)}}finally{n?.close()}}function Mn(e,t){let r=new Map,n=t.filter(i=>On.has(i));for(let i of n)r.set(i,new Set);for(let i of e.files){let o=ke(i.path);for(let a of n)bt(o,[a])==="source"&&r.get(a).add(o)}return r}import{existsSync as Qt,readdirSync as Kt,rmSync as Jt}from"fs";import{join as U}from"path";import{create as Zt,fromBinary as er,toBinary as _o}from"@bufbuild/protobuf";import{deserializeSCIP as He,DocumentSchema as tr,IndexSchema as rr,serializeSCIP as nr}from"@c4312/scip";import{existsSync as jn,mkdirSync as Fn,renameSync as _n,writeFileSync as qn}from"fs";import{join as Nn}from"path";function Yt(e){Fn(e.blobDir,{recursive:!0});let t=Nn(e.blobDir,`${e.blobHash}.scipdoc`);if(jn(t)){let n=S(t,{maxBytes:Q,inputKind:e.inputKind});if(n.byteLength!==e.bytes.byteLength||A(n)!==e.blobHash)throw new Error(`existing ${e.inputKind} is corrupt: ${e.relativePath}`);return}let r=`${t}.${process.pid}.${Date.now()}.tmp`;qn(r,e.bytes),_n(r,t)}var Ve=1,ne="typescript-scip-fragments";function Bo(e){let t=new Set,r=[];for(let o of e){let a=be(o.relativePath);if(t.has(a))throw new Error(`duplicate TypeScript fragment replacement: ${a}`);if(t.add(a),o.bytes===null)throw new Error(`affected TypeScript mini index cannot contain a deleted document: ${a}`);let s=er(tr,o.bytes);if(s.relativePath!==a)throw new Error(`TypeScript fragment path mismatch: expected ${a}, got ${s.relativePath}`);r.push(s)}let n=nr(Zt(rr,{documents:r,externalSymbols:[]})),i=He(n);if(i.documents.length!==r.length||i.externalSymbols.length!==0)throw new Error("affected TypeScript SCIP index failed structural verification");return n}function $n(e){let t=U(e,ne);return{rootDir:t,blobDir:U(t,"blobs"),generationDir:U(t,"generations")}}function ir(e){let t=Bn(e);return zn(t.baseIndex,t.completeDocuments,"assembled")}function Bn(e){let t=He(e.baseIndexBytes);Un(t.metadata,Yn(e)),Vn(t.externalSymbols);let r=new Map;for(let s of e.fragments){let c=be(s.relativePath);if(r.has(c))throw new Error(`duplicate TypeScript fragment replacement: ${c}`);r.set(c,s)}if(r.size===0)throw new Error("TypeScript index assembly requires at least one replacement");let n=new Set,i=[],o=[],a=[];for(let s of t.documents){let c=be(s.relativePath);if(n.has(c))throw new Error(`duplicate TypeScript SCIP document path: ${c}`);n.add(c);let d=r.get(c);if(!d){i.push(s);continue}if(r.delete(c),d.bytes===null){a.push(c);continue}let u=Xt(c,d.bytes);i.push(u),o.push(u)}for(let s of[...r.keys()].sort()){let c=r.get(s);if(c.bytes===null)continue;if(n.has(s))throw new Error(`duplicate TypeScript SCIP document path: ${s}`);n.add(s);let d=Xt(s,c.bytes);i.push(d),o.push(d)}return{baseIndex:t,completeDocuments:i,affectedDocuments:o,deletedAffectedPaths:a}}function Xt(e,t){let r=er(tr,t);if(r.relativePath!==e)throw new Error(`TypeScript fragment path mismatch: expected ${e}, got ${r.relativePath}`);return r}function zn(e,t,r){let n=nr(Zt(rr,{metadata:e.metadata,documents:t,externalSymbols:[]})),i=He(n);if(i.documents.length!==t.length||i.externalSymbols.length!==0)throw new Error(`${r} TypeScript SCIP index failed structural verification`);return n}function zo(e,t){let r=$n(e);if(!Qt(r.generationDir))return;let n=new Set(t.map(a=>Hn(a))),i=Kt(r.generationDir).filter(a=>a.endsWith(".json")),o=new Set;for(let a of i.filter(s=>n.has(s))){let s=Wn(R(U(r.generationDir,a),{maxBytes:v,inputKind:"TypeScript fragment manifest"}));for(let c of s.documents)o.add(`${c.blobHash}.scipdoc`)}for(let a of i)n.has(a)||Jt(U(r.generationDir,a),{force:!0});if(Qt(r.blobDir))for(let a of Kt(r.blobDir))o.has(a)||Jt(U(r.blobDir,a),{force:!0})}function Wn(e){let t=JSON.parse(e);if(t.version!==Ve||typeof t.producerIdentity!="string"||typeof t.projectIdentity!="string"||typeof t.generationIdentity!="string"||typeof t.createdAt!="string"||!Number.isFinite(Date.parse(t.createdAt))||!Array.isArray(t.documents))throw new Error("invalid TypeScript fragment generation manifest");let r=new Set;for(let n of t.documents){if(!n||typeof n.relativePath!="string"||typeof n.blobHash!="string"||!/^[a-f0-9]{64}$/.test(n.blobHash)||typeof n.byteLength!="number"||!Number.isInteger(n.byteLength)||n.byteLength<0||typeof n.documentIdentity!="string"||!n.documentIdentity)throw new Error("invalid TypeScript fragment record");if(be(n.relativePath),r.has(n.relativePath))throw new Error("duplicate TypeScript fragment record");r.add(n.relativePath)}return t}function Hn(e){if(!e)throw new Error("TypeScript fragment generation identity must be non-empty");return`${A(e)}.json`}function Vn(e){if(e.length>0)throw new Error("scip-typescript emitted external symbols; incremental document assembly is unsupported")}function Un(e,t){if(!e||typeof e!="object")throw new Error("TypeScript SCIP shard has no producer metadata");let r=e,n=r.toolInfo??r.tool_info;if(!n||typeof n!="object")throw new Error("TypeScript SCIP shard has no producer tool identity");let i=n;if(i.name!=="scip-typescript"||i.version!==t)throw new Error("TypeScript SCIP shard producer identity changed")}function Yn(e){let t=e.packageVersion??e.runtime?.packageVersion;if(!t)throw new Error("scip-typescript package version is unavailable");return t}function be(e){if(!e||e.startsWith("/")||e.startsWith("\\")||e.includes("\\"))throw new Error(`invalid TypeScript SCIP document path: ${e}`);let t=e.split("/");if(t.includes("")||t.includes(".")||t.includes(".."))throw new Error(`invalid TypeScript SCIP document path: ${e}`);return e}import{existsSync as xe,readdirSync as Ue,rmSync as or}from"fs";import{join as G}from"path";var we=1,ie="typescript-scip-overlays",ar="typescript-project-v3:";function Xo(e){let t=cr(e.cacheDir,e.previousGenerationIdentity);if(!t&&!e.baseShardCurrent)throw new Error("deferred TypeScript SCIP base has no matching overlay generation");if(t?.producerIdentity!==void 0&&t.producerIdentity!==e.producerIdentity)throw new Error("TypeScript overlay producer identity changed");let r=e.allowLegacyProjectIdentityMigration===!0&&t!==null&&!t.projectIdentity.startsWith(ar)&&e.projectIdentity.startsWith(ar);if(t&&t.projectIdentity!==e.projectIdentity&&!e.allowProjectIdentityChange&&!r)throw new Error("TypeScript overlay project identity changed");let n=new Map((t?.overlays??[]).map(a=>[a.relativePath,a])),i=new Set;for(let a of e.fragments){let s=Ke(a.relativePath);if(i.has(s))throw new Error(`duplicate TypeScript overlay: ${s}`);i.add(s),n.set(s,Qn(e.cacheDir,a))}if(i.size===0)throw new Error("TypeScript overlay generation requires affected documents");let o={version:we,producerIdentity:e.producerIdentity,projectIdentity:e.projectIdentity,baseGenerationIdentity:t?.baseGenerationIdentity??e.previousGenerationIdentity,generationIdentity:e.nextGenerationIdentity,createdAt:(e.now??(()=>new Date))().toISOString(),overlays:[...n.values()].sort((a,s)=>a.relativePath.localeCompare(s.relativePath))};return Kn(e.cacheDir,o),o}function Zo(e){let t=cr(e.cacheDir,e.generationIdentity);if(!t)throw new Error("TypeScript overlay generation is unavailable");let r=t.overlays.map(n=>{if(n.blobHash===null)return{relativePath:n.relativePath,bytes:null,occurrences:0,symbols:0,referenceFragments:[]};let i=S(G(oe(e.cacheDir),"blobs",`${n.blobHash}.scipdoc`),{maxBytes:Q,inputKind:"TypeScript overlay blob"});if(i.byteLength!==n.byteLength||A(i)!==n.blobHash)throw new Error(`TypeScript overlay blob is corrupt: ${n.relativePath}`);return{relativePath:n.relativePath,bytes:i,occurrences:0,symbols:0,referenceFragments:[]}});return ir({packageVersion:e.packageVersion,baseIndexBytes:e.baseIndexBytes,fragments:r})}function ea(e,t){let r=oe(e),n=G(r,"generations");if(!xe(n))return;let i=new Set(t.map(Qe)),o=new Set;for(let s of Ue(n).filter(c=>i.has(c))){let c=Ye(R(G(n,s),{maxBytes:v,inputKind:"TypeScript overlay manifest"}));for(let d of c.overlays)d.blobHash&&o.add(`${d.blobHash}.scipdoc`)}for(let s of Ue(n))i.has(s)||or(G(n,s),{force:!0});let a=G(r,"blobs");if(xe(a))for(let s of Ue(a))o.has(s)||or(G(a,s),{force:!0})}function cr(e,t){let r=G(oe(e),"generations",Qe(t));if(!xe(r))return null;let n=Ye(R(r,{maxBytes:v,inputKind:"TypeScript overlay manifest"}));if(n.generationIdentity!==t)throw new Error("TypeScript overlay generation identity does not match its path");return n}function Qn(e,t){let r=Ke(t.relativePath);if(t.bytes===null)return{relativePath:r,blobHash:null,byteLength:0};let n=Buffer.from(t.bytes),i=A(n);return Yt({blobDir:G(oe(e),"blobs"),blobHash:i,bytes:n,relativePath:r,inputKind:"TypeScript overlay blob"}),{relativePath:r,blobHash:i,byteLength:n.byteLength}}function Kn(e,t){let r=G(oe(e),"generations",Qe(t.generationIdentity));if(xe(r)){let n=Ye(R(r,{maxBytes:v,inputKind:"TypeScript overlay manifest"}));if(sr(n)!==sr(t))throw new Error(`TypeScript overlay generation is immutable: ${t.generationIdentity}`);return}H(r,t,{spacing:2,trailingNewline:!0})}function Ye(e){let t=JSON.parse(e);if(t.version!==we||typeof t.producerIdentity!="string"||!t.producerIdentity||typeof t.projectIdentity!="string"||!t.projectIdentity||typeof t.baseGenerationIdentity!="string"||!t.baseGenerationIdentity||typeof t.generationIdentity!="string"||!t.generationIdentity||typeof t.createdAt!="string"||!Number.isFinite(Date.parse(t.createdAt))||!Array.isArray(t.overlays))throw new Error("invalid TypeScript overlay manifest");let r=new Set;for(let n of t.overlays){if(!n||typeof n.relativePath!="string"||n.blobHash!==null&&(typeof n.blobHash!="string"||!/^[a-f0-9]{64}$/.test(n.blobHash))||!Number.isInteger(n.byteLength)||n.byteLength<0||n.blobHash===null&&n.byteLength!==0)throw new Error("invalid TypeScript overlay record");if(Ke(n.relativePath),r.has(n.relativePath))throw new Error("duplicate TypeScript overlay record");r.add(n.relativePath)}return t}function oe(e){return G(e,ie)}function Qe(e){if(!e)throw new Error("TypeScript overlay generation identity must be non-empty");return`${A(e)}.json`}function sr(e){return A(JSON.stringify({version:e.version,producerIdentity:e.producerIdentity,projectIdentity:e.projectIdentity,baseGenerationIdentity:e.baseGenerationIdentity,generationIdentity:e.generationIdentity,overlays:e.overlays}))}function Ke(e){if(!e||e.startsWith("/")||e.includes("\\")||e.split("/").some(t=>!t||t==="."))throw new Error(`invalid TypeScript overlay path: ${e}`);if(e.split("/").includes(".."))throw new Error(`invalid TypeScript overlay path: ${e}`);return e}import{createHash as rt}from"crypto";import{closeSync as Jn,existsSync as g,mkdirSync as Xn,openSync as Zn,readSync as ei,readdirSync as nt,renameSync as et,rmSync as ae,statSync as N}from"fs";import{basename as it,dirname as T,join as p,relative as dr}from"path";var ti=Object.freeze({maxGenerations:2,maxLogicalBytes:2*1024*1024*1024});function ur(e){let t=h(e.outputDb),r=ai(e);e.onStage?.("after-recovery-retained");let n=e.preserveOutputScip?e.outputScip:e.tempOutputScip,i=si(e,r),o=at({generationRoot:t,databasePath:e.tempOutputDb,indexPath:g(n)?n:void 0,verifiedIndexArtifact:i,metadataPath:g(e.tempMetaPath)?e.tempMetaPath:void 0}),a=(e.now??(()=>new Date))().toISOString(),s={version:F,currentGeneration:o.identity,artifactSet:"immutable-v1",...r?{previousGeneration:r}:{},...e.publication?{publication:e.publication}:{},publishedAt:a},c=E(p(t,"state.json"),s,{spacing:2,trailingNewline:!0});e.onStage?.("after-pointer-handoff"),e.preserveOutputScip||Ze(e.tempOutputScip,e.outputScip),e.onStage?.("after-scip-handoff"),Ze(e.tempOutputDb,e.outputDb),e.onStage?.("after-database-handoff"),Ze(e.tempMetaPath,e.metaPath),e.onStage?.("after-metadata-handoff");let d=o.identity,u={...s,stableMirrors:ot(e.outputDb,e.outputScip)};E(p(t,"state.json"),u,{spacing:2,trailingNewline:!0});let f=fr(e.outputDb,{now:e.now}),m=J(o.directorySync,c.directorySync);return{currentGeneration:d,...r?{previousGeneration:r}:{},retention:f,achievedDurability:m==="synced"?"directory-durable":"file-flushed",directorySync:m}}function ri(e,t,r,n=()=>new Date){if(!g(e))return null;let i=_(e),o=p(h(e),"state.json");if(i?.artifactSet==="immutable-v1"&&ee(e,i.currentGeneration))return i;let a=h(e),s=!i&&g(o)?di(r,e,t):void 0;if(s&&!te(a,s))return null;let c=at({generationRoot:a,databasePath:e,indexPath:g(t)?t:void 0,metadataPath:g(r)?r:void 0,forcedIdentity:i?.currentGeneration??s}),d={version:F,currentGeneration:c.identity,artifactSet:"immutable-v1",stableMirrors:ot(e,t),...i?.previousGeneration?{previousGeneration:i.previousGeneration}:{},...i?.publication?{publication:i.publication}:{},publishedAt:i?.publishedAt??n().toISOString()};return E(p(a,"state.json"),d,{spacing:2,trailingNewline:!0}),d}function fa(e,t,r=()=>new Date){if(!g(e)||!g(t))throw new Error("metadata-only generation refresh requires stable database and metadata files");let n=_(e),i=h(e),o=at({generationRoot:i,databasePath:e,indexPath:g(p(T(e),"index.scip"))?p(T(e),"index.scip"):void 0,metadataPath:t}),a=n&&n.currentGeneration!==o.identity?mr(e,n.currentGeneration):void 0,s={version:F,currentGeneration:o.identity,artifactSet:"immutable-v1",stableMirrors:ot(e,p(T(e),"index.scip")),...a?{previousGeneration:a}:{},...n?.publication?{publication:n.publication}:{},publishedAt:r().toISOString()};return E(p(h(e),"state.json"),s,{spacing:2,trailingNewline:!0}),fr(e,{now:r}),s}function fr(e,t={}){let r=ni(t.limits),i=(t.now??(()=>new Date))().toISOString(),o=C(qe(e),{waitMs:0});if(!o)return{state:"deferred",generationCount:0,logicalBytes:0,protectedGenerations:0,activeReaderLeases:0,staleReaderLeasesRemoved:0,malformedReaderLeases:0,removedGenerations:0,removedLogicalBytes:0,limits:r,at:i,reason:"another process owns local generation retention"};try{let a=_(e),s=ii(e),c=Ft(e,s.map(b=>b.identity),{isProcessAlive:t.isProcessAlive??ge,readProcessIdentity:t.readProcessIdentity??le}),d=new Set(c.protectedGenerations);a?.currentGeneration&&d.add(a.currentGeneration),a?.previousGeneration?.generationIdentity&&d.add(a.previousGeneration.generationIdentity);let u=s.length,f=s.reduce((b,De)=>b+De.logicalBytes,0),m=0,P=0;for(let b of s){if(u<=r.maxGenerations&&f<=r.maxLogicalBytes)break;d.has(b.identity)||(t.onBeforeRemove?.(b.identity),ae(b.path,{recursive:!0,force:!0}),u-=1,f-=b.logicalBytes,m+=1,P+=b.logicalBytes)}let y=u>r.maxGenerations||f>r.maxLogicalBytes,k={state:y?"protected":m>0?"collected":"within-bounds",generationCount:u,logicalBytes:f,protectedGenerations:d.size,activeReaderLeases:c.activeLeases,staleReaderLeasesRemoved:c.staleLeasesRemoved,malformedReaderLeases:c.malformedLeases,removedGenerations:m,removedLogicalBytes:P,limits:r,at:i,...y?{reason:c.malformedLeases>0?"malformed reader ownership evidence fails closed":"retention bounds cannot be met without deleting a protected generation"}:{}};return lr(e,k),k}catch(a){let s={state:"error",generationCount:0,logicalBytes:0,protectedGenerations:0,activeReaderLeases:0,staleReaderLeasesRemoved:0,malformedReaderLeases:0,removedGenerations:0,removedLogicalBytes:0,limits:r,at:i,reason:a instanceof Error?a.message:String(a)};try{lr(e,s)}catch{}return s}finally{o.release()}}function ni(e={}){let t={...ti,...e};if(!Number.isSafeInteger(t.maxGenerations)||t.maxGenerations<2)throw new Error("Local SQLite generation retention must keep at least current and previous generations.");if(!Number.isSafeInteger(t.maxLogicalBytes)||t.maxLogicalBytes<=0)throw new Error("Local SQLite generation byte retention must be a positive safe integer.");return t}function ii(e){let t=h(e);return g(t)?nt(t,{withFileTypes:!0}).filter(r=>r.isDirectory()&&/^[a-f0-9]{64}$/.test(r.name)).map(r=>{let n=p(t,r.name),i=te(t,r.name),o=i?i.database.size+(i.index?.size??0)+(i.metadata?.size??0):pr(n);return{identity:r.name,path:n,logicalBytes:o,modifiedAtMs:N(n).mtimeMs}}).sort((r,n)=>r.modifiedAtMs-n.modifiedAtMs||r.identity.localeCompare(n.identity)):[]}function pr(e){let t=0;for(let r of nt(e,{withFileTypes:!0})){let n=p(e,r.name);r.isDirectory()?t+=pr(n):r.isFile()&&(t+=N(n).size)}return t}function lr(e,t){H(p(h(e),"gc.json"),t,{spacing:2,trailingNewline:!0})}function Re(e,t=p(T(e),"meta.json")){let r=p(h(e),"state.json");if(!g(r))return{state:"legacy",statePath:r};let n=_(e);if(!n)return{state:"invalid",statePath:r,reason:"generation state is malformed"};try{let i=ee(e,n.currentGeneration),o=i!==null,a=i?oi(e,t,i,n):!1,s=n.previousGeneration?g(p(T(e),n.previousGeneration.databasePath)):!0;return!a||!o||!s?{state:"drifted",statePath:r,currentMatches:a,recoveryExists:s,generation:n,reason:o?a?"retained recovery database is missing":"stable database or metadata no longer matches the published generation":"published immutable generation is missing"}:{state:"current",statePath:r,currentMatches:a,recoveryExists:s,generation:n}}catch(i){return{state:"drifted",statePath:r,currentMatches:!1,recoveryExists:!1,generation:n,reason:i instanceof Error?i.message:String(i)}}}function oi(e,t,r,n){if(n.stableMirrors&&(n.stableMirrors.databaseFileIdentity!==q(e)||n.stableMirrors.indexFileIdentity!==void 0&&n.stableMirrors.indexFileIdentity!==q(p(T(e),"index.scip")))||!tt(e,r.database))return!1;let i=p(T(e),"index.scip");if(r.index&&!tt(i,r.index))return!1;if(!r.metadata)return!g(t);if(!g(t))return!1;let o=p(h(e),r.identity,r.metadata.file);return g(o)&&O(I(t,"reindex metadata"))===O(I(o,"immutable reindex metadata"))}function tt(e,t){return g(e)&&N(e).isFile()&&N(e).size===t.size}function ai(e){let t=ri(e.outputDb,e.outputScip,e.metaPath);return t?mr(e.outputDb,t.currentGeneration):void 0}function si(e,t){if(!e.preserveOutputScip)return;if(!t)throw new Error("deferred SCIP publication requires an accepted immutable generation");let r=Re(e.outputDb,e.metaPath);if(r.state!=="current"||r.generation.currentGeneration!==t.generationIdentity){let i=r.state==="current"?"generation identity changed":"reason"in r?r.reason:`generation state is ${r.state}`;throw new Error(`deferred SCIP publication requires a verified accepted companion: ${i}`)}let n=ee(e.outputDb,t.generationIdentity);if(!n?.index||!tt(e.outputScip,n.index))throw new Error("deferred SCIP publication requires the verified accepted index artifact");return n.index}function ot(e,t){return{databaseFileIdentity:q(e),...g(t)?{indexFileIdentity:q(t)}:{}}}function mr(e,t){let r=p(h(e),t),n=p(r,it(e)),i=p(r,"meta.json");return{generationIdentity:t,databasePath:dr(T(e),n),...g(i)?{metadataPath:dr(T(e),i)}:{}}}function ci(e){if(g(e))for(let t of nt(e,{withFileTypes:!0}))t.isDirectory()&&t.name.endsWith(".tmp")&&ae(p(e,t.name),{recursive:!0,force:!0})}function di(e,t,r=p(T(t),"index.scip")){let n=rt("sha256").update("sqlite-generation-artifacts-v1\0");return n.update(ve(t)),g(r)&&n.update(`\0${ve(r)}`),g(e)&&n.update(`\0${O(I(e,"reindex metadata"))}`),n.digest("hex")}function at(e){let t=Je(e.databasePath),r=e.indexPath?e.verifiedIndexArtifact?ui(e.indexPath,e.verifiedIndexArtifact):Je(e.indexPath):void 0,n=e.metadataPath?Je(e.metadataPath):void 0,i=e.forcedIdentity??li(t,r,e.metadataPath),o=p(e.generationRoot,i),a=p(o,Ie);if(g(a)){let d=te(e.generationRoot,i);if(d&&gr(o,d.database,t)&&pi(o,d.index,r)&&mi(o,d.metadata,e.metadataPath))return{identity:i,directorySync:L(e.generationRoot)};throw new Error(`SQLite generation ${i} already exists with different or corrupt artifacts.`)}let s=[me(e.generationRoot)];ci(e.generationRoot);let c=`${o}.${process.pid}.${Date.now()}.tmp`;ae(c,{recursive:!0,force:!0}),Xn(c,{recursive:!0});try{s.push(Xe(e.databasePath,p(c,t.file))),r&&e.indexPath&&s.push(Xe(e.indexPath,p(c,r.file))),n&&e.metadataPath&&s.push(Xe(e.metadataPath,p(c,n.file)));let d=E(p(c,Ie),{version:_e,identity:i,database:t,...r?{index:r}:{},...n?{metadata:n}:{}},{spacing:2,trailingNewline:!0});d.directorySync!=="not-requested"&&s.push(d.directorySync),s.push(L(c)),et(c,o),s.push(L(e.generationRoot))}finally{ae(c,{recursive:!0,force:!0})}return{identity:i,directorySync:J(...s)}}function li(e,t,r){let n=rt("sha256").update("sqlite-generation-artifacts-v1\0");return n.update(e.sha256),t&&n.update(`\0${t.sha256}`),r&&n.update(`\0${O(I(r,"reindex metadata"))}`),n.digest("hex")}function Je(e){return{file:it(e),size:N(e).size,sha256:ve(e)}}function ui(e,t){if(t.file!==it(e)||N(e).size!==t.size)throw new Error(`verified SQLite generation artifact changed before publication: ${e}`);return t}function ve(e){let t=rt("sha256"),r=Zn(e,"r"),n=Buffer.allocUnsafe(1024*1024);try{for(;;){let i=fi(r,n);if(i===0)break;t.update(n.subarray(0,i))}}finally{Jn(r)}return t.digest("hex")}function fi(e,t){let r=0;for(;r<t.length;){let n=ei(e,t,r,t.length-r,null);if(r+=n,n===0)break}return r}function Xe(e,t){return he(e,t,{mode:292})}function gr(e,t,r){let n=p(e,t.file);return t.file===r.file&&t.size===r.size&&t.sha256===r.sha256&&g(n)&&N(n).size===t.size&&ve(n)===t.sha256}function pi(e,t,r){return!t||!r?t===r:gr(e,t,r)}function mi(e,t,r){if(!t||!r)return t===void 0&&r===void 0;let n=p(e,t.file);return g(n)&&O(I(n,"stored reindex metadata"))===O(I(r,"candidate reindex metadata"))}function Ze(e,t){ae(`${t}.tmp-replace`,{force:!0}),et(e,`${t}.tmp-replace`),et(`${t}.tmp-replace`,t)}import{createHash as Rr,randomUUID as xi}from"crypto";import{existsSync as j,lstatSync as dt,mkdirSync as Y,mkdtempSync as Pr,readdirSync as Er,realpathSync as Gr,renameSync as B,rmSync as M,statSync as Te}from"fs";import{dirname as lt,join as l,resolve as $}from"path";import{setTimeout as wi}from"timers/promises";import{pathToFileURL as Ir}from"url";import{deserializeSCIP as Tr}from"@c4312/scip";import vi from"better-sqlite3";import{lstatSync as gi,readdirSync as yi}from"fs";import{join as hi,relative as Si,resolve as st,sep as Ii}from"path";var se=1,ct="language-indexes",yr=["index.db","index.scip","meta.json"],hr=[ct,ne,ie];function Pe(e){let t=[];for(let r of yr)bi(e,r),t.push(r);for(let r of hr)Sr(e,r,t);return{version:se,files:t.sort()}}function Ee(e){if(!e||e.includes("\0")||e.startsWith("/")||e.includes("\\"))throw new Error(`invalid index artifact path: ${e||"<empty>"}`);let t=e.split("/");if(t.some(n=>!n||n==="."||n===".."))throw new Error(`invalid index artifact path: ${e}`);let r=t[0];if(!yr.includes(e)&&!hr.includes(r))throw new Error(`index artifact path is not shareable: ${e}`);return e}function D(e,t){let r=Ee(t),n=st(e),i=st(n,...r.split("/"));if(i!==n&&!i.startsWith(`${n}${Ii}`))throw new Error(`index artifact escapes cache: ${t}`);return i}function Sr(e,t,r){let n=hi(e,t),i;try{i=yi(n,{withFileTypes:!0,encoding:"utf8"})}catch{return}for(let o of i){let a=`${t}/${o.name}`;if(o.isSymbolicLink())throw new Error(`index artifact cannot be a symlink: ${a}`);o.isDirectory()?Sr(e,a,r):o.isFile()&&r.push(Ee(a))}}function bi(e,t){let r=D(e,t),n;try{n=gi(r)}catch{throw new Error(`required index artifact is missing: ${t}`)}if(!n.isFile()||n.isSymbolicLink())throw new Error(`required index artifact is not a regular file: ${t}`);if(Si(st(e),r).startsWith(".."))throw new Error(`index artifact escapes cache: ${t}`)}var ut=1,br="SCIP_QUERY_SHARED_CACHE",Ri=2,Ge=JSON.stringify({cliVersion:Pt,artifactCatalogVersion:se,postIndexAugmentationSchemaVersion:Ri,sqliteGenerationStoreVersion:F,typescriptFragmentStoreVersion:Ve,typescriptOverlayStoreVersion:we}),ft="manifest.json",Dr="shared-cache.json";var pt=[ct,ne,ie];function Pi(e,t){if(!e.clean||!e.treeOid)return;let r=Mr(JSON.stringify({version:ut,repositoryId:e.repositoryId,treeOid:e.treeOid,fingerprint:wt(t),producerIdentity:Ge}));return{repositoryId:e.repositoryId,worktreeId:e.worktreeId,projectRoot:e.projectRoot,treeOid:e.treeOid,fingerprint:t,producerIdentity:Ge,generationId:r,repositoryCacheDir:Ae(e.repositoryId)}}function Ha(e,t,r){if(!ji(r))return!1;let n=Pi(e,r);if(!n)return!1;try{let i=Ai(t);if(!i||i.repositoryId!==e.repositoryId||i.worktreeId!==e.worktreeId)return!1;let o=JSON.parse(R(l(n.repositoryCacheDir,"worktrees",`${i.worktreeId}.json`),{inputKind:"worktree cache lease",maxBytes:v}));return o.version!==1||o.repositoryId!==i.repositoryId||o.worktreeId!==i.worktreeId||$(o.projectRoot)!==$(e.projectRoot)||o.treeOid!==e.treeOid||$(o.localCacheDir)!==$(t)||o.ownershipChecksum!==mt(o)||o.baseGenerationId!==n.generationId||o.activeGenerationId!==n.generationId?!1:z(n,!1)!==null}catch{return!1}}function Va(e,t,r){if(process.env[br]==="0")return`${br}=0`;if(!Le(r))return"explicit cache or database override";if(Ce(lt(t))!==Ce(Gt(e))||t!==l(lt(t),"index.db"))return"index database is outside the managed worktree cache"}function Ua(e,t,r){if(!Le(t))return;let n=r??kt(e);return n?l(Ae(n.repositoryId),"evidence.db"):void 0}function z(e,t=!0){let r=gt(e),n;try{n=kr(R(l(r,ft),{inputKind:"shared-generation manifest",maxBytes:v}))}catch{return null}if(n.generationId!==e.generationId||n.repositoryId!==e.repositoryId||n.treeOid!==e.treeOid||n.producerIdentity!==e.producerIdentity||!ue(n.fingerprint,e.fingerprint)||!Di(r))return null;if(!t)return n;try{for(let i of n.artifacts){let o=D(r,i.path),a=Te(o);if(!a.isFile()||a.size!==i.size||W(o,{inputKind:"shared-generation artifact",maxBytes:x})!==i.sha256)return null}}catch{return null}return n}function Ya(e,t,r,n){if(!e.treeOid)return null;let i=Oe(t,r),o=l(Et(),"repositories",e.repositoryId),a;try{let d=dt(o);if(!d.isDirectory()||d.isSymbolicLink())return null;a=Gr(o)}catch{return null}let s=l(a,"generations"),c=[];try{for(let d of Er(s)){if(!/^[a-f0-9]{64}$/.test(d))continue;let u=l(s,d),f;try{f=dt(u)}catch{continue}if(!(!f.isDirectory()||f.isSymbolicLink()))try{let m=kr(R(l(u,ft),{inputKind:"shared-generation baseline manifest",maxBytes:v}));m.generationId===d&&m.repositoryId===e.repositoryId&&m.producerIdentity===Ge&&ki(m.fingerprint,i)&&c.push(m)}catch{continue}}}catch{return null}c.sort((d,u)=>{let f=d.treeOid===e.treeOid?0:1,m=u.treeOid===e.treeOid?0:1;if(f!==m)return f-m;if(n){let y=vr(d.fingerprint,n)-vr(u.fingerprint,n);if(y!==0)return y}return Date.parse(u.createdAt)-Date.parse(d.createdAt)||d.generationId.localeCompare(u.generationId)});for(let d of c){let u={repositoryId:e.repositoryId,worktreeId:e.worktreeId,projectRoot:e.projectRoot,treeOid:d.treeOid,fingerprint:d.fingerprint,producerIdentity:d.producerIdentity,generationId:d.generationId,repositoryCacheDir:a},f=z(u);if(f)return{snapshot:u,manifest:f}}return null}function Qa(e){let t=C(l(e.snapshot.repositoryCacheDir,"locks",`${e.snapshot.generationId}.publish.lock`));if(!t)throw new Error(`shared generation publication is already in progress for ${e.snapshot.generationId}`);try{return Ei(e)}finally{t.release()}}function Ei(e){let t=z(e.snapshot);if(t)return xr(e.snapshot,t);if(!Or(e.sourceCacheDir,e.sourceProjectRoot,e.snapshot.fingerprint))throw new Error("source index is incomplete, incompatible, or corrupt");let r=wr(e.sourceCacheDir);if(!r)throw new Error("source index artifacts are incomplete");let n=Pe(e.sourceCacheDir),i=l(e.snapshot.repositoryCacheDir,"generations"),o=[me(i)],a=Pr(l(i,`.tmp-${process.pid}-`));try{let s=[];for(let y of n.files){let k=D(e.sourceCacheDir,y),b=D(a,y);o.push(de(k,b,292)),e.onPublicationStage?.("after-artifact-flushed",y);let De=Te(b).size;s.push({path:y,size:De,sha256:W(b,{inputKind:"staged shared-generation artifact",maxBytes:x})})}let c=Tr(S(l(a,"index.scip"),{inputKind:"staged shared SCIP index",maxBytes:x})).metadata?.projectRoot;if(!c)throw new Error("shared SCIP generation has no project root metadata");let d=yt(e.sourceProjectRoot);if(c!==d)throw new Error("shared SCIP generation root does not match its source worktree");if(wr(e.sourceCacheDir)!==r||e.sourceStillValid&&!e.sourceStillValid())throw new Error("source index changed while staging a shared generation");let u={version:ut,artifactCatalogVersion:se,generationId:e.snapshot.generationId,repositoryId:e.snapshot.repositoryId,treeOid:e.snapshot.treeOid,fingerprint:e.snapshot.fingerprint,producerIdentity:e.snapshot.producerIdentity,sourceProjectRoot:e.sourceProjectRoot,scipProjectRoot:c,createdAt:(e.now??(()=>new Date))().toISOString(),artifacts:s.sort((y,k)=>y.path.localeCompare(k.path))},f=E(l(a,ft),u,{spacing:2,trailingNewline:!0});f.directorySync!=="not-requested"&&o.push(f.directorySync),e.onPublicationStage?.("after-manifest-flushed"),o.push(L(a)),e.onPublicationStage?.("after-staging-directory-synced");let m=gt(e.snapshot);try{if(j(m)&&!z(e.snapshot)){let y=`${m}.corrupt-${process.pid}-${Date.now()}`;B(m,y),M(y,{recursive:!0,force:!0})}B(a,m)}catch(y){let k=z(e.snapshot);if(k)return xr(e.snapshot,k);throw y}e.onPublicationStage?.("after-generation-renamed"),o.push(L(i)),e.onPublicationStage?.("after-generations-directory-synced");let P=J(...o);return{kind:"published",manifest:u,achievedDurability:P==="synced"?"directory-durable":"file-flushed",directorySync:P}}finally{M(a,{recursive:!0,force:!0})}}function xr(e,t){let r=L(l(e.repositoryCacheDir,"generations"));return{kind:"existing",manifest:t,achievedDurability:r==="synced"?"directory-durable":"file-flushed",directorySync:r}}function Ka(e){let t=gt(e.snapshot);Y(e.targetCacheDir,{recursive:!0});let r=C(l(e.targetCacheDir,"cache-lifecycle.lock"),{waitMs:e.lockWaitMs??3e4});if(!r)throw new Error("timed out waiting for another cache hydration");let n,i,o=!1;try{n=Pr(l(e.targetCacheDir,".shared-hydrate-")),Mi(e.manifest,e.snapshot);for(let c of e.manifest.artifacts){let d=D(t,c.path),u=D(n,c.path);if(de(d,u),Te(u).size!==c.size||W(u,{inputKind:"hydrated shared-generation artifact",maxBytes:x})!==c.sha256)throw new Error(`shared artifact is corrupt: ${c.path}`)}let a=yt(e.targetProjectRoot);if(a!==e.manifest.scipProjectRoot)for(let c of e.manifest.artifacts)c.path.endsWith(".scip")&&Vt(D(n,c.path),e.manifest.scipProjectRoot,a);if(!Or(n,e.targetProjectRoot,e.snapshot.fingerprint,!1))throw new Error("staged shared generation failed completeness or integrity validation");i=Li(e.targetCacheDir,n),o=!0,Ci(n,e.targetCacheDir,i),ur({tempOutputScip:l(n,"index.scip"),tempOutputDb:l(n,"index.db"),tempMetaPath:l(n,"meta.json"),outputScip:l(e.targetCacheDir,"index.scip"),outputDb:l(e.targetCacheDir,"index.db"),metaPath:l(e.targetCacheDir,"meta.json"),now:e.now});let s=Re(l(e.targetCacheDir,"index.db"),l(e.targetCacheDir,"meta.json"));if(s.state==="invalid"||s.state==="drifted")throw new Error(`hydrated SQLite generation failed validation: ${s.reason}`);e.persistLease!==!1&&Gi(e.snapshot,e.targetCacheDir,e.action??"attached",e.now)}catch(a){throw o&&i&&Oi(e.targetCacheDir,i),a}finally{n&&M(n,{recursive:!0,force:!0}),r.release()}}async function Ja(e,t={}){let r=t.timeoutMs??3e4,n=t.pollMs??100,i=t.now??pe,o=i()+r,a=l(e.repositoryCacheDir,"locks"),s=l(a,`${e.generationId}.lock`),c=d=>{if(!d||typeof d!="object"||Array.isArray(d))return null;let u=d.pid;return typeof u=="number"&&Number.isSafeInteger(u)&&u>0?{pid:u}:null};for(;i()<=o;){if(z(e))return{kind:"generation-ready"};let d=ye(s,{kind:"shared-generation-build",detail:{generationId:e.generationId},parseLegacy:c});if(d.kind==="acquired")return{kind:"owner",release:()=>d.lock.release()};let u=o-i();if(u<=0)break;await wi(Math.min(n,u))}return z(e)?{kind:"generation-ready"}:{kind:"timeout"}}function Gi(e,t,r,n=void 0){let i={version:1,repositoryId:e.repositoryId,worktreeId:e.worktreeId,projectRoot:e.projectRoot,treeOid:e.treeOid,localCacheDir:t,baseGenerationId:e.generationId,activeGenerationId:e.generationId,lastAction:r,lastSeenAt:(n??(()=>new Date))().toISOString()},o={...i,ownershipChecksum:mt(i)};return Lr(e.repositoryCacheDir,o,!0),o}function Xa(e,t,r=void 0){let n={version:1,repositoryId:e.repositoryId,worktreeId:e.worktreeId,projectRoot:e.projectRoot,treeOid:e.treeOid,localCacheDir:t,baseGenerationId:e.generationId,lastAction:"overlay",lastReason:`private cache forked from shared baseline ${e.generationId}`,lastSeenAt:(r??(()=>new Date))().toISOString()},i={...n,ownershipChecksum:mt(n)};return Lr(e.repositoryCacheDir,i,!0),i}function mt(e){return Mr(JSON.stringify({version:1,repositoryId:e.repositoryId,worktreeId:e.worktreeId,projectRoot:$(e.projectRoot),localCacheDir:$(e.localCacheDir)}))}function kr(e){let t=JSON.parse(e);if(t.version!==ut||t.artifactCatalogVersion!==se||typeof t.generationId!="string"||!/^[a-f0-9]{64}$/.test(t.generationId)||typeof t.repositoryId!="string"||!/^[a-f0-9]{24}$/.test(t.repositoryId)||typeof t.treeOid!="string"||!t.treeOid||typeof t.producerIdentity!="string"||t.producerIdentity!==Ge||typeof t.sourceProjectRoot!="string"||typeof t.scipProjectRoot!="string"||typeof t.createdAt!="string"||!Number.isFinite(Date.parse(t.createdAt))||!t.fingerprint||!Array.isArray(t.artifacts))throw new Error("invalid shared generation manifest");let r=new Set;for(let n of t.artifacts){if(!n||typeof n.path!="string"||typeof n.size!="number"||n.size<0||typeof n.sha256!="string"||!/^[a-f0-9]{64}$/.test(n.sha256))throw new Error("invalid shared generation artifact");if(Ee(n.path),r.has(n.path))throw new Error(`duplicate shared generation artifact: ${n.path}`);r.add(n.path)}for(let n of["index.db","index.scip","meta.json"])if(!r.has(n))throw new Error(`shared generation is missing ${n}`);return t}function de(e,t,r=384){return he(e,t,{mode:r})}function Ti(e,t,r){Y(e,{recursive:!0}),E(l(e,Dr),{version:1,repositoryId:t,worktreeId:r},{spacing:2,trailingNewline:!0})}function wr(e){try{let t=Pe(e),r=Rr("sha256");for(let n of t.files){let i=D(e,n),o=Te(i).size;r.update(n).update("\0").update(String(o)).update("\0"),ht(i,{inputKind:"source-generation artifact",maxBytes:x},a=>r.update(a)),r.update("\0")}return r.digest("hex")}catch{return null}}function Ar(e){try{let t=fe(R(l(e,"meta.json"),{inputKind:"reindex metadata",maxBytes:v}));return(t.kind==="legacy"||t.kind==="supported")&&t.capabilities.publishableGeneration?t.metadata:void 0}catch{return}}function Di(e){return Ar(e)?.scipCompanion!=="deferred"}function ki(e,t){let r=Oe(e.languages,e);return JSON.stringify(r)===JSON.stringify(t)}function vr(e,t){let r=new Map(e.files.map(o=>[o.path,`${o.size}\0${o.hash}`])),n=new Map(t.files.map(o=>[o.path,`${o.size}\0${o.hash}`])),i=0;for(let[o,a]of r)n.get(o)!==a&&(i+=1);for(let o of n.keys())r.has(o)||(i+=1);return i}function gt(e){return l(e.repositoryCacheDir,"generations",e.generationId)}function Ai(e){let t=JSON.parse(R(l(e,Dr),{inputKind:"worktree cache pointer",maxBytes:v}));return t.version!==1||typeof t.repositoryId!="string"||!/^[a-f0-9]{24}$/.test(t.repositoryId)||typeof t.worktreeId!="string"||!/^[a-f0-9]{24}$/.test(t.worktreeId)?null:{version:t.version,repositoryId:t.repositoryId,worktreeId:t.worktreeId}}function Lr(e,t,r){let n=At(e,{waitMs:5e3});if(!n)throw new Error("repository cache cleanup is busy");try{if(r){let o=t.activeGenerationId??t.baseGenerationId;if(!o||!j(l(e,"generations",o)))throw new Error("shared generation disappeared before its lease was attached")}let i=l(e,"worktrees");Y(i,{recursive:!0}),E(l(i,`${t.worktreeId}.json`),t,{spacing:2,trailingNewline:!0}),Ti(t.localCacheDir,t.repositoryId,t.worktreeId)}finally{n.release()}}function Li(e,t){let r=l(t,".rollback"),n=new Map,i=new Map;Y(r,{recursive:!0});for(let s of["index.scip","index.db","meta.json"]){let c=l(e,s),d=j(c);n.set(s,d),d&&de(c,l(r,"stable",s))}for(let s of pt){let c=l(e,s),d=j(c);if(d){let u=dt(c);if(!u.isDirectory()||u.isSymbolicLink())throw new Error(`managed artifact path is not a directory: ${s}`)}i.set(s,d)}let o=l(e,Z),a=j(o);return a&&Cr(o,l(r,"sqlite-generations")),{root:r,stableFiles:n,managedDirectories:i,generationStoreExisted:a}}function Ci(e,t,r){for(let n of pt){let i=l(t,n);if(r.managedDirectories.get(n)){let a=l(r.root,"managed",n);Y(lt(a),{recursive:!0}),B(i,a)}let o=l(e,n);j(o)&&B(o,i)}}function Oi(e,t){for(let i of pt){let o=l(e,i),a=l(t.root,"managed",i);t.managedDirectories.get(i)?j(a)&&(M(o,{recursive:!0,force:!0}),B(a,o)):M(o,{recursive:!0,force:!0})}for(let[i,o]of t.stableFiles){let a=l(e,i);if(!o){M(a,{force:!0});continue}let s=`${a}.shared-restore-${xi()}`;de(l(t.root,"stable",i),s),M(a,{force:!0}),B(s,a)}let r=l(e,Z);M(r,{recursive:!0,force:!0});let n=l(t.root,"sqlite-generations");t.generationStoreExisted&&j(n)&&B(n,r)}function Cr(e,t){Y(t,{recursive:!0});for(let r of Er(e,{withFileTypes:!0})){let n=l(e,r.name),i=l(t,r.name);if(r.isSymbolicLink())throw new Error(`managed cache backup cannot contain a symlink: ${n}`);r.isDirectory()?Cr(n,i):r.isFile()&&de(n,i)}}function Mi(e,t){if(e.generationId!==t.generationId||e.repositoryId!==t.repositoryId||e.treeOid!==t.treeOid||e.producerIdentity!==t.producerIdentity||!ue(e.fingerprint,t.fingerprint))throw new Error("shared generation manifest does not match the requested snapshot")}function Or(e,t,r,n=!0,i=!0){try{let o=Ar(e);if(!o||o.scipCompanion==="deferred"||!ue(xt(o.fingerprint),r)||JSON.stringify([...o.indexedLanguages??[]].sort())!==JSON.stringify([...r.languages].sort()))return ce("source validation rejected metadata"),!1;let a=Pe(e),s=Re(l(e,"index.db"),l(e,"meta.json"));if(n?s.state!=="current":s.state==="invalid"||s.state==="drifted")return ce(`source validation rejected SQLite generation state ${s.state}`),!1;let c=new vi(l(e,"index.db"),{readonly:!0,fileMustExist:!0});try{if(i){if(c.pragma("quick_check(1)",{simple:!0})!=="ok")return!1}else c.pragma("schema_version",{simple:!0})}finally{c.close()}let d=yt(t),f=(i?a.files.filter(m=>m.endsWith(".scip")):["index.scip"]).every(m=>{let P=Tr(S(D(e,m),{inputKind:"shared SCIP validation artifact",maxBytes:x})).metadata?.projectRoot;return P!==d&&ce(`source validation rejected SCIP root for ${m}: ${String(P)}`),P===d});return f||ce("source validation rejected SCIP project roots"),f}catch(o){return ce(`source validation failed: ${o instanceof Error?o.message:String(o)}`),!1}}function ce(e){process.env.SCIP_QUERY_DEBUG&&console.error(`shared-cache: ${e}`)}function yt(e){try{return Ir(Gr(e)).href}catch{return Ir($(e)).href}}function ji(e){if(!e||typeof e!="object")return!1;let t=e;return t.version===3&&Array.isArray(t.languages)&&typeof t.pnpmWorkspaces=="boolean"&&(t.typescriptProjectMode==="single"||t.typescriptProjectMode==="workspace")&&Array.isArray(t.typescriptProjects)&&Array.isArray(t.files)&&t.files.every(r=>r!==null&&typeof r=="object"&&typeof r.path=="string"&&typeof r.size=="number"&&typeof r.hash=="string"&&(r.semanticHash===void 0||typeof r.semanticHash=="string"))}function Mr(e){return Rr("sha256").update(e).digest("hex")}export{jr as a,Fi as b,At as c,C as d,Zi as e,Jr as f,eo as g,q as h,ao as i,mo as j,wo as k,vo as l,To as m,Bo as n,zo as o,Xo as p,Zo as q,ea as r,ur as s,ri as t,fa as u,Re as v,Pi as w,Ha as x,Va as y,Ua as z,z as A,Ya as B,Qa as C,Ka as D,Ja as E,Gi as F,Xa as G,mt as H};
2
+ //# sourceMappingURL=chunk-SIGVQT43.js.map
@@ -0,0 +1,4 @@
1
+ import{a as L}from"./chunk-BGBBVSH4.js";import{d as Pe}from"./chunk-PJBYDCBQ.js";import{a as I}from"./chunk-ZMS4YCY7.js";import{b}from"./chunk-EPLE5O5O.js";import{b as pe,d as me,e as ge,f as be,g as Se,h as ye,i as K,j as he,m as Re}from"./chunk-5J3A6RBZ.js";import{a as de}from"./chunk-WRQXLNYE.js";import{b as F}from"./chunk-YDTK77JP.js";import{c as ie}from"./chunk-4IASLUOP.js";import{C as re,D as P,F as se,J as oe,P as E,Q as le,R as ue,S as fe,T as B,g as ee,j as te,k as w,n as R,o as ne}from"./chunk-NP4JFCLE.js";import{a as h}from"./chunk-5Z2H76VD.js";import{d as k,f as $,g as V,i as ae,j as ce}from"./chunk-DRENNWRG.js";import{a as xe}from"./chunk-DHEQMPLW.js";import{d as g}from"./chunk-FYCH2EYQ.js";import{e as J}from"./chunk-HGFDYOVB.js";import{B as x,ja as T,ka as Q,la as z}from"./chunk-XIPGCT3D.js";import{existsSync as A,readdirSync as Ee}from"fs";import{join as M}from"path";var ze={files:new Set,pathPrefixes:[]};var X=/^(?:dist|build|lib|out|output|esm|cjs|umd)\//,et=/\.(?:d\.ts|d\.mts|d\.cts|ts|tsx|mts|cts|js|jsx|mjs|cjs)$/,De=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],tt=new Set([".git",".next",".turbo","build","coverage","dist","node_modules","out"]),nt=4,rt=g("package-surface",{clearGroups:["whole-project"]}),fn=g("package-operational-surface",{clearGroups:["whole-project"]});function Me(t){return rt.get(t,()=>it(t.config.projectRoot))}function G(t,e){let n=Me(t);return n.files.has(e)?!0:n.pathPrefixes.some(r=>e.startsWith(r))}function ve(t,e){return Me(t).files.has(e)}function it(t){let e=new Set,n=[];for(let{manifest:r,packageRoot:s}of st(t))for(let i of ot(r))at(t,s,i,e,n);return e.size===0&&n.length===0?ze:{files:e,pathPrefixes:n}}function st(t){let e=[],n=Te(t,"");return n&&e.push({manifest:n,packageRoot:""}),Ce(t,"",e,0),e}function Ce(t,e,n,r){if(r>=nt)return;let s=M(t,e);if(A(s))for(let i of Ee(s,{withFileTypes:!0})){if(!i.isDirectory()||tt.has(i.name))continue;let o=e?`${e}/${i.name}`:i.name,a=Te(t,o);a&&n.push({manifest:a,packageRoot:o}),Ce(t,o,n,r+1)}}function Te(t,e){let n;try{n=T(t,M(e,"package.json"),{maxBytes:8*1024*1024,inputKind:"package manifest"})}catch(r){if(!Q(r))throw r;return null}try{let r=JSON.parse(n);return r&&typeof r=="object"?r:null}catch{return null}}function ot(t){let e=[];for(let r of["main","module","types","browser"])typeof t[r]=="string"&&e.push(t[r]);let n=t.bin;if(typeof n=="string")e.push(n);else if(n&&typeof n=="object")for(let r of Object.values(n))typeof r=="string"&&e.push(r);return we(t.exports,e),e}function we(t,e){if(typeof t=="string"){e.push(t);return}if(!(!t||typeof t!="object"))for(let n of Object.values(t))we(n,e)}function at(t,e,n,r,s){let i=n.replace(/\\/g,"/").replace(/^\.\//,"");if(i===""||i.startsWith(".."))return;let o=i.indexOf("*");if(o>=0){let l=i.slice(0,o);for(let u of ke(l))u!==""&&s.push(S(e,u));return}let a=i.replace(et,"");for(let l of ke(a)){l===a&&l===i&&r.add(S(e,i));for(let u of De)ct(t,r,e,l+u)}r.add(S(e,i))}function ke(t){let e=[t];return X.test(t)&&(e.push(t.replace(X,"src/")),e.push(t.replace(X,""))),e}function ct(t,e,n,r){let s=S(n,r);if(e.add(s),!r.startsWith("src/")||A(M(t,s)))return;let i=De.find(c=>r.endsWith(c));if(!i)return;let o=r.slice(0,-i.length);lt(t,e,n,o,i);let a=o.lastIndexOf("/");if(a<=4)return;let l=o.slice(0,a),u=o.slice(a+1);for(let c of Fe(t,n,l,`${u}${i}`))e.add(c)}function lt(t,e,n,r,s){let i=S(n,`${r}/index${s}`);A(M(t,i))&&e.add(i)}function Fe(t,e,n,r){let s=M(t,e,n);if(!A(s))return[];let i=[];for(let o of Ee(s,{withFileTypes:!0})){let a=`${n}/${o.name}`;o.isDirectory()?i.push(...Fe(t,e,a,r)):o.isFile()&&o.name===r&&i.push(S(e,a))}return i}function S(t,e){return t?`${t}/${e}`:e}import{existsSync as q,readdirSync as ut}from"fs";import{dirname as ft,join as U}from"path";var dt={rootFiles:new Set,sourcePrefixes:[]},pt=new Set([".git",".scipquery","node_modules","target"]),mt=6,gt=g("rust-library-surface",{clearGroups:["whole-project"]});function Ie(t,e,n){if(!n.endsWith(".rs")||!yt(bt(t),n))return!1;let r=E(t,n).find(s=>s.symbol===e);return r?ht(te(t,n)[r.startLine]??""):!1}function bt(t){return gt.get(t,()=>St(t.config.projectRoot))}function St(t){let e=new Set,n=new Set;for(let r of Rt(t)){let s=T(t,U(r,"Cargo.toml"),{maxBytes:8388608,inputKind:"Cargo manifest"}),i=xt(s),o=S(r,"src/lib.rs"),a=i?S(r,i):!Pt(s)&&z(t,o)?o:null;if(!a)continue;e.add(a);let l=ft(a).replaceAll("\\","/");n.add(l==="."?"":`${l}/`)}return e.size===0?dt:{rootFiles:e,sourcePrefixes:[...n].sort()}}function yt(t,e){return e.endsWith(".rs")?t.rootFiles.has(e)?!0:kt(e)?!1:t.sourcePrefixes.some(n=>e.startsWith(n)):!1}function ht(t){return/^\s*pub\s+(?!\()/.test(t)}function Rt(t){if(!q(t))return[];let e=[];return Le(t,"",e,0),e}function Le(t,e,n,r){let s=U(t,e);if(q(s)&&(q(U(s,"Cargo.toml"))&&n.push(e),!(r>=mt)))for(let i of ut(s,{withFileTypes:!0})){if(!i.isDirectory()||pt.has(i.name))continue;let o=e?`${e}/${i.name}`:i.name;Le(t,o,n,r+1)}}function xt(t){let e=!1;for(let n of t.split(`
2
+ `)){let r=n.replace(/\s+#.*$/,"").trim(),s=/^\[([^\]]+)\]$/.exec(r);if(s){e=s[1]==="lib";continue}if(!e)continue;let i=/^path\s*=\s*["']([^"']+)["']/.exec(r)?.[1];if(i)return i.replaceAll("\\","/").replace(/^\.\//,"")}return null}function Pt(t){let e=!1;for(let n of t.split(`
3
+ `)){let r=n.replace(/\s+#.*$/,"").trim(),s=/^\[([^\]]+)\]$/.exec(r);if(s){e=s[1]==="package";continue}if(e&&/^autolib\s*=\s*false\b/.test(r))return!0}return!1}function kt(t){return/(?:^|\/)src\/main\.rs$/.test(t)||/(?:^|\/)src\/bin\//.test(t)||/(?:^|\/)(?:examples|tests|benches)\//.test(t)}function Et(t){return Dt.get(t,()=>{let n=h(t,{includeIgnored:!1}).filter(o=>{let a=b(o);return a==="entry"||a==="worker"});if(n.length===0)return new Set;let r=F(t),s=new Set,i=new Set;for(;n.length>0;){let o=n.shift();if(!s.has(o)){s.add(o),b(o)==="barrel"&&i.add(o);for(let a of r.get(o)??[])s.has(a)||n.push(a)}}return i})}var Dt=g("live-barrels",{clearGroups:["whole-project"]});function Mt(t,e){return Et(t).has(x(e))}function Ne(t,e){let n=x(e),r=b(e);return r==="entry"||r==="worker"||Gt(n)||Mt(t,n)}function vt(t,e,n){let r=x(n),s=[];G(t,r)&&s.push("package-surface-file"),wt(t,e,r)&&s.push("transitive-package-surface"),Ie(t,e,r)&&s.push("rust-public-library"),Xt(e,r)&&s.push("framework-entrypoint");let i=t.config.entryRoots;return i&&(i.files?.some(o=>x(o)===r)&&s.push("configured-file"),i.pathPrefixes?.some(o=>r.startsWith(x(o)))&&s.push("configured-path-prefix"),i.qualifiedVars?.some(o=>Ut(e,o))&&s.push("configured-qualified-var"),i.symbolPatterns?.some(o=>{try{return xe(o,"entryRoots.symbolPatterns entry").test(e)}catch{return!1}})&&s.push("configured-symbol-pattern")),s}function _e(t,e,n){return vt(t,e,n).length>0}var Ct=g("package-surface-reachability",{clearGroups:["whole-project"]}),Tt=g("explicit-package-surface-reachability",{clearGroups:["whole-project"]});function wt(t,e,n){let r=Ft(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function In(t,e,n){let r=It(t).get(n);return r===void 0?!1:r===null||r.has(k(e))}function Ft(t){return Ct.get(t,()=>je(t,e=>G(t,e)))}function It(t){return Tt.get(t,()=>je(t,e=>ve(t,e)))}function je(t,e){let n=new Map,r=[];for(let s of h(t,{includeIgnored:!1}))e(s)&&(n.set(s,null),r.push(s));for(;r.length>0;){let s=r.shift(),i=n.get(s);if(i!==void 0)for(let o of se(t,s)){if(!o.sourcePath||t.isIgnored(o.sourcePath))continue;let a=Lt(i,o);a!==void 0&&At(n,o.sourcePath,a)&&r.push(o.sourcePath)}}return n}function Lt(t,e){if(t===null)return e.kind==="named"?new Set(e.names):null;if(e.kind==="star")return new Set(t);if(e.kind==="star-as")return e.names.some(r=>t.has(r))?null:void 0;let n=e.names.filter(r=>t.has(r));return n.length>0?new Set(n):void 0}function At(t,e,n){if(!t.has(e))return t.set(e,n),!0;let r=t.get(e);if(r===void 0)return!1;if(r===null||n===null)return r===null?!1:(t.set(e,null),!0);let s=!1;for(let i of n)r.has(i)||(r.add(i),s=!0);return s}var Oe=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]),Nt=new Set(["default","generateMetadata","generateStaticParams"]),_t=new Set(["default","getStaticProps","getServerSideProps","getStaticPaths","config"]),jt=new Set(["default","middleware","config"]),Ot=new Set(["register","onRequestError"]),$t=new Set(["onRouterTransitionStart"]),Vt=new Set(["default","loader","action","clientLoader","clientAction","headers","links","meta","shouldRevalidate","ErrorBoundary","HydrateFallback"]),Bt=new Set(["load","actions","entries",...Oe]),Kt=new Set(["default"]);function Xt(t,e){let n=k(t);return n===""?!1:$e(e)?Oe.has(n):Ve(e)?Nt.has(n):Be(e)?_t.has(n):Ke(e)?jt.has(n):Xe(e)?Ot.has(n):Ge(e)?$t.has(n):qe(e)?Vt.has(n):Ue(e)?Bt.has(n):qt(e)?Kt.has(n):!1}function Gt(t){return $e(t)||Ve(t)||Be(t)||Ke(t)||Xe(t)||Ge(t)||qe(t)||Ue(t)}function $e(t){return/(?:^|\/)app(?:\/[^/]+)*\/route\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ve(t){return/(?:^|\/)app(?:\/[^/]+)*\/(?:page|layout|template|loading|error|not-found|global-error|head|default)\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Be(t){return/(?:^|\/)pages\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ke(t){return W(t,"(?:middleware|proxy)\\.(?:ts|js|mts|mjs)")}function Xe(t){return W(t,"instrumentation\\.(?:ts|js|mts|mjs)")}function Ge(t){return W(t,"instrumentation-client\\.(?:ts|js|mts|mjs)")}function W(t,e){return new RegExp(`^(?:src/)?${e}$`).test(t)||new RegExp(`(?:^|/)src/${e}$`).test(t)||new RegExp(`(?:^|/)(?:apps|services|packages)/[^/]+/(?:src/)?${e}$`).test(t)}function qe(t){return/(?:^|\/)app\/routes\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function Ue(t){return/(?:^|\/)src\/routes\/(?:.*\/)?\+(?:page|page\.server|layout|layout\.server|server)\.(?:ts|js)$/.test(t)}function qt(t){return/(?:^|\/)src\/(?:pages|views|routes)\/.+\.(?:ts|tsx|js|jsx|vue)$/.test(t)}function Ut(t,e){let n=e.lastIndexOf("/");if(n<0)return!1;let r=e.slice(0,n),s=e.slice(n+1);return t.includes(Ae(r)+"/")&&t.includes(Ae(s)+".")}function Ae(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}function We(t,e,n={}){let r=new Map;if(e&&e.length===0)return r;let s=h(t,{includeIgnored:!1}),i=be(t),o=e??le(t),a=new Set(o.map(u=>u.symbolId)),l=zt(o);return Wt(t,r,s,i,a,l),Ht(t,r,o,a),Qt(t,r,s,i,a,l),n.semantic!==!1&&n.semanticEvidence&&tn(r,n.semanticEvidence.callerMap(t,en(o))),r}function Wt(t,e,n,r,s,i){for(let o of n){if(!R(o))continue;let a=re(t,o);if(a)for(let l of a){if(i&&!i.has(l.calleeLeaf))continue;let u=me(o,r.get(l.calleeLeaf)??[]);if(!u||u.length===0)continue;let c=ge(t,o,u,l.memberAccess,l.calleeQualifier);c&&s.has(c.symbolId)&&c.file!==o&&H(e,c.symbolId,o)}}}function Ht(t,e,n,r){let s=Zt(n);for(let i of Yt(t,r))t.isIgnored(i.relative_path)||Jt(i,s.get(i.symbol_id))||H(e,i.symbol_id,i.relative_path)}function Yt(t,e){return de(t,e?[...e]:void 0)}function Zt(t){let e=new Map;for(let n of t)e.set(n.symbolId,{docId:n.documentId,startLine:n.startLine,endLine:n.endLine});return e}function Jt(t,e){return!!e&&e.docId===t.document_id&&t.chunk_start>=e.startLine&&t.chunk_end<=e.endLine}function Qt(t,e,n,r,s,i){for(let o of n){if(R(o)!=="rust")continue;let a=P(t,o,{includeRustAttributeNames:!0});if(a.length!==0)for(let{name:l}of a){if(i&&!i.has(l))continue;let u=r.get(l);if(u)for(let c of u)s.has(c.symbolId)&&c.file!==o&&H(e,c.symbolId,o)}}}function H(t,e,n){let r=t.get(e);r||(r=new Set,t.set(e,r)),r.add(n)}function zt(t){let e=new Set;for(let n of t){let r="leaf"in n&&typeof n.leaf=="string"?n.leaf:"symbol"in n&&typeof n.symbol=="string"?k(n.symbol):"";r&&e.add(r)}return e.size>0?e:null}function en(t){return t.filter(e=>"relativePath"in e&&"symbol"in e&&"leaf"in e)}function tn(t,e){for(let[n,r]of e){let s=t.get(n);s||(s=new Set,t.set(n,s));for(let i of r)s.add(i)}}function Y(t,e,n={}){return We(t,e,n)}function Z(t,e,n={}){return Re(t,e,n)}function He(t,e,n={}){let r=Y(t,e,{semantic:n.semantic,semanticEvidence:n.semanticEvidence});return n.sourceFallback===!1?r:nn(r,Z(t,e))}function nn(t,e){let n=new Map;for(let[r,s]of t)n.set(r,new Set(s));for(let[r,s]of e){let i=n.get(r)??new Set;for(let o of s)i.add(o);n.set(r,i)}return n}function Ye(t,e,n){let r=e.identifierResolution==="strict"?K:he,s=e.candidateNames?Se(e.candidateNames):null,i=0,o=0,a=0,l=0,u="";for(let c of e.paths)if(i+=1,u=c,!(!R(c)&&!(e.includeVueSfc&&ne(c)))&&!t.isIgnored(c)&&!e.skipPath?.(c))try{if(s&&!ye(ee(t,c),s))continue;o+=1;let v=(d,m,j,D)=>{if(e.candidateNames&&!e.candidateNames.has(d))return;a+=1;let C=e.resolveTargets?e.resolveTargets({sourceFile:c,name:d,kind:m,defaultTargets:D}):D();for(let O of C)l+=1,n({sourceFile:c,name:d,target:O,occurrences:j,kind:m})},_=pe(t,c);for(let[d,m]of _)v(d,"identifier",m.length,()=>r(t,c,d));for(let d of P(t,c,{includeCrossLanguageDispatchNames:e.includeCrossLanguageDispatchNames,includeRustAttributeNames:e.includeRustAttributeNames})){let m=d.kind==="cross-language-dispatch"?()=>K(t,c,d.name):()=>r(t,c,d.name);v(d.name,d.kind,d.occurrences,m)}}finally{e.afterPath?.(c),i%10===0&&J("source-reference-scan.progress",()=>{},()=>({scannedPaths:i,currentPath:u,candidateMatchedPaths:o,visitedNames:a,visitedHits:l}))}}function Ze(t,e={}){let{scope:n,files:r,minLoc:s=1,maxLoc:i=Number.POSITIVE_INFINITY,excludeSymbol:o,excludeEntrySurfaces:a=!1,excludeTypesFiles:l=!1,excludeRootedSymbols:u=!1,requireFunctionLikeSymbol:c=!1,requireCallableSymbol:N=!1,excludeRustTraitImplMembers:v=!1,includeSuppressed:_=!1,sortByLocDesc:d=!1}=e,m=[],j=rn(t,{scope:n,files:r,requireFunctionLikeSymbol:c,requireCallableSymbol:N}),D=new Map,C=new Map,O=f=>{let p=D.get(f);if(p!==void 0)return p;let y=Ne(t,f);return D.set(f,y),y},Qe=f=>{let p=C.get(f);if(p!==void 0)return p;let y=b(f);return C.set(f,y),y};for(let f of j){let p=f.relativePath;if(t.isIgnored(p)||a&&O(p)||!sn(f,{requireFunctionLikeSymbol:c,requireCallableSymbol:N})||o!==void 0&&f.symbol===o)continue;let y=L(f);y<s||y>i||l&&on(p)||u&&_e(t,f.symbol,p)||v&&ae(f.symbol)||Qe(p)!=="test"&&(ce(f.symbol)||!_&&w(t,p,f.startLine)||m.push(f))}return d?m.sort((f,p)=>L(p)-L(f)):m}function rn(t,e){return e.files!==void 0?[...new Set(e.files.map(r=>r.replace(/\\/g,"/")))].sort().filter(r=>!e.scope||r.includes(e.scope)).flatMap(r=>E(t,r)):e.requireCallableSymbol?B(t,{scope:e.scope,symbolMatches:$,sqlPrefilter:"callable"}):e.requireFunctionLikeSymbol?B(t,{scope:e.scope,symbolMatches:V,sqlPrefilter:"function-like"}):fe(t,e.scope)}function sn(t,e){return e.requireCallableSymbol?$(t.symbol):e.requireFunctionLikeSymbol?V(t.symbol):t.isFunctionLike}function on(t){return(t.split("/").pop()??"").includes("types")}var Je=class{constructor(e){this.db=e}db;scopedDefinitions(e){return ue(this.db,e)}definitionsForFile(e){return E(this.db,e)}productionCallableDefinitions(e={}){return Ze(this.db,e)}calleeMap(e,n={}){return Pe(this.db,e,{...n,semanticEvidence:I})}crossFileCallerMap(e,n={}){return Y(this.db,e,{...n,semanticEvidence:I})}sourceFallbackCallerFiles(e,n={}){return Z(this.db,e,n)}callerFileMap(e,n={}){return He(this.db,e,{...n,semanticEvidence:I})}frameworkReferencedSymbolIds(e){let n=new Map;for(let s of e){if(!s.leaf)continue;let i=n.get(s.leaf)??[];i.push(s.symbolId),n.set(s.leaf,i)}let r=new Set;for(let s of h(this.db,{includeIgnored:!1}))if(R(s)==="rust")for(let{name:i}of P(this.db,s,{includeRustAttributeNames:!0}))for(let o of n.get(i)??[])r.add(o);return r}symbolsWithNonSelfCallees(e,n={}){if(e.length===0)return new Set;let r=new Map(e.map(i=>[i.symbolId,i.symbol])),s=this.calleeMap(e,n);return new Set([...s.entries()].filter(([i,o])=>{let a=r.get(i);return o.some(l=>l.symbol!==a)}).map(([i])=>i))}fileDependencyGraph(e){return F(this.db,e)}fileKind(e){return b(e)}hasSuppressionComment(e){return w(this.db,e.relativePath,e.startLine)}sourceFiles(){return ie(this.db)}scanSourceReferences(e,n){Ye(this.db,e,n)}callableSignature(e){let n=oe(this.db).forFile(e.relativePath,{facts:!0}).facts?.callables.find(r=>r.startLine===e.startLine&&r.endLine===e.endLine);return n?{paramCount:n.paramCount}:null}};export{Ne as a,vt as b,In as c,Je as d};
4
+ //# sourceMappingURL=chunk-SRIZDEWX.js.map
@@ -0,0 +1,2 @@
1
+ function a(r,l){let t=s(r),e=s(l);if(t.endsWith("/**")){let n=t.slice(0,-3);return e===n||e.startsWith(`${n}/`)}if(t.endsWith("/*")){let n=t.slice(0,-2);if(!e.startsWith(`${n}/`))return!1;let i=e.slice(n.length+1);return i.length>0&&!i.includes("/")}return t==="**"?!0:t==="*"?e.length>0&&!e.includes("/"):t===e}function s(r){return r.replace(/\\/g,"/").replace(/^\.\//,"").replace(/\/+$/,"")}export{a};
2
+ //# sourceMappingURL=chunk-SV2LEFVM.js.map
@@ -0,0 +1,3 @@
1
+ import{K as f,L as S,O as R,X as M}from"./chunk-NP4JFCLE.js";import{b as B}from"./chunk-5Z2H76VD.js";import{b as N,c as _,d as w,f as k,g as A,h as z}from"./chunk-DRENNWRG.js";import{c as O}from"./chunk-FYCH2EYQ.js";var T=O("symbol-resolution",{clearGroups:[]});function he(e,n){return G(e,n).match}function G(e,n){return T.get(e,n,()=>{let t=W(e,n.trim()).filter(i=>!e.isIgnored(i.relative_path));if(t.length>0)return L(e,t);let o=P(e,n);if(o&&!e.isIgnored(o.relative_path))return L(e,[o]);let r=H(e,n);if(r.length>0)return L(e,r);let s=U(e,n);return s.length>0?L(e,s):J(e,n)})}function H(e,n){let t=n.trim().replace(/\(\)$/u,""),o=t.lastIndexOf(":");if(o<=0||o===t.length-1||t.startsWith("local:"))return[];let r=t.slice(o+1);if(!/^[\p{L}_$][\p{L}\p{N}_$]*$/u.test(r))return[];let s=[`/${r}().`,`/${r}.`,`/${r}#`,`#${r}().`,`#${r}.`,`/${r}/`],i=`gs.display_name = ? OR ${s.map(()=>"instr(gs.symbol, ?) > 0").join(" OR ")}`,a=[r,...s],l=f(e,{where:i,params:a,orderBy:"d.relative_path, der.start_line",limit:200}),u=l.length>0?[]:S(e,{where:i,params:a,orderBy:"d.relative_path, start_line",limit:200}),p=R(l,u).filter(m=>!e.isIgnored(m.relative_path)).filter(m=>_(m.symbol).replace(/\(\)$/u,"")===t);return[...new Map(p.map(m=>[`${m.symbol}\0${m.relative_path}`,m])).values()]}function U(e,n){let t=Q(n),o=E(t);if(!o)return[];let r=`%${o.path}%`,s=o.leaf;return X(e,r,s,t)}function X(e,n,t,o){let r=R([],[...Y(e,n,t),...Z(e,n,t)]).filter(s=>!e.isIgnored(s.relative_path)).filter(s=>C(s,o)>1);return r.sort((s,i)=>C(i,o)-C(s,o)||s.end_line-s.start_line-(i.end_line-i.start_line)||s.start_line-i.start_line||s.symbol.localeCompare(i.symbol)),r}function Y(e,n,t){return f(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[n,t,`%/${t}.%`]})}function Z(e,n,t){return S(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[n,t,`%/${t}.%`]})}function J(e,n){let t=Q(n),o=ae(n),r=oe(e,o),s=se(r,n,t).filter(a=>!e.isIgnored(a.relative_path));if(s.length>0)return L(e,s);let i=[];for(let a of r){if(e.isIgnored(a.relative_path))continue;let l=re(a,n,t,o);l<=0||i.push({row:a,score:l})}return i.sort((a,l)=>l.score-a.score||a.row.end_line-a.row.start_line-(l.row.end_line-l.row.start_line)||a.row.relative_path.localeCompare(l.row.relative_path)||a.row.symbol.localeCompare(l.row.symbol)),L(e,i.map(a=>a.row))}function L(e,n){let t=n.map(r=>M(e,r)),o=t[0]??null;return{match:o,candidates:o?V(t,o):[],total:t.length}}function V(e,n){let t=new Set([`${n.symbolId}:${n.relativePath}:${n.startLine}`]),o=[];for(let r of e){let s=`${r.symbolId}:${r.relativePath}:${r.startLine}`;if(!t.has(s)&&(t.add(s),o.push({symbol:r.symbol,shortName:_(r.symbol),relativePath:r.relativePath,startLine:r.startLine}),o.length>=5))break}return o}function P(e,n){let t=n.match(/^(.+):(\d+)(?:-(\d+))?$/);if(!t)return;let[,o,r,s]=t,i=B(e,o,{allowMultiple:!1,requirePathMatch:!0})[0]?.relativePath;if(!i)return;let a=Math.max(0,parseInt(r,10)-1),l=s?Math.max(a,parseInt(s,10)-1):a;return ee(e,i,a,l)??te(e,i,a,l)}function ee(e,n,t,o){return f(e,{where:"d.relative_path = ? AND der.start_line <= ? AND der.end_line >= ?",params:[n,t,o],orderBy:"(der.end_line - der.start_line) ASC",limit:1})[0]}function te(e,n,t,o){return S(e,{where:"d.relative_path = ? AND c.start_line <= ? AND c.end_line >= ?",params:[n,t,o],orderBy:"(MAX(c.end_line) - MIN(c.start_line)) ASC",limit:1})[0]}function be(e,n){let t=W(e,n).find(o=>!e.isIgnored(o.relative_path));return t?M(e,t):null}function W(e,n){let t=f(e,{where:"gs.symbol = ?",params:[n],orderBy:"d.relative_path, der.start_line"}),o=t.length>0?[]:S(e,{where:"gs.symbol = ?",params:[n],orderBy:"d.relative_path, start_line"});return R(t,o)}function Se(e,n){if("symbol"in n&&"relativePath"in n)return n;let t=ne(e,n.symbolId)[0];return t?M(e,t):null}function ne(e,n){let t=f(e,{where:"gs.id = ?",params:[n],orderBy:"der.start_line, der.end_line"}),o=S(e,{where:"gs.id = ?",params:[n],orderBy:"start_line, end_line"});return R(t,o)}function oe(e,n){let t=n.map(()=>"(gs.symbol LIKE ? OR d.relative_path LIKE ? OR COALESCE(gs.display_name, '') LIKE ?)"),o=n.flatMap(a=>{let l=`%${a}%`;return[l,l,l]}),r=t.join(`
2
+ AND `),s=f(e,{where:r,params:o,limit:200}),i=S(e,{where:r,params:o,limit:200});return R(s,i)}function re(e,n,t,o){let r=n.trim(),s=t,i=s.replace(/\(\)$/,""),a=n.toLowerCase(),l=t.toLowerCase(),u=l.replace(/\(\)$/,""),p=e.symbol,m=_(e.symbol),y=w(e.symbol),g=e.display_name??"",$=e.symbol.toLowerCase(),d=m.toLowerCase(),h=y.toLowerCase(),x=g.toLowerCase(),b=e.relative_path.toLowerCase(),j=/[/:.]/.test(t),I=E(t),v=I?.leaf.toLowerCase(),c=0;return(p===r||p===s)&&(c+=1150),(m===r||m===s)&&(c+=1100),g===i&&(c+=1180),y===i&&(c+=1160),(`${y}()`===r||`${y}()`===s)&&(c+=955),($===a||$===l)&&(c+=1e3),(d===a||d===l)&&(c+=950),(b===a||b===l)&&(c+=925),(b.endsWith(`/${l}`)||b.endsWith(`/${a}`))&&(c+=875),x===u&&(c+=850),h===u&&(c+=825),(`${h}()`===a||`${h}()`===l)&&(c+=820),(d.endsWith(`:${l}`)||d.endsWith(`:${u}`)||d.endsWith(`:${u}()`))&&(c+=800),$.includes(l)&&(c+=120),d.includes(l)&&(c+=140),b.includes(l)&&(c+=140),x.includes(l)&&(c+=110),o.every(q=>{let D=q.toLowerCase();return $.includes(D)||d.includes(D)||b.includes(D)||x.includes(D)})&&(c+=100+o.length*15),I&&b.includes(I.path.toLowerCase())&&(c+=360,v&&(h===v||`${h}()`===v||`${h}()`==`${v}()`)&&(c+=700),k(e.symbol)&&(c+=180)),A(e.symbol)&&h===u&&(c+=60),!j&&z(e.symbol)&&(c-=160),c-=Math.min(50,Math.max(0,e.end_line-e.start_line)),c}function E(e){let n=e.trim().replace(/\\/g,"/"),t=n.lastIndexOf("/");if(t<=0||t===n.length-1)return null;let o=n.slice(t+1).replace(/\(\)$/,"");return!o||o.includes(".")?null:{path:n.slice(0,t),leaf:o}}function Q(e){return e.trim().replace(/\(\)$/,"").replace(/\(.*$/,"")}function ae(e){let n=Q(e),t=n.split(/[^A-Za-z0-9_]+/).map(o=>o.trim()).filter(o=>o.length>0);return t.length>0?[...new Set(t)]:[n]}function se(e,n,t){let o=n.trim(),r=e.filter(a=>{let l=_(a.symbol),u=w(a.symbol),p=(a.display_name??"").trim();return a.symbol===o||l===o||l===t||u===o||u===t||`${u}()`===o||p===o||p===t||`${p}()`===o||C(a,t)>1||a.relative_path===o});if(r.length===0)return[];let s=t.replace(/\(\)$/u,""),i=r.filter(a=>w(a.symbol)===s);if(i.length>0){i.sort((l,u)=>F(l,u,t));let a=i.filter(l=>A(l.symbol));return a.length>0?a:i}return r.sort((a,l)=>F(a,l,t)),r}function F(e,n,t){return C(n,t)-C(e,t)||e.end_line-e.start_line-(n.end_line-n.start_line)||e.relative_path.localeCompare(n.relative_path)||e.symbol.localeCompare(n.symbol)}function C(e,n){let t=E(n);if(!t)return 0;let o=e.relative_path.toLowerCase(),r=w(e.symbol).toLowerCase(),s=t.path.toLowerCase(),i=t.leaf.toLowerCase();return o.includes(s)?r!==i?1:k(e.symbol)?N(e.symbol)===null?5:4:N(e.symbol)===null?3:2:0}function ge(e,n,t=5){let o=K(n);if(!o)return[];let r=f(e,{where:"1 = 1",orderBy:"d.relative_path, der.start_line",limit:5e3}),s=new Map;for(let i of r){if(e.isIgnored(i.relative_path))continue;let a=_(i.symbol),l=w(i.symbol),u=i.display_name??l,p=[a,l,u].filter(g=>g.trim().length>0),m=Math.min(...p.map(g=>ie(K(g),o))),y=s.get(a);(!y||m<y.distance)&&s.set(a,{shortName:a,distance:m})}return[...s.values()].sort((i,a)=>i.distance-a.distance||i.shortName.localeCompare(a.shortName)).slice(0,t).map(i=>i.shortName)}function K(e){return Q(e).toLowerCase().replace(/[^a-z0-9_]+/g,"")}function ie(e,n){if(e===n)return 0;if(e.length===0)return n.length;if(n.length===0)return e.length;let t=Array.from({length:n.length+1},(o,r)=>r);for(let o=0;o<e.length;o++){let r=[o+1];for(let s=0;s<n.length;s++){let i=e[o]===n[s]?0:1;r[s+1]=Math.min(r[s]+1,t[s+1]+1,t[s]+i)}t=r}return t[n.length]}export{he as a,G as b,be as c,Se as d,ge as e};
3
+ //# sourceMappingURL=chunk-T2PBOVDI.js.map
@@ -0,0 +1,3 @@
1
+ import{c as S}from"./chunk-3YETOKNO.js";import{a as y,b as h}from"./chunk-K2DZCH2K.js";import{a as f}from"./chunk-VJAD5WX5.js";import{d as v}from"./chunk-X5MWO4DM.js";import{c as p}from"./chunk-ARGPDW2Y.js";import{b as d}from"./chunk-7MUHSZGN.js";import{d as l,t as m}from"./chunk-7Z4GMCHM.js";import{C as u}from"./chunk-JSHDCVUM.js";function B(i,r,c={}){let t=g(i,r,c);if(t.kind!=="matched")return t;let{referenceEvidence:n,claimSupport:e,...s}=t;return s}function g(i,r,c={}){let t=d(i,r);if(!t.match)return{kind:"missing",query:r};if(t.total>1)return{kind:"ambiguous",query:r,total:t.total,candidates:[{symbol:t.match.symbol,shortName:l(t.match.symbol),relativePath:t.match.relativePath,startLine:t.match.startLine},...t.candidates]};let n=t.match,e=R(c.parts),s=e.includes("definition")||e.includes("references")?S(i,n.symbol,{semantic:c.semantic,referenceContext:c.referenceContext}):{definitions:[],referencedBy:[],referenceEvidence:[],claimSupport:null},o=e.includes("callers")||e.includes("callees")?f(i,n.symbol,{semantic:c.semantic}):null,a=c.relatedSourceLines??80;return{kind:"matched",query:r,symbol:n.symbol,shortName:l(n.symbol),file:n.relativePath,parts:e,definition:e.includes("definition")?v(i,n.symbol):null,referenceWindows:e.includes("references")?L(i,s.referencedBy):[],callers:e.includes("callers")?E(i,o?.callers??[],a):[],callees:e.includes("callees")?E(i,o?.callees??[],a):[],dependencies:e.includes("dependencies")?y(i,n.relativePath):[],consumers:e.includes("consumers")?h(i,n.relativePath):[],referenceEvidence:s.referenceEvidence,claimSupport:s.claimSupport}}function L(i,r){let c=r.filter(n=>n.sourceStartLine!==null&&n.sourceEndLine!==null&&n.source!==null).sort((n,e)=>n.relativePath.localeCompare(e.relativePath)||n.sourceStartLine-e.sourceStartLine||n.line-e.line),t=[];for(let n of c){let e=t[t.length-1];if(e&&e.relativePath===n.relativePath&&n.sourceStartLine<=e.endLine+1){e.endLine=Math.max(e.endLine,n.sourceEndLine),e.references.push(b(n)),e.source=u(i,e.relativePath).slice(e.startLine,e.endLine+1).join(`
2
+ `);continue}t.push({relativePath:n.relativePath,startLine:n.sourceStartLine,endLine:n.sourceEndLine,source:n.source,references:[b(n)]})}return t}function b(i){return{line:i.line,enclosingSymbol:i.enclosingSymbol,enclosingShort:i.enclosingShort}}function R(i){let r=i&&i.length>0?i:["definition","references"];return[...new Set(r)]}function E(i,r,c){let t=[],n=new Set;for(let e of r){if(n.has(e.symbol))continue;n.add(e.symbol);let s=(e.file?m(i,e.file).find(a=>a.symbol===e.symbol):void 0)??d(i,e.symbol).match;if(!s)continue;let o=p(i,s.relativePath,s.startLine,s.endLine,c);o&&t.push({...o,symbol:e.symbol,shortName:e.shortName,omittedLines:Math.max(0,s.endLine-o.endLine)})}return t}export{B as a,g as b};
3
+ //# sourceMappingURL=chunk-TP2X2C2Y.js.map
@@ -0,0 +1,2 @@
1
+ import{t as c}from"./chunk-7Z4GMCHM.js";import{v as a}from"./chunk-6LS3IG2I.js";var D=4;function m(e,i,t,r={}){return p(e,i,t,r.maxReexportDepth??D,0,new Set)}function p(e,i,t,r,s,o){let f=`${i}\0${t}`;if(o.has(f)||s>r)return[];o.add(f);let u=c(e,i).filter(n=>n.leaf===t);return u.length>0?u:a(e,i).flatMap(n=>n.sourcePath?n.kind==="named"&&!n.names.includes(t)?[]:p(e,n.sourcePath,t,r,s+1,new Set(o)):[])}export{m as a};
2
+ //# sourceMappingURL=chunk-U2MNECDU.js.map
@@ -0,0 +1,2 @@
1
+ import{c as Q,d as Y,e as I}from"./chunk-UXNXOMXJ.js";import{a as _,b as K,c as x,d as G}from"./chunk-O4PZFAXA.js";import{a as C,c as J,d as W}from"./chunk-NQXWWE6S.js";import{b as v}from"./chunk-H5EXS3HM.js";import{a as j,b as R,c as A,d as P}from"./chunk-Z2KGMIL4.js";import{V as U,Z as T,h as y,w as q,x as f,y as V}from"./chunk-XIPGCT3D.js";import{watch as fe}from"fs";function Le(e){let t=!1,r=!1,i,n=[],s=()=>{r=!0;let o=i;i=void 0,o?.()};for(let o of new Set(e))try{let a=fe(o,{persistent:!1},s);a.on("error",()=>{}),n.push(a)}catch{}return{wait(o){return t||o<=0?(r=!1,Promise.resolve()):new Promise(a=>{let c=setTimeout(()=>{i===d&&(i=void 0),a()},o),d=()=>{clearTimeout(c),i===d&&(i=void 0),a()};i=d,(r||t)&&(r=!1,d())})},close(){if(!t){t=!0;for(let o of n)try{o.close()}catch{}n.length=0}s()}}}import{spawn as qe}from"child_process";import{existsSync as Ce,rmSync as oe}from"fs";import{dirname as nt,resolve as F}from"path";import{fileURLToPath as ot}from"url";import{createHash as me,randomUUID as O}from"crypto";import{existsSync as ve,linkSync as Se,readdirSync as ge,rmSync as m}from"fs";import{basename as ye,dirname as Re,join as u}from"path";var p=1,We=10*6e4,Ie=10080*6e4,k="requests",S="claims",w="completions",B="staging";function Ge(e,t,r={}){let i=r.now?.()??new Date,n=Ee(r.ttlMs),s=be(r.idempotencyKey),o=s?`key-${me("sha256").update(s).digest("hex")}`:`request-${(r.randomId??O)()}`,a={version:p,requestId:o,...s?{idempotencyKey:s}:{},createdAt:i.toISOString(),deadlineAt:new Date(i.getTime()+n).toISOString(),detail:t.trim().slice(0,2048)||"stale index observed by a command"},c=ie(e,o),d=M(e,c,a,r.onStage);if(d.published)return{disposition:"accepted",request:a,achievedDurability:d.achievedDurability,directorySync:d.directorySync};let l=D(c);if(!l)throw new Error(`Watch refresh request identity ${o} exists but is malformed.`);return{disposition:"duplicate",request:l}}function Je(e,t={}){let r=t.now?.()??new Date,i=`claim-${(t.randomId??O)()}`,n=Math.max(1,Math.floor(t.limit??64)),s=ee(e).sort(Ae),o=[];for(let a of s){if(o.length>=n)break;if(z(e,a.requestId))continue;if(Date.parse(a.deadlineAt)<=r.getTime()){Z(e,{version:p,requestId:a.requestId,outcome:"expired",completedAt:r.toISOString()});continue}let c={version:p,requestId:a.requestId,claimId:i,claimedAt:r.toISOString()};if(M(e,ne(e,a.requestId),c).published){if(z(e,a.requestId)){te(e,a.requestId,i);continue}o.push(a)}}return{claimId:i,requests:o}}function Qe(e,t,r=()=>new Date,i){let n=r().toISOString();for(let s of t.requests)Z(e,{version:p,requestId:s.requestId,claimId:t.claimId,outcome:"completed",completedAt:n});i?.("after-completion"),we(e,t),i?.("after-claim-release")}function we(e,t){for(let r of t.requests)te(e,r.requestId,t.claimId)}function Ye(e){let t=0;for(let r of h(u(e,S)))m(r,{force:!0}),t++;return t>0&&f(u(e,S)),re(e),t}function ze(e){let t=ee(e),r=new Map,i=ke(u(e,k),D);for(let c of h(u(e,w))){let d=E(c);if(!d){i++;continue}r.set(d.requestId,d)}let n=new Set;for(let c of h(u(e,S))){let d=X(c);if(!d){i++;continue}n.add(d.requestId)}let s=t.filter(c=>!r.has(c.requestId)&&!n.has(c.requestId)),o=[...r.values()].filter(c=>c.outcome==="completed").length,a=[...r.values()].filter(c=>c.outcome==="expired").length;return{pending:s.length,claimed:t.filter(c=>!r.has(c.requestId)&&n.has(c.requestId)).length,completed:o,expired:a,invalid:i,...s.length>0?{oldestPendingAt:s.map(c=>c.createdAt).reduce((c,d)=>Pe(c,d))}:{}}}function Be(e,t={}){let r=(t.now?.()??new Date).getTime(),i=Math.max(0,t.retentionMs??Ie),n=0;for(let s of h(u(e,w))){let o=E(s);!o||r-Date.parse(o.completedAt)<i||(m(s,{force:!0}),m(ie(e,o.requestId),{force:!0}),n++)}return n>0&&(f(u(e,w)),f(u(e,k))),re(e),n}function D(e){return L(e,t=>{let r=t;return r.version===p&&g(r.requestId)&&(r.idempotencyKey===void 0||typeof r.idempotencyKey=="string")&&v(r.createdAt)&&v(r.deadlineAt)&&Date.parse(r.deadlineAt)>=Date.parse(r.createdAt)&&typeof r.detail=="string"&&r.detail.length>0})}function X(e){return L(e,t=>{let r=t;return r.version===p&&g(r.requestId)&&g(r.claimId)&&v(r.claimedAt)})}function E(e){return L(e,t=>{let r=t;return r.version===p&&g(r.requestId)&&(r.claimId===void 0||g(r.claimId))&&(r.outcome==="completed"||r.outcome==="expired")&&v(r.completedAt)})}function Z(e,t){let r=se(e,t.requestId);if(M(e,r,t).published)return;let i=E(r);if(!i||i.requestId!==t.requestId||i.outcome!==t.outcome)throw new Error(`Watch refresh completion ${t.requestId} conflicts with an existing record.`)}function M(e,t,r,i){let n=u(e,B),s=Re(t),o=q(n),a=q(s),c=u(n,`${ye(t)}.${process.pid}.${O()}.tmp`);try{let d=W(c,r,{spacing:2,trailingNewline:!0});i?.("after-staged");try{Se(c,t)}catch(H){if(H.code==="EEXIST")return{published:!1};throw H}let l=V(o,a,d.directorySync,f(s));return i?.("after-published"),{published:!0,achievedDurability:l==="synced"?"directory-durable":"file-flushed",directorySync:l}}finally{m(c,{force:!0})}}function ee(e){let t=[];for(let r of h(u(e,k))){let i=D(r);i&&t.push(i)}return t}function te(e,t,r){let i=ne(e,t),n=X(i);!n||n.claimId!==r||(m(i,{force:!0}),f(u(e,S)))}function re(e){for(let t of h(u(e,B),".tmp"))m(t,{force:!0})}function ke(e,t){return h(e).filter(r=>!t(r)).length}function h(e,t=".json"){return ve(e)?ge(e,{withFileTypes:!0}).filter(r=>r.isFile()&&r.name.endsWith(t)).map(r=>u(e,r.name)).sort():[]}function L(e,t){try{let r=JSON.parse(y(e,"watch refresh request record"));return t(r)?r:null}catch{return null}}function ie(e,t){return u(e,k,`${t}.json`)}function ne(e,t){return u(e,S,`${t}.json`)}function se(e,t){return u(e,w,`${t}.json`)}function z(e,t){return E(se(e,t))!==null}function Ee(e){if(e===void 0)return We;if(!Number.isFinite(e)||e<=0)throw new Error("Watch refresh request ttlMs must be positive.");return Math.floor(e)}function be(e){let t=e?.trim();return t?t.slice(0,512):void 0}function g(e){return typeof e=="string"&&/^[a-z0-9][a-z0-9-]{0,127}$/i.test(e)}function Ae(e,t){return Date.parse(e.createdAt)-Date.parse(t.createdAt)||e.requestId.localeCompare(t.requestId)}function Pe(e,t){return Date.parse(t)<Date.parse(e)?t:e}var Te=6e3,_e=1e3,ce=10;function mt(e,t,r){let i=T(F(e));if(r&&T(r.projectRoot)===i)return{projectRoot:i,worktreeKind:"git",worktreeId:r.worktreeId,cliVersion:t};let n=U(i);if(n.kind==="error")throw new Error(`Could not establish Git worktree identity for ${i}: ${n.message}`);return n.kind==="non-git"?{projectRoot:i,worktreeKind:"non-git",cliVersion:t}:{projectRoot:i,worktreeKind:"git",worktreeId:n.identity.worktreeId,cliVersion:t}}function vt(e){let t=e.runtime??De,r=Q(e.cacheDir),i=Y(r.statePath),n=i?de(i,t)?{kind:"live",state:i}:{kind:"stale",state:i,reason:"dead-process"}:{kind:"stopped"},s=xe("stop",n);if(s.kind==="signal-stop")return ae(s.state,e,t),N(r,s.state.pid,t),{disposition:"stopped",pid:s.state.pid};if(s.kind==="clean-stale")return N(r,s.state.pid,t),{disposition:"stopped",pid:s.state.pid};let o=le(r.lockPath);return s.kind==="already-stopped"&&o?(de(o,t)&&ae(o,e,t),N(r,o.pid,t),{disposition:"stopped",pid:o.pid}):{disposition:"already-stopped"}}function St(e,t,r={}){let{durability:i="durable",...n}=r;i==="durable"?W(e,t,n):J(e,t,n)}function gt(e){try{let t=JSON.parse(y(e,"watch activity record"));return t.version!==1||!I(t.at)||t.refreshRequestedAt!==void 0&&!I(t.refreshRequestedAt)||t.refreshDetail!==void 0&&typeof t.refreshDetail!="string"?null:{atMs:Date.parse(t.at),...t.refreshRequestedAt===void 0?{}:{refreshRequestedAtMs:Date.parse(t.refreshRequestedAt)},...t.refreshDetail===void 0?{}:{refreshDetail:t.refreshDetail}}}catch{return null}}function yt(e,t,r={}){let i=r.pid??process.pid,n=r.isProcessAlive??C,s=()=>{},o=r.readProcessIdentity??A,a=r.now??(()=>new Date),c={..._,wallNow:()=>a().getTime(),isProcessAlive:n,readProcessIdentity:o},d=K(e,{kind:"watch",pid:i,processIdentity:o(i),detail:{projectRoot:F(t)},parseLegacy:b,runtime:c});if(d.kind==="contended"){let l=pe(d.observation);return{acquired:!1,lockPath:e,message:Oe(e,t,l),release:s}}return{acquired:!0,lockPath:e,message:"",release:()=>{d.lock.release()}}}function le(e){return pe(x(e,{parseLegacy:b}))}var b=e=>{let t=he(e);return t?{pid:t.pid,...t.processIdentity?{processIdentity:t.processIdentity}:{}}:null};function pe(e){if(e.state==="valid"&&e.record?.kind==="watch"){let t=e.record.detail?.projectRoot;return typeof t!="string"?null:{version:1,pid:e.record.pid,...e.record.processIdentity?{processIdentity:e.record.processIdentity}:{},projectRoot:t,startedAt:e.record.startedAt}}return he(e.parsed)}function he(e){try{let t=e;if(t.version!==1||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.projectRoot!="string"||!I(t.startedAt))return null;let r=t.processIdentity===void 0?null:j(t.processIdentity);return t.processIdentity!==void 0&&(!r||r.pid!==t.pid)?null:{version:1,pid:t.pid,...r?{processIdentity:r}:{},projectRoot:t.projectRoot,startedAt:t.startedAt}}catch{return null}}function xe(e,t){switch(e){case"status":return{kind:"report",classification:t};case"ensure":switch(t.kind){case"stopped":return{kind:"start"};case"stale":return t.reason==="old-heartbeat"?{kind:"refuse-replace",state:t.state,reason:"old-heartbeat"}:{kind:"start"};case"live":return{kind:"reuse",state:t.state};case"incompatible":return{kind:"replace",state:t.state};default:return $(t)}case"stop":switch(t.kind){case"stopped":return{kind:"already-stopped"};case"stale":return t.reason==="old-heartbeat"?{kind:"signal-stop",state:t.state}:{kind:"clean-stale",state:t.state};case"live":case"incompatible":return{kind:"signal-stop",state:t.state};default:return $(t)}default:return $(e)}}function Rt(e){return e.idleTimeoutMs===0||e.watcher.state!=="idle"?!1:e.nowMs-e.lastActivityAtMs>=e.idleTimeoutMs}function ae(e,t,r){let{pid:i}=e;if(!r.isProcessAlive(i))return;ue(e,r),r.signalProcess(i);let n=t.stopTimeoutMs??Te,s=r.monotonicNow??P,o=s()+n;for(;s()<=o;){if(!r.isProcessAlive(i))return;r.sleep(ce)}if(!r.forceSignalProcess)throw new Error(`scip-query watch service pid ${i} did not stop within ${n}ms and forced termination is unavailable.`);ue(e,r),r.forceSignalProcess(i);let a=t.forceStopTimeoutMs??_e,c=s()+a;for(;s()<=c;){if(!r.isProcessAlive(i))return;let d=r.readProcessIdentity(i);if(e.processIdentity&&d&&!R(e.processIdentity,d))return;r.sleep(ce)}throw new Error(`scip-query watch service pid ${i} remained alive ${a}ms after forced termination.`)}function N(e,t,r){if(oe(e.statePath,{force:!0}),oe(e.activityPath,{force:!0}),le(e.lockPath)?.pid===t){let n={..._,wallNow:r.now,isProcessAlive:r.isProcessAlive,readProcessIdentity:r.readProcessIdentity},s=x(e.lockPath,{parseLegacy:b,runtime:n});G(e.lockPath,s,{parseLegacy:b,runtime:n})}}function de(e,t){if(!t.isProcessAlive(e.pid))return!1;if(!e.processIdentity)return!0;let r=t.readProcessIdentity(e.pid);return r===null||R(e.processIdentity,r)}function Oe(e,t,r){return`error: scip-query watch is already running for ${F(t)}${r?` (pid ${r.pid}, started ${r.startedAt}; lock: ${e})`:` (lock: ${e})`}. Stop that watcher before starting another.`}var De={now:Date.now,monotonicNow:P,isProcessAlive:C,readProcessIdentity:A,spawnServer(e,t,r,i){if(!Ce(e))throw new Error(`Watch service helper was not found at ${e}. Run npm run build first.`);qe(process.execPath,[e,t,r,JSON.stringify(i)],{detached:!0,stdio:"ignore",env:{...process.env,SCIP_QUERY_SKIP_WATCH_SERVICE:"1"}}).unref()},signalProcess(e){process.kill(e,"SIGTERM")},forceSignalProcess(e){process.kill(e,"SIGKILL")},sleep(e){let t=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(t,0,0,e)}};function ue(e,t){if(!e.processIdentity)throw new Error(`Refusing to signal scip-query watch pid ${e.pid}: its ownership record has no process identity.`);let r=t.readProcessIdentity(e.pid);if(!r)throw new Error(`Refusing to signal scip-query watch pid ${e.pid}: its process identity is unavailable.`);if(!R(e.processIdentity,r))throw new Error(`Refusing to signal scip-query watch pid ${e.pid}: its process identity does not match the ownership record.`)}function $(e){throw new Error(`Unhandled watch service value: ${JSON.stringify(e)}`)}export{Le as a,Ge as b,Je as c,Qe as d,we as e,Ye as f,ze as g,Be as h,mt as i,vt as j,St as k,gt as l,yt as m,Rt as n};
2
+ //# sourceMappingURL=chunk-U7DOYZDH.js.map
@@ -0,0 +1,2 @@
1
+ var b=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"];function x(n){let t=n.toLowerCase();return b.some(e=>t.endsWith(e))}import{createRequire as R}from"module";var d=R(import.meta.url),c,l;function M(){if(c!==void 0)return c;try{c=d("ts-morph")}catch{c=null}return c}function P(){if(l)return l;let n=M();if(!n)return"ts-morph:unavailable";let t="unknown";try{t=d("ts-morph/package.json").version??"unknown"}catch{}return l=`ts-morph:${t}:typescript:${n.ts.version}`,l}function j(n,t){return t.map(e=>({tsconfigPath:e,project:new n.Project({tsConfigFilePath:e,skipFileDependencyResolution:!0})}))}function $(n,t,e){return{language:"typescript",availability:()=>({available:!1,reason:n,tsconfigPath:t,tsconfigPaths:e}),importUsage:()=>[],referencesFor:()=>[],calleesFor:()=>[],signatureFor:()=>null}}function T(n,t){let e=new Map(n.map(r=>[r.symbol,r])),o=new Map(n.map(r=>[r.symbolId,[]]));for(let r of t.values())for(let s of r){let a=e.get(s.targetSymbol);a&&o.get(a.symbolId).push(s.location)}for(let[r,s]of o)o.set(r,F(s));return o}function w(n,t,e){let o=g(n,t),r=g(n,e),s=[...o].filter(i=>!r.has(i)).sort(),a=[...r].filter(i=>!o.has(i)).sort(),f=y(n,t),m=y(n,e),u=[...f].filter(i=>!m.has(i)).sort(),p=[...m].filter(i=>!f.has(i)).sort();return{passed:s.length===0&&a.length===0,expectedCount:o.size,actualCount:r.size,missing:s,extra:a,callerFiles:{passed:u.length===0&&p.length===0,expectedCount:f.size,actualCount:m.size,missing:u,extra:p}}}function y(n,t){let e=new Set;for(let o of n)for(let r of t.get(o.symbolId)??[])r.file!==o.relativePath&&e.add(`${o.symbol}\0${r.file}`);return e}function D(n,t,e){let o=new Set(e),r=new Map(e.map(s=>[s,[]]));for(let s of n)for(let a of t.get(s.symbolId)??[])o.has(a.file)&&r.get(a.file).push({targetSymbol:s.symbol,location:a});for(let[s,a]of r)r.set(s,h(a));return r}function g(n,t){let e=new Set;for(let o of n)for(let r of t.get(o.symbolId)??[])e.add(`${o.symbol}\0${r.file}\0${r.line}\0${r.column}`);return e}function F(n){let t=new Map;for(let e of n)t.set(`${e.file}\0${e.line}\0${e.column}`,e);return[...t.values()].sort(S)}function h(n){let t=new Map;for(let e of n){let{location:o}=e;t.set(`${e.targetSymbol}\0${o.file}\0${o.line}\0${o.column}`,e)}return[...t.values()].sort((e,o)=>e.targetSymbol.localeCompare(o.targetSymbol)||S(e.location,o.location))}function S(n,t){return n.file.localeCompare(t.file)||n.line-t.line||n.column-t.column}export{b as a,x as b,M as c,P as d,j as e,$ as f,T as g,w as h,D as i};
2
+ //# sourceMappingURL=chunk-UAQQR55F.js.map
@@ -0,0 +1,2 @@
1
+ import{c as r}from"./chunk-RZWBTKXO.js";function s(o,e,t={}){if(e.length===0)throw new Error("The source search pattern must not be empty.");return r(o,[e],t)[0]}export{s as a};
2
+ //# sourceMappingURL=chunk-UBETC3Q2.js.map
@@ -0,0 +1,2 @@
1
+ import{a as k}from"./chunk-3KXFB2FM.js";import{c as R,d as E}from"./chunk-Z2KGMIL4.js";import{h as S}from"./chunk-XIPGCT3D.js";import{randomUUID as q}from"crypto";import{getHeapStatistics as V}from"v8";import{resolve as H}from"path";import{createRequire as L}from"module";import{dirname as I,isAbsolute as j,relative as P,resolve as m,sep as b}from"path";var u=L(import.meta.url),_=1,D="0.4.0";function z(){try{let t=M();if(!t.available)return t;let{packageRoot:e}=t,r=u.resolve("typescript",{paths:[e]}),i=u(r),{FileIndexer:n}=u(m(e,"dist/src/FileIndexer.js")),{Input:s}=u(m(e,"dist/src/Input.js")),{Packages:o}=u(m(e,"dist/src/Packages.js")),c=u(m(e,"dist/src/scip.js"));if(!n||!s||!o||!c.scip?.Document||!c.scip.Index)return{available:!1,reason:"scip-typescript document runtime has an unsupported module shape"};let a={packageVersion:t.packageVersion,typescript:i,Document:c.scip.Document,Index:c.scip.Index,FileIndexer:n,Input:s,Packages:o};return{available:!0,runtime:a,producerIdentity:x(a)}}catch(t){return{available:!1,reason:`scip-typescript document runtime unavailable: ${t instanceof Error?t.message:String(t)}`}}}function J(){let t=M();return t.available?{available:!0,packageVersion:t.packageVersion,typescriptVersion:t.typescriptVersion,producerIdentity:t.producerIdentity}:t}function M(){try{let t=u.resolve("@sourcegraph/scip-typescript/package.json"),e=JSON.parse(S(t,"scip-typescript package manifest"));if(e.version!==D)return{available:!1,reason:`unsupported scip-typescript version ${String(e.version??"unknown")}; expected ${D}`};let r=I(t),i=u.resolve("typescript/package.json",{paths:[r]}),n=JSON.parse(S(i,"TypeScript package manifest"));return typeof n.version!="string"||!n.version?{available:!1,reason:"scip-typescript TypeScript compiler version is unavailable"}:{available:!0,packageRoot:r,packageVersion:e.version,typescriptVersion:n.version,producerIdentity:C(e.version,n.version)}}catch(t){return{available:!1,reason:`scip-typescript document producer unavailable: ${t instanceof Error?t.message:String(t)}`}}}function A(t){let e=t.runtime===void 0?z():t.runtime===null?{available:!1,reason:"scip-typescript document runtime unavailable"}:{available:!0,runtime:t.runtime,producerIdentity:x(t.runtime)};return e.available?{available:!0,emitter:new T(t,e.runtime)}:e}var T=class{producerIdentity;workspaceRoot;tsconfigPath;projectRoot;maxFileByteSize;runtime;host;config=null;includedFiles=new Set;program=null;checker=null;symbolTable=new Map;constructorTable=new Map;packages;fragments=new Map;stats={initializations:0,programUpdates:0,documentsEmitted:0,documentsRemoved:0,sourceNodesReused:0,sourceNodesReplaced:0,symbolEntriesPruned:0};constructor(e,r){this.workspaceRoot=m(e.workspaceRoot),this.tsconfigPath=m(this.workspaceRoot,e.tsconfigPath),this.projectRoot=e.projectRoot??O(this.workspaceRoot,I(this.tsconfigPath)),this.maxFileByteSize=e.maxFileByteSize??1024*1024,this.runtime=r,this.producerIdentity=x(r);let i=v(r.typescript,this.tsconfigPath);this.config=i,this.host=new w(r.typescript,i.options,this.workspaceRoot),this.packages=new r.Packages(this.projectRoot)}initialize(){let e=performance.now();this.initializeProgram();let r=[];for(let i of this.program.getSourceFiles())this.includedFiles.has(f(i.fileName))&&r.push(this.emitSourceFile(i));return this.result(r,e)}advance(e){if(!this.program||!this.checker||!this.config)return this.initializeAndAdvance(e);let r=performance.now(),i=h(e.modifiedFiles),n=h(e.removedFiles??[]),s=h(e.affectedFiles);if(this.fragments.clear(),i.length===0&&n.length===0)return this.validateAffectedPaths(s),this.result(this.emitAffectedFiles(s),r);let o=v(this.runtime.typescript,this.tsconfigPath);this.config=o,this.includedFiles=new Set(o.fileNames.map(f));let c=this.program,a=new Map;for(let d of[...i,...n]){let p=y(this.workspaceRoot,d),l=c.getSourceFile(p);l&&(a.set(d,l),this.stats.symbolEntriesPruned+=F(this.symbolTable,l),this.stats.symbolEntriesPruned+=F(this.constructorTable,l)),this.host.invalidate(p)}this.program=this.runtime.typescript.createProgram(o.fileNames,o.options,this.host.compilerHost,c),this.checker=this.program.getTypeChecker(),this.stats.programUpdates+=1,this.validateIncrementalPaths(i,n,s),this.stats.documentsRemoved+=n.length;for(let[d,p]of a)this.program.getSourceFile(y(this.workspaceRoot,d))===p?this.stats.sourceNodesReused+=1:this.stats.sourceNodesReplaced+=1;return this.result(this.emitAffectedFiles(s),r)}fragment(e){return this.fragments.get(g(e))??null}snapshotStats(){return{...this.stats}}initializeAndAdvance(e){let r=performance.now();this.initializeProgram();let i=h(e.modifiedFiles),n=h(e.removedFiles??[]),s=h(e.affectedFiles);return this.fragments.clear(),this.validateIncrementalPaths(i,n,s,!0),this.stats.documentsRemoved+=n.length,this.result(this.emitAffectedFiles(s),r)}initializeProgram(){let e=this.config??v(this.runtime.typescript,this.tsconfigPath);this.includedFiles=new Set(e.fileNames.map(f)),this.program=this.runtime.typescript.createProgram(e.fileNames,e.options,this.host.compilerHost),this.checker=this.program.getTypeChecker(),this.stats.initializations+=1}validateIncrementalPaths(e,r,i,n=!1){if(!n&&e.length===0&&r.length===0)throw new Error("incremental TypeScript document update requires a modified or removed file");if(i.length===0&&r.length===0)throw new Error("incremental TypeScript document update requires an affected or removed file");for(let s of e){let o=y(this.workspaceRoot,s);if(!this.program?.getSourceFile(o))throw new Error(`modified TypeScript dependency is unavailable to the configured project: ${s}`)}for(let s of r){let o=y(this.workspaceRoot,s);if(this.program?.getSourceFile(o))throw new Error(`removed TypeScript source is still present in the configured project: ${s}`)}this.validateAffectedPaths(i)}validateAffectedPaths(e){for(let r of e){let i=y(this.workspaceRoot,r);if(!this.includedFiles.has(f(i)))throw new Error(`affected TypeScript file is outside the configured project: ${r}`)}}emitAffectedFiles(e){return e.map(r=>{let i=this.program.getSourceFile(y(this.workspaceRoot,r));if(!i)throw new Error(`affected TypeScript source is unavailable: ${r}`);return this.emitSourceFile(i)})}emitSourceFile(e){if(!this.checker)throw new Error("TypeScript document emitter is not initialized");let r=g(P(this.workspaceRoot,e.fileName)),i=new this.runtime.Document({relative_path:r,occurrences:[]});if(new this.runtime.FileIndexer(this.checker,{cwd:this.workspaceRoot,projectRoot:this.projectRoot,projectDisplayName:this.projectRoot,maxFileByteSizeNumber:this.maxFileByteSize},new this.runtime.Input(e.fileName,e.getText()),i,this.symbolTable,this.constructorTable,this.packages,e).index(),this.stats.documentsEmitted+=1,i.occurrences.length===0)return this.fragments.delete(r),this.stats.documentsRemoved+=1,{relativePath:r,bytes:null,occurrences:0,symbols:i.symbols.length,referenceFragments:[]};let s=i.serializeBinary();return this.fragments.set(r,s),{relativePath:r,bytes:s,occurrences:i.occurrences.length,symbols:i.symbols.length,referenceFragments:U(r,i)}}result(e,r){return{producerIdentity:this.producerIdentity,fragments:e,durationMs:performance.now()-r,stats:this.snapshotStats()}}};function U(t,e){let r=new Map;for(let i of e.occurrences){if(!i.symbol||(i.symbol_roles&1)!==0||i.range.length<3)continue;let n=i.range[0],s=i.range[1];if(!Number.isInteger(n)||!Number.isInteger(s))continue;let o={targetSymbol:i.symbol,location:{file:t,line:n,column:s}};r.set(`${i.symbol}\0${n}\0${s}`,o)}return[...r.values()].sort((i,n)=>i.targetSymbol.localeCompare(n.targetSymbol)||i.location.line-n.location.line||i.location.column-n.location.column)}var w=class{compilerHost;sourceFiles=new Map;constructor(e,r,i){let n=e.createCompilerHost(r),s=n.getSourceFile.bind(n);this.compilerHost={...n,getCurrentDirectory:()=>i,getSourceFile:(o,c,a,d)=>{let p=f(o);if(this.sourceFiles.has(p))return this.sourceFiles.get(p);let l=s(o,c,a,d);return this.sourceFiles.set(p,l),l}}}invalidate(e){this.sourceFiles.delete(f(e))}};function v(t,e){let r=t.readConfigFile(e,t.sys.readFile);if(r.error)throw new Error(t.formatDiagnostics([r.error],t.createCompilerHost({})));let i=t.parseJsonConfigFileContent(r.config,t.sys,I(e)),n=i.errors.filter(s=>s.code!==18003);if(n.length>0)throw new Error(t.formatDiagnostics(n,t.createCompilerHost({})));return i}function x(t){return C(t.packageVersion,t.typescript.version)}function C(t,e){return`scip-typescript:${t}:typescript:${e}:document-adapter:${_}`}function O(t,e){return g(P(t,e))||"."}function y(t,e){if(j(e))throw new Error(`expected a project-relative path: ${e}`);let r=m(t,e),i=t.endsWith(b)?t:`${t}${b}`;if(r!==t&&!r.startsWith(i))throw new Error(`path escapes the project root: ${e}`);return r}function h(t){return[...new Set(t.map(g))].sort()}function g(t){return t.split(b).join("/").replace(/^\.\//,"")}function f(t){return m(t)}function F(t,e){let r=0;for(let i of t.keys())if($(i)){try{if(i.getSourceFile()!==e)continue}catch{continue}t.delete(i),r+=1}return r}function $(t){return!!(t&&typeof t=="object"&&"kind"in t&&"getSourceFile"in t)}var N=class{projectRoot;currentGeneration;createEmitter;wallNow;monotonicNow;maxActiveSessions;softMemoryLimitBytes;memoryUsage;active=new Map;requests=0;sessionsCreated=0;sessionsReplaced=0;sessionsEvicted=0;lastRequestAtMs=null;lastDurationMs=null;lastError=null;unavailable=!1;constructor(e){if(this.projectRoot=H(e.projectRoot),this.currentGeneration=e.currentGeneration,this.createEmitter=e.createEmitter??A,this.wallNow=e.wallNow??e.now??Date.now,this.monotonicNow=e.monotonicNow??e.now??E,e.maxActiveSessions!==void 0&&(!Number.isInteger(e.maxActiveSessions)||e.maxActiveSessions<1))throw new Error("TypeScript index maxActiveSessions must be a positive integer.");if(this.maxActiveSessions=e.maxActiveSessions??8,e.softMemoryLimitMb!==void 0&&(!Number.isInteger(e.softMemoryLimitMb)||e.softMemoryLimitMb<1))throw new Error("TypeScript index softMemoryLimitMb must be a positive integer.");this.softMemoryLimitBytes=e.softMemoryLimitMb===void 0?null:e.softMemoryLimitMb*1024*1024,this.memoryUsage=e.memoryUsage??(()=>({heapUsedBytes:process.memoryUsage().heapUsed,heapLimitBytes:V().heap_size_limit}))}handle(e,r){let i=this.monotonicNow();try{if(this.currentGeneration()!==e)throw new Error("TypeScript index request does not match the currently published generation.");let n=this.emitterFor(r);if(n.emitter.producerIdentity!==r.producerIdentity)throw new Error("TypeScript index producer identity changed.");let s=n.emitter.snapshotStats(),o=n.emitter.advance({modifiedFiles:r.modifiedFiles,removedFiles:r.removedFiles,affectedFiles:r.affectedFiles}),c=this.monotonicNow()-i;return this.requests+=1,this.lastRequestAtMs=this.wallNow(),this.lastDurationMs=c,this.lastError=null,this.unavailable=!1,{producerIdentity:o.producerIdentity,cold:o.stats.initializations>s.initializations,durationMs:c,fragments:o.fragments.map(a=>({relativePath:a.relativePath,bytesBase64:a.bytes===null?null:Buffer.from(a.bytes).toString("base64"),occurrences:a.occurrences,symbols:a.symbols,referenceFragments:a.referenceFragments}))}}catch(n){throw this.lastError=n instanceof Error?n.message:String(n),n}}status(e){let r=[...this.active.values()].map(o=>o.emitter.snapshotStats()),i=o=>r.reduce((c,a)=>c+a[o],0),n=this.memoryUsage(),s=this.softMemoryLimitBytes!==null&&n.heapUsedBytes>=this.softMemoryLimitBytes;return{protocolVersion:k,state:this.unavailable?"unavailable":this.lastError?"error":this.active.size>0?"ready":"idle",requests:this.requests,sessionsCreated:this.sessionsCreated,sessionsReplaced:this.sessionsReplaced,sessionsEvicted:this.sessionsEvicted,activeSessions:this.active.size,maxActiveSessions:this.maxActiveSessions,heapUsedBytes:n.heapUsedBytes,heapLimitBytes:n.heapLimitBytes,...this.softMemoryLimitBytes===null?{}:{softMemoryLimitBytes:this.softMemoryLimitBytes},retireRequested:s,initializations:i("initializations"),programUpdates:i("programUpdates"),documentsEmitted:i("documentsEmitted"),documentsRemoved:i("documentsRemoved"),...this.lastRequestAtMs===null?{}:{lastRequestAt:new Date(this.lastRequestAtMs).toISOString()},...this.lastDurationMs===null?{}:{lastDurationMs:this.lastDurationMs},...this.lastError?{lastError:this.lastError}:{},...e?{mailbox:e}:{}}}close(){this.active.clear()}emitterFor(e){let r=`${e.tsconfigPath}\0${e.projectArgument}`,i=this.active.get(r);if(i?.projectIdentity===e.projectIdentity)return this.active.delete(r),this.active.set(r,i),i;if(i)this.active.delete(r);else if(this.active.size>=this.maxActiveSessions){let o=this.active.keys().next().value;o!==void 0&&(this.active.delete(o),this.sessionsEvicted+=1)}let n=this.createEmitter({workspaceRoot:this.projectRoot,tsconfigPath:e.tsconfigPath,projectRoot:e.projectArgument});if(!n.available)throw this.unavailable=!0,new Error(n.reason);i&&(this.sessionsReplaced+=1);let s={projectIdentity:e.projectIdentity,emitter:n.emitter};return this.active.set(r,s),this.sessionsCreated+=1,s}};var se=`typescript-index-${process.pid}-${q()}`,B=R(process.pid),oe={pid:process.pid,...B?{processIdentity:B}:{}};export{J as a,N as b};
2
+ //# sourceMappingURL=chunk-UEQORB2A.js.map
@@ -0,0 +1,38 @@
1
+ import{c as K,d as O,e as Q,f as U,n as Y}from"./chunk-B3AREUQK.js";import{a as H}from"./chunk-YBWE6J32.js";import{d as V,e as Z}from"./chunk-MTDBHTSF.js";import{A as J,e as $,g as B,t as N,u as G,z as W}from"./chunk-7Z4GMCHM.js";import{r as D,w as x,y as j}from"./chunk-6LS3IG2I.js";import{z as k}from"./chunk-C7WSQA6A.js";import{d as A}from"./chunk-JSHDCVUM.js";import{d as v}from"./chunk-WEXQYJY3.js";function Ie(o,t,n={}){let i=z(o,[t],{additive:n.additive,semantic:n.semantic,semanticEvidence:n.semanticEvidence}),l=n.callableOnly?(i.get(t.symbolId)??[]).filter(s=>B(s.symbol)||s.source==="ast-callsite"):i.get(t.symbolId)??[];return typeof n.limit=="number"?l.slice(0,n.limit):l}function ve(o,t,n){return te(o,[t],n).get(t.symbolId)??[]}function te(o,t,n){let i=se(o)?ce(o,t,{semantic:n.semantic!==!1,semanticEvidence:n.semanticEvidence}):ae(o,n.semanticEvidence);return typeof n.limit!="number"?new Map(t.map(l=>[l.symbolId,i.get(l.symbolId)??[]])):new Map(t.map(l=>[l.symbolId,(i.get(l.symbolId)??[]).slice(0,n.limit)]))}var oe=A("caller-rows",{clearGroups:["whole-project"]}),ie=A("targeted-caller-strategy",{clearGroups:["whole-project"]}),le=2e4;function se(o){return ie.get(o,()=>(o.get("SELECT COUNT(*) AS count FROM global_symbols")?.count??0)>le)}function ae(o,t){return oe.get(o,()=>{let n=G(o),i=z(o,n,{semanticEvidence:t}),l=new Map;for(let c of n)l.set(c.symbol,c.symbolId);let s=new Map,a=new Map;for(let c of n){let f=i.get(c.symbolId);if(!(!f||f.length===0))for(let b of f){let r=l.get(b.symbol);if(r===void 0||r===c.symbolId)continue;let u=s.get(r);u||(u=[],s.set(r,u),a.set(r,new Set));let h=`${c.symbol}|${c.relativePath}`;a.get(r).has(h)||(a.get(r).add(h),u.push({symbol:c.symbol,file:c.relativePath,source:"caller-map-inversion",callEvidence:b.source}))}}return s})}function ce(o,t,n){let i=n.semantic&&n.semanticEvidence?t.flatMap(e=>{let d=re(o,e);return d?[d]:[]}):[],l=new Map(i.map(e=>[e.symbolId,e])),s=n.semanticEvidence?.referenceMap(o,i)??new Map,a=Y(o,t),c=new Set(t.map(e=>e.symbol)),b=[...new Set(t.flatMap(e=>H(o,"reverse",[e.relativePath])))].flatMap(e=>N(o,e)),r=new Map,u=X(o,b);for(let e of b)for(let d of u.get(e.symbolId)??[]){if(!c.has(d.symbol))continue;let g=r.get(d.symbol)??[];g.push({symbol:e.symbol,file:e.relativePath,source:"caller-map-inversion",callEvidence:d.source}),r.set(d.symbol,g)}let h=new Map;for(let e of t){let d=[],g=new Set,S=m=>{if(m.symbol===e.symbol)return;let E=`${m.symbol}|${m.file}`;g.has(E)||(g.add(E),d.push(m))};for(let m of r.get(e.symbol)??[])S(m);for(let m of a.get(e.symbolId)??[])m.file!==e.relativePath&&S({symbol:m.enclosingSymbol??m.file,file:m.file,source:"resolved-reference"});let L=l.get(e.symbolId);if(L)for(let m of s.get(L.symbolId)??[]){if(m.file===e.relativePath||o.isIgnored(m.file))continue;let E=J(N(o,m.file),m.line);S({symbol:E?.symbol??m.file,file:m.file,source:"semantic-reference"})}h.set(e.symbolId,d)}return h}function re(o,t){let n=V().join(", "),i=Z().join(", ");return o.get(`SELECT
2
+ d.id AS documentId,
3
+ gs.id AS symbolId,
4
+ gs.symbol,
5
+ d.relative_path AS relativePath,
6
+ COALESCE(der.start_line, c.start_line) AS startLine,
7
+ COALESCE(der.end_line, c.end_line) AS endLine,
8
+ COALESCE(gs.display_name, '') AS leaf,
9
+ NULL AS parentTypeName,
10
+ CASE WHEN gs.kind IN (${n}) OR gs.symbol LIKE '%().' THEN 1 ELSE 0 END AS isFunctionLike,
11
+ CASE WHEN gs.kind IN (${i}) THEN 1 ELSE 0 END AS isTypeLike,
12
+ gs.kind AS kind,
13
+ gs.documentation AS documentation,
14
+ gs.enclosing_symbol AS enclosingSymbol
15
+ FROM global_symbols gs
16
+ LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
17
+ LEFT JOIN chunks c ON c.document_id = der.document_id
18
+ JOIN documents d ON d.id = COALESCE(der.document_id, c.document_id)
19
+ WHERE gs.id = ?
20
+ LIMIT 1`,t.symbolId)??null}function z(o,t,n={}){if(t.length===0)return new Map;let i=n.additive??!1,l=[],s=[];for(let r of t)k(r.relativePath)&&D(o,r.relativePath)!==null?l.push(r):s.push(r);let a=new Map,c=new Map,f=r=>{for(let[u,h]of r){let e=a.get(u);e||(e=[],a.set(u,e));let d=c.get(u);d||(d=new Set,c.set(u,d));for(let g of h){let S=`${g.symbol}|${g.chunkId}`;d.has(S)||(d.add(S),e.push(g))}}};l.length>0&&f(X(o,l)),n.semantic!==!1&&n.semanticEvidence&&f(ye(n.semanticEvidence.calleeMap(o,t)));let b=i?t:s;return b.length>0&&f(fe(o,b)),a}function X(o,t){let n=new Map,i=me(t,n),l=U(o);for(let[s,a]of i){let c=D(o,s);if(!c)continue;let f=W(a);for(let b of c){let r=f.get(b.line);if(!r)continue;let u=de(o,s,l,b);u&&u.symbol!==r.symbol&&n.get(r.symbolId).push({symbol:u.symbol,file:u.file,chunkId:b.line,source:"ast-callsite",callsiteLine:b.line})}}return n}function me(o,t){let n=new Map;for(let i of o){let l=n.get(i.relativePath);l?l.push(i):n.set(i.relativePath,[i]),t.set(i.symbolId,[])}for(let i of n.values())i.sort((l,s)=>l.endLine-l.startLine-(s.endLine-s.startLine));return n}function de(o,t,n,i){let l=j(o,t,i.calleeLeaf);if(l){let c=O(t,n.get(l.importedName)??[]).filter(f=>v(l.sourcePath,f.file));return c.length===1?c[0]:null}let s=O(t,n.get(i.calleeLeaf)??[]);if(s.length===0)return null;let a=ue(o,t,s,i.calleeQualifier);return a||Q(o,t,s,i.memberAccess,i.calleeQualifier)}function ue(o,t,n,i){if(!i||k(t)!=="clojure")return null;let s=x(o,t).filter(a=>a.kind==="namespace"&&a.localName===i&&a.sourcePath).map(a=>a.sourcePath);for(let a of s){let c=n.find(f=>v(a,f.file));if(c)return c}return n.find(a=>/`([^`]+)`\//.exec(a.symbol)?.[1]===i)??null}function fe(o,t){if(t.length===0)return new Map;let i=T(t.map(e=>e.documentId)).flatMap(e=>o.all(`SELECT c.document_id, c.id AS chunk_id, c.start_line, c.end_line, m.symbol_id
21
+ FROM mentions m
22
+ JOIN chunks c ON m.chunk_id = c.id
23
+ WHERE m.role != 1
24
+ AND c.document_id IN (${e.map(()=>"?").join(",")})`,...e)),l=new Map;for(let e of i)l.has(e.document_id)||l.set(e.document_id,[]),l.get(e.document_id).push(e);let a=T(i.map(e=>e.symbol_id)).flatMap(e=>o.all(`SELECT gs.id AS symbol_id, gs.symbol,
25
+ COALESCE(der.document_id, def_chunk.document_id) AS document_id
26
+ FROM global_symbols gs
27
+ LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
28
+ LEFT JOIN (
29
+ SELECT m.symbol_id, MIN(c.document_id) AS document_id
30
+ FROM mentions m
31
+ JOIN chunks c ON m.chunk_id = c.id
32
+ WHERE m.role = 1
33
+ AND m.symbol_id IN (${e.map(()=>"?").join(",")})
34
+ GROUP BY m.symbol_id
35
+ ) def_chunk ON def_chunk.symbol_id = gs.id
36
+ WHERE gs.id IN (${e.map(()=>"?").join(",")})`,...e,...e)),c=T([...t.map(e=>e.documentId),...a.flatMap(e=>e.document_id===null?[]:[e.document_id])]),f=new Map(c.flatMap(e=>o.all(`SELECT id, relative_path FROM documents
37
+ WHERE id IN (${e.map(()=>"?").join(",")})`,...e).map(d=>[d.id,d.relative_path]))),b=new Map;for(let e of a)b.has(e.symbol_id)||b.set(e.symbol_id,{symbol:e.symbol,file:e.document_id!==null?f.get(e.document_id)??"":""});let r=new Map,u=f,h=be(t);for(let[e,d]of h){let S=[...l.get(e)??[]].sort((y,C)=>y.start_line-C.start_line||y.end_line-C.end_line),L=[...d].sort((y,C)=>y.startLine-C.startLine||y.endLine-C.endLine),m=new Set,E=0;for(let y of L){for(;E<S.length&&S[E].start_line<=y.endLine;)m.add(S[E]),E+=1;for(let p of m)p.end_line<y.startLine&&m.delete(p);let C=new Set,P=[],R=null,ee=()=>{if(R)return R;let p=u.get(y.documentId)??"",_=new Set;if(p){let I=K(o,p),w=Math.max(0,y.startLine),F=Math.min(I.length-1,y.endLine);for(let M=w;M<=F;M+=1)for(let ne of I[M])_.add(ne)}return R=_,_};for(let p of m){if(p.symbol_id===y.symbolId)continue;let _=b.get(p.symbol_id);if(!_)continue;if(!(p.start_line>=y.startLine&&p.end_line<=y.endLine)){if(!(p.start_line<=y.endLine&&p.end_line>=y.startLine))continue;let M=$(_.symbol);if(!M||!ee().has(M))continue}let w=`${_.symbol}|${p.chunk_id}`;C.has(w)||(C.add(w),P.push({..._,chunkId:p.chunk_id,source:"scip-chunk"}))}r.set(y.symbolId,P)}}return r}var q=500;function T(o){let t=[...new Set(o)],n=[];for(let i=0;i<t.length;i+=q)n.push(t.slice(i,i+q));return n}function be(o){let t=new Map;for(let n of o){let i=t.get(n.documentId);i?i.push(n):t.set(n.documentId,[n])}return t}function ye(o){let t=new Map;for(let[n,i]of o){let l=[];for(let s of i)l.push({symbol:s.symbol,file:s.file,chunkId:-1,source:"semantic-callee",...s.callsiteLine===void 0?{}:{callsiteLine:s.callsiteLine}});t.set(n,l)}return t}export{Ie as a,ve as b,te as c,z as d};
38
+ //# sourceMappingURL=chunk-UM56ZET4.js.map
@@ -0,0 +1,2 @@
1
+ import{a as f}from"./chunk-DXYMTQZ4.js";import{b as l,e as n,i as c}from"./chunk-H5EXS3HM.js";import{a as d}from"./chunk-Z2KGMIL4.js";import{h as u}from"./chunk-XIPGCT3D.js";import{join as o}from"path";var L=6,q=1e4,y="watch.lock",m="watch-state.json",b="watch-activity.json",S="watch-refresh-requests";function C(t){return{lockPath:o(t,y),statePath:o(t,m),activityPath:o(t,b),refreshRequestsPath:o(t,S)}}function j(t){try{return g(JSON.parse(u(t,"watch service state")))}catch{return null}}function g(t){if(!t||typeof t!="object")return null;let e=t;if(e.version!==1||typeof e.protocolVersion!="number"||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||e.worktreeId!==void 0&&(typeof e.worktreeId!="string"||e.worktreeId.length===0)||typeof e.cliVersion!="string"||!r(e.startedAt)||!r(e.heartbeatAt)||!r(e.lastActivityAt)||!h(e.watcher)||e.idleDeadlineAt!==void 0&&!r(e.idleDeadlineAt))return null;if(e.processIdentity!==void 0){let i=d(e.processIdentity);if(!i||i.pid!==e.pid)return null;e.processIdentity=i}return e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration)||e.lastError!==void 0&&!R(e.lastError)||e.lastRefresh!==void 0&&!A(e.lastRefresh)||e.reindexActivity!==void 0&&!v(e.reindexActivity)||e.refreshRequests!==void 0&&!E(e.refreshRequests)||e.typescriptSemantic!==void 0&&!w(e.typescriptSemantic)||e.typescriptIndex!==void 0&&!T(e.typescriptIndex)?null:e}function r(t){return l(t)}function h(t){if(!t||typeof t!="object"||!("state"in t))return!1;let e=t;switch(e.state){case"idle":return!0;case"waiting":return s(e.changedFiles)&&s(e.reindexAt);case"indexing":return s(e.startedAt);case"cooldown":return s(e.until)&&typeof e.dirty=="boolean";case"budget-paused":return s(e.until)&&typeof e.dirty=="boolean"&&typeof e.reason=="string"&&n(e.rebuilt)&&n(e.estimatedWriteBytes);case"draining":return s(e.startedAt)&&typeof e.reason=="string";default:return!1}}function R(t){if(!t||typeof t!="object")return!1;let e=t;return r(e.at)&&typeof e.message=="string"}function A(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.trigger?.kind=="string"&&typeof e.result=="string"&&r(e.startedAt)&&r(e.completedAt)&&s(e.durationMs)}function v(t){if(!t||typeof t!="object")return!1;let e=t;return e.confidence!==void 0&&e.confidence!=="complete"&&e.confidence!=="partial"&&e.confidence!=="unavailable"||e.recordsRead!==void 0&&!n(e.recordsRead)||e.invalidRecords!==void 0&&!n(e.invalidRecords)||e.skippedRecords!==void 0&&!n(e.skippedRecords)||e.readErrors!==void 0&&!n(e.readErrors)||e.ignoredPartialTailBytes!==void 0&&!n(e.ignoredPartialTailBytes)||!r(e.windowStartedAt)||!r(e.windowEndedAt)||!n(e.runs)||!n(e.rebuilt)||e.fullRebuilds!==void 0&&!n(e.fullRebuilds)||!n(e.reused)||!n(e.failed)||!n(e.suppressed)||!s(e.estimatedLogicalOutputBytes)||e.estimatedWriteBytes!==void 0&&!n(e.estimatedWriteBytes)||e.reflinkedBytes!==void 0&&!n(e.reflinkedBytes)||e.fallbackCopiedBytes!==void 0&&!n(e.fallbackCopiedBytes)||e.oldestRebuildAt!==void 0&&!r(e.oldestRebuildAt)||e.oldestWriteAt!==void 0&&!r(e.oldestWriteAt)||e.languageAttribution!==void 0&&e.languageAttribution!=="complete"&&e.languageAttribution!=="partial"&&e.languageAttribution!=="unavailable"||e.attributedRuns!==void 0&&!n(e.attributedRuns)||e.unattributedRuns!==void 0&&!n(e.unattributedRuns)||e.invalidLanguageDetails!==void 0&&!n(e.invalidLanguageDetails)||e.estimatedLogicalOutputBytes<0||!e.byTrigger||typeof e.byTrigger!="object"||Array.isArray(e.byTrigger)||e.byLanguage!==void 0&&!x(e.byLanguage)?!1:Object.values(e.byTrigger).every(i=>i===void 0||n(i))}function x(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;for(let[e,i]of Object.entries(t)){if(!f.includes(e)||!i||typeof i!="object")return!1;let a=i;if(!n(a.runs)||!n(a.rebuilt)||!n(a.reused)||!n(a.producedOutputBytes)||!c(a.durationMs)||a.rebuilt+a.reused!==a.runs)return!1}return!0}function E(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.claimed)&&n(e.completed)&&n(e.expired)&&n(e.invalid)&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function w(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&s(e.requests)&&s(e.sessionsCreated)&&s(e.sessionsReused)&&s(e.sessionsRefreshed)&&s(e.sessionsReplaced)&&s(e.projectsCreated)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function T(t){if(!t||typeof t!="object")return!1;let e=t;return typeof e.protocolVersion=="number"&&(e.state==="idle"||e.state==="ready"||e.state==="unavailable"||e.state==="error")&&n(e.requests)&&n(e.sessionsCreated)&&n(e.sessionsReplaced)&&(e.sessionsEvicted===void 0||n(e.sessionsEvicted))&&(e.activeSessions===void 0||n(e.activeSessions))&&(e.maxActiveSessions===void 0||n(e.maxActiveSessions))&&(e.heapUsedBytes===void 0||n(e.heapUsedBytes))&&(e.heapLimitBytes===void 0||n(e.heapLimitBytes))&&(e.softMemoryLimitBytes===void 0||n(e.softMemoryLimitBytes))&&(e.retireRequested===void 0||typeof e.retireRequested=="boolean")&&n(e.initializations)&&n(e.programUpdates)&&n(e.documentsEmitted)&&n(e.documentsRemoved)&&(e.lastRequestAt===void 0||r(e.lastRequestAt))&&(e.lastDurationMs===void 0||s(e.lastDurationMs)&&e.lastDurationMs>=0)&&(e.lastError===void 0||typeof e.lastError=="string")&&(e.busyUntil===void 0||r(e.busyUntil))&&(e.mailbox===void 0||p(e.mailbox))}function p(t){if(!t||typeof t!="object")return!1;let e=t;return n(e.pending)&&n(e.inflight)&&n(e.responses)&&n(e.deadLetters)&&n(e.invalid)&&n(e.totalItems)&&s(e.totalBytes)&&e.totalBytes>=0&&e.totalItems===e.pending+e.inflight+e.responses+e.deadLetters&&(e.oldestPendingAt===void 0||r(e.oldestPendingAt))}function s(t){return typeof t=="number"&&Number.isFinite(t)}export{L as a,q as b,C as c,j as d,r as e};
2
+ //# sourceMappingURL=chunk-UXNXOMXJ.js.map
@@ -1,2 +1,2 @@
1
- import{A as s}from"./chunk-GH74ASD6.js";var p=new Set(["componentDidCatch","componentDidMount","componentDidUpdate","componentWillUnmount","getDerivedStateFromError","getDerivedStateFromProps","getSnapshotBeforeUpdate","render","shouldComponentUpdate","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate"]);function l(i,t){if(!t.parentTypeName||!/\.[cm]?[jt]sx?$/.test(t.relativePath))return!1;let r=s(i,t.relativePath);if(!r)return!1;let n=r.rootNode.descendantsOfType("method_definition").find(a=>a.startPosition.row<=t.startLine&&a.endPosition.row>=t.endLine);if(!n)return!1;if(/\boverride\b/.test(n.text.slice(0,Math.max(0,n.text.indexOf("{")))))return!0;let e=n.parent;for(;e&&e.type!=="class_declaration"&&e.type!=="class";)e=e.parent;if(!e)return!1;let o=e.text.slice(0,Math.max(0,e.text.indexOf("{")));return/\bimplements\b/.test(o)||/\bextends\b/.test(o)?!0:p.has(t.leaf)&&/\bextends\s+(?:React\.)?(?:Component|PureComponent)\b/.test(o)}export{l as a};
2
- //# sourceMappingURL=chunk-6SHPK5ZE.js.map
1
+ import{C as s}from"./chunk-C7WSQA6A.js";var p=new Set(["componentDidCatch","componentDidMount","componentDidUpdate","componentWillUnmount","getDerivedStateFromError","getDerivedStateFromProps","getSnapshotBeforeUpdate","render","shouldComponentUpdate","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate"]);function l(i,t){if(!t.parentTypeName||!/\.[cm]?[jt]sx?$/.test(t.relativePath))return!1;let r=s(i,t.relativePath);if(!r)return!1;let n=r.rootNode.descendantsOfType("method_definition").find(a=>a.startPosition.row<=t.startLine&&a.endPosition.row>=t.endLine);if(!n)return!1;if(/\boverride\b/.test(n.text.slice(0,Math.max(0,n.text.indexOf("{")))))return!0;let e=n.parent;for(;e&&e.type!=="class_declaration"&&e.type!=="class";)e=e.parent;if(!e)return!1;let o=e.text.slice(0,Math.max(0,e.text.indexOf("{")));return/\bimplements\b/.test(o)||/\bextends\b/.test(o)?!0:p.has(t.leaf)&&/\bextends\s+(?:React\.)?(?:Component|PureComponent)\b/.test(o)}export{l as a};
2
+ //# sourceMappingURL=chunk-V6XENWOF.js.map