codebaseiq 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (447) hide show
  1. package/CHANGELOG.md +89 -0
  2. package/README.md +1 -1
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/{chunk-ZMI2JSX2.js → chunk-23C5AD3B.js} +2 -2
  5. package/dist/chunk-2E6OUPCF.js +2 -0
  6. package/dist/chunk-2EDX3JT5.js +3 -0
  7. package/dist/chunk-2I2UHZET.js +2 -0
  8. package/dist/{chunk-T3DGWPXM.js → chunk-2OMXFE64.js} +2 -2
  9. package/dist/chunk-2PRONPAS.js +3 -0
  10. package/dist/{chunk-GW6Z3WGY.js → chunk-356EZBIP.js} +2 -2
  11. package/dist/{chunk-UDS562V4.js → chunk-36JC5BG2.js} +2 -2
  12. package/dist/chunk-3RR2K7EZ.js +20 -0
  13. package/dist/{chunk-JE3WZ6II.js → chunk-3RSBGWGL.js} +2 -2
  14. package/dist/{chunk-VE5AVNMP.js → chunk-3VJ3OCRE.js} +2 -2
  15. package/dist/{chunk-FDGD5AB5.js → chunk-4LK5OIPW.js} +2 -2
  16. package/dist/chunk-5DSL3NT2.js +17 -0
  17. package/dist/chunk-5FWR5HLG.js +90 -0
  18. package/dist/chunk-5IC2WZAL.js +22 -0
  19. package/dist/{chunk-MVB3DAEY.js → chunk-5IZRKWTZ.js} +2 -2
  20. package/dist/{chunk-Q65CQ4XL.js → chunk-5LL4KEHO.js} +2 -2
  21. package/dist/chunk-5T44HG5Y.js +88 -0
  22. package/dist/{chunk-TRRC4ZJ7.js → chunk-5ZI2PPI7.js} +2 -2
  23. package/dist/{chunk-7XAN6GKB.js → chunk-67VJAYVR.js} +2 -2
  24. package/dist/{chunk-MOVBWNIP.js → chunk-6BF3VYEF.js} +2 -2
  25. package/dist/chunk-6JMAVFL4.js +3 -0
  26. package/dist/chunk-6O3KXIDL.js +2 -0
  27. package/dist/{chunk-JOIRNPPY.js → chunk-6VREELBC.js} +2 -2
  28. package/dist/chunk-6WAPPQ5F.js +82 -0
  29. package/dist/{chunk-FW53T7EB.js → chunk-75KJGYX7.js} +2 -2
  30. package/dist/chunk-7GAK2F3H.js +77 -0
  31. package/dist/{chunk-UBGWN7I4.js → chunk-7JELP5YE.js} +2 -2
  32. package/dist/chunk-7UCDGXRW.js +8 -0
  33. package/dist/{chunk-L57ZKWVG.js → chunk-AEXQYQD7.js} +2 -2
  34. package/dist/chunk-AQI4N64O.js +22 -0
  35. package/dist/{chunk-ICFDQHAM.js → chunk-AURCQHSG.js} +2 -2
  36. package/dist/{chunk-I2T2LLK2.js → chunk-BBP7HVBJ.js} +2 -2
  37. package/dist/{chunk-OFBE4NGP.js → chunk-BFBIMTCJ.js} +2 -2
  38. package/dist/{chunk-JEJLSICM.js → chunk-BGGB5N53.js} +2 -2
  39. package/dist/{chunk-TIIC3ZE7.js → chunk-BRQL7AFJ.js} +2 -2
  40. package/dist/{chunk-YSNONTJ2.js → chunk-BWL3PMPT.js} +2 -2
  41. package/dist/chunk-C6WKPKCF.js +127 -0
  42. package/dist/{chunk-YESXMKX3.js → chunk-C7OUW52M.js} +2 -2
  43. package/dist/chunk-C7QWUBR2.js +545 -0
  44. package/dist/{chunk-4WKDMDEW.js → chunk-CCIYWXX6.js} +2 -2
  45. package/dist/{chunk-FAJQ7LWY.js → chunk-CIYA2KZN.js} +2 -2
  46. package/dist/{chunk-VEXUL62T.js → chunk-CR3OG6SQ.js} +2 -2
  47. package/dist/{chunk-JSOYNVWH.js → chunk-CVHOQONG.js} +2 -2
  48. package/dist/{chunk-LU3BMVH2.js → chunk-CW6AXOLR.js} +2 -2
  49. package/dist/{chunk-TXXOEMZJ.js → chunk-D53LWANR.js} +2 -2
  50. package/dist/{chunk-DO6WQD2T.js → chunk-D62CTZX6.js} +2 -2
  51. package/dist/{chunk-N3IQCBCF.js → chunk-D7AZAOZX.js} +2 -2
  52. package/dist/{chunk-RDBI2RXU.js → chunk-D7DOB27N.js} +7 -7
  53. package/dist/chunk-DAKIGMIK.js +21 -0
  54. package/dist/chunk-DDN2F6GB.js +2 -0
  55. package/dist/chunk-DUKHVPU5.js +4 -0
  56. package/dist/chunk-DVWO7RBC.js +2 -0
  57. package/dist/{chunk-HKQUXIFO.js → chunk-E52K4L2W.js} +2 -2
  58. package/dist/chunk-EIBGSU2R.js +2 -0
  59. package/dist/chunk-EN4AHLL3.js +3 -0
  60. package/dist/chunk-EQNMD62X.js +51 -0
  61. package/dist/{chunk-ENCCHKM6.js → chunk-EXZ7VLRY.js} +4 -4
  62. package/dist/{chunk-NEDP5RFQ.js → chunk-F3QSL4W2.js} +2 -2
  63. package/dist/{chunk-O6QTXQPJ.js → chunk-F74LZWCE.js} +2 -2
  64. package/dist/{chunk-BH5F2Q4O.js → chunk-FEIZXBLH.js} +2 -2
  65. package/dist/chunk-FH5WG4LE.js +2 -0
  66. package/dist/{chunk-BVAJLC5A.js → chunk-FOZ74V56.js} +2 -2
  67. package/dist/{chunk-L4NRUAGJ.js → chunk-FQTIFWLR.js} +2 -2
  68. package/dist/chunk-FTTV7IRX.js +355 -0
  69. package/dist/chunk-FWQGH2N2.js +2 -0
  70. package/dist/{chunk-CAUCPUOF.js → chunk-GDHWOA57.js} +2 -2
  71. package/dist/{chunk-6MUIJMVL.js → chunk-GIDCP7KV.js} +2 -2
  72. package/dist/{chunk-ZV3JV5G5.js → chunk-GL6UTNUB.js} +2 -2
  73. package/dist/chunk-GP7C5VAE.js +2 -0
  74. package/dist/{chunk-FQKZWM4L.js → chunk-GQLDYCWS.js} +5 -5
  75. package/dist/chunk-GQXXOS55.js +2 -0
  76. package/dist/{chunk-H3LGFZVK.js → chunk-GUFPEFBG.js} +2 -2
  77. package/dist/{chunk-NNOKTMZT.js → chunk-GV2CEZCW.js} +2 -2
  78. package/dist/{chunk-FETNQCFO.js → chunk-GVAF222T.js} +2 -2
  79. package/dist/chunk-GWYZVVKY.js +21 -0
  80. package/dist/{chunk-7FND7D7N.js → chunk-HENP2O4A.js} +2 -2
  81. package/dist/{chunk-LZYFLFEH.js → chunk-HINZQKSY.js} +2 -2
  82. package/dist/{chunk-RR7SX44N.js → chunk-HQA7EBSK.js} +2 -2
  83. package/dist/{chunk-XMQ23E27.js → chunk-HVFB3PME.js} +2 -2
  84. package/dist/chunk-I22IZYDI.js +2 -0
  85. package/dist/chunk-ICUL7XRT.js +21 -0
  86. package/dist/{chunk-CQP3THUZ.js → chunk-IHSLIIL3.js} +2 -2
  87. package/dist/{chunk-34WBMAYK.js → chunk-ITSJMNUD.js} +2 -2
  88. package/dist/{chunk-PX4RYAAK.js → chunk-IZDPGOZR.js} +2 -2
  89. package/dist/chunk-J3GLP7Q5.js +3 -0
  90. package/dist/{chunk-CVYSU6BX.js → chunk-J7AMBVWF.js} +2 -2
  91. package/dist/{chunk-Y6KHROC3.js → chunk-JCMFBF4Z.js} +2 -2
  92. package/dist/chunk-JFIA2JI3.js +3 -0
  93. package/dist/chunk-JLZLLLW5.js +3 -0
  94. package/dist/{chunk-5PUWMSDU.js → chunk-JSNTHRLQ.js} +2 -2
  95. package/dist/{chunk-C6SBF2WH.js → chunk-JX6ZWDOS.js} +2 -2
  96. package/dist/{chunk-4XTAUQFD.js → chunk-JYI7CV25.js} +2 -2
  97. package/dist/chunk-K7JLSGCJ.js +8 -0
  98. package/dist/{chunk-XWUOUWYI.js → chunk-KPZGTB2O.js} +2 -2
  99. package/dist/{chunk-VXYS3FZD.js → chunk-LKUTSP4G.js} +2 -2
  100. package/dist/{chunk-GTXSJDCO.js → chunk-LMTSB3TB.js} +2 -2
  101. package/dist/chunk-LONKINMJ.js +543 -0
  102. package/dist/{chunk-WMPRTGH2.js → chunk-LQHYYIOB.js} +2 -2
  103. package/dist/{chunk-VUIYB2V3.js → chunk-LZSQ6X7E.js} +2 -2
  104. package/dist/{chunk-ST7V3SKN.js → chunk-M2Y6PCFE.js} +2 -2
  105. package/dist/chunk-MEUHIDI3.js +7 -0
  106. package/dist/{chunk-OZYRSMSH.js → chunk-MHWMEZDA.js} +2 -2
  107. package/dist/{chunk-RKEJ6VTF.js → chunk-MQW6SJ4P.js} +2 -2
  108. package/dist/{chunk-J77SU6VA.js → chunk-MSI3K7PJ.js} +2 -2
  109. package/dist/chunk-MVRGB4KJ.js +278 -0
  110. package/dist/{chunk-DQMDCD24.js → chunk-MZNMASFM.js} +2 -2
  111. package/dist/{chunk-ID63777H.js → chunk-NBCQZSGR.js} +2 -2
  112. package/dist/chunk-NBZKSTXP.js +2 -0
  113. package/dist/{chunk-SZD2KF7Q.js → chunk-NCJILOAK.js} +2 -2
  114. package/dist/{chunk-C7QOQX32.js → chunk-NDKOVQFG.js} +2 -2
  115. package/dist/{chunk-UNBY47BC.js → chunk-NEWHKGVD.js} +2 -2
  116. package/dist/{chunk-PYAB5SM6.js → chunk-O2M3VNDY.js} +2 -2
  117. package/dist/chunk-OFGOOL6U.js +3 -0
  118. package/dist/{chunk-SWHMHUKF.js → chunk-OQUCBKOI.js} +2 -2
  119. package/dist/{chunk-7MGU3HPH.js → chunk-P4NVCOM7.js} +2 -2
  120. package/dist/{chunk-ANFVSJWQ.js → chunk-PFC44E6D.js} +2 -2
  121. package/dist/{chunk-EZNMUY67.js → chunk-PHNCEUXX.js} +2 -2
  122. package/dist/{chunk-4FC325IF.js → chunk-PTQPPPG2.js} +2 -2
  123. package/dist/chunk-PUVNH4PO.js +3 -0
  124. package/dist/chunk-Q23IMHXS.js +343 -0
  125. package/dist/chunk-Q3ZCQY2Y.js +3 -0
  126. package/dist/{chunk-KMITESMT.js → chunk-Q4XEU3UH.js} +2 -2
  127. package/dist/{chunk-QKPLA6IC.js → chunk-QEOWONKY.js} +2 -2
  128. package/dist/{chunk-BJ6SQAEN.js → chunk-QMOZZ2VX.js} +2 -2
  129. package/dist/chunk-RCIGX23V.js +60 -0
  130. package/dist/{chunk-IOP6FWIM.js → chunk-RIYJ4L33.js} +2 -2
  131. package/dist/chunk-RJVAPMHF.js +14 -0
  132. package/dist/chunk-SB7NASHU.js +2 -0
  133. package/dist/{chunk-UZGZB3VB.js → chunk-SGMNWYTH.js} +2 -2
  134. package/dist/chunk-SMDIEDM4.js +27 -0
  135. package/dist/chunk-SV2LEFVM.js +2 -0
  136. package/dist/chunk-SX72EVMY.js +3 -0
  137. package/dist/chunk-T5X7DK6C.js +3 -0
  138. package/dist/{chunk-6NW7MU72.js → chunk-T6MQNNAC.js} +2 -2
  139. package/dist/chunk-T75DS2E6.js +21 -0
  140. package/dist/{chunk-HRWGYWRJ.js → chunk-TEANKHUU.js} +2 -2
  141. package/dist/chunk-TJBOJUVN.js +3 -0
  142. package/dist/{chunk-XLQ3GLWZ.js → chunk-TJWVT4DO.js} +2 -2
  143. package/dist/{chunk-7NVGT435.js → chunk-TNJGTQWO.js} +2 -2
  144. package/dist/{chunk-NE6IU5ZD.js → chunk-TOTWJZIX.js} +2 -2
  145. package/dist/{chunk-PBI2LFKH.js → chunk-TPO7XC5Z.js} +2 -2
  146. package/dist/{chunk-HPJRBHVT.js → chunk-U33PMPNW.js} +2 -2
  147. package/dist/{chunk-QHRNXP3C.js → chunk-U7NUXDQO.js} +2 -2
  148. package/dist/chunk-UC2FD2PS.js +4 -0
  149. package/dist/{chunk-PIOMTC27.js → chunk-UQE4XFSA.js} +2 -2
  150. package/dist/chunk-UQYQBLJX.js +5 -0
  151. package/dist/{chunk-KWVHSKHK.js → chunk-USOAJHY7.js} +2 -2
  152. package/dist/{chunk-GCHRX4YW.js → chunk-UW6KD57C.js} +2 -2
  153. package/dist/{chunk-PTAWHLVJ.js → chunk-VGWZ4MOY.js} +2 -2
  154. package/dist/{chunk-XME3HPXZ.js → chunk-VWYGCMV5.js} +2 -2
  155. package/dist/{chunk-AKB7V7TV.js → chunk-W7YLRXZE.js} +2 -2
  156. package/dist/{chunk-SYDJMPES.js → chunk-WK2IQJPK.js} +2 -2
  157. package/dist/{chunk-RBAS5ZHI.js → chunk-WWCV4E6J.js} +2 -2
  158. package/dist/{chunk-OL6KJP3N.js → chunk-XMJ53WG4.js} +2 -2
  159. package/dist/chunk-XN3EKMLI.js +4 -0
  160. package/dist/chunk-XQAVQVIL.js +3 -0
  161. package/dist/{chunk-IJ4HMYBE.js → chunk-XQPPURLQ.js} +2 -2
  162. package/dist/{chunk-OVTS4DKB.js → chunk-YHPG3S2U.js} +2 -2
  163. package/dist/{chunk-WOQBZPIF.js → chunk-YRKP7PM7.js} +2 -2
  164. package/dist/chunk-YT4DVWUV.js +11 -0
  165. package/dist/chunk-YTJHCGYB.js +61 -0
  166. package/dist/chunk-Z35GOVEH.js +2 -0
  167. package/dist/{chunk-OLF4MA5W.js → chunk-Z6RL7XOE.js} +4 -4
  168. package/dist/{chunk-UP3BUZR5.js → chunk-ZAFGY22Q.js} +2 -2
  169. package/dist/{chunk-CO5R3UNA.js → chunk-ZB4C5TTR.js} +2 -2
  170. package/dist/{chunk-ZZXSWSN6.js → chunk-ZNH33XIB.js} +2 -2
  171. package/dist/{chunk-EMNIHCRB.js → chunk-ZQ62NNKN.js} +2 -2
  172. package/dist/cli-context-FJL2JHOE.js +3 -0
  173. package/dist/cli-context-PQNWHMCQ.js +2 -0
  174. package/dist/cli-program-UO7PZD6V.js +7 -0
  175. package/dist/cli.js +1 -1
  176. package/dist/{code-DlqpBDd0.d.ts → code-DfX3xeWy.d.ts} +1 -1
  177. package/dist/code-viewer-KIXEYQNJ.js +12 -0
  178. package/dist/code-viewer-VHLBLIUM.js +11 -0
  179. package/dist/command-descriptors-F5P2V3NW.js +335 -0
  180. package/dist/command-descriptors-YCLATF5I.js +337 -0
  181. package/dist/{config-types-BNoC96J3.d.ts → config-types-D6X5S68_.d.ts} +50 -0
  182. package/dist/{db-D7sauVFH.d.ts → db-BoG_PWYH.d.ts} +2 -2
  183. package/dist/direct-navigation-4XJTXIDT.js +2 -0
  184. package/dist/direct-navigation-J5MVYYAD.js +3 -0
  185. package/dist/{graph-evidence-BIFqyisO.d.ts → graph-evidence-D1jx1Cql.d.ts} +1 -1
  186. package/dist/{health-DJaZXg8I.d.ts → health-DkYBS5BI.d.ts} +1 -1
  187. package/dist/index.d.ts +2 -2
  188. package/dist/index.js +1 -1
  189. package/dist/invocation-command-descriptors-RWV4VAI4.js +2 -0
  190. package/dist/invocation-command-descriptors-U76PN7IY.js +3 -0
  191. package/dist/{scip-cli-B7N3haxa.d.ts → maintenance-types-CdL5eQii.d.ts} +2 -21
  192. package/dist/output-continuation-command-BL25S26S.js +3 -0
  193. package/dist/output-continuation-command-BTETTXEC.js +2 -0
  194. package/dist/postinstall.js +1 -1
  195. package/dist/project-reindex-CRJU3IFG.js +2 -0
  196. package/dist/project-reindex-TQFCOA2O.js +3 -0
  197. package/dist/queries/affected.d.ts +2 -2
  198. package/dist/queries/affected.js +1 -1
  199. package/dist/queries/anchors.d.ts +2 -2
  200. package/dist/queries/anchors.js +1 -1
  201. package/dist/queries/architecture.d.ts +2 -2
  202. package/dist/queries/architecture.js +1 -1
  203. package/dist/queries/bottlenecks.d.ts +2 -2
  204. package/dist/queries/bottlenecks.js +1 -1
  205. package/dist/queries/by-kind.d.ts +2 -2
  206. package/dist/queries/by-kind.js +1 -1
  207. package/dist/queries/call-graph.d.ts +2 -2
  208. package/dist/queries/call-graph.js +1 -1
  209. package/dist/queries/change-surface.d.ts +2 -2
  210. package/dist/queries/change-surface.js +1 -1
  211. package/dist/queries/cleanup-plan.d.ts +2 -2
  212. package/dist/queries/cleanup-plan.js +1 -1
  213. package/dist/queries/co-change.d.ts +2 -2
  214. package/dist/queries/co-change.js +1 -1
  215. package/dist/queries/code.d.ts +3 -3
  216. package/dist/queries/code.js +1 -1
  217. package/dist/queries/complexity-hotspots.d.ts +2 -2
  218. package/dist/queries/complexity-hotspots.js +1 -1
  219. package/dist/queries/complexity.d.ts +2 -2
  220. package/dist/queries/complexity.js +1 -1
  221. package/dist/queries/context.d.ts +2 -2
  222. package/dist/queries/context.js +1 -1
  223. package/dist/queries/convergence.d.ts +2 -2
  224. package/dist/queries/convergence.js +1 -1
  225. package/dist/queries/coupling.d.ts +2 -2
  226. package/dist/queries/coupling.js +1 -1
  227. package/dist/queries/cycles.d.ts +2 -2
  228. package/dist/queries/cycles.js +1 -1
  229. package/dist/queries/dataflow.d.ts +2 -2
  230. package/dist/queries/dataflow.js +1 -1
  231. package/dist/queries/dead.d.ts +2 -2
  232. package/dist/queries/dead.js +1 -1
  233. package/dist/queries/decorative-checkers.d.ts +2 -2
  234. package/dist/queries/decorative-checkers.js +1 -1
  235. package/dist/queries/deep-chains.d.ts +2 -2
  236. package/dist/queries/deep-chains.js +1 -1
  237. package/dist/queries/dependence-slice.d.ts +3 -3
  238. package/dist/queries/dependence-slice.js +1 -1
  239. package/dist/queries/dependency-depth.d.ts +2 -2
  240. package/dist/queries/dependency-depth.js +1 -1
  241. package/dist/queries/deps.d.ts +2 -2
  242. package/dist/queries/deps.js +1 -1
  243. package/dist/queries/diff-impact.d.ts +2 -2
  244. package/dist/queries/diff-impact.js +1 -1
  245. package/dist/queries/doc-drift.d.ts +2 -2
  246. package/dist/queries/doc-drift.js +1 -1
  247. package/dist/queries/drift.d.ts +2 -2
  248. package/dist/queries/drift.js +1 -1
  249. package/dist/queries/duplicate-bodies.d.ts +2 -2
  250. package/dist/queries/duplicate-bodies.js +1 -1
  251. package/dist/queries/entry-map.d.ts +2 -2
  252. package/dist/queries/entry-map.js +1 -1
  253. package/dist/queries/evidence.d.ts +3 -3
  254. package/dist/queries/evidence.js +1 -1
  255. package/dist/queries/extract-candidates.d.ts +2 -2
  256. package/dist/queries/extract-candidates.js +1 -1
  257. package/dist/queries/fan.d.ts +2 -2
  258. package/dist/queries/fan.js +1 -1
  259. package/dist/queries/files.d.ts +2 -2
  260. package/dist/queries/files.js +1 -1
  261. package/dist/queries/health.d.ts +3 -3
  262. package/dist/queries/health.js +1 -1
  263. package/dist/queries/hierarchy.d.ts +2 -2
  264. package/dist/queries/hierarchy.js +1 -1
  265. package/dist/queries/hotspots.d.ts +2 -2
  266. package/dist/queries/hotspots.js +1 -1
  267. package/dist/queries/imports.d.ts +2 -2
  268. package/dist/queries/imports.js +1 -1
  269. package/dist/queries/incomplete-migration.d.ts +2 -2
  270. package/dist/queries/incomplete-migration.js +1 -1
  271. package/dist/queries/index.d.ts +5 -5
  272. package/dist/queries/index.js +1 -1
  273. package/dist/queries/isolated.d.ts +2 -2
  274. package/dist/queries/isolated.js +1 -1
  275. package/dist/queries/locality-candidates.d.ts +2 -2
  276. package/dist/queries/locality-candidates.js +1 -1
  277. package/dist/queries/members.d.ts +2 -2
  278. package/dist/queries/members.js +1 -1
  279. package/dist/queries/methods.d.ts +2 -2
  280. package/dist/queries/methods.js +1 -1
  281. package/dist/queries/not-implemented.d.ts +2 -2
  282. package/dist/queries/not-implemented.js +1 -1
  283. package/dist/queries/outline.d.ts +2 -2
  284. package/dist/queries/outline.js +1 -1
  285. package/dist/queries/passthrough-candidates.d.ts +2 -2
  286. package/dist/queries/passthrough-candidates.js +1 -1
  287. package/dist/queries/plan-context.d.ts +2 -2
  288. package/dist/queries/plan-context.js +1 -1
  289. package/dist/queries/react-component-duplicates.d.ts +2 -2
  290. package/dist/queries/react-component-duplicates.js +1 -1
  291. package/dist/queries/react-hook-candidates.d.ts +2 -2
  292. package/dist/queries/react-hook-candidates.js +1 -1
  293. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  294. package/dist/queries/react-large-component-pressure.js +1 -1
  295. package/dist/queries/recent-duplicates.d.ts +2 -2
  296. package/dist/queries/recent-duplicates.js +1 -1
  297. package/dist/queries/redundant-reexports.d.ts +2 -2
  298. package/dist/queries/redundant-reexports.js +1 -1
  299. package/dist/queries/reference-neighborhood.d.ts +2 -2
  300. package/dist/queries/reference-neighborhood.js +1 -1
  301. package/dist/queries/reference-reachability.d.ts +2 -2
  302. package/dist/queries/reference-reachability.js +1 -1
  303. package/dist/queries/refs.d.ts +2 -2
  304. package/dist/queries/refs.js +1 -1
  305. package/dist/queries/self-audit.d.ts +2 -2
  306. package/dist/queries/self-audit.js +1 -1
  307. package/dist/queries/similar-chains.d.ts +2 -2
  308. package/dist/queries/similar-chains.js +1 -1
  309. package/dist/queries/similar-files.d.ts +2 -2
  310. package/dist/queries/similar-files.js +1 -1
  311. package/dist/queries/similar-signatures.d.ts +2 -2
  312. package/dist/queries/similar-signatures.js +1 -1
  313. package/dist/queries/similar.d.ts +2 -2
  314. package/dist/queries/similar.js +1 -1
  315. package/dist/queries/slice.d.ts +2 -2
  316. package/dist/queries/slice.js +1 -1
  317. package/dist/queries/source-inspection.d.ts +4 -4
  318. package/dist/queries/source-inspection.js +1 -1
  319. package/dist/queries/source-search.d.ts +2 -2
  320. package/dist/queries/source-search.js +1 -1
  321. package/dist/queries/stale-abstractions.d.ts +2 -2
  322. package/dist/queries/stale-abstractions.js +1 -1
  323. package/dist/queries/stats.d.ts +2 -2
  324. package/dist/queries/surface.d.ts +2 -2
  325. package/dist/queries/surface.js +1 -1
  326. package/dist/queries/symbols.d.ts +2 -2
  327. package/dist/queries/symbols.js +1 -1
  328. package/dist/queries/system-map.d.ts +2 -2
  329. package/dist/queries/system-map.js +1 -1
  330. package/dist/queries/system.d.ts +2 -2
  331. package/dist/queries/system.js +1 -1
  332. package/dist/queries/test-quality.d.ts +2 -2
  333. package/dist/queries/test-quality.js +1 -1
  334. package/dist/queries/trace.d.ts +2 -2
  335. package/dist/queries/trace.js +1 -1
  336. package/dist/queries/twin-ab.d.ts +2 -2
  337. package/dist/queries/twin-ab.js +1 -1
  338. package/dist/queries/twin-drift.d.ts +2 -2
  339. package/dist/queries/twin-drift.js +1 -1
  340. package/dist/queries/unused-imports.d.ts +2 -2
  341. package/dist/queries/unused-imports.js +1 -1
  342. package/dist/queries/unused-params.d.ts +2 -2
  343. package/dist/queries/unused-params.js +1 -1
  344. package/dist/queries/value-flow.d.ts +3 -3
  345. package/dist/queries/value-flow.js +1 -1
  346. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  347. package/dist/queries/vue-component-duplicates.js +1 -1
  348. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  349. package/dist/queries/vue-composable-candidates.js +1 -1
  350. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  351. package/dist/queries/vue-large-view-pressure.js +1 -1
  352. package/dist/queries/wrapper-candidates.d.ts +2 -2
  353. package/dist/queries/wrapper-candidates.js +1 -1
  354. package/dist/reindex-worker.js +2 -2
  355. package/dist/reindex.d.ts +3 -5
  356. package/dist/reindex.js +72 -33
  357. package/dist/runtime.d.ts +23 -4
  358. package/dist/runtime.js +3 -3
  359. package/dist/rust-semantic-session-server.js +1 -1
  360. package/dist/rust-semantic-session-worker.js +1 -1
  361. package/dist/rust-semantic-worker.js +1 -1
  362. package/dist/sentinel-ensure-command-OSWGCFFL.js +3 -0
  363. package/dist/sentinel-ensure-command-SPW7XQLB.js +2 -0
  364. package/dist/sentinel-hook.js +39 -0
  365. package/dist/sentinel-worker.js +16 -0
  366. package/dist/typescript-mailbox-worker.js +1 -1
  367. package/dist/watch-server.js +6 -6
  368. package/docs/COMMAND_REFERENCE.md +5 -3
  369. package/docs/INDEX_GENERATIONS.md +2 -2
  370. package/docs/NPM_RELEASE.md +323 -0
  371. package/docs/schemas/npm-release-state.schema.json +4 -13
  372. package/docs/schemas/project-config.schema.json +159 -0
  373. package/package.json +10 -14
  374. package/skills/codebaseiq/SKILL.md +1 -1
  375. package/skills/concrete-plan/SKILL.md +1 -1
  376. package/ui/view/api.js +450 -0
  377. package/ui/view/app.js +394 -0
  378. package/ui/view/builder.js +323 -0
  379. package/ui/view/file-panel.js +170 -0
  380. package/ui/view/focus.js +379 -0
  381. package/ui/view/index.html +54 -0
  382. package/ui/view/map.js +424 -0
  383. package/ui/view/styles.css +1125 -0
  384. package/dist/chunk-2Q2LW5JW.js +0 -14
  385. package/dist/chunk-2X7V4HS4.js +0 -88
  386. package/dist/chunk-3IER7Q6H.js +0 -12
  387. package/dist/chunk-3JSXXYTZ.js +0 -345
  388. package/dist/chunk-476NR5B7.js +0 -2
  389. package/dist/chunk-5VKBFZZU.js +0 -3
  390. package/dist/chunk-6BQ3DSPK.js +0 -2
  391. package/dist/chunk-6CS3UQTN.js +0 -3
  392. package/dist/chunk-6OAHRI2D.js +0 -6
  393. package/dist/chunk-ADTBPVUZ.js +0 -21
  394. package/dist/chunk-BFFZDZQV.js +0 -2
  395. package/dist/chunk-BMYOV5GP.js +0 -77
  396. package/dist/chunk-C74PPYLA.js +0 -3
  397. package/dist/chunk-CWONGW6P.js +0 -3
  398. package/dist/chunk-DDZ7VHWV.js +0 -20
  399. package/dist/chunk-DR2LURYU.js +0 -3
  400. package/dist/chunk-ECQBG7PW.js +0 -564
  401. package/dist/chunk-EF2R3WNQ.js +0 -2
  402. package/dist/chunk-FM5BPL4V.js +0 -60
  403. package/dist/chunk-G6XFR4ZL.js +0 -4
  404. package/dist/chunk-GTIYTDRE.js +0 -562
  405. package/dist/chunk-HOA5YGOH.js +0 -3
  406. package/dist/chunk-KUW32IRO.js +0 -2
  407. package/dist/chunk-LTA3BRZX.js +0 -2
  408. package/dist/chunk-NAUD7LCA.js +0 -2
  409. package/dist/chunk-NCZUNH3E.js +0 -109
  410. package/dist/chunk-NNJ2KZZG.js +0 -4
  411. package/dist/chunk-NNO6A2PO.js +0 -2
  412. package/dist/chunk-OGTFJ3XD.js +0 -2
  413. package/dist/chunk-Q5ELPRKQ.js +0 -2
  414. package/dist/chunk-Q72QSKXC.js +0 -308
  415. package/dist/chunk-QCN62RTF.js +0 -3
  416. package/dist/chunk-QW7EP6WI.js +0 -21
  417. package/dist/chunk-RU65DDUP.js +0 -215
  418. package/dist/chunk-SELM5MER.js +0 -2
  419. package/dist/chunk-SMRBZ6EC.js +0 -2
  420. package/dist/chunk-SNNWPCN7.js +0 -4
  421. package/dist/chunk-TFZB6XTM.js +0 -239
  422. package/dist/chunk-UCD3H3UZ.js +0 -5
  423. package/dist/chunk-UXM43C7T.js +0 -3
  424. package/dist/chunk-VFY6Y2H6.js +0 -61
  425. package/dist/chunk-WE5RZHZ7.js +0 -5
  426. package/dist/chunk-YMGZZEW4.js +0 -2
  427. package/dist/chunk-YVCIMIOC.js +0 -12
  428. package/dist/chunk-Z54RD7VL.js +0 -3
  429. package/dist/chunk-ZKX2FRS6.js +0 -15
  430. package/dist/cli-context-3SNLDYBM.js +0 -3
  431. package/dist/cli-context-T3B7W6GG.js +0 -2
  432. package/dist/cli-program-YNOXO72B.js +0 -7
  433. package/dist/command-descriptors-6AOUKWW7.js +0 -346
  434. package/dist/command-descriptors-ZFKJSRUP.js +0 -344
  435. package/dist/direct-navigation-DP4LVMRX.js +0 -3
  436. package/dist/direct-navigation-FLUS3BT6.js +0 -2
  437. package/dist/invocation-command-descriptors-QT2JMY5J.js +0 -3
  438. package/dist/invocation-command-descriptors-YN4QJEAX.js +0 -2
  439. package/dist/output-continuation-command-2V2SL4TD.js +0 -2
  440. package/dist/output-continuation-command-65J5IP3O.js +0 -3
  441. package/dist/project-reindex-5JOKXAXT.js +0 -2
  442. package/dist/project-reindex-UQBIKO4M.js +0 -3
  443. package/docs/WINDOWS_SIDECAR_RELEASE.md +0 -424
  444. package/docs/schemas/windows-sidecar-provenance.schema.json +0 -137
  445. package/scripts/build-codebaseiq-windows.mjs +0 -197
  446. package/scripts/codebaseiq-windows-provenance.mjs +0 -364
  447. package/scripts/verify-codebaseiq-windows.mjs +0 -29
@@ -1,3 +0,0 @@
1
- import{u as fe,v as et}from"./chunk-GTIYTDRE.js";import{c as Ye,h as ze}from"./chunk-PYAB5SM6.js";import{U as ue,V as pe,X as b,Y as A,Z as z,b as Ae,c as _e}from"./chunk-NCZUNH3E.js";import{h as he,j as Ze}from"./chunk-Z54RD7VL.js";import{d as Ve}from"./chunk-RU65DDUP.js";import{K as Je,L as Ke,V as Xe,a as oe,k as Qe,l as N}from"./chunk-QW7EP6WI.js";import{e as He}from"./chunk-FM5BPL4V.js";import{b as q,j as S,k as de,l as Be,m as le,n as Ue,r as I,s as Y}from"./chunk-RDBI2RXU.js";import{a as V,b as ie,c as M,d as W}from"./chunk-EF2R3WNQ.js";import{H as De,I as Me,J as w,K as qe,M as je,N as Ge,P as j,Q as Ne,S as ae,T as $e,U as Fe,V as G,W as H,X as ce,h as R,n as Oe,v as se,w as T,x as Le}from"./chunk-WE5RZHZ7.js";import{statSync as tt}from"fs";import{basename as Xt,isAbsolute as Zt,join as $,relative as er}from"path";import{fileURLToPath as tr}from"url";import{watch as rr}from"chokidar";import nr from"ignore";var dt=5e3,rt=class{projectRoot;config;watchConfig;outputDb;languages;pnpmWorkspaces;typescriptProjectMode;typescriptProjects;clojureConfigPath;indexerConcurrency;onStatus;onReindexComplete;onReindexError;onRefreshSuppressed;onError;reindexRunner;subscriptionFactory;budgetInspector;clock;activeOperation=null;stopPromise=null;stopInProgress=!1;status={state:"idle"};debounceTimer=null;cooldownTimer=null;budgetTimer=null;dirty=!1;changedFiles=0;pendingTrigger=null;reindexInFlight=!1;lastReindexEnd=0;fsWatchers=[];sourcePollingFallbackStarted=!1;gitPollTimer=null;lastGitState=null;gitignoreFilter;extraIgnore;stopped=!1;observationEpoch=0;changeSequence=0;constructor(e){this.projectRoot=e.projectRoot,this.config=e.config,this.watchConfig=Ze(e.config),this.outputDb=e.outputDb??$(Me(this.projectRoot,e.config),"index.db"),this.languages=e.languages,this.pnpmWorkspaces=e.config.indexer?.typescript?.pnpmWorkspaces??!1,this.typescriptProjectMode=e.config.indexer?.typescript?.projectMode,this.typescriptProjects=e.config.indexer?.typescript?.projects,this.clojureConfigPath=e.config.indexer?.clojure?.configPath,this.indexerConcurrency=e.config.indexerConcurrency,this.onStatus=e.onStatus??(()=>{}),this.onReindexComplete=e.onReindexComplete??(()=>{}),this.onReindexError=e.onReindexError??(()=>{}),this.onRefreshSuppressed=e.onRefreshSuppressed??(()=>{});let r=e.onError??(n=>console.error(n.message));this.onError=n=>{this.observationEpoch+=1,r(n)},this.clock=e.clock??cr,lt.set(this,mr(e.stopTimeoutMs??dt,"watcher stop timeout")),this.reindexRunner=e.reindexRunner??fr(),this.subscriptionFactory=e.subscriptionFactory??dr,this.budgetInspector=e.budgetInspector??ze,ut.set(this,{gitReader:e.gitReader??Ne,languages:pt(e.languages??e.config.languages),stagedIndexEntries:null,gitSignalPaths:null,lastGitSignal:null}),this.gitignoreFilter=He(e.projectRoot),this.extraIgnore=nr(),this.watchConfig.ignore.length>0&&this.extraIgnore.add(this.watchConfig.ignore)}start(){if(this.stopInProgress)throw new Error("Cannot restart a watcher while its previous ownership is still draining.");this.stopped=!1,this.stopPromise=null,J(this).errors=[],this.sourcePollingFallbackStarted=!1,this.observationEpoch+=1,this.setStatus({state:"idle"}),this.startGitStatePolling();try{this.startSourceWatcher()}catch(e){this.onError(new Error(`Failed to watch ${this.projectRoot}: ${String(e)}`))}}stop(){if(this.stopPromise)return this.stopPromise;this.stopped=!0,this.stopInProgress=!0;let e=this.fsWatchers;this.fsWatchers=[],this.clearDebounceTimer(),this.clearCooldownTimer(),this.clearBudgetTimer(),this.clearGitPollTimer();let r=this.activeOperation;r&&this.setStatus({state:"draining",startedAt:this.wallNow(),reason:"waiting for the active reindex worker to exit"});let n=[...J(this).closures],i=or(this),o=this.clock.now()+i;return this.stopPromise=this.finishStop(e,n,r,o,i).catch(s=>{throw this.stopInProgress=!1,s}),this.stopPromise}observation(){return{epoch:this.observationEpoch,changeSequence:this.changeSequence}}requestRefresh(e,r={}){if(!this.stopped){if(!r.immediate||this.reindexInFlight||this.status.state==="cooldown"||this.status.state==="budget-paused"){this.scheduleReindex(e);return}this.pendingTrigger=ot(this.pendingTrigger,e),this.changedFiles+=1,this.changeSequence+=1,this.clearDebounceTimer(),this.triggerReindex()}}startSourceWatcher(e=!1){let r=this.subscriptionFactory(this.projectRoot,{ignoreInitial:!0,ignored:(n,i)=>this.isIgnoredWatchPath(n,i?.isDirectory()??!1),usePolling:e,...e?{interval:500,binaryInterval:1e3}:{}});r.on("all",(n,i)=>{!this.stopped&&n!=="addDir"&&n!=="unlinkDir"&&this.handleFileChange(i)}),r.on("error",n=>this.handleSourceWatcherError(r,n,e)),this.fsWatchers.push(r)}handleSourceWatcherError(e,r,n){if(n||this.sourcePollingFallbackStarted||!gr(r)||this.stopped){this.onError(new Error(`Failed to watch ${this.projectRoot}: ${String(r)}`));return}this.observationEpoch+=1,this.sourcePollingFallbackStarted=!0,this.fsWatchers=this.fsWatchers.filter(i=>i!==e),sr(J(this),e,i=>this.onError(i));try{this.startSourceWatcher(!0)}catch(i){this.onError(new Error(`Failed to watch ${this.projectRoot}: ${String(i)}`))}}isIgnoredWatchPath(e,r){let n=this.relativeWatchPath(e);if(!n)return!1;let i=r?`${n}/`:n;return i===".git/"||i.startsWith(".git/")?!0:this.gitignoreFilter.isIgnored(i)||this.extraIgnore.ignores(i)}handleFileChange(e){let r=this.relativeWatchPath(e);!r||r===".."||r.startsWith("../")||r===".git"||r.startsWith(".git/")||this.gitignoreFilter.isIgnored(r)||this.extraIgnore.ignores(r)||r.endsWith("index.db")||r.endsWith("index.scip")||r.endsWith("index.db.tmp")||Xt(r).startsWith(Ye)||(r===".codebaseiq.json"&&st(this,this.projectRoot),at(this,r)&&this.scheduleReindex({kind:"watch-source",detail:r}))}relativeWatchPath(e){let r=Zt(e)?e:$(this.projectRoot,e);return er(this.projectRoot,r).replaceAll("\\","/")}scheduleReindex(e){if(this.pendingTrigger=ot(this.pendingTrigger,e),this.changedFiles++,this.changeSequence+=1,this.reindexInFlight){this.dirty=!0,this.setStatus({state:"indexing",startedAt:this.status.startedAt});return}if(this.status.state==="cooldown"){this.dirty=!0,this.setStatus({state:"cooldown",until:this.status.until,dirty:!0});return}if(this.status.state==="budget-paused"){this.dirty=!0,this.setStatus({...this.status,dirty:!0});return}this.clearDebounceTimer();let r=this.wallNow()+this.watchConfig.debounceMs;this.setStatus({state:"waiting",changedFiles:this.changedFiles,reindexAt:r}),this.debounceTimer=this.clock.setTimeout(()=>{this.debounceTimer=null,this.triggerReindex()},this.watchConfig.debounceMs)}triggerReindex(){if(this.reindexInFlight||this.stopped)return;let e=this.inspectBudget();if(e.state==="paused"){this.dirty=!0;let s=Math.max(this.wallNow()+1,e.until);this.setStatus({state:"budget-paused",until:s,dirty:!0,reason:e.detail,rebuilt:e.rebuilt,estimatedWriteBytes:e.estimatedWriteBytes}),this.clearBudgetTimer(),this.budgetTimer=this.clock.setTimeout(()=>{this.budgetTimer=null,this.dirty&&!this.stopped&&(this.dirty=!1,this.triggerReindex())},Math.min(2147483647,Math.max(1,s-this.wallNow())));return}let r=this.clock.now()-this.lastReindexEnd;if(this.lastReindexEnd>0&&r<this.watchConfig.cooldownMs){let s=this.watchConfig.cooldownMs-r;this.dirty=!0;let a=this.wallNow()+s;this.setStatus({state:"cooldown",until:a,dirty:!0}),this.cooldownTimer=this.clock.setTimeout(()=>{this.cooldownTimer=null,this.dirty&&!this.stopped&&(this.dirty=!1,this.triggerReindex())},s);return}this.reindexInFlight=!0,this.dirty=!1,this.changedFiles=0;let n=this.pendingTrigger??{kind:"watch-source"};this.pendingTrigger=null;let i=this.wallNow();this.setStatus({state:"indexing",startedAt:i});let o=this.reindexRunner.start(this.reindexRequest(n));this.activeOperation=o,o.completion.then(s=>{if(this.reindexInFlight=!1,this.lastReindexEnd=this.clock.now(),this.stopped)return;let a=!1;try{a=this.onReindexComplete(s,n)===!0}catch(c){this.onError(c instanceof Error?c:new Error(String(c)))}if(this.dirty&&!this.stopped){if(a){let d=this.pendingTrigger??{kind:"unknown"};this.dirty=!1,this.changedFiles=0,this.pendingTrigger=null,this.onRefreshSuppressed(d),this.setStatus({state:"idle"});return}let c=this.wallNow()+this.watchConfig.cooldownMs;this.setStatus({state:"cooldown",until:c,dirty:!0}),this.cooldownTimer=this.clock.setTimeout(()=>{this.cooldownTimer=null,this.dirty&&!this.stopped?(this.dirty=!1,this.triggerReindex()):this.setStatus({state:"idle"})},this.watchConfig.cooldownMs)}else this.setStatus({state:"idle"})}).catch(s=>{if(this.reindexInFlight=!1,this.lastReindexEnd=this.clock.now(),this.stopped)return;let a=s instanceof Error?s:new Error(String(s));this.onReindexError(a,n),this.onError(a),this.setStatus({state:"idle"})}).finally(()=>{this.activeOperation===o&&(this.activeOperation=null)})}async finishStop(e,r,n,i,o){let s=[],a=e.map(async p=>{try{await p.close()}catch(m){s.push(`watch subscription close failed: ${String(m)}`)}});a.push(...r),n&&a.push((async()=>{try{let p=await n.cancel();p.state==="degraded"&&s.push(p.reason)}catch(p){s.push(`reindex cancellation failed: ${p instanceof Error?p.message:String(p)}`)}})());let c=a.length,d=a.map(p=>p.finally(()=>{c-=1})),u=await ir(d,i,this.clock),l=J(this);return s.push(...l.errors),l.errors=[],u?this.stopInProgress=!1:(s.push(`watch shutdown exceeded the ${o}ms deadline with ${c} operation(s) still pending`),Promise.all(d).then(()=>{this.stopInProgress=!1})),s.length>0?(this.setStatus({state:"draining",startedAt:this.wallNow(),reason:s.join("; ")}),{state:"degraded",reasons:s}):(this.setStatus({state:"idle"}),{state:"stopped"})}wallNow(){return this.clock.wallNow?.()??this.clock.now()}inspectBudget(){try{return this.budgetInspector(this.outputDb,this.watchConfig.resourceBudget,new Date(this.wallNow()))}catch(e){return{state:"paused",reason:"activity-evidence",until:this.wallNow()+this.watchConfig.resourceBudget.windowMs,rebuilt:0,estimatedWriteBytes:0,detail:`reindex activity evidence could not be read: ${e instanceof Error?e.message:String(e)}`}}}reindexRequest(e){return{projectRoot:this.projectRoot,config:this.config,languages:this.languages,pnpmWorkspaces:this.pnpmWorkspaces,typescriptProjectMode:this.typescriptProjectMode,typescriptProjects:this.typescriptProjects,clojureConfigPath:this.clojureConfigPath,indexerConcurrency:this.indexerConcurrency,trigger:e}}setStatus(e){this.status=e,this.onStatus(e)}clearDebounceTimer(){this.debounceTimer&&(this.clock.clearTimeout(this.debounceTimer),this.debounceTimer=null)}clearCooldownTimer(){this.cooldownTimer&&(this.clock.clearTimeout(this.cooldownTimer),this.cooldownTimer=null)}clearBudgetTimer(){this.budgetTimer&&(this.clock.clearTimeout(this.budgetTimer),this.budgetTimer=null)}startGitStatePolling(){if(this.lastGitState=this.readGitState(),!this.lastGitState)return;let e=v(this);e.gitSignalPaths=this.resolveGitSignalPaths(),e.lastGitSignal=this.gitActivitySignal(),e.stagedIndexEntries=ct(this.projectRoot,e.gitReader),this.gitPollTimer=this.clock.setInterval(()=>this.pollGitState(),this.watchConfig.gitPollMs),this.gitPollTimer.unref?.()}resolveGitSignalPaths(){let e=v(this).gitReader,r=G(this.projectRoot,["rev-parse","--git-dir"],e),n=G(this.projectRoot,["rev-parse","--git-common-dir"],e);if(!r)return null;let i=H(this.projectRoot,r),o=n?H(this.projectRoot,n):i,s=this.lastGitState?.indexPath;return[$(i,"HEAD"),$(o,"packed-refs"),$(o,"refs","heads"),...s?[s]:[]]}gitActivitySignal(){let e=v(this).gitSignalPaths;if(!e)return null;let r="";for(let n of e)try{let i=tt(n);r+=`${n}:${i.mtimeMs}:${i.size};`}catch{r+=`${n}:absent;`}return r}pollGitState(){let e=this.gitActivitySignal();if(e!==null){if(e===v(this).lastGitSignal)return;v(this).lastGitSignal=e}let r=this.lastGitState,n=this.readGitState();if(!r||!n||this.stopped){this.lastGitState=n;return}this.lastGitState=n;let i=r.head!==n.head,o=r.indexPath!==n.indexPath||r.indexMtimeMs!==n.indexMtimeMs||r.indexSize!==n.indexSize;if(!i&&!o)return;let s=v(this),a=s.stagedIndexEntries,c=ct(this.projectRoot,s.gitReader);s.stagedIndexEntries=c;let d=yr(this.projectRoot,s.gitReader,r,n,a,c,i,o),u=null;d!==null&&(d.includes(".codebaseiq.json")&&st(this,this.projectRoot),u=d.filter(l=>at(this,l)),u.length===0)||(i&&o?this.scheduleReindex({kind:"watch-git-state",detail:ge("HEAD and index changed",u)}):i?this.scheduleReindex({kind:"watch-git-head",detail:ge("HEAD changed",u)}):o&&this.scheduleReindex({kind:"watch-git-index",detail:ge(n.indexPath??"index changed",u)}))}readGitState(){let e=v(this).gitReader,r=G(this.projectRoot,["rev-parse","--git-path","index"],e);if(!r)return null;let n=H(this.projectRoot,r),i={head:G(this.projectRoot,["rev-parse","--verify","HEAD"],e),indexPath:n};try{let o=tt(n);i.indexMtimeMs=o.mtimeMs,i.indexSize=o.size}catch{i.indexMtimeMs=void 0,i.indexSize=void 0}return i}clearGitPollTimer(){this.gitPollTimer&&(this.clock.clearInterval(this.gitPollTimer),this.gitPollTimer=null)}};async function ir(t,e,r){if(t.length===0)return!0;let n=Promise.all(t).then(()=>!0),i=Math.max(0,e-r.now()),o=null,s=new Promise(c=>{o=r.setTimeout(()=>c(!1),i)}),a=await Promise.race([n,s]);return a&&o&&r.clearTimeout(o),a}var nt=new WeakMap,lt=new WeakMap,ut=new WeakMap;function J(t){let e=nt.get(t);if(e)return e;let r={closures:new Set,errors:[]};return nt.set(t,r),r}function or(t){return lt.get(t)??dt}function v(t){let e=ut.get(t);if(!e)throw new Error("Watcher input state was not initialized.");return e}function sr(t,e,r){let n=Promise.resolve().then(()=>e.close()).catch(i=>{let o=`watch subscription close failed during polling fallback: ${String(i)}`;t.errors.push(o),r(new Error(o))});t.closures.add(n),n.then(()=>t.closures.delete(n))}function ar(t,e=M){let{projectRoot:r,config:n,languages:i,pnpmWorkspaces:o,typescriptProjectMode:s,typescriptProjects:a,clojureConfigPath:c,indexerConcurrency:d,trigger:u}=t,l=he(r),p=Object.keys(l).length>0?l:n,m=Ge(r,p),g=p.indexer?.typescript,f=p.indexer?.clojure,D=e(process.pid);if(!D)throw new Error(`Could not establish watcher process identity for reindex worker ownership (pid ${process.pid}).`);return{workerPath:tr(new URL("./reindex-worker.js",import.meta.url)),env:{...process.env,SCIP_REINDEX_PROJECT_ROOT:r,SCIP_REINDEX_OUTPUT_SCIP:m.indexPath,SCIP_REINDEX_OUTPUT_DB:m.dbPath,SCIP_REINDEX_LANGUAGES:(p.languages??i)?.join(",")??"",SCIP_REINDEX_INDEXER_CONCURRENCY:String(p.indexerConcurrency??d??""),SCIP_REINDEX_PNPM_WORKSPACES:g?.pnpmWorkspaces??o?"1":"",SCIP_REINDEX_TYPESCRIPT_CONFIG:JSON.stringify({projectMode:g?.projectMode??s,projects:g?.projects??a??[]}),SCIP_REINDEX_CLOJURE_CONFIG_PATH:f?.configPath??c??"",SCIP_REINDEX_TRIGGER_KIND:u.kind,SCIP_REINDEX_TRIGGER_DETAIL:u.detail??"",SCIP_REINDEX_PROCESS_GROUP_LEADER:"1",SCIP_REINDEX_PARENT_IDENTITY:JSON.stringify(D)}}}var cr={now:W,wallNow:()=>Date.now(),setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},dr=(t,e)=>rr(t,e),lr=15*6e4,ur=1e3,pr=64*1024;function hr(){return{stdoutTail:"",stderrTail:"",stdoutTruncated:!1,stderrTruncated:!1}}function it(t,e){let r=t instanceof Error?t.message:String(t),n=e.stderrTail.trim()||e.stdoutTail.trim();return n?`${r}
2
- ${n}`:r}function fr(t={}){let e=t.timeoutMs??lr,r=t.terminationGraceMs??ur,n=t.maxOutputBytes??pr,i=t.resolveLaunch??ar;return{start(o){let s=i(o),a=new AbortController,c=hr(),d=!1,u=_e({command:process.execPath,args:[...process.execArgv,s.workerPath],label:"watch reindex worker",env:s.env,timeoutMs:e,terminationGraceMs:r,maxStdoutBytes:n,maxStderrBytes:n,outputLimitBehavior:"truncate-tail",signal:a.signal,detached:!0}).then(l=>{if(c={stdoutTail:l.stdout,stderrTail:l.stderr,stdoutTruncated:l.stdoutTruncated,stderrTruncated:l.stderrTruncated},l.status!==0)throw new Error(it(new Error(`Reindex worker exited with ${l.signal?`signal ${l.signal}`:`code ${l.status}`}`),c));return l.durationMs}).catch(l=>{throw l instanceof Ae&&(c={stdoutTail:l.stdout,stderrTail:l.stderr,stdoutTruncated:l.stdoutTruncated,stderrTruncated:l.stderrTruncated}),new Error(it(l,c),{cause:l})}).finally(()=>{d=!0});return{completion:u,async cancel(){d||a.abort();try{await u}catch{}return{state:"exited",diagnostics:c}},diagnostics:()=>c}}}}function ot(t,e){return t?t.kind===e.kind?t.detail===e.detail?t:{kind:t.kind,detail:"multiple changes"}:{kind:"watch-git-state",detail:`${t.kind}, ${e.kind}`}:e}function gr(t){return t instanceof Error&&"code"in t&&t.code==="EMFILE"||String(t).includes("EMFILE: too many open files")}function mr(t,e){if(!Number.isSafeInteger(t)||t<=0)throw new Error(`${e} must be a positive integer.`);return t}function pt(t){return t&&t.length>0?[...t]:oe}function st(t,e){try{v(t).languages=pt(he(e).languages)}catch{v(t).languages=oe}}function at(t,e){return Oe(e,v(t).languages)!=="other"}function yr(t,e,r,n,i,o,s,a){let c=new Set;if(s){if(!r.head||!n.head)return null;let d=e.runResult(t,["diff","--name-only","-z","--no-renames","--relative",r.head,n.head,"--"]);if(d.kind!=="success")return null;for(let u of Rr(d.output))c.add(u)}if(a){if(i===null||o===null)return null;for(let d of Sr(i,o))c.add(d)}return[...c].sort()}function ct(t,e){let r=e.runResult(t,["diff","--cached","--raw","-z","--no-renames","--relative","--"]);return r.kind==="success"?vr(r.output):null}function Rr(t){return t.split("\0").filter(e=>e.length>0)}function vr(t){let e=t.split("\0");if(e.at(-1)===""&&e.pop(),e.length%2!==0)return null;let r=new Map;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1];if(!i.startsWith(":")||!o)return null;r.set(o,i)}return r}function Sr(t,e){return[...new Set([...t.keys(),...e.keys()])].filter(n=>t.get(n)!==e.get(n))}function ge(t,e){return e===null?`${t}; changed paths unavailable`:e.length===0?t:e.length===1?e[0]:`${e.length} compiler inputs changed`}import{spawn as Dr}from"child_process";import{existsSync as Mr,rmSync as Et}from"fs";import{dirname as qr,resolve as ne}from"path";import{fileURLToPath as jr}from"url";import{createHash as br,randomUUID as me}from"crypto";import{existsSync as wr,linkSync as Ir,readdirSync as Er,rmSync as _}from"fs";import{basename as Cr,dirname as xr,join as y}from"path";var E=1,Pr=10*6e4,kr=10080*6e4,X="requests",F="claims",K="completions",ft="staging";function gt(t,e,r={}){let n=r.now?.()??new Date,i=Ar(r.ttlMs),o=_r(r.idempotencyKey),s=o?`key-${br("sha256").update(o).digest("hex")}`:`request-${(r.randomId??me)()}`,a={version:E,requestId:s,...o?{idempotencyKey:o}:{},createdAt:n.toISOString(),deadlineAt:new Date(n.getTime()+i).toISOString(),detail:e.trim().slice(0,2048)||"stale index observed by a command"},c=bt(t,s),d=Re(t,c,a,r.onStage);if(d.published)return{disposition:"accepted",request:a,achievedDurability:d.achievedDurability,directorySync:d.directorySync};let u=ye(c);if(!u)throw new Error(`Watch refresh request identity ${s} exists but is malformed.`);return{disposition:"duplicate",request:u}}function On(t,e={}){let r=e.now?.()??new Date,n=`claim-${(e.randomId??me)()}`,i=Math.max(1,Math.floor(e.limit??64)),o=Rt(t).sort(Or),s=[];for(let a of o){if(s.length>=i)break;if(ht(t,a.requestId))continue;if(Date.parse(a.deadlineAt)<=r.getTime()){yt(t,{version:E,requestId:a.requestId,outcome:"expired",completedAt:r.toISOString()});continue}let c={version:E,requestId:a.requestId,claimId:n,claimedAt:r.toISOString()};if(Re(t,wt(t,a.requestId),c).published){if(ht(t,a.requestId)){vt(t,a.requestId,n);continue}s.push(a)}}return{claimId:n,requests:s}}function Ln(t,e,r=()=>new Date,n){let i=r().toISOString();for(let o of e.requests)yt(t,{version:E,requestId:o.requestId,claimId:e.claimId,outcome:"completed",completedAt:i});n?.("after-completion"),Wr(t,e),n?.("after-claim-release")}function Wr(t,e){for(let r of e.requests)vt(t,r.requestId,e.claimId)}function Dn(t){let e=0;for(let r of C(y(t,F)))_(r,{force:!0}),e++;return e>0&&T(y(t,F)),St(t),e}function Mn(t){let e=Rt(t),r=new Map,n=Tr(y(t,X),ye);for(let c of C(y(t,K))){let d=Z(c);if(!d){n++;continue}r.set(d.requestId,d)}let i=new Set;for(let c of C(y(t,F))){let d=mt(c);if(!d){n++;continue}i.add(d.requestId)}let o=e.filter(c=>!r.has(c.requestId)&&!i.has(c.requestId)),s=[...r.values()].filter(c=>c.outcome==="completed").length,a=[...r.values()].filter(c=>c.outcome==="expired").length;return{pending:o.length,claimed:e.filter(c=>!r.has(c.requestId)&&i.has(c.requestId)).length,completed:s,expired:a,invalid:n,...o.length>0?{oldestPendingAt:o.map(c=>c.createdAt).reduce((c,d)=>Lr(c,d))}:{}}}function qn(t,e={}){let r=(e.now?.()??new Date).getTime(),n=Math.max(0,e.retentionMs??kr),i=0;for(let o of C(y(t,K))){let s=Z(o);!s||r-Date.parse(s.completedAt)<n||(_(o,{force:!0}),_(bt(t,s.requestId),{force:!0}),i++)}return i>0&&(T(y(t,K)),T(y(t,X))),St(t),i}function ye(t){return ve(t,e=>{let r=e;return r.version===E&&B(r.requestId)&&(r.idempotencyKey===void 0||typeof r.idempotencyKey=="string")&&q(r.createdAt)&&q(r.deadlineAt)&&Date.parse(r.deadlineAt)>=Date.parse(r.createdAt)&&typeof r.detail=="string"&&r.detail.length>0})}function mt(t){return ve(t,e=>{let r=e;return r.version===E&&B(r.requestId)&&B(r.claimId)&&q(r.claimedAt)})}function Z(t){return ve(t,e=>{let r=e;return r.version===E&&B(r.requestId)&&(r.claimId===void 0||B(r.claimId))&&(r.outcome==="completed"||r.outcome==="expired")&&q(r.completedAt)})}function yt(t,e){let r=It(t,e.requestId);if(Re(t,r,e).published)return;let n=Z(r);if(!n||n.requestId!==e.requestId||n.outcome!==e.outcome)throw new Error(`Watch refresh completion ${e.requestId} conflicts with an existing record.`)}function Re(t,e,r,n){let i=y(t,ft),o=xr(e),s=se(i),a=se(o),c=y(i,`${Cr(e)}.${process.pid}.${me()}.tmp`);try{let d=Y(c,r,{spacing:2,trailingNewline:!0});n?.("after-staged");try{Ir(c,e)}catch(l){if(l.code==="EEXIST")return{published:!1};throw l}let u=Le(s,a,d.directorySync,T(o));return n?.("after-published"),{published:!0,achievedDurability:u==="synced"?"directory-durable":"file-flushed",directorySync:u}}finally{_(c,{force:!0})}}function Rt(t){let e=[];for(let r of C(y(t,X))){let n=ye(r);n&&e.push(n)}return e}function vt(t,e,r){let n=wt(t,e),i=mt(n);!i||i.claimId!==r||(_(n,{force:!0}),T(y(t,F)))}function St(t){for(let e of C(y(t,ft),".tmp"))_(e,{force:!0})}function Tr(t,e){return C(t).filter(r=>!e(r)).length}function C(t,e=".json"){return wr(t)?Er(t,{withFileTypes:!0}).filter(r=>r.isFile()&&r.name.endsWith(e)).map(r=>y(t,r.name)).sort():[]}function ve(t,e){try{let r=JSON.parse(R(t,"watch refresh request record"));return e(r)?r:null}catch{return null}}function bt(t,e){return y(t,X,`${e}.json`)}function wt(t,e){return y(t,F,`${e}.json`)}function It(t,e){return y(t,K,`${e}.json`)}function ht(t,e){return Z(It(t,e))!==null}function Ar(t){if(t===void 0)return Pr;if(!Number.isFinite(t)||t<=0)throw new Error("Watch refresh request ttlMs must be positive.");return Math.floor(t)}function _r(t){let e=t?.trim();return e?e.slice(0,512):void 0}function B(t){return typeof t=="string"&&/^[a-z0-9][a-z0-9-]{0,127}$/i.test(t)}function Or(t,e){return Date.parse(t.createdAt)-Date.parse(e.createdAt)||t.requestId.localeCompare(e.requestId)}function Lr(t,e){return Date.parse(e)<Date.parse(t)?e:t}var Ct=5e3,Gr=6e3,Nr=1e3,be=10,$r=new Set(["capabilities","check-deps","config-validate","doctor","init","install-skills","reindex","setup","setup-agent","status","suppress","uninstall","watch"]);function ni(t){let e=t.classification;if(e.kind!=="live")return;let{state:r}=e;return r.watcher.state==="idle"&&r.lastError===void 0?r.indexGeneration:void 0}function Fr(t,e=process.env){return e.CODEBASEIQ_SKIP_WATCH_SERVICE!=="1"&&!t.startsWith("__")&&!$r.has(t)}function ii(t){let e=t.env??process.env;if(e.CODEBASEIQ_SKIP_WATCH_SERVICE==="1")return{kind:"skipped",reason:"environment"};if(!Fr(t.commandName,e))return{kind:"skipped",reason:"excluded-command"};if(t.config.watch?.enabled!==!0)return{kind:"skipped",reason:"disabled"};try{let r=Br({projectRoot:t.projectRoot,cacheDir:t.cacheDir,cliVersion:t.cliVersion,gitContext:t.gitContext,runtime:t.runtime});return{kind:r.disposition,state:r.state}}catch(r){return{kind:"failed",message:r instanceof Error?r.message:String(r)}}}function kt(t,e,r){let n=ce(ne(t));if(r&&ce(r.projectRoot)===n)return{projectRoot:n,worktreeKind:"git",worktreeId:r.worktreeId,cliVersion:e};let i=$e(n);if(i.kind==="error")throw new Error(`Could not establish Git worktree identity for ${n}: ${i.message}`);return i.kind==="non-git"?{projectRoot:n,worktreeKind:"non-git",cliVersion:e}:{projectRoot:n,worktreeKind:"git",worktreeId:i.identity.worktreeId,cliVersion:e}}function oi(t){return te(t,kt(t.projectRoot,t.cliVersion,t.gitContext))}function te(t,e){let r=t.runtime??Ce,n=b(t.cacheDir),i=A(n.statePath),o=Ee(n.lockPath);return{identity:e,classification:Ur(i,e,r.now(),r.isProcessAlive),lock:o,lockIsLive:o!==null&&r.isProcessAlive(o.pid),paths:n}}function Br(t){let e=t.runtime??Ce,r=kt(t.projectRoot,t.cliVersion,t.gitContext),n=te(t,r),i=we("ensure",n.classification);if(i.kind==="reuse")return ee(n.paths.activityPath,e),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`codebaseiq watch service pid ${i.state.pid} is still alive but its heartbeat is old. Refusing automatic replacement because civil-clock age alone cannot authorize a process signal.`);if(i.kind==="replace")Ie(i.state,t,e),U(n.paths,i.state.pid,e);else if(i.kind==="start"){if(n.lockIsLive){let a=xt(t,r,e,Math.min(t.startupTimeoutMs??1e3,1e3));if(a)return ee(n.paths.activityPath,e),{disposition:"reused",state:a};throw new Error(`codebaseiq watch is already running for ${ne(t.projectRoot)} (pid ${n.lock?.pid}; lock: ${n.paths.lockPath}) without compatible daemon state. Stop the foreground watcher before starting the service.`)}n.classification.kind==="stale"&&U(n.paths,n.classification.state.pid,e)}else throw new Error(`Unexpected ensure action: ${i.kind}`);if(n=te(t,r),i=we("ensure",n.classification),i.kind==="reuse")return ee(n.paths.activityPath,e),{disposition:"reused",state:i.state};if(i.kind==="refuse-replace")throw new Error(`codebaseiq watch service pid ${i.state.pid} remains alive with an old heartbeat; automatic replacement is not authorized.`);let o=t.serverPath??jr(new URL("./watch-server.js",import.meta.url));e.spawnServer(o,r.projectRoot,t.cliVersion,t.watchOverrides??{});let s=xt(t,r,e,t.startupTimeoutMs??Ct);if(!s)throw new Error(`codebaseiq watch service did not become ready within ${t.startupTimeoutMs??Ct}ms.`);return ee(n.paths.activityPath,e),{disposition:"started",state:s}}function Wt(t){let e=t.runtime??Ce,r=b(t.cacheDir),n=A(r.statePath),i=n?e.isProcessAlive(n.pid)?{kind:"live",state:n}:{kind:"stale",state:n,reason:"dead-process"}:{kind:"stopped"},o=we("stop",i);if(o.kind==="signal-stop")return Ie(o.state,t,e),U(r,o.state.pid,e),{disposition:"stopped",pid:o.state.pid};if(o.kind==="clean-stale")return U(r,o.state.pid,e),{disposition:"stopped",pid:o.state.pid};let s=Ee(r.lockPath);return o.kind==="already-stopped"&&s&&e.isProcessAlive(s.pid)?(Ie(s,t,e),U(r,s.pid,e),{disposition:"stopped",pid:s.pid}):{disposition:"already-stopped"}}function si(t,e,r={}){let{durability:n="durable",...i}=r;n==="durable"?Y(t,e,i):I(t,e,i)}function Tt(t,e=Date.now()){I(t,{version:1,at:new Date(e).toISOString()})}function ai(t,e,r=Date.now(),n={}){gt(b(qr(t)).refreshRequestsPath,e,{...n,now:()=>new Date(r)}),Tt(t,r)}function ci(t){try{let e=JSON.parse(R(t,"watch activity record"));return e.version!==1||!z(e.at)||e.refreshRequestedAt!==void 0&&!z(e.refreshRequestedAt)||e.refreshDetail!==void 0&&typeof e.refreshDetail!="string"?null:{atMs:Date.parse(e.at),...e.refreshRequestedAt===void 0?{}:{refreshRequestedAtMs:Date.parse(e.refreshRequestedAt)},...e.refreshDetail===void 0?{}:{refreshDetail:e.refreshDetail}}}catch{return null}}function di(t,e,r={}){let n=r.pid??process.pid,i=r.isProcessAlive??S,o=()=>{},s=r.readProcessIdentity??M,a=r.now??(()=>new Date),c={...de,wallNow:()=>a().getTime(),isProcessAlive:i,readProcessIdentity:s},d=Be(t,{kind:"watch",pid:n,processIdentity:s(n),detail:{projectRoot:ne(e)},parseLegacy:re,runtime:c});if(d.kind==="contended"){let u=At(d.observation);return{acquired:!1,lockPath:t,message:Qr(t,e,u),release:o}}return{acquired:!0,lockPath:t,message:"",release:()=>{d.lock.release()}}}function Ee(t){return At(le(t,{parseLegacy:re}))}var re=t=>{let e=_t(t);return e?{pid:e.pid,...e.processIdentity?{processIdentity:e.processIdentity}:{}}:null};function At(t){if(t.state==="valid"&&t.record?.kind==="watch"){let e=t.record.detail?.projectRoot;return typeof e!="string"?null:{version:1,pid:t.record.pid,...t.record.processIdentity?{processIdentity:t.record.processIdentity}:{},projectRoot:e,startedAt:t.record.startedAt}}return _t(t.parsed)}function _t(t){try{let e=t;if(e.version!==1||typeof e.pid!="number"||!Number.isInteger(e.pid)||e.pid<=0||typeof e.projectRoot!="string"||!z(e.startedAt))return null;let r=e.processIdentity===void 0?null:V(e.processIdentity);return e.processIdentity!==void 0&&(!r||r.pid!==e.pid)?null:{version:1,pid:e.pid,...r?{processIdentity:r}:{},projectRoot:e.projectRoot,startedAt:e.startedAt}}catch{return null}}function Ur(t,e,r,n){if(!t)return{kind:"stopped"};if(t.protocolVersion!==ue)return{kind:"incompatible",state:t,reason:"protocol"};if(t.projectRoot!==e.projectRoot)return{kind:"incompatible",state:t,reason:"project"};let i=e.worktreeKind==="git"?e.worktreeId:void 0;if(t.worktreeId!==i)return{kind:"incompatible",state:t,reason:"worktree"};if(t.cliVersion!==e.cliVersion)return{kind:"incompatible",state:t,reason:"cli-version"};if(!n(t.pid))return{kind:"stale",state:t,reason:"dead-process"};let o=Date.parse(t.heartbeatAt);return r-o>pe?{kind:"stale",state:t,reason:"old-heartbeat"}:{kind:"live",state:t}}function we(t,e){switch(t){case"status":return{kind:"report",classification:e};case"ensure":switch(e.kind){case"stopped":return{kind:"start"};case"stale":return e.reason==="old-heartbeat"?{kind:"refuse-replace",state:e.state,reason:"old-heartbeat"}:{kind:"start"};case"live":return{kind:"reuse",state:e.state};case"incompatible":return{kind:"replace",state:e.state};default:return Se(e)}case"stop":switch(e.kind){case"stopped":return{kind:"already-stopped"};case"stale":return e.reason==="old-heartbeat"?{kind:"signal-stop",state:e.state}:{kind:"clean-stale",state:e.state};case"live":case"incompatible":return{kind:"signal-stop",state:e.state};default:return Se(e)}default:return Se(t)}}function li(t){return t.idleTimeoutMs===0||t.watcher.state!=="idle"?!1:t.nowMs-t.lastActivityAtMs>=t.idleTimeoutMs}function xt(t,e,r,n){let i=r.monotonicNow??W,o=i()+n;for(;i()<=o;){let s=te(t,e).classification;if(s.kind==="live")return s.state;r.sleep(be)}return null}function Ie(t,e,r){let{pid:n}=t;if(!r.isProcessAlive(n))return;Pt(t,r),r.signalProcess(n);let i=e.stopTimeoutMs??Gr,o=r.monotonicNow??W,s=o()+i;for(;o()<=s;){if(!r.isProcessAlive(n))return;r.sleep(be)}if(!r.forceSignalProcess)throw new Error(`codebaseiq watch service pid ${n} did not stop within ${i}ms and forced termination is unavailable.`);Pt(t,r),r.forceSignalProcess(n);let a=e.forceStopTimeoutMs??Nr,c=o()+a;for(;o()<=c;){if(!r.isProcessAlive(n))return;let d=r.readProcessIdentity(n);if(t.processIdentity&&d&&!ie(t.processIdentity,d))return;r.sleep(be)}throw new Error(`codebaseiq watch service pid ${n} remained alive ${a}ms after forced termination.`)}function U(t,e,r){if(Et(t.statePath,{force:!0}),Et(t.activityPath,{force:!0}),Ee(t.lockPath)?.pid===e&&!r.isProcessAlive(e)){let i={...de,wallNow:r.now,isProcessAlive:r.isProcessAlive,readProcessIdentity:r.readProcessIdentity},o=le(t.lockPath,{parseLegacy:re,runtime:i});Ue(t.lockPath,o,{parseLegacy:re,runtime:i})}}function Qr(t,e,r){return`error: codebaseiq watch is already running for ${ne(e)}${r?` (pid ${r.pid}, started ${r.startedAt}; lock: ${t})`:` (lock: ${t})`}. Stop that watcher before starting another.`}function ee(t,e){try{(e.recordActivity??Tt)(t,e.now())}catch(r){let n=Vr(r);if(n!=="EPERM"&&n!=="EACCES"&&n!=="EROFS")throw r}}function Vr(t){return t.code}var Ce={now:Date.now,monotonicNow:W,isProcessAlive:S,readProcessIdentity:M,spawnServer(t,e,r,n){if(!Mr(t))throw new Error(`Watch service helper was not found at ${t}. Run npm run build first.`);Dr(process.execPath,[t,e,r,JSON.stringify(n)],{detached:!0,stdio:"ignore",windowsHide:!0,env:{...process.env,CODEBASEIQ_SKIP_WATCH_SERVICE:"1"}}).unref()},signalProcess(t){process.kill(t,"SIGTERM")},forceSignalProcess(t){process.kill(t,"SIGKILL")},sleep(t){let e=new Int32Array(new SharedArrayBuffer(4));Atomics.wait(e,0,0,t)}};function Pt(t,e){if(!t.processIdentity)throw new Error(`Refusing to signal codebaseiq watch pid ${t.pid}: its ownership record has no process identity.`);let r=e.readProcessIdentity(t.pid);if(!r)throw new Error(`Refusing to signal codebaseiq watch pid ${t.pid}: its process identity is unavailable.`);if(!ie(t.processIdentity,r))throw new Error(`Refusing to signal codebaseiq watch pid ${t.pid}: its process identity does not match the ownership record.`)}function Se(t){throw new Error(`Unhandled watch service value: ${JSON.stringify(t)}`)}import{existsSync as L,lstatSync as P,readdirSync as Dt,realpathSync as Ot,rmSync as x,statSync as Mt}from"fs";import{join as h,resolve as Q,sep as qt}from"path";var Hr=3600*1e3,Yr=2*1024*1024*1024,ke=300*1e3,zr="gc-state.json",Jr="gc.lock",Kr="projects-gc-state.json",Xr="projects-gc.lock",Zr=1440*60*1e3;function en(t){let e=t.leases.filter(a=>a.managed&&!a.live&&!a.busy),r=jt(t.leases,t.locks),n={};for(let a of t.generations)r.has(a.generationId)||(n[a.generationId]=a.unreferencedAt??t.nowMs);let i=t.generations.filter(a=>!r.has(a.generationId)).sort((a,c)=>n[a.generationId]-n[c.generationId]||a.generationId.localeCompare(c.generationId)),o=new Set;for(let a of i)t.nowMs-n[a.generationId]>=t.policy.generationTtlMs&&o.add(a.generationId);let s=t.generations.filter(a=>!o.has(a.generationId)).reduce((a,c)=>a+c.size,0);for(let a of i){if(s<=t.policy.budgetBytes)break;o.has(a.generationId)||(o.add(a.generationId),s-=a.size)}for(let a of o)delete n[a];return{deleteWorktrees:e,deleteGenerations:t.generations.filter(a=>o.has(a.generationId)),deleteLocks:t.locks.filter(a=>!a.live),deleteTemporaries:t.temporaries.filter(a=>!a.live),protectedGenerationIds:[...r].sort(),unreferencedSince:n}}function jt(t,e){let r=new Set(t.filter(n=>n.managed&&(n.live||n.busy)).flatMap(n=>[n.lease.baseGenerationId,n.lease.activeGenerationId]).filter(n=>n!==void 0));for(let n of e)n.live&&r.add(n.generationId);return r}function Ci(t,e,r={}){if(!je())return{kind:"disabled"};let n=ae(t);if(!n)return{kind:"unavailable"};let i=h(w(),"repositories",n.repositoryId),o=(r.now??Date.now)(),s=L(i)?Gt(t,i,n.repositoryId,e,o,r):{kind:"unavailable"};return nn(t,n.repositoryId,e,o,r),tn(o,r),s}function tn(t,e){let r=h(w(),"projects"),n={examined:0,reclaimed:0};if(!L(r))return n;let i=h(r,Kr),o=Ft(i);if(!e.force&&o!==void 0&&t-o<ke)return n;let s=N(h(r,Xr));if(!s)return n;try{for(let a of O(r)){let c=h(r,a),d;try{d=P(c)}catch{continue}if(!(!d.isDirectory()||d.isSymbolicLink())&&(n.examined+=1,!!rn(c,t)))try{x(c,{recursive:!0,force:!0}),n.reclaimed+=1}catch{}}I(i,{version:1,lastSweepAt:new Date(t).toISOString()},{spacing:2,trailingNewline:!0})}finally{s.release()}return n}function rn(t,e){let r=h(t,De),n;try{let s=JSON.parse(R(r,"cache-ownership"));if(typeof s.canonicalProjectRoot!="string"||s.canonicalProjectRoot.length===0)return!1;n=s.canonicalProjectRoot}catch{return!1}if(L(n))return!1;try{if(e-P(t).mtimeMs<Zr)return!1}catch{return!1}let i=A(b(t).statePath);if(i&&S(i.pid))return!1;let o=N(h(t,"cache-lifecycle.lock"));return o===null?!1:(o.release(),!0)}function Gt(t,e,r,n,i,o){let s=h(e,"gc-state.json"),a=$t(s);if(!o.force&&a&&i-Date.parse(a.lastSweepAt)<ke)return{kind:"throttled",sweptAt:a.lastSweepAt};let c=Qe(e,{now:()=>i});if(!c)return{kind:"busy"};try{let d=Nt(t,e,r,a?.unreferencedSince??{}),u=en({nowMs:i,...d,policy:{generationTtlMs:o.policy?.generationTtlMs??Hr,budgetBytes:o.policy?.budgetBytes??Yr}}),l=0,p=0;for(let f of u.deleteWorktrees){if(!We(f.lease))continue;if(!L(f.lease.localCacheDir)){x(f.leasePath,{force:!0}),p+=1;continue}if(!sn(f.lease))continue;let D=N(h(f.lease.localCacheDir,"cache-lifecycle.lock"));if(D)try{if(xe(f.lease,!0))continue;try{Wt({projectRoot:f.lease.projectRoot,cacheDir:f.lease.localCacheDir,cliVersion:n})}catch{continue}if(xe(f.lease,!0))continue;x(f.lease.localCacheDir,{recursive:!0,force:!0}),x(f.leasePath,{force:!0}),p+=1}finally{D.release()}}for(let f of u.deleteLocks)x(f.path,{force:!0});for(let f of u.deleteTemporaries)x(f.path,{recursive:!0,force:!0});for(let f of u.deleteGenerations)x(f.path,{recursive:!0,force:!0}),l+=f.size;Ve(h(e,"evidence.db"));let m={kind:"swept",sweptAt:new Date(i).toISOString(),deletedWorktrees:p,deletedGenerations:u.deleteGenerations.length,deletedBytes:l,protectedGenerations:u.protectedGenerationIds.length},g={version:1,lastSweepAt:m.sweptAt,unreferencedSince:u.unreferencedSince,lastResult:m};return I(s,g,{spacing:2,trailingNewline:!0}),m}catch(d){return{kind:"failed",error:d instanceof Error?d.message:String(d)}}finally{c.release()}}function nn(t,e,r,n,i){let o=h(w(),"repositories");if(!L(o))return;let s=h(o,zr),a=Ft(s);if(!i.force&&a!==void 0&&n-a<ke)return;let c=N(h(o,Jr));if(c)try{for(let d of O(o)){if(d===e||!/^[a-f0-9]{24}$/.test(d))continue;let u=h(o,d),l;try{l=P(u)}catch{continue}if(!l.isDirectory()||l.isSymbolicLink())continue;let p=an(u)??t;Gt(p,u,d,r,n,i)}I(s,{version:1,lastSweepAt:new Date(n).toISOString()},{spacing:2,trailingNewline:!0})}finally{c.release()}}function xi(t,e,r){let n=Je(t,r.dbPath,e);if(n)return{state:"bypassed",reason:n,localCacheDir:r.cacheDir,generations:0,generationBytes:0,protectedGenerations:0,unreferencedGenerations:0,unreferencedBytes:0,temporaryGenerations:0,sharedEvidence:{exists:!1,bytes:0}};let i=ae(t);if(!i)return{state:"unavailable",reason:"Git worktree identity is unavailable",localCacheDir:r.cacheDir,generations:0,generationBytes:0,protectedGenerations:0,unreferencedGenerations:0,unreferencedBytes:0,temporaryGenerations:0,sharedEvidence:{exists:!1,bytes:0}};let o=h(w(),"repositories",i.repositoryId),s=Te(h(o,"worktrees",`${i.worktreeId}.json`)),a=$t(h(o,"gc-state.json")),c=Nt(t,o,i.repositoryId,a?.unreferencedSince??{}),d=jt(c.leases,c.locks),u=c.generations.filter(g=>!d.has(g.generationId)),l=c.generations.reduce((g,f)=>g+f.size,0),p=Ke(t,e),m=0;return p&&(m=on(p)),{state:"managed",repositoryId:i.repositoryId,worktreeId:i.worktreeId,localCacheDir:r.cacheDir,...s?{baseGenerationId:s.baseGenerationId,activeGenerationId:s.activeGenerationId,lastAction:s.lastAction,reason:s.lastReason,lastSeenAt:s.lastSeenAt}:{},generations:c.generations.length,generationBytes:l,protectedGenerations:c.generations.filter(g=>d.has(g.generationId)).length,unreferencedGenerations:u.length,unreferencedBytes:u.reduce((g,f)=>g+f.size,0),temporaryGenerations:c.temporaries.length,sharedEvidence:{path:p,exists:m>0,bytes:m},cleanup:a?.lastResult}}function on(t){return[t,`${t}-wal`,`${t}-shm`].reduce((e,r)=>{try{return e+Mt(r).size}catch{return e}},0)}function Nt(t,e,r,n){let i=new Set(Fe(t).map(d=>Q(d.path))),o=[];for(let d of O(h(e,"worktrees"))){if(!d.endsWith(".json"))continue;let u=h(e,"worktrees",d),l=Te(u);if(!l)continue;let p=Q(l.projectRoot);o.push({leasePath:u,lease:l,managed:l.repositoryId===r&&We(l),live:i.has(p)||L(p),busy:xe(l)})}let s=[];for(let d of O(h(e,"locks"))){let u=/^([a-f0-9]{64})\.lock$/.exec(d);if(!u)continue;let l=h(e,"locks",d),p=Pe(l),m=p!==void 0&&S(p),g=u[1];s.push({generationId:g,path:l,live:m})}let a=[],c=[];for(let d of O(h(e,"generations"))){let u=/^\.tmp-(\d+)-/.exec(d);if(u){let m=h(e,"generations",d),g=Number(u[1]);try{c.push({path:m,size:Lt(m),live:Number.isSafeInteger(g)&&S(g)})}catch{}continue}if(!/^[a-f0-9]{64}$/.test(d))continue;let l=h(e,"generations",d),p;try{p=P(l)}catch{continue}!p.isDirectory()||p.isSymbolicLink()||a.push({generationId:d,path:l,size:Lt(l),...n[d]===void 0?{}:{unreferencedAt:n[d]}})}return{leases:o,generations:a,locks:s,temporaries:c}}function We(t){if(t.ownershipChecksum!==Xe(t)||j(t.localCacheDir)!==j(qe(t.projectRoot)))return!1;let e=j(h(w(),"projects"));return j(t.localCacheDir).startsWith(`${e}${qt}`)}function sn(t){if(!We(t))return!1;let e=Q(w()),r=Q(h(e,"projects")),n=Q(t.localCacheDir);try{let i=P(e),o=P(r),s=P(n);if(!i.isDirectory()||i.isSymbolicLink()||!o.isDirectory()||o.isSymbolicLink()||!s.isDirectory()||s.isSymbolicLink())return!1;let a=Ot(r);return Ot(n).startsWith(`${a}${qt}`)}catch{return!1}}function an(t){for(let e of O(h(t,"worktrees"))){if(!e.endsWith(".json"))continue;let r=Te(h(t,"worktrees",e));if(r)return r.projectRoot}}function xe(t,e=!1){for(let n of e?["index.lock"]:["index.lock","cache-lifecycle.lock"]){let i=Pe(h(t.localCacheDir,n));if(i!==void 0&&S(i))return!0}let r=Pe(b(t.localCacheDir).lockPath);return r!==void 0&&S(r)}function Te(t){try{let e=JSON.parse(R(t,"worktree cache lease"));return e.version!==1||typeof e.repositoryId!="string"||typeof e.worktreeId!="string"||typeof e.projectRoot!="string"||e.treeOid!==void 0&&typeof e.treeOid!="string"||typeof e.localCacheDir!="string"||e.baseGenerationId!==void 0&&typeof e.baseGenerationId!="string"||e.activeGenerationId!==void 0&&typeof e.activeGenerationId!="string"||typeof e.ownershipChecksum!="string"||!/^[a-f0-9]{64}$/.test(e.ownershipChecksum)||typeof e.lastAction!="string"||e.lastReason!==void 0&&typeof e.lastReason!="string"||typeof e.lastSeenAt!="string"?null:e}catch{return null}}function Pe(t){try{let e=JSON.parse(R(t,"watch lock record"));return typeof e.pid=="number"&&Number.isSafeInteger(e.pid)&&e.pid>0?e.pid:void 0}catch{return}}function $t(t){try{let e=JSON.parse(R(t,"repository cache GC state"));return e.version!==1||typeof e.lastSweepAt!="string"||!Number.isFinite(Date.parse(e.lastSweepAt))||!e.unreferencedSince||typeof e.unreferencedSince!="object"||!e.lastResult?null:e}catch{return null}}function Ft(t){try{let e=JSON.parse(R(t,"global repository cache GC state"));if(e.version!==1||typeof e.lastSweepAt!="string")return;let r=Date.parse(e.lastSweepAt);return Number.isFinite(r)?r:void 0}catch{return}}function O(t){try{return Dt(t)}catch{return[]}}function Lt(t){let e=0,r=[t];for(;r.length>0;){let n=r.pop();for(let i of Dt(n,{withFileTypes:!0})){let o=h(n,i.name);i.isDirectory()?r.push(o):i.isFile()&&(e+=Mt(o).size)}}return e}import{createHash as Bt}from"crypto";import{tmpdir as cn,userInfo as dn}from"os";import{join as Ut}from"path";var k=1,_i=1*1024*1024,Oi=64*1024*1024,Li=12e4,Di=["NO_COLOR","FORCE_COLOR","CLICOLOR","CLICOLOR_FORCE","TERM","CODEBASEIQ_DEBUG"];function Mi(t){let e=Qt(),r=Bt("sha256").update(`${e}\0${t}`).digest("hex");return process.platform==="win32"?`\\\\.\\pipe\\codebaseiq-lane-${r.slice(0,32)}`:Ut(ln(),`lane-${r.slice(0,24)}.sock`)}function ln(){let t=Qt(),e=Bt("sha256").update(t).digest("hex").slice(0,16);return Ut(cn(),`codebaseiq-${e}`)}function Qt(){try{return dn().username}catch{return`uid-${typeof process.getuid=="function"?process.getuid():"unknown"}`}}function qi(t,e){let r=Buffer.from(JSON.stringify(t),"utf8");if(r.byteLength>e)throw new Error(`query-lane frame of ${r.byteLength} bytes exceeds the ${e}-byte limit`);let n=Buffer.allocUnsafe(4+r.byteLength);return n.writeUInt32LE(r.byteLength,0),r.copy(n,4),n}function ji(t,e,r){let n=Buffer.alloc(0),i=!1,o=s=>{i||(i=!0,r(new Error(s)))};return{push(s){if(!i)for(n=n.byteLength===0?s:Buffer.concat([n,s]);n.byteLength>=4;){let a=n.readUInt32LE(0);if(a>t){o(`query-lane frame of ${a} bytes exceeds the ${t}-byte limit`);return}if(n.byteLength<4+a)return;let c=n.subarray(4,4+a);n=n.subarray(4+a);let d;try{d=JSON.parse(c.toString("utf8"))}catch{o("query-lane frame carried invalid JSON");return}if(e(d),i)return}}}}function Gi(t){if(!t||typeof t!="object")return null;let e=t;return e.protocolVersion!==k||typeof e.projectRoot!="string"||e.projectRoot.length===0?null:e.kind==="ping"?{protocolVersion:k,kind:"ping",projectRoot:e.projectRoot}:e.kind!=="execute"||!Array.isArray(e.argv)||!e.argv.every(r=>typeof r=="string")||typeof e.cwd!="string"||e.deadlineMs!==void 0&&!Number.isFinite(e.deadlineMs)||e.envAllowlist!==void 0&&(typeof e.envAllowlist!="object"||e.envAllowlist===null||Array.isArray(e.envAllowlist)||!Object.values(e.envAllowlist).every(r=>typeof r=="string"))||e.tty!==void 0&&(typeof e.tty!="object"||e.tty===null||typeof e.tty.isTTY!="boolean"||e.tty.columns!==void 0&&!Number.isFinite(e.tty.columns))||e.clientInvocation!==void 0&&(typeof e.clientInvocation!="object"||e.clientInvocation===null||typeof e.clientInvocation.execPath!="string"||e.clientInvocation.execPath.length===0||e.clientInvocation.scriptPath!==void 0&&typeof e.clientInvocation.scriptPath!="string")?null:{...e,kind:"execute"}}function Ni(t){if(!t||typeof t!="object")return null;let e=t;if(e.protocolVersion!==k)return null;if(e.ok===!1)return e.code!=="unsupported"&&e.code!=="invalid-request"&&e.code!=="wrong-project"&&e.code!=="busy"&&e.code!=="stale-index"&&e.code!=="ineligible-command"&&e.code!=="execution-error"||typeof e.message!="string"?null:{ok:!1,protocolVersion:k,code:e.code,message:e.message};if(e.ok!==!0)return null;if(e.kind==="accepted"){let n=e.serverPid;return typeof n!="number"||!Number.isInteger(n)||n<=0?null:{ok:!0,kind:"accepted",protocolVersion:k,serverPid:n}}if(e.kind==="executed"){let n=e;return typeof n.serverPid!="number"||!Number.isInteger(n.serverPid)||n.serverPid<=0||typeof n.exitCode!="number"||!Number.isInteger(n.exitCode)||typeof n.stdout!="string"||typeof n.stderr!="string"||typeof n.generation!="string"||!/^[a-f0-9]{64}$/.test(n.generation)||typeof n.durationMs!="number"||!Number.isFinite(n.durationMs)?null:{ok:!0,kind:"executed",protocolVersion:k,serverPid:n.serverPid,exitCode:n.exitCode,stdout:n.stdout,stderr:n.stderr,generation:n.generation,durationMs:n.durationMs}}if(e.kind!=="pong"||typeof e.serverPid!="number"||!Number.isInteger(e.serverPid)||e.serverPid<=0||typeof e.cliVersion!="string"||typeof e.projectRoot!="string"||e.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(e.indexGeneration))return null;let r;if(e.processIdentity!==void 0){let n=V(e.processIdentity);if(!n||n.pid!==e.serverPid)return null;r=n}return{ok:!0,kind:"pong",protocolVersion:k,serverPid:e.serverPid,...r?{processIdentity:r}:{},cliVersion:e.cliVersion,projectRoot:e.projectRoot,...e.indexGeneration!==void 0?{indexGeneration:e.indexGeneration}:{}}}var Vt=[{question:"Who can call or reach this?",family:"execution",direction:"incoming"},{question:"What can this call or reach?",family:"execution",direction:"outgoing"},{question:"Where can this value come from?",family:"dataflow",direction:"incoming"},{question:"Where can this value go?",family:"dataflow",direction:"outgoing"},{question:"Which producer and consumer rendezvous?",family:"runtime",direction:"both"},{question:"What resource is observed or changed?",family:"state",direction:"both"},{question:"What occurs before or after this?",family:"temporal",direction:"both"},{question:"What interface constrains this?",family:"contract",direction:"both"},{question:"Are these observations the same entity?",family:"identity",direction:"both"},{question:"What contains or owns this?",family:"ownership",direction:"both"},{question:"What does this statically rely on?",family:"dependencies",direction:"outgoing"}],Ht={execution:{establishes:"Static may-call reachability between resolved program constructs.",nonClaims:["A may-call edge does not prove that a runtime invocation occurred."]},runtime:{establishes:"A source-grounded handoff between producer and consumer participants through a runtime mechanism.",nonClaims:["An unresolved or candidate join does not prove a runtime handoff."]},dataflow:{establishes:"A value, definition, argument, parameter, return, or statically resolved value may flow to another construct.",nonClaims:["Current partial providers do not establish general interprocedural definition-use coverage."]},state:{establishes:"A construct reads, writes, creates, deletes, or otherwise changes an identified state resource.",nonClaims:["A state edge does not prove transactionality, durability, or exclusive ownership unless qualified."]},temporal:{establishes:"One observed construct is locally ordered before or after another under the reported source evidence.",nonClaims:["Source order does not imply cross-process happens-before or durability."]},contract:{establishes:"A program construct implements, constrains, or is typed by an identified contract.",nonClaims:["Contract identity does not prove runtime invocation or conformance outside reported checks."]},identity:{establishes:"Two observations refer to the same compiler-owned or source-owned program entity.",nonClaims:["Shared identity does not establish execution or value transfer."]},ownership:{establishes:"A source construct, symbol, runtime observation, or state resource is contained or owned by another program entity.",nonClaims:["Structural ownership does not establish lifetime, singleton scope, or runtime execution unless qualified."]},dependencies:{establishes:"A file, module, or symbol statically relies on another indexed entity.",nonClaims:["A dependency edge does not establish that the depended-on code executes."]}};function Yt(t){return fe.flatMap(e=>e.relations.filter(r=>r.family===t).map(r=>({...r,providerId:e.id,providerLabel:e.label})))}function zt(t){return[...new Set(fe.filter(e=>e.relations.some(r=>r.family===t)).map(e=>e.label))]}var Ui=et.map(t=>({family:t,...Ht[t],providers:zt(t),relations:Yt(t)}));function Jt(t){return{family:t,...Ht[t],providers:zt(t),relations:Yt(t)}}var Hi=["search","outline","entrypoints","evidence","inspect","code"];function Yi(){return Vt.map(t=>{let e=Jt(t.family);return{...t,establishes:e.establishes,evidenceStrengths:Kt(e.relations.flatMap(r=>r.evidenceStrengths)),supportCeilings:Kt(e.relations.map(r=>r.supportCeiling)),nonClaim:e.nonClaims.join(" ")}})}function Kt(t){return[...new Set(t)]}export{rt as a,gt as b,On as c,Ln as d,Wr as e,Dn as f,Mn as g,qn as h,ni as i,Fr as j,ii as k,kt as l,oi as m,Br as n,Wt as o,si as p,ai as q,ci as r,di as s,li as t,Ci as u,xi as v,k as w,_i as x,Oi as y,Li as z,Di as A,Mi as B,qi as C,ji as D,Gi as E,Ni as F,Ui as G,Hi as H,Yi as I};
3
- //# sourceMappingURL=chunk-HOA5YGOH.js.map
@@ -1,2 +0,0 @@
1
- import{$ as p,aa as x,h as d}from"./chunk-WE5RZHZ7.js";import{b as g,d as f}from"./chunk-2Q2LW5JW.js";import{execFileSync as b}from"child_process";import{createHash as v}from"crypto";import{existsSync as s,statSync as j}from"fs";import{createRequire as B}from"module";import{platform as N}from"os";import{dirname as m,join as a}from"path";var S=B(import.meta.url),K={language:"rust",indexerBinary:"rust-analyzer",installUrl:"https://github.com/rust-lang/rust-analyzer"};function l(n){return[n.indexerBinary,...n.binaryAliases??[]]}function k(n){let e=l(n);return e.length===1?e[0]:e.join(" or ")}function u(n){for(let e of l(n)){let r=f(e);if(r)return r}return w(n)}function q(n){return u(n)!==null||L(n)}function L(n){return T(n)!==null}function w(n){let e=T(n);if(!e)return null;let t=JSON.parse(d(e,"indexer package manifest")).bin;if(!t)return null;if(typeof t=="string")return a(m(e),t);for(let o of l(n)){let i=t[o];if(i)return a(m(e),i)}return null}function T(n){if(!n.bundledNpmPackage)return null;try{return S.resolve(`${n.bundledNpmPackage}/package.json`)}catch{return null}}function O(n,e){for(let r of n.projectLocalBinaries??[]){let t=a(e,r);if(s(t))return t}return null}function E(n,e){for(let r of n.projectLocalBinaries??[]){let t=a(e,r);if(s(t))return I(e,r,t)}return null}function G(n,e){let r=D(n,e);if(!r||r.canonicalPath!==e.canonicalPath||r.sha256!==e.sha256||r.size!==e.size||r.mtimeMs!==e.mtimeMs||r.device!==e.device||r.inode!==e.inode||r.executable!==e.executable)throw new Error(`refusing changed project-local indexer ${e.relativePath}; review the current file and rerun with --trust-project-tools`)}function D(n,e){try{return I(n,e.relativePath,e.configuredPath)}catch{return null}}function I(n,e,r){let t={maxBytes:268435456,inputKind:"project-local indexer"},o=p(n,e,t),i=x(n,e,t),h=j(o.absolutePath);return{configuredPath:r,canonicalPath:o.absolutePath,relativePath:e,sha256:v("sha256").update(i).digest("hex"),size:o.size,mtimeMs:o.mtimeMs,device:o.device,inode:o.inode,executable:(h.mode&73)!==0}}function R(n,e,r={}){return(r.trustProjectTools?E(n,e)?.canonicalPath:null)??u(n)}function W(n,e=process.env,r=n.indexerBinary){if(n.indexerBinary!=="scip-dotnet"||c(r,e))return e;let t=P(r,e);return t?{...e,DOTNET_ROOT:t}:e}function Y(n,e,r={}){let t=k(n),o=e?R(n,e,r):u(n);if(!o)return{language:n.language,binaryLabel:t,installed:!1,runnable:!1,resolvedBinary:null,installUrl:n.installUrl,...e&&O(n,e)?{note:"project-local indexer available only with --trust-project-tools"}:{}};if(n.indexerBinary!=="scip-dotnet")return{language:n.language,binaryLabel:t,installed:!0,runnable:!0,resolvedBinary:o};let i=J(o);return{language:n.language,binaryLabel:t,installed:!0,runnable:i.runnable,resolvedBinary:o,installUrl:n.installUrl,note:i.note}}function J(n){if(c(n,process.env))return{runnable:!0};let e=P(n,process.env);if(e)return{runnable:!0,note:`using .NET 9 runtime from ${e}`};let r=y(process.env);return{runnable:!1,note:r.length>0?`.NET 9 runtime still unavailable after checking ${r.join(", ")}`:"binary is present, but scip-dotnet still needs a .NET 9 runtime"}}function P(n,e){for(let r of y(e))if(c(n,{...e,DOTNET_ROOT:r}))return r;return null}function y(n){let e=[],r=n.DOTNET_ROOT;if(r&&s(r)&&e.push(r),N()==="darwin"&&g("brew"))try{let t=b("brew",["--prefix","dotnet@9"],{stdio:"pipe",windowsHide:!0,env:n,timeout:1e4,killSignal:"SIGKILL"}).toString().trim(),o=a(t,"libexec");s(o)&&!e.includes(o)&&e.push(o)}catch{}return e}function c(n,e){try{return b(n,["--version"],{stdio:"pipe",windowsHide:!0,env:e,timeout:1e4,killSignal:"SIGKILL"}),!0}catch{return!1}}export{K as a,k as b,u as c,q as d,O as e,E as f,G as g,W as h,Y as i};
2
- //# sourceMappingURL=chunk-KUW32IRO.js.map
@@ -1,2 +0,0 @@
1
- import{Wa as v,bb as s,eb as E,fb as V,lb as I}from"./chunk-GTIYTDRE.js";import{c as y}from"./chunk-ZZ3MWF33.js";import{G as h,P as S,d as w}from"./chunk-Z54RD7VL.js";import{G as x}from"./chunk-WE5RZHZ7.js";var ce={defaultRole:"repository-observation"};function pe(e,n=[]){return{defaultRole:e,...n.length>0?{rules:n}:{}}}function k(e,n){for(let t of e.rules??[]){if(t.when.kind==="option-present"){let r=n.options[t.when.name];if(r!==void 0&&r!==!1)return t.role;continue}if((t.when.kind==="argument"?n.args[t.when.index]:n.options[t.when.name])===t.when.equals)return t.role}return e.defaultRole}function fe(e){return[...new Set([e.defaultRole,...(e.rules??[]).map(n=>n.role)])]}function A(e){return e==="repository-observation"||e==="repository-preview"||e==="composite"}import{AsyncLocalStorage as z}from"async_hooks";var U=1,j=1;var F={policyId:"codebaseiq:unresolved-repository-policy",policyVersion:j,permission:"not-established",reasons:["No repository action policy was supplied for this claim."]};function N(e){return{schemaVersion:U,origin:e.contract.origin,coverage:$(e.coverage),producerValidation:e.contract.producerValidation,stateAuthority:w(e.receipt,e.receipt),repositoryPolicy:e.repositoryPolicy??F,...e.contract.families?{families:e.contract.families}:{}}}function $(e){return e?e.complete===!0?{state:"complete",returned:e.returned,totalKnown:!0,total:e.total??e.returned,omitted:0}:e.totalKnown?{state:"partial",returned:e.returned,totalKnown:!0,...e.total===void 0?{}:{total:e.total},...e.omitted===void 0?{}:{omitted:e.omitted}}:{state:"unknown",returned:e.returned,totalKnown:!1}:{state:"unknown",returned:0,totalKnown:!1}}var W="codebaseiq-result";var G=1,Y=1,_=1,L=1;function M(e){let n=e.resultSchemaVersion??Y;if(!X(n))throw new Error("CLI result schema version must be a positive safe integer.");let{producerVersion:t,...o}=e;return{kind:W,schemaVersion:G,producer:{name:"codebaseiq",version:t},resultSchemaVersion:n,...o}}function J(e,n){return JSON.stringify(e,null,n?0:2)}function X(e){return Number.isSafeInteger(e)&&Number(e)>0}var P=Symbol("option-value-source"),T=new Map,D=new Map,B=new Map,H=new z;function Ie(e,n){return H.run(e,n)}function ke(e){T=new Map(e)}function Ae(e){D=new Map(e)}function Ne(e){B=new Map(e)}function m(e){return(...n)=>{let{args:t,opts:o}=le(n);S(r=>{I(r.generation.identity),e({db:r,args:t,opts:o})})}}function R(e,n){return m(t=>{let o=V(t.db,e,d(t.opts,"full"),{quiet:d(t.opts,"json")});n({...t,budget:o})})}function _e(e){return m(n=>c(n,e,{kind:"list"}))}function Le(e){return m(n=>c(n,e,{kind:"table",headers:e.headers,dashWidths:e.dashWidths}))}function Me(e){return m(n=>c(n,e,{kind:"grouped",key:e.key}))}function Z(e){return m(n=>b(n,e))}function Je(e){return Z({commandName:e.commandName,query:e.query,emptyMessage:e.emptyMessage,heuristicLabel:e.heuristicLabel,before:e.before,render:(n,t)=>s.sectionedReport(e.sections(n,t)),toJson:e.toJson,coverage:e.coverage,agentResult:e.agentResult,after:e.after})}function ee(e,n){return R(e,t=>b(t,{...n,commandName:n.commandName??e}))}function Pe(e,n){return ee(e,{commandName:n.commandName??e,query:n.query,emptyMessage:n.emptyMessage,heuristicLabel:n.heuristicLabel,before:n.before,render:(t,o)=>s.sectionedReport(n.sections(t,o)),toJson:n.toJson,coverage:n.coverage,agentResult:n.agentResult,after:n.after})}function Te(e,n){return R(e,t=>c(t,{...n,commandName:e},{kind:"list"}))}function De(e,n){return R(e,t=>c(t,{...n,commandName:e},{kind:"grouped",key:n.key}))}function Be(e,n){return String(e[n])}function He(e,n){let t=e[n];return typeof t=="string"?[t]:Array.isArray(t)&&t.every(o=>typeof o=="string")?t:[]}function Qe(e,n){let t=e[n];return typeof t=="string"?t:void 0}function qe(e,n){let t=e[n];return typeof t=="string"?t:void 0}function Q(e,n){let t=e[n];return typeof t=="number"?t:void 0}function d(e,n){return!!e[n]}function Ke(e,n){let t=e[n];return Array.isArray(t)&&t.every(o=>typeof o=="string")?t:[]}function Ue(e,n,t){return Q(e,n)??t}function je(e,n,t){let o=Q(e,n),r=o!==void 0&&ne(e,n)!=="default";if(d(e,"full")){if(r)throw new Error("--full cannot be combined with --limit. Use --full for all findings, or --limit N for a capped report.");return Number.MAX_SAFE_INTEGER}return o??t}function ne(e,n){return e[P]?.(n)}function c(e,n,t){b(e,{commandName:n.commandName,query:n.query,emptyMessage:(o,r)=>o.length===0&&n.emptyMessage?n.emptyMessage(r):void 0,heuristicLabel:n.heuristicLabel,render:(o,r)=>{t.kind==="list"?s.list(o,i=>n.format(i,r)):t.kind==="table"?s.table(t.headers,o.map(i=>n.format(i,r)),t.dashWidths):s.groupedByFile(o,i=>n.format(i,r),t.key?i=>t.key(i,r):void 0)},toJson:n.toJson,coverage:n.coverage,agentResult:n.agentResult,before:n.before,after:n.after})}function b(e,n){let t=n.query(e);if(d(e.opts,"json")){if(!n.commandName)throw new Error("JSON output requires a command name so its result contract can be identified.");oe(n.commandName,e.args,e.opts,n.toJson?n.toJson(t,e):t,{analysisBudget:te(e),coverage:n.coverage?.(t,e),agentResult:n.agentResult?.(t,e),resultSchemaVersion:n.resultSchemaVersion});return}let o=n.emptyMessage?.(t,e);if(o){s.empty(o);return}n.heuristicLabel&&E(n.heuristicLabel),n.before?.(t,e),n.render(t,e),n.after?.(t,e)}function te(e){return e.budget?.analysisBudget}function oe(e,n,t,o,r={}){let i=T.get(e),a=D.get(e),u=B.get(e),p=a?k(a.operation,{args:n,options:t}):void 0,f=H.getStore();if(f!==void 0&&p!==void 0&&f!==p)throw new Error(`Command ${e} changed operation role during execution: selected ${f}, rendered ${p}.`);let g=f??p,O=de(o),C=r.coverage??ae(a,o,r.analysisBudget),l=C&&O&&!C.resolution?{...C,resolution:O}:C;if(l&&ie(l),d(t,"resultOnly")){let K=Object.hasOwn(r,"resultOnly")?r.resultOnly:o;y(JSON.stringify(K,null,d(t,"compact")?0:2));return}let q=M({producerVersion:x,command:e,...g?{operationRole:g}:{},...i?{evidence:i}:{},...r.analysisBudget?{analysisBudget:r.analysisBudget}:{},args:ue(n),options:t,result:o,...l?{coverage:l}:{},...r.agentResult!==void 0?{agentResult:r.agentResult}:{},...re(g,i,r.analysisBudget,l,u,r.observationReceipt),...r.resultSchemaVersion===void 0?{}:{resultSchemaVersion:r.resultSchemaVersion}});y(J(q,d(t,"compact")))}function re(e,n,t,o,r,i){if(!e||!A(e))return{};let a=h(),u=i??(a?v({projectRoot:a.config.projectRoot,db:a,...r?{observedSourceKinds:r.observedSources}:{}}):void 0);return u?{evidenceContext:{schemaVersion:_,operationRole:e,receipt:u,analysisManifest:{schemaVersion:L,...n?{evidence:n}:{},...t?{analysisBudget:t}:{},...o?{coverage:o}:{},...r?{claimQualification:N({contract:r,receipt:u,...o?{coverage:o}:{}})}:{}}}}:{}}function ie(e){if(!Number.isSafeInteger(e.returned)||e.returned<0)throw new Error("Invocation coverage returned count must be a non-negative safe integer.");if(e.complete!==!0&&e.complete!==!1&&e.complete!==null)throw new Error("Invocation coverage complete must be true, false, or null.");if(e.complete===!0){if(!e.totalKnown)throw new Error("Complete invocation coverage must know its total.");if(!Number.isSafeInteger(e.total)||e.total!==e.returned)throw new Error("Complete invocation coverage total must equal returned.");if(e.omitted!==0)throw new Error("Complete invocation coverage cannot omit results.");if(e.omittedIdentities!==void 0)throw new Error("Complete invocation coverage cannot name omitted identities.");if(e.continuation!==void 0)throw new Error("Complete invocation coverage cannot provide a continuation.")}else if(e.totalKnown){if(e.complete!==!1)throw new Error("Known incomplete invocation coverage must set complete to false.");if(!Number.isSafeInteger(e.total)||e.total<e.returned)throw new Error("Known invocation coverage total must be a safe integer at least as large as returned.");let n=e.total-e.returned;if(e.omitted!==n)throw new Error("Known invocation coverage omitted count must equal total minus returned.");if(n===0)throw new Error("Known incomplete invocation coverage must omit at least one result.");if(e.omittedIdentities&&e.omittedIdentities.length!==n)throw new Error("Omitted identity count must equal the disclosed omitted count.")}else{if(e.total!==void 0||e.omitted!==void 0)throw new Error("Unknown invocation coverage cannot claim a total or omitted count.");if(e.omittedIdentities!==void 0)throw new Error("Unknown invocation coverage cannot claim omitted identities.")}if(e.continuation&&(e.continuation.cursor.length===0||e.continuation.indexGeneration.length===0))throw new Error("Invocation coverage continuation requires a cursor and index generation.");if(e.resolution){if(!Number.isSafeInteger(e.resolution.totalCandidates)||e.resolution.totalCandidates<0)throw new Error("Invocation resolution candidate count must be a non-negative safe integer.");if(e.resolution.state==="exact"&&e.resolution.totalCandidates!==1)throw new Error("Exact invocation resolution must name exactly one candidate.");if(e.resolution.state==="missing"&&e.resolution.totalCandidates!==0)throw new Error("Missing invocation resolution cannot name candidates.");if(e.resolution.state==="ambiguous"&&e.resolution.totalCandidates<2)throw new Error("Ambiguous invocation resolution must name at least two candidates.")}}function ae(e,n,t){if(!e)return;let o=se(e,n);return e.coverage==="complete"?{complete:!0,totalKnown:!0,returned:o,total:o,omitted:0}:e.coverage==="sampled"?{complete:!1,totalKnown:!1,returned:o}:e.coverage==="bounded"&&t?{complete:!1,totalKnown:!1,returned:o}:{complete:null,totalKnown:!1,returned:o}}function se(e,n){let t=e.resultUnits??{kind:"report"};if(t.kind==="rows")return Array.isArray(n)?n.length:0;if(t.kind==="field"){if(!n||typeof n!="object")return 0;let o=n[t.field];return Array.isArray(o)?o.length:o==null?0:1}return n==null?0:1}function de(e){if(!e||typeof e!="object"||Array.isArray(e))return;let n=e;if(n.matched===!1)return{state:"missing",totalCandidates:0};if(n.matched!==!0||!Number.isSafeInteger(n.totalMatches))return;let t=n.totalMatches;return t<=0?{state:"missing",totalCandidates:0}:t===1?{state:"exact",totalCandidates:t}:{state:"ambiguous",totalCandidates:t}}function ue(e){return e.filter(n=>typeof n=="string"||typeof n=="number"||typeof n=="boolean")}function le(e){if(e.length===0)return{args:[],opts:{}};let n=e[e.length-1];return{args:e.slice(0,-1),opts:me(n)}}function me(e){if(!e||typeof e!="object")return{};let n=e,t=typeof n.optsWithGlobals=="function"?n.optsWithGlobals.bind(n):typeof n.opts=="function"?n.opts.bind(n):null;if(t){let o=t();return!o||typeof o!="object"?{}:(typeof n.getOptionValueSource=="function"&&Object.defineProperty(o,P,{value:r=>n.getOptionValueSource(r),enumerable:!1}),o)}return e}export{ce as a,pe as b,k as c,fe as d,Ie as e,ke as f,Ae as g,Ne as h,m as i,R as j,_e as k,Le as l,Me as m,Z as n,Je as o,ee as p,Pe as q,Te as r,De as s,Be as t,He as u,Qe as v,qe as w,Q as x,d as y,Ke as z,Ue as A,je as B,ne as C,oe as D,le as E,me as F};
2
- //# sourceMappingURL=chunk-LTA3BRZX.js.map
@@ -1,2 +0,0 @@
1
- import{a as t}from"./chunk-6MUIJMVL.js";var e=t;export{e as a};
2
- //# sourceMappingURL=chunk-NAUD7LCA.js.map
@@ -1,109 +0,0 @@
1
- import{a as Vt,b as Ht}from"./chunk-7MGU3HPH.js";import{A as rn,D,E as on,F as U,P as ne,Q as A,T as Te,V as ke,Y as $e,Z as an,a as pe,aa as W,ba as X,c as Qt,ea as ie,ga as C,i as Jt,j as Yt,k as Pe,na as oe,oa as Ae,p as L,u as tn,v as nn,z as Be}from"./chunk-RU65DDUP.js";import{a as Wt,d as Kt}from"./chunk-QW7EP6WI.js";import{a as $,b as Ee,e as Le,f as en,i as z}from"./chunk-3IER7Q6H.js";import{b as fe,c as re,d as M,f as lt,g as ct,h as sn}from"./chunk-DRENNWRG.js";import{b as zt,e as S,h as Ut}from"./chunk-RDBI2RXU.js";import{i as Z}from"./chunk-R2NOK63J.js";import{a as jt}from"./chunk-EF2R3WNQ.js";import{A as Xt,B as te,h as Ot,n as qt,o as Gt,z as Zt}from"./chunk-WE5RZHZ7.js";import{join as De}from"path";var Za=6,Xa=5e3,Sr="watch.lock",br="watch-state.json",vr="watch-activity.json",xr="watch-refresh-requests";function Qa(e){return{lockPath:De(e,Sr),statePath:De(e,br),activityPath:De(e,vr),refreshRequestsPath:De(e,xr)}}function Ja(e){try{return Rr(JSON.parse(Ot(e,"watch service state")))}catch{return null}}function Rr(e){if(!e||typeof e!="object")return null;let t=e;if(t.version!==1||typeof t.protocolVersion!="number"||typeof t.pid!="number"||!Number.isInteger(t.pid)||t.pid<=0||typeof t.projectRoot!="string"||t.worktreeId!==void 0&&(typeof t.worktreeId!="string"||t.worktreeId.length===0)||typeof t.cliVersion!="string"||!E(t.startedAt)||!E(t.heartbeatAt)||!E(t.lastActivityAt)||!Ir(t.watcher)||t.idleDeadlineAt!==void 0&&!E(t.idleDeadlineAt))return null;if(t.processIdentity!==void 0){let n=jt(t.processIdentity);if(!n||n.pid!==t.pid)return null;t.processIdentity=n}return t.indexGeneration!==void 0&&!/^[a-f0-9]{64}$/.test(t.indexGeneration)||t.lastError!==void 0&&!wr(t.lastError)||t.lastRefresh!==void 0&&!Nr(t.lastRefresh)||t.reindexActivity!==void 0&&!Cr(t.reindexActivity)||t.refreshRequests!==void 0&&!_r(t.refreshRequests)||t.typescriptSemantic!==void 0&&!Er(t.typescriptSemantic)||t.typescriptIndex!==void 0&&!Pr(t.typescriptIndex)||t.queryLane!==void 0&&!Lr(t.queryLane)?null:t}function E(e){return zt(e)}function Ir(e){if(!e||typeof e!="object"||!("state"in e))return!1;let t=e;switch(t.state){case"idle":return!0;case"waiting":return B(t.changedFiles)&&B(t.reindexAt);case"indexing":return B(t.startedAt);case"cooldown":return B(t.until)&&typeof t.dirty=="boolean";case"budget-paused":return B(t.until)&&typeof t.dirty=="boolean"&&typeof t.reason=="string"&&S(t.rebuilt)&&S(t.estimatedWriteBytes);case"draining":return B(t.startedAt)&&typeof t.reason=="string";default:return!1}}function wr(e){if(!e||typeof e!="object")return!1;let t=e;return E(t.at)&&typeof t.message=="string"}function Nr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.trigger?.kind=="string"&&typeof t.result=="string"&&E(t.startedAt)&&E(t.completedAt)&&B(t.durationMs)}function Cr(e){if(!e||typeof e!="object")return!1;let t=e;return t.confidence!==void 0&&t.confidence!=="complete"&&t.confidence!=="partial"&&t.confidence!=="unavailable"||t.recordsRead!==void 0&&!S(t.recordsRead)||t.invalidRecords!==void 0&&!S(t.invalidRecords)||t.skippedRecords!==void 0&&!S(t.skippedRecords)||t.readErrors!==void 0&&!S(t.readErrors)||t.ignoredPartialTailBytes!==void 0&&!S(t.ignoredPartialTailBytes)||!E(t.windowStartedAt)||!E(t.windowEndedAt)||!S(t.runs)||!S(t.rebuilt)||!S(t.reused)||!S(t.failed)||!S(t.suppressed)||!B(t.estimatedLogicalOutputBytes)||t.estimatedWriteBytes!==void 0&&!S(t.estimatedWriteBytes)||t.reflinkedBytes!==void 0&&!S(t.reflinkedBytes)||t.fallbackCopiedBytes!==void 0&&!S(t.fallbackCopiedBytes)||t.oldestRebuildAt!==void 0&&!E(t.oldestRebuildAt)||t.oldestWriteAt!==void 0&&!E(t.oldestWriteAt)||t.languageAttribution!==void 0&&t.languageAttribution!=="complete"&&t.languageAttribution!=="partial"&&t.languageAttribution!=="unavailable"||t.attributedRuns!==void 0&&!S(t.attributedRuns)||t.unattributedRuns!==void 0&&!S(t.unattributedRuns)||t.invalidLanguageDetails!==void 0&&!S(t.invalidLanguageDetails)||t.estimatedLogicalOutputBytes<0||!t.byTrigger||typeof t.byTrigger!="object"||Array.isArray(t.byTrigger)||t.byLanguage!==void 0&&!Fr(t.byLanguage)?!1:Object.values(t.byTrigger).every(n=>n===void 0||S(n))}function Fr(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;for(let[t,n]of Object.entries(e)){if(!Wt.includes(t)||!n||typeof n!="object")return!1;let r=n;if(!S(r.runs)||!S(r.rebuilt)||!S(r.reused)||!S(r.producedOutputBytes)||!Ut(r.durationMs)||r.rebuilt+r.reused!==r.runs)return!1}return!0}function _r(e){if(!e||typeof e!="object")return!1;let t=e;return S(t.pending)&&S(t.claimed)&&S(t.completed)&&S(t.expired)&&S(t.invalid)&&(t.oldestPendingAt===void 0||E(t.oldestPendingAt))}function Er(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&(t.state==="idle"||t.state==="ready"||t.state==="unavailable"||t.state==="error")&&B(t.requests)&&B(t.sessionsCreated)&&B(t.sessionsReused)&&B(t.sessionsRefreshed)&&B(t.sessionsReplaced)&&B(t.projectsCreated)&&(t.lastRequestAt===void 0||E(t.lastRequestAt))&&(t.lastError===void 0||typeof t.lastError=="string")&&(t.busyUntil===void 0||E(t.busyUntil))&&(t.mailbox===void 0||ln(t.mailbox))}function Pr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&(t.state==="idle"||t.state==="ready"||t.state==="unavailable"||t.state==="error")&&S(t.requests)&&S(t.sessionsCreated)&&S(t.sessionsReplaced)&&S(t.initializations)&&S(t.programUpdates)&&S(t.documentsEmitted)&&S(t.documentsRemoved)&&(t.lastRequestAt===void 0||E(t.lastRequestAt))&&(t.lastDurationMs===void 0||B(t.lastDurationMs)&&t.lastDurationMs>=0)&&(t.lastError===void 0||typeof t.lastError=="string")&&(t.busyUntil===void 0||E(t.busyUntil))&&(t.mailbox===void 0||ln(t.mailbox))}function Lr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.protocolVersion=="number"&&typeof t.socketPath=="string"&&t.socketPath.length>0&&S(t.requests)&&(t.lastRequestAt===void 0||E(t.lastRequestAt))&&(t.lastError===void 0||typeof t.lastError=="string")}function ln(e){if(!e||typeof e!="object")return!1;let t=e;return S(t.pending)&&S(t.inflight)&&S(t.responses)&&S(t.deadLetters)&&S(t.invalid)&&S(t.totalItems)&&B(t.totalBytes)&&t.totalBytes>=0&&t.totalItems===t.pending+t.inflight+t.responses+t.deadLetters&&(t.oldestPendingAt===void 0||E(t.oldestPendingAt))}function B(e){return typeof e=="number"&&Number.isFinite(e)}import{spawn as Br}from"child_process";import{platform as cn}from"os";import{performance as un}from"perf_hooks";var is={probe:1e4,git:3e4,analysis:18e4,install:3e5,indexer:6e5},ye=class extends Error{constructor(n,r,i,o={}){super(i,o.cause===void 0?void 0:{cause:o.cause});this.kind=n;this.label=r;this.name="BoundedProcessError",this.timedOut=o.timedOut??!1,this.reaped=o.reaped??!1,this.stdout=o.stdout??"",this.stderr=o.stderr??"",this.stdoutTruncated=o.stdoutTruncated??!1,this.stderrTruncated=o.stderrTruncated??!1}kind;label;timedOut;reaped;stdout;stderr;stdoutTruncated;stderrTruncated};function me(e,t){if(!Number.isFinite(e)||e<=0)throw new TypeError(`${t} must be a positive finite number.`)}function dn(e,t,n,r){let i=Math.max(0,r-n);i>0&&e.push(t.subarray(0,i))}function pn(e,t,n){let r=Buffer.concat([...e,t]);e.length=0,e.push(r.subarray(Math.max(0,r.length-n)))}function os(e){me(e.timeoutMs,"timeoutMs"),me(e.maxStdoutBytes,"maxStdoutBytes"),me(e.maxStderrBytes,"maxStderrBytes");let t=e.terminationGraceMs??1e3;me(t,"terminationGraceMs");let n=e.terminationForceMs??t;return me(n,"terminationForceMs"),new Promise((r,i)=>{let o=un.now(),a;try{let y=cn()!=="win32";a=Br(e.command,[...e.args??[]],{cwd:e.cwd,env:e.env,detached:y?!0:e.detached,stdio:["pipe","pipe","pipe"],windowsHide:!0})}catch(y){i(new ye("spawn",e.label,`${e.label} could not start.`,{cause:y,reaped:!0}));return}let s=[],l=[],c=0,u=0,d=!1,p=!1,f=null,m=!1,g=cn()!=="win32",b=a.pid===void 0?null:Vt(a.pid,g),h=()=>{clearTimeout(x),e.signal?.removeEventListener("abort",w)},v=y=>{if(m||!f)return;m=!0,h();let R=Buffer.concat(s).toString("utf8"),I=Buffer.concat(l).toString("utf8"),_=y.reaped||!y.detail?"":` Process-tree cleanup failed: ${y.detail}`;i(new ye(f.kind,e.label,`${f.message}${_}`,{timedOut:f.timedOut,reaped:y.reaped,stdout:R,stderr:I,stdoutTruncated:d,stderrTruncated:p}))},F=y=>{if(!(f||m)){if(f=y,!b){v({reaped:a.pid===void 0,reason:a.pid===void 0?"terminated":"identity-unavailable"});return}Ht(b,{gracefulMs:t,forceMs:n}).then(v,R=>{v({reaped:!1,reason:"signal-failed",detail:R instanceof Error?R.message:String(R)})})}},x=setTimeout(()=>{F({kind:"timeout",timedOut:!0,message:`${e.label} timed out after ${e.timeoutMs}ms.`})},e.timeoutMs);x.unref();let w=()=>{F({kind:"aborted",timedOut:!1,message:`${e.label} was cancelled.`})};e.signal?.addEventListener("abort",w,{once:!0}),e.signal?.aborted&&w(),a.stdout.on("data",y=>{let R=Buffer.isBuffer(y)?y:Buffer.from(y);e.outputLimitBehavior==="truncate-tail"?pn(s,R,e.maxStdoutBytes):dn(s,R,c,e.maxStdoutBytes),c+=R.length,c>e.maxStdoutBytes&&(d=!0,e.outputLimitBehavior!=="truncate-tail"&&F({kind:"stdout-limit",timedOut:!1,message:`${e.label} exceeded stdout limit (${e.maxStdoutBytes} bytes).`}))}),a.stderr.on("data",y=>{let R=Buffer.isBuffer(y)?y:Buffer.from(y);e.outputLimitBehavior==="truncate-tail"?pn(l,R,e.maxStderrBytes):dn(l,R,u,e.maxStderrBytes),u+=R.length,u>e.maxStderrBytes&&(p=!0,e.outputLimitBehavior!=="truncate-tail"&&F({kind:"stderr-limit",timedOut:!1,message:`${e.label} exceeded stderr limit (${e.maxStderrBytes} bytes).`}))}),a.on("error",y=>{if(!m&&!f){if(a.pid===void 0){h(),m=!0,i(new ye("spawn",e.label,`${e.label} could not start: ${y.message}`,{cause:y,reaped:!0}));return}F({kind:"spawn",timedOut:!1,message:`${e.label} failed after start: ${y.message}`})}}),a.on("close",(y,R)=>{if(m||f)return;m=!0,h();let I=Buffer.concat(s).toString("utf8"),_=Buffer.concat(l).toString("utf8");r({status:y,signal:R,stdout:I,stderr:_,timedOut:!1,durationMs:un.now()-o,stdoutTruncated:d,stderrTruncated:p})}),e.input===void 0?a.stdin.end():a.stdin.end(e.input)})}var fn=Yt({kind:"file-dependency-graph",invalidation:Pe("file-dependency-graph"),serialize:e=>JSON.stringify(e),deserialize:Or}),Tr=$("file-dep-graph",{clearGroups:["whole-project"]});function Me(e,t,n={}){let r=n.scipEdges??"all-references",i=n.sourceEdges??"imports-only",o=Ar(t,r,i);return Tr.get(e,o,()=>{let a=new Set(Le(e,{includeIgnored:!1})),s=Qt(e),l=0,c=0,u=null,d=!1,p=0,f=0;return Z("file-dep-graph.product",()=>{if(s){let h=fn.read(e,o,s);if(h){d=!0;let v=Mr(h);return l=h.sourceFileCount,c=h.sourceEdgeCount,p=h.scipEdgeCount,f=v.size,u=h.sourceDependencyFingerprint,v}}let m=Z("file-dep-graph.source-imports",()=>{let h=kr(e,a,t,i);return l=h.files.length,c=h.edges.length,u=h.fingerprint,h},()=>({scope:t??null,sourceEdges:i,files:l,edges:c})),g=new Map,b=(h,v)=>qr(e,g,a,h,v);Z("file-dep-graph.scip-edges",()=>{for(let h of Hr(e,t,r))p+=1,b(h.from_file,h.to_file)},()=>({scope:t??null,edges:p}));for(let h of m.edges)b(h.fromFile,h.toFile);return f=g.size,s&&fn.write(e,o,s,{sourceDependencyFingerprint:m.fingerprint,sourceFileCount:m.files.length,sourceEdgeCount:m.edges.length,scipEdgeCount:p,graph:Dr(g)}),g},()=>({scope:t??null,available:s!==null,hit:d,files:l,sourceEdges:c,sourceEdgeMode:i,scipEdges:p,graphFiles:f,sourceDependencyFingerprint:u}))})}function kr(e,t,n,r){let i=[],o=[];for(let a of t)if(!(n&&!a.includes(n))){i.push(a);for(let s of A(e,a))s.sourcePath&&o.push({fromFile:a,toFile:s.sourcePath});if(r==="imports-and-reexports")for(let s of ne(e,a))s.sourcePath&&o.push({fromFile:a,toFile:s.sourcePath})}return{files:i,edges:o,fingerprint:$r(i,o)}}function $r(e,t){let n=t.map(r=>`${r.fromFile}\0${r.toFile}`).sort();return pe(JSON.stringify({files:e,edges:n}))}function Ar(e,t,n){return`edge-mode-v3:${t}:${n}:${e??"<all>"}`}function Dr(e){return[...e].map(([t,n])=>[t,[...n]])}function Mr(e){return new Map(e.graph.map(([t,n])=>[t,new Set(n)]))}function Or(e){let t=JSON.parse(e);return jr(t)?t:null}function jr(e){if(!e||typeof e!="object")return!1;let t=e;return typeof t.sourceDependencyFingerprint=="string"&&typeof t.sourceFileCount=="number"&&typeof t.sourceEdgeCount=="number"&&typeof t.scipEdgeCount=="number"&&Array.isArray(t.graph)&&t.graph.every(Vr)}function Vr(e){return Array.isArray(e)&&e.length===2&&typeof e[0]=="string"&&Array.isArray(e[1])&&e[1].every(t=>typeof t=="string")}function Hr(e,t,n){let r=t?"AND d1.relative_path LIKE ?":"",i=t?[`%${t}%`]:[],o=n==="imports-only"?"AND m.role = 2":"AND m.role != 1";return e.all(`SELECT DISTINCT
2
- d1.relative_path AS from_file,
3
- d2.relative_path AS to_file
4
- FROM mentions m
5
- JOIN chunks c ON m.chunk_id = c.id
6
- JOIN documents d1 ON c.document_id = d1.id
7
- JOIN global_symbols gs ON m.symbol_id = gs.id
8
- JOIN (
9
- SELECT m2.symbol_id, c2.document_id
10
- FROM mentions m2
11
- JOIN chunks c2 ON m2.chunk_id = c2.id
12
- WHERE m2.role = 1
13
- GROUP BY m2.symbol_id
14
- ) sym_def ON sym_def.symbol_id = gs.id
15
- JOIN documents d2 ON sym_def.document_id = d2.id
16
- WHERE d1.id != d2.id
17
- ${o}
18
- ${e.pathExclusionsFor("d1","d2")}
19
- ${r}`,...i)}function qr(e,t,n,r,i){if(r===i||e.isIgnored(r)||e.isIgnored(i)||!n.has(i))return;let o=t.get(r);o||(o=new Set,t.set(r,o)),o.add(i)}function je(e){let t=Oe(e.projectFiles),n=new Set(t),r=new Map(e.snapshot.files.map(d=>[d.path,d])),i=e.snapshot.files.filter(d=>{let p=qt(d.path,["typescript"]);return p==="config"||p==="ambient"}).map(d=>d.path),o=Oe([...t,...i]),a=o.find(d=>!r.has(d)),s=new Set(e.snapshot.files.map(d=>d.path)).size!==e.snapshot.files.length,l=!a&&o.some(d=>mn(r.get(d))),c=pe(JSON.stringify({pnpmWorkspaces:e.snapshot.pnpmWorkspaces,typescriptProjectMode:e.snapshot.typescriptProjectMode,typescriptProjects:Oe(e.snapshot.typescriptProjects),membership:t})),u=new Map;return{identityFor(d,p){if(!n.has(d))return ae("target-outside-project");if(s)return ae("duplicate-input-path");if(a)return ae("missing-input-fingerprint");if(l)return ae("unreadable-input");let f=[],m,g;if(e.graph===null)f.push("dependency-graph-unavailable"),g="whole-project",m=o;else{let v=zr(d,e.graph,u);if(v.find(x=>!r.has(x)))return ae("missing-input-fingerprint");if(m=Oe([...v,...i]),m.some(x=>mn(r.get(x))))return ae("unreadable-input");g="dependency-closure"}let b=m.map(v=>Ur(r.get(v)));return{version:1,key:pe(JSON.stringify({version:1,engineIdentity:e.engineIdentity,schemaVersion:p,projectIdentity:c,inputs:b})),mode:g,inputFiles:m,reasons:f}}}}function Gr(e,t){let n=new Set,r=[e];for(let i=0;i<r.length;i+=1){let o=r[i];if(!(o===void 0||n.has(o))){n.add(o);for(let a of[...t.get(o)??[]].sort())n.has(a)||r.push(a)}}return[...n].sort()}function zr(e,t,n){let r=n.get(e);if(r)return r;let i=Gr(e,t);return n.set(e,i),i}function Ur(e){return{path:e.path,size:e.size,hash:e.hash}}function mn(e){return e.size<0||e.hash==="unreadable"}function ae(e){return{version:1,key:null,mode:"unkeyed",inputFiles:[],reasons:[e]}}function Oe(e){return[...new Set(e)].sort()}var Wr=Ee("typescript-semantic-identity-context",{clearGroups:["whole-project"]});function ut(e,t,n){let r=Wr.get(e,()=>Kr(e));if(!r)return null;let i=`${n}\0${t}`,o=r.identities.get(i);if(o)return o;let a=r.builder.identityFor(t,n);return r.identities.set(i,a),a}function ge(e){return Le(e,{includeIgnored:!1}).filter(Te).sort()}function Kr(e){try{if(!e.generation.metadataRaw)return null;let t=Kt(e.generation.metadataRaw);if(t.kind!=="legacy"&&t.kind!=="supported"||!t.capabilities.usableForEvidenceCache)return null;let n=Gt(t.metadata.fingerprint);return n?{builder:je({projectFiles:ge(e),snapshot:n,graph:Me(e),engineIdentity:ke()}),identities:new Map}:null}catch{return null}}var dt="typescript-reference-fragment-v3-incomplete-scan",Ve=Jt({kind:"typescript-reference-fragments",invalidation:Pe("typescript-reference-fragments"),serialize:e=>JSON.stringify(e),deserialize:Xr});function ks(e,t,n,r=e){let i=ge(e),o=je({projectFiles:i,snapshot:t,graph:Me(e),engineIdentity:ke()}),a=[...n].map(([s,l])=>({relativePath:s,contentHash:o.identityFor(s,dt).key,value:[...l]}));if(a.some(s=>s.contentHash===null))throw new Error("TypeScript reference fragment identity is unavailable for an affected document.");return Ve.writeBatch(r,a.map(s=>({...s,contentHash:s.contentHash}))),a.length}function $s(e,t,n,r){let i=t.filter(a=>Te(a.relativePath));if(i.length===0)return he("no TypeScript definitions");let o=he("shadow did not run");return Z("typescript.reference-fragments.shadow",()=>{try{let a=r(i[0].relativePath);if(!a.availability().available||!a.referenceFragmentsForFiles)return o=he("TypeScript reference fragment provider is unavailable"),o;let s=ge(e),l=new Set(s),c=a.referenceFragmentsForFiles(s),u=s.filter(m=>!c.has(m));if(u.length>0)return o=he(`TypeScript reference lookup was incomplete for ${u.length} file(s)`),o;let d=$e(i,c),p=an(i,Zr(n,l),d);if(!p.passed)return o={state:"failing",files:s.length,keyedFiles:0,writtenFiles:0,...p},o;let f=[];for(let m of s){let g=ut(e,m,dt);g?.key&&f.push({relativePath:m,contentHash:g.key,value:c.get(m)??[]})}return Ve.writeBatch(e,f),o={state:"passing",files:s.length,keyedFiles:f.length,writtenFiles:f.length,...p},o}catch(a){return o=he(a instanceof Error?a.message:String(a)),o}},()=>({...o}))}function Zr(e,t){return new Map([...e].map(([n,r])=>[n,r.filter(i=>t.has(i.file))]))}function As(e,t,n){if(t.length===0)return{references:new Map,files:0,cacheHits:0,cacheMisses:0,computedFiles:0};let r="fallback",i=0,o=0,a=0,s=0;return Z("typescript.reference-fragments.materialize",()=>{try{let l=ge(e);i=l.length;let c=new Map,u=new Map,d=[];for(let m of l){let g=ut(e,m,dt);if(!g?.key)return null;c.set(m,g.key);let b=Ve.read(e,m,g.key);b===null?(a+=1,d.push(m)):(o+=1,u.set(m,b))}if(a===0)return r="hit",{references:$e(t,u),files:i,cacheHits:o,cacheMisses:a,computedFiles:s};let p=n(t[0].relativePath);if(!p.availability().available||!p.referenceFragmentsForFiles)return null;let f=p.referenceFragmentsForFiles(d);if(d.some(m=>!f.has(m)))return null;s=f.size,Ve.writeBatch(e,d.map(m=>({relativePath:m,contentHash:c.get(m),value:f.get(m)??[]})));for(let[m,g]of f)u.set(m,g);return r="computed",{references:$e(t,u),files:i,cacheHits:o,cacheMisses:a,computedFiles:s}}catch{return null}},()=>({state:r,files:i,cacheHits:o,cacheMisses:a,computedFiles:s}))}function he(e){return{state:"unavailable",files:0,keyedFiles:0,writtenFiles:0,expectedCount:0,actualCount:0,missing:[],extra:[],reason:e}}function Xr(e){try{let t=JSON.parse(e);return!Array.isArray(t)||!t.every(Qr)?null:t}catch{return null}}function Qr(e){if(!e||typeof e!="object")return!1;let t=e,n=t.location;return typeof t.targetSymbol=="string"&&!!n&&typeof n.file=="string"&&typeof n.line=="number"&&typeof n.column=="number"}var Jr=$("symbol-resolution",{clearGroups:[]});function Us(e,t){return Yr(e,t).match}function Yr(e,t){return Jr.get(e,t,()=>{let n=hn(e,t.trim()).filter(a=>!e.isIgnored(a.relative_path));if(n.length>0)return se(e,n);let r=si(e,t);if(r&&!e.isIgnored(r.relative_path))return se(e,[r]);let i=ei(e,t);if(i.length>0)return se(e,i);let o=ti(e,t);return o.length>0?se(e,o):oi(e,t)})}function ei(e,t){let n=t.trim().replace(/\(\)$/u,""),r=n.lastIndexOf(":");if(r<=0||r===n.length-1||n.startsWith("local:"))return[];let i=n.slice(r+1);if(!/^[\p{L}_$][\p{L}\p{N}_$]*$/u.test(i))return[];let o=[`/${i}().`,`/${i}.`,`/${i}#`,`#${i}().`,`#${i}.`,`/${i}/`],a=`gs.display_name = ? OR ${o.map(()=>"instr(gs.symbol, ?) > 0").join(" OR ")}`,s=[i,...o],l=W(e,{where:a,params:s,orderBy:"d.relative_path, der.start_line",limit:200}),c=l.length>0?[]:X(e,{where:a,params:s,orderBy:"d.relative_path, start_line",limit:200}),u=ie(l,c).filter(d=>!e.isIgnored(d.relative_path)).filter(d=>re(d.symbol).replace(/\(\)$/u,"")===n);return[...new Map(u.map(d=>[`${d.symbol}\0${d.relative_path}`,d])).values()]}function ti(e,t){let n=He(t),r=pt(n);if(!r)return[];let i=`%${r.path}%`,o=r.leaf;return ni(e,i,o,n)}function ni(e,t,n,r){let i=ie([],[...ri(e,t,n),...ii(e,t,n)]).filter(o=>!e.isIgnored(o.relative_path)).filter(o=>le(o,r)>1);return i.sort((o,a)=>le(a,r)-le(o,r)||o.end_line-o.start_line-(a.end_line-a.start_line)||o.start_line-a.start_line||o.symbol.localeCompare(a.symbol)),i}function ri(e,t,n){return W(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[t,n,`%/${n}.%`]})}function ii(e,t,n){return X(e,{where:"d.relative_path LIKE ? AND (gs.display_name = ? OR gs.symbol LIKE ?)",params:[t,n,`%/${n}.%`]})}function oi(e,t){let n=He(t),r=fi(t),i=di(e,r),o=mi(i,t,n).filter(s=>!e.isIgnored(s.relative_path));if(o.length>0)return se(e,o);let a=[];for(let s of i){if(e.isIgnored(s.relative_path))continue;let l=pi(s,t,n,r);l<=0||a.push({row:s,score:l})}return a.sort((s,l)=>l.score-s.score||s.row.end_line-s.row.start_line-(l.row.end_line-l.row.start_line)||s.row.relative_path.localeCompare(l.row.relative_path)||s.row.symbol.localeCompare(l.row.symbol)),se(e,a.map(s=>s.row))}function se(e,t){let n=t.map(i=>Ae(e,i)),r=n[0]??null;return{match:r,candidates:r?ai(n,r):[],total:n.length}}function ai(e,t){let n=new Set([`${t.symbolId}:${t.relativePath}:${t.startLine}`]),r=[];for(let i of e){let o=`${i.symbolId}:${i.relativePath}:${i.startLine}`;if(!n.has(o)&&(n.add(o),r.push({symbol:i.symbol,shortName:re(i.symbol),relativePath:i.relativePath,startLine:i.startLine}),r.length>=5))break}return r}function si(e,t){let n=t.match(/^(.+):(\d+)(?:-(\d+))?$/);if(!n)return;let[,r,i,o]=n,a=en(e,r,{allowMultiple:!1})[0]?.relativePath;if(!a)return;let s=Math.max(0,parseInt(i,10)-1),l=o?Math.max(s,parseInt(o,10)-1):s;return li(e,a,s,l)??ci(e,a,s,l)}function li(e,t,n,r){return W(e,{where:"d.relative_path = ? AND der.start_line <= ? AND der.end_line >= ?",params:[t,n,r],orderBy:"(der.end_line - der.start_line) ASC",limit:1})[0]}function ci(e,t,n,r){return X(e,{where:"d.relative_path = ? AND c.start_line <= ? AND c.end_line >= ?",params:[t,n,r],orderBy:"(MAX(c.end_line) - MIN(c.start_line)) ASC",limit:1})[0]}function Ws(e,t){let n=hn(e,t).find(r=>!e.isIgnored(r.relative_path));return n?Ae(e,n):null}function hn(e,t){let n=W(e,{where:"gs.symbol = ?",params:[t],orderBy:"d.relative_path, der.start_line"}),r=n.length>0?[]:X(e,{where:"gs.symbol = ?",params:[t],orderBy:"d.relative_path, start_line"});return ie(n,r)}function Se(e,t){if("symbol"in t&&"relativePath"in t)return t;let n=ui(e,t.symbolId)[0];return n?Ae(e,n):null}function ui(e,t){let n=W(e,{where:"gs.id = ?",params:[t],orderBy:"der.start_line, der.end_line"}),r=X(e,{where:"gs.id = ?",params:[t],orderBy:"start_line, end_line"});return ie(n,r)}function di(e,t){let n=t.map(()=>"(gs.symbol LIKE ? OR d.relative_path LIKE ? OR COALESCE(gs.display_name, '') LIKE ?)"),r=t.flatMap(s=>{let l=`%${s}%`;return[l,l,l]}),i=n.join(`
20
- AND `),o=W(e,{where:i,params:r,limit:200}),a=X(e,{where:i,params:r,limit:200});return ie(o,a)}function pi(e,t,n,r){let i=t.trim(),o=n,a=o.replace(/\(\)$/,""),s=t.toLowerCase(),l=n.toLowerCase(),c=l.replace(/\(\)$/,""),u=e.symbol,d=re(e.symbol),p=M(e.symbol),f=e.display_name??"",m=e.symbol.toLowerCase(),g=d.toLowerCase(),b=p.toLowerCase(),h=f.toLowerCase(),v=e.relative_path.toLowerCase(),F=/[/:.]/.test(n),x=pt(n),w=x?.leaf.toLowerCase(),y=0;return(u===i||u===o)&&(y+=1150),(d===i||d===o)&&(y+=1100),f===a&&(y+=1180),p===a&&(y+=1160),(`${p}()`===i||`${p}()`===o)&&(y+=955),(m===s||m===l)&&(y+=1e3),(g===s||g===l)&&(y+=950),(v===s||v===l)&&(y+=925),(v.endsWith(`/${l}`)||v.endsWith(`/${s}`))&&(y+=875),h===c&&(y+=850),b===c&&(y+=825),(`${b}()`===s||`${b}()`===l)&&(y+=820),(g.endsWith(`:${l}`)||g.endsWith(`:${c}`)||g.endsWith(`:${c}()`))&&(y+=800),m.includes(l)&&(y+=120),g.includes(l)&&(y+=140),v.includes(l)&&(y+=140),h.includes(l)&&(y+=110),r.every(R=>{let I=R.toLowerCase();return m.includes(I)||g.includes(I)||v.includes(I)||h.includes(I)})&&(y+=100+r.length*15),x&&v.includes(x.path.toLowerCase())&&(y+=360,w&&(b===w||`${b}()`===w||`${b}()`==`${w}()`)&&(y+=700),lt(e.symbol)&&(y+=180)),ct(e.symbol)&&b===c&&(y+=60),!F&&sn(e.symbol)&&(y-=160),y-=Math.min(50,Math.max(0,e.end_line-e.start_line)),y}function pt(e){let t=e.trim().replace(/\\/g,"/"),n=t.lastIndexOf("/");if(n<=0||n===t.length-1)return null;let r=t.slice(n+1).replace(/\(\)$/,"");return!r||r.includes(".")?null:{path:t.slice(0,n),leaf:r}}function He(e){return e.trim().replace(/\(\)$/,"").replace(/\(.*$/,"")}function fi(e){let t=He(e),n=t.split(/[^A-Za-z0-9_]+/).map(r=>r.trim()).filter(r=>r.length>0);return n.length>0?[...new Set(n)]:[t]}function mi(e,t,n){let r=t.trim(),i=e.filter(s=>{let l=re(s.symbol),c=M(s.symbol),u=(s.display_name??"").trim();return s.symbol===r||l===r||l===n||c===r||c===n||`${c}()`===r||u===r||u===n||`${u}()`===r||le(s,n)>1||s.relative_path===r});if(i.length===0)return[];let o=n.replace(/\(\)$/u,""),a=i.filter(s=>M(s.symbol)===o);if(a.length>0){a.sort((l,c)=>yn(l,c,n));let s=a.filter(l=>ct(l.symbol));return s.length>0?s:a}return i.sort((s,l)=>yn(s,l,n)),i}function yn(e,t,n){return le(t,n)-le(e,n)||e.end_line-e.start_line-(t.end_line-t.start_line)||e.relative_path.localeCompare(t.relative_path)||e.symbol.localeCompare(t.symbol)}function le(e,t){let n=pt(t);if(!n)return 0;let r=e.relative_path.toLowerCase(),i=M(e.symbol).toLowerCase(),o=n.path.toLowerCase(),a=n.leaf.toLowerCase();return r.includes(o)?i!==a?1:lt(e.symbol)?fe(e.symbol)===null?5:4:fe(e.symbol)===null?3:2:0}function Ks(e,t,n=5){let r=gn(t);if(!r)return[];let i=W(e,{where:"1 = 1",orderBy:"d.relative_path, der.start_line",limit:5e3}),o=new Map;for(let a of i){if(e.isIgnored(a.relative_path))continue;let s=re(a.symbol),l=M(a.symbol),c=a.display_name??l,u=[s,l,c].filter(f=>f.trim().length>0),d=Math.min(...u.map(f=>yi(gn(f),r))),p=o.get(s);(!p||d<p.distance)&&o.set(s,{shortName:s,distance:d})}return[...o.values()].sort((a,s)=>a.distance-s.distance||a.shortName.localeCompare(s.shortName)).slice(0,n).map(a=>a.shortName)}function gn(e){return He(e).toLowerCase().replace(/[^a-z0-9_]+/g,"")}function yi(e,t){if(e===t)return 0;if(e.length===0)return t.length;if(t.length===0)return e.length;let n=Array.from({length:t.length+1},(r,i)=>i);for(let r=0;r<e.length;r++){let i=[r+1];for(let o=0;o<t.length;o++){let a=e[r]===t[o]?0:1;i[o+1]=Math.min(i[o]+1,n[o+1]+1,n[o]+a)}n=i}return n[t.length]}function rl(e,t){let n=Sn(e);return n?t.filter(r=>Sn(r.file)===n):t}function il(e,t,n,r,i){let o=n.find(a=>a.file===t);if(o)return o;if(r){let a=i?.match(/^[A-Za-z_$][\w$]*/u)?.[0];if(!a)return null;let s=A(e,t),l=new Set(s.filter(p=>p.localName===a||p.importedName===a).map(p=>p.sourcePath).filter(p=>!!p));for(let p of n)for(let f of l)if(te(f,p.file))return p;let c=gi(L(e,t)??"",a);if(c.size===0)return null;let u=new Set(s.filter(p=>c.has(p.localName??p.importedName)).map(p=>p.sourcePath).filter(p=>!!p)),d=n.filter(p=>c.has(fe(p.symbol)??"")&&[...u].some(f=>te(f,p.file)));return d.length===1?d[0]:null}return n.length===1?n[0]:null}function gi(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),r=new Set,i=[new RegExp(`\\b${n}\\s*:\\s*([A-Za-z_$][\\w$]*)`,"gu"),new RegExp(`\\b${n}\\s*=\\s*(?:new\\s+)?([A-Za-z_$][\\w$]*)\\s*\\(`,"gu")];for(let o of i)for(let a of e.matchAll(o))r.add(a[1]);return r.size===1?r:new Set}function Sn(e){let t=Be(e);return t?t==="typescript"||t==="tsx"||t==="javascript"?"javascript-family":t:null}var hi=Ee("global-leaf-index",{clearGroups:["whole-project"]});function ft(e){return hi.get(e,()=>{let t=e.all(`SELECT gs.id, gs.symbol,
21
- COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
22
- FROM global_symbols gs
23
- LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
24
- LEFT JOIN documents der_doc ON der_doc.id = der.document_id
25
- LEFT JOIN (
26
- SELECT m.symbol_id, MIN(d.relative_path) AS relative_path
27
- FROM mentions m
28
- JOIN chunks c ON m.chunk_id = c.id
29
- JOIN documents d ON c.document_id = d.id
30
- WHERE m.role = 1
31
- GROUP BY m.symbol_id
32
- ) mention_doc ON mention_doc.symbol_id = gs.id
33
- WHERE 1 = 1
34
- ${e.symbolNoiseFor("gs")}`),n=new Map;for(let r of t){if(!r.relative_path||e.isIgnored(r.relative_path))continue;let i=M(r.symbol);if(!i)continue;let o=n.get(i);o||(o=[],n.set(i,o)),o.some(a=>a.symbolId===r.id)||o.push({symbol:r.symbol,symbolId:r.id,file:r.relative_path})}return n})}function qe(e,t,n,r={}){if(!n)return[];let i=L(e,t);return i?i.indexOf(n)===-1?[]:(mt(e,t).get(n)??[]).filter(a=>!Si(a,r)):[]}function Si(e,t){return typeof t.excludeStartLine=="number"&&typeof t.excludeEndLine=="number"&&e>=t.excludeStartLine&&e<=t.excludeEndLine}var bi=$("file-identifiers",{clearGroups:["whole-project","source-file"]});function bn(e,t){let n=U(e,t);return n?n.fileIdentifiers:bi.get(e,t,()=>new Set(mt(e,t).keys()))}var vi=$("file-ident-lines",{clearGroups:["whole-project","source-file"]});function mt(e,t){let n=U(e,t);return n?n.identifierLineMap:vi.get(e,t,()=>Ri(e,t))}var xi=$("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function ul(e,t){let n=U(e,t);return n?n.identifiersByLine:xi.get(e,t,()=>{let r=mt(e,t),i=0;for(let a of r.values()){let s=a[a.length-1];s!==void 0&&s>i&&(i=s)}let o=new Array(i+1);for(let a=0;a<=i;a+=1)o[a]=new Set;for(let[a,s]of r)for(let l of s)o[l].add(a);return o})}function Ri(e,t){let n=new Map,r=(s,l)=>{let c=n.get(s);if(!c){n.set(s,[l]);return}c[c.length-1]!==l&&c.push(l)},i=L(e,t);if(!i)return n;let o=nn(i).split(/\r?\n/),a=/\b([A-Za-z_$][\w$]*)\b/g;for(let s=0;s<o.length;s+=1){let l=o[s]??"";for(let c of l.matchAll(a))c[1]&&r(c[1],s)}return n}var vn=/[A-Za-z_$][A-Za-z0-9_$]*/g,xn=/^[A-Za-z_$][A-Za-z0-9_$]*$/,Ii=512;function yt(e){let t=[],n=!1;for(let r of e)r&&(n=!0,xn.test(r)||t.push(r));return{candidateNames:e,hasUsableCandidate:n,nonIdentifierNames:t}}function Rn(e,t){let n=wi(t)?t:yt(t);if(n.candidateNames.size===0||!n.hasUsableCandidate)return!0;if(n.candidateNames.size<=Ii){for(let i of n.candidateNames)if(i){if(xn.test(i)){if(Ni(i).test(e))return!0;continue}if(e.includes(i))return!0}return!1}vn.lastIndex=0;let r;for(;(r=vn.exec(e))!==null;)if(n.candidateNames.has(r[0]))return!0;for(let i of n.nonIdentifierNames)if(e.includes(i))return!0;return!1}function wi(e){return"candidateNames"in e}function Ni(e){return new RegExp(`(?<![A-Za-z_$0-9])${tn(e)}(?![A-Za-z_$0-9])`)}var Ci=$("source-import-paths-by-local-name",{clearGroups:["whole-project","source-file"]});function wn(e,t){let n=Zt(t);return Ci.get(e,n,()=>Fi(e,n))}function Fi(e,t){let n=new Map;for(let r of A(e,t)){if(!r.sourcePath)continue;let i=r.localName??r.importedName;if(i&&In(n,i,r.sourcePath),r.kind==="namespace")for(let o of r.usedMembers)In(n,o,r.sourcePath)}return n}function In(e,t,n){let r=e.get(t);r||(r=new Set,e.set(t,r)),r.add(n)}function gt(e,t,n){let r=ft(e).get(n);if(!r||r.length===0)return[];if(r.length===1)return[be(r[0])];let i=r.filter(l=>l.file===t);if(i.length>0)return i.map(be);let o=wn(e,t),a=o.get(n);if(a)for(let l of a){let c=r.filter(u=>te(l,u.file));if(c.length>0)return c.map(be)}let s=new Set;for(let l of o.values())for(let c of l)s.add(c);for(let l of s){let c=r.filter(u=>te(l,u.file));if(c.length>0&&c.length===r.length)return c.map(be)}return[]}function _l(e,t,n){let r=gt(e,t,n);if(r.length>0)return r;let i=ft(e).get(n);return!i||i.length===0?[]:i.map(be)}function Nn(e,t,n={}){let r=_i(e,t);if(!r)return[];let i=Se(e,t);if(n.semantic!==!1&&n.semanticEvidence){let a=n.semanticEvidence.references(e,{...i,leaf:r.identifier,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(a.length>0){let s=new Map;for(let l of a){let c=s.get(l.file)??[];c.push(l.line),s.set(l.file,c)}return Ge(e,s)}}let o=new Map;for(let a of z(e)){let s=Ei(e,r,a);s.length>0&&o.set(a,s)}return Ge(e,o)}function _i(e,t){let n=Se(e,t);if(!n)return null;let r=M(n.symbol);return r?{symbolId:n.symbolId,relativePath:n.relativePath,startLine:n.startLine,endLine:n.endLine,identifier:r}:null}function Ei(e,t,n){let r=L(e,n);return!r||r.indexOf(t.identifier)===-1?[]:n!==t.relativePath&&!gt(e,n,t.identifier).some(o=>o.symbolId===t.symbolId)?[]:qe(e,n,t.identifier,n===t.relativePath?{excludeStartLine:t.startLine,excludeEndLine:t.endLine}:{})}function El(e,t,n={}){let r=new Map;for(let l of t){if(!l.leaf)continue;let c=r.get(l.leaf)??[];c.push(l),r.set(l.leaf,c)}if(r.size===0)return new Map;let i=new Set(t.map(l=>l.symbolId)),o=new Set(r.keys()),a=yt(o),s=new Map;for(let l of z(e)){if(n.skipPath?.(l)||!Rn(L(e,l),a))continue;let c=bn(e,l);if(c.size!==0){for(let u of c)if(r.has(u))for(let d of gt(e,l,u)){if(!i.has(d.symbolId)||l===d.relativePath)continue;let p=s.get(d.symbolId);p||(p=new Set,s.set(d.symbolId,p)),p.add(l)}}}return s}function be(e){return{symbolId:e.symbolId,symbol:e.symbol,relativePath:e.file}}function Ge(e,t){let n=[],r=new Set;for(let[i,o]of t){let a=C(e,i);for(let s of o){let l=oe(a,s),c=`${i}|${s}|${l?.symbol??""}`;r.has(c)||(r.add(c),n.push({file:i,line:s,enclosingSymbol:l?.symbol??null}))}}return n}function Ll(e,t){return ze(e,t,n=>{let r=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT
35
- m.symbol_id,
36
- d.relative_path,
37
- COUNT(*) AS ref_count
38
- FROM mentions m
39
- JOIN chunks c ON m.chunk_id = c.id
40
- JOIN documents d ON c.document_id = d.id
41
- WHERE m.role != 1
42
- ${r}
43
- ${e.pathExclusionsFor("d")}
44
- GROUP BY m.symbol_id, d.relative_path`,...n??[])})}function Bl(e,t){return ze(e,t,n=>{let r=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id, d.relative_path
45
- FROM mentions m
46
- JOIN chunks c ON m.chunk_id = c.id
47
- JOIN documents d ON c.document_id = d.id
48
- WHERE m.role != 1
49
- ${r}
50
- ${e.pathExclusionsFor("d")}`,...n??[])}).filter(n=>n.symbol_id!==null)}function Tl(e,t){return ze(e,t,n=>{let r=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id
51
- FROM mentions m
52
- WHERE m.role != 1
53
- ${r}`,...n??[])}).filter(n=>n.symbol_id!==null)}function Cn(e,t){return ze(e,t,n=>{let r=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id, d.relative_path, c.document_id,
54
- c.start_line AS chunk_start, c.end_line AS chunk_end
55
- FROM mentions m
56
- JOIN chunks c ON m.chunk_id = c.id
57
- JOIN documents d ON c.document_id = d.id
58
- WHERE m.role != 1
59
- ${r}
60
- ${e.pathExclusionsFor("d")}
61
- ORDER BY d.relative_path, c.start_line`,...n??[])})}function ze(e,t,n){if(!t)return n();if(t.length===0)return[];let r=[];for(let i=0;i<t.length;i+=750)r.push(...n(t.slice(i,i+750)));return r}function Pi(e,t){return Li(e,[t]).get(t.symbolId)??[]}function Li(e,t){let n=t.map(o=>({symbolId:o.symbolId,prelude:Ai(e,o)})).filter(o=>o.prelude!==null),r=Ti(e,n.map(o=>o.symbolId)),i=new Map;for(let{symbolId:o,prelude:a}of n){let s=Bi(e,r.get(o)??new Map,a.match,a.identifier);i.set(o,Ge(e,s))}return i}function jl(e,t,n={}){return ht(e,t,n).map(r=>({file:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol}))}function ht(e,t,n={}){let r=Nn(e,t,{semantic:n.semantic,semanticEvidence:n.semanticEvidence}),i=r.length>0?Fn(r,"source-attribution"):Fn(Pi(e,t),"scip-reference-chunk");return n.includeIgnored===!0?i:i.filter(o=>!e.isIgnored(o.file))}function Fn(e,t){return e.map(n=>({...n,provenance:t}))}function Bi(e,t,n,r){let i=new Map;for(let[o,a]of t)i.set(o,ki(e,o,a,n,r));return i}function Ti(e,t){let n=new Map;for(let r of Cn(e,t)){if(e.isIgnored(r.relative_path))continue;let i=n.get(r.symbol_id);i||(i=new Map,n.set(r.symbol_id,i));let o=i.get(r.relative_path);o||(o=[],i.set(r.relative_path,o)),o.push({start_line:r.chunk_start,end_line:r.chunk_end})}return n}function ki(e,t,n,r,i){let o=t===r.relativePath?{excludeStartLine:r.startLine,excludeEndLine:r.endLine}:{},a=i?qe(e,t,i,o):[];return n.flatMap(s=>$i(a,s))}function $i(e,t){let n=e.filter(r=>r>=t.start_line&&r<=t.end_line);return n.length>0?n:[t.start_line]}function Ai(e,t){let n=Se(e,t);return n?{match:n,identifier:M(n.symbol)||null}:null}function _n(e){let t=Xt(e);return Di(t)?"test":Mi(t)?"worker":Oi(t)?"entry":ji(t)?"barrel":"source"}function Di(e){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(e)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(e)||/(?:^|\/)spec_[^/]+$/i.test(e)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(e)||/(?:^|\/)[^/]+_tests\.rs$/i.test(e)||/(?:^|\/)tests\.rs$/i.test(e)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(e)||/(?:^|\/)__tests__\//i.test(e)||/(?:^|\/)test\//i.test(e)||/(?:^|\/)tests\//i.test(e)||/(?:^|\/)__fixtures__\//i.test(e)||/(?:^|\/)__mocks__\//i.test(e)||/(?:^|\/)test-support\//i.test(e)||/(?:^|\/)test-utils\//i.test(e)||/(?:^|\/)testing\//i.test(e))}function Mi(e){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(e)}function Oi(e){let t=e.split("/"),n=t[t.length-1]??e;return n==="cli.ts"||n==="cli.js"||n==="postinstall.ts"||n==="postinstall.js"||n==="main.ts"||n==="main.js"||n==="main.rs"||n==="main.go"||n==="main.py"||n==="build.rs"||n==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(e)||/(?:^|\/)examples\/[^/]+\.rs$/.test(e)||/(?:^|\/)tests\/[^/]+\.rs$/.test(e)||/(?:^|\/)benches\/[^/]+\.rs$/.test(e)?!0:n==="index.ts"||n==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(e)?!0:t.length<=2:!1}function ji(e){return e==="index.ts"||e==="index.js"||e.endsWith("/index.ts")||e.endsWith("/index.js")||e.endsWith("/mod.rs")||e.endsWith("/__init__.py")}var Vi=4;function Q(e,t,n,r={}){return En(e,t,n,r.maxReexportDepth??Vi,0,new Set)}function En(e,t,n,r,i,o){let a=`${t}\0${n}`;if(o.has(a)||i>r)return[];o.add(a);let s=C(e,t).filter(l=>l.leaf===n);return s.length>0?s:ne(e,t).flatMap(l=>l.sourcePath?l.kind==="named"&&!l.names.includes(n)?[]:En(e,l.sourcePath,n,r,i+1,new Set(o)):[])}import{createHash as mr}from"crypto";import{createHash as ao}from"crypto";var Ue=8;function ce(e,t,n){return Rt(Pn(e,t,vt(n),0,new Set))}function xt(e,t,n){return St(e,t,n,0,new Set)}function Pn(e,t,n,r,i){if(r>Ue)return[];let o=/^([A-Za-z_$][\w$]*)\.([A-Za-z_$][\w$]*)$/u.exec(n);return o?Ln(e,t,o[1],o[2],r,i):/^[A-Za-z_$][\w$]*$/u.test(n)?Bn(e,t,n,r,i):[]}function Ln(e,t,n,r,i,o){let a=[];for(let s of St(e,t,n,i+1,new Set(o))){let l=Ui(s.initializer);for(let c of l.namedChildren){if(c.type==="pair"){let u=c.childForFieldName("key")??c.namedChild(0);if(Wi(u)!==r)continue;let d=c.childForFieldName("value")??c.namedChild(1);d&&a.push(...Pn(e,s.definition.relativePath,vt(d.text),i+1,new Set(o)));continue}if(/(?:method|function)/u.test(c.type)){if((c.childForFieldName("name")??c.namedChild(0))?.text!==r)continue;let d=Gi(e,s.definition.relativePath,r,c);a.push(...d.length>0?d:[Hi(s.definition,r,c)]);continue}if(c.type==="spread_element"){let u=c.namedChild(0);if(!u)continue;for(let d of St(e,s.definition.relativePath,vt(u.text),i+1,new Set(o)))a.push(...Ln(e,d.definition.relativePath,d.definition.leaf,r,i+1,new Set(o)))}}}return Rt(a)}function Hi(e,t,n){return{documentId:e.documentId,symbolId:-1,symbol:`source-callable:${e.relativePath}:${n.startPosition.row}:${t}`,relativePath:e.relativePath,startLine:n.startPosition.row,startChar:n.startPosition.column,endLine:n.endPosition.row,endChar:n.endPosition.column,leaf:t,parentTypeName:e.leaf,isFunctionLike:!0,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:e.symbol}}function St(e,t,n,r,i){return r>Ue||!/^[A-Za-z_$][\w$]*$/u.test(n)?[]:Bn(e,t,n,r,i).flatMap(o=>{let a=D(e,o.relativePath)?.rootNode,s=a?zi(a,o.leaf):null;return s?[{definition:o,initializer:s}]:[]})}function Bn(e,t,n,r,i){if(r>Ue)return[];let o=`${t}\0${n}`;if(i.has(o))return[];i.add(o);let a=C(e,t).filter(c=>c.leaf===n);if(a.length>0)return a;let s=qi(e,t,n);if(s.length>0)return s;let l=A(e,t).find(c=>c.localName===n&&c.sourcePath);if(l?.sourcePath){let c=l.kind==="namespace"||l.importedName==="default"?n:l.importedName;return bt(e,l.sourcePath,c,r+1,new Set(i))}return bt(e,t,n,r+1,new Set(i))}function qi(e,t,n){let r=e.get("SELECT id FROM documents WHERE relative_path = ?",t)?.id;return r===void 0?[]:(U(e,t)?.callables??[]).filter(i=>i.name===n).map(i=>({documentId:r,symbolId:-1,symbol:`source-callable:${t}:${i.startLine}:${n}`,relativePath:t,startLine:i.startLine,startChar:0,endLine:i.endLine,endChar:0,leaf:n,parentTypeName:null,isFunctionLike:!0,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null}))}function bt(e,t,n,r,i){if(r>Ue)return[];let o=C(e,t).filter(a=>a.leaf===n);return o.length>0?o:Rt(ne(e,t).flatMap(a=>a.sourcePath?a.kind==="named"&&!a.names.includes(n)?[]:bt(e,a.sourcePath,n,r+1,new Set(i)):[]))}function Gi(e,t,n,r){return C(e,t).filter(i=>i.leaf===n&&i.startLine<=r.startPosition.row&&i.endLine>=r.endPosition.row)}function zi(e,t){let n=null;return Tn(e,r=>{n||r.type!=="variable_declarator"||(r.childForFieldName("name")??r.namedChild(0))?.text.trim()!==t||(n=r.childForFieldName("value")??r.namedChild(1))}),n}function Ui(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function Wi(e){return e?.text.replace(/^['"`]|['"`]$/gu,"")??null}function vt(e){return e.replace(/\s+/gu,"").replace(/^\.\.\./u,"")}function Rt(e){return[...new Map(e.map(t=>[t.symbol,t])).values()]}function Tn(e,t){t(e);for(let n of e.namedChildren)Tn(n,t)}function We(e){let t=e.replaceAll("\\","/");return _n(t)==="test"?/(?:^|\/)__fixtures__\//iu.test(t)?"fixture":"test":/(?:^|\/)(?:fixtures?|testdata)\//iu.test(t)?"fixture":/(?:^|\/)(?:examples?|demos?|previews?)\//iu.test(t)?"example":/(?:^|\/)(?:generated|dist|build|coverage)\//iu.test(t)||/\.generated\./iu.test(t)?"generated":/^(?:scripts?|tools?)\//iu.test(t)?"script":"production"}var Ki=8;function V(e,t){return t?ue(e,t,0,new Set):null}function ue(e,t,n,r){if(n>Ki)return q(t,"value-evaluation-depth");let i=$n(t),o=eo(i);if(o)return to(e.file,i,o.term,o.value,o.precision);if(i.type==="binary_expression"&&/\+/u.test(i.text)){let l=i.namedChildren.map(c=>ue(e,c,n+1,new Set(r)));if(l.length>=2&&l.every(c=>c!==null)){let c={kind:"concat",parts:l.map(d=>d.term)},u=l.map(d=>d.value).join("");return no(e.file,i,c,u,l.some(d=>d.precision!=="literal")?"constrained-pattern":"literal",l)}}let a=i.text.trim();if(/^[A-Za-z_$][\w$]*$/u.test(a))return Ji(e,a,i,n,r);let s=ro(i);return s?Yi(e,s.base,s.properties,i,n,r):i.type==="call_expression"||i.type==="call"?Zi(e,i,n,r):q(i,`unsupported-expression:${i.type}`)}function Zi(e,t,n,r){let o=(t.childForFieldName("function")??t.namedChild(0))?.text.replace(/\s+/gu,"").replace(/<.*>$/u,"")??"",a=Xi(e,o);if(a.length!==1)return q(t,a.length===0?"call-target-unresolved":"call-target-ambiguous");let s=a[0],l=`${s.relativePath}\0${s.symbol}`;if(r.has(l))return q(t,"call-return-cycle");let c=D(e.db,s.relativePath)?.rootNode;if(!c)return q(t,"call-target-unparsed");let u=oo(c,s.startLine,s.endLine);if(!u)return q(t,"call-target-syntax-unavailable");let d=Qi(u);if(!d)return q(t,"call-return-not-single-expression");let p=new Set(r);p.add(l);let f=ue({db:e.db,file:s.relativePath,root:c},d,n+1,p);return f?Ke(t,"bounded-call-return",f,s.symbol):q(t,"call-return-unresolved")}function Xi(e,t){if(/^[A-Za-z_$][\w$]*$/u.test(t)){let i=C(e.db,e.file).filter(a=>a.isFunctionLike&&a.leaf===t);if(i.length>0)return i;let o=A(e.db,e.file).find(a=>a.localName===t&&a.sourcePath&&a.kind!=="namespace");return o?.sourcePath?Q(e.db,o.sourcePath,o.importedName==="default"?t:o.importedName).filter(a=>a.isFunctionLike):[]}let n=/^([A-Za-z_$][\w$]*)\.([A-Za-z_$][\w$]*)$/u.exec(t);if(!n)return[];let r=A(e.db,e.file).find(i=>i.kind==="namespace"&&i.localName===n[1]&&i.sourcePath);return r?.sourcePath?Q(e.db,r.sourcePath,n[2]).filter(i=>i.isFunctionLike):[]}function Qi(e){let t=e.childForFieldName("body");if(e.type==="arrow_function"&&t&&t.type!=="statement_block")return t;let n=[];return kn(t??e,t??e,n),n.length!==1?null:n[0].childForFieldName("argument")??n[0].namedChild(0)}function kn(e,t,n){if(!(t!==e&&(/(?:function|method|lambda)/u.test(t.type)||t.type==="arrow_function"))){if(t.type==="return_statement"){n.push(t);return}for(let r of t.namedChildren)kn(e,r,n)}}function Ji(e,t,n,r,i){let o=`${e.file}\0${t}`;if(i.has(o))return q(n,"value-cycle");i.add(o);let a=It(e.root,t);if(a){let m=ue(e,a,r+1,i);return m?Ke(n,"local-constant",m):q(n,"non-foldable-local")}let s=A(e.db,e.file).find(m=>m.localName===t&&m.sourcePath);if(!s?.sourcePath)return j(n,t,"unresolved-identifier");if(s.kind==="namespace")return j(n,t,"namespace-import-requires-property");let l=s.importedName==="default"?t:s.importedName,c=Q(e.db,s.sourcePath,l);if(c.length!==1)return j(n,t,c.length===0?"import-definition-missing":"import-definition-ambiguous");let u=c[0],d=D(e.db,u.relativePath)?.rootNode;if(!d)return j(n,u.symbol,"import-definition-unparsed");let p=It(d,u.leaf);if(!p)return j(n,u.symbol,"import-definition-non-value");let f=ue({db:e.db,file:u.relativePath,root:d},p,r+1,i);return f?Ke(n,"imported-constant",f,u.symbol):j(n,u.symbol,"import-value-unresolved")}function Yi(e,t,n,r,i,o){let a=A(e.db,e.file).find(f=>f.localName===t&&f.sourcePath),s=e.file,l=t,c;if(a?.sourcePath){a.kind==="namespace"?(l=n[0]??"",n=n.slice(1)):l=a.importedName==="default"?t:a.importedName;let f=Q(e.db,a.sourcePath,l);if(f.length!==1)return j(r,`${t}.${n.join(".")}`,f.length===0?"member-definition-missing":"member-definition-ambiguous");s=f[0].relativePath,l=f[0].leaf,c=f[0].symbol}let u=s===e.file?e.root:D(e.db,s)?.rootNode;if(!u)return j(r,c??t,"member-definition-unparsed");let d=It(u,l);if(!d)return j(r,c??t,"member-base-non-value");for(let f of n){let m=$n(d);if(d=io(m,f),!d)return j(r,c??`${t}.${n.join(".")}`,`member-property-missing:${f}`)}let p=ue({db:e.db,file:s,root:u},d,i+1,o);return p?Ke(r,"member-constant",p,c):j(r,c??t,"member-value-unresolved")}function eo(e){let t=e.text.trim(),n=t[0];if(n!=="'"&&n!=='"'&&n!=="`"||t.at(-1)!==n)return null;let r=t.slice(1,-1);if(n!=="`"||!r.includes("${"))return{term:{kind:"literal",value:r},value:r,precision:"literal"};let i=[],o=0,a=/\$\{([^}]*)\}/gu;for(let s of r.matchAll(a)){let l=s.index??0;l>o&&i.push({kind:"literal",value:r.slice(o,l)}),i.push({kind:"unknown",reason:`template-hole:${s[1]?.trim()||"expression"}`}),o=l+s[0].length}return o<r.length&&i.push({kind:"literal",value:r.slice(o)}),{term:{kind:"pattern",language:"template",value:r.replace(a,"{}")},value:r.replace(a,"{}"),precision:"constrained-pattern"}}function to(e,t,n,r,i){return{value:r,evidence:"literal",term:n,precision:i,derivation:Ze("direct-literal","direct",e,t)}}function no(e,t,n,r,i,o){return{value:r,evidence:"constant",term:n,precision:i,derivation:{...Ze("constant-concatenation","mechanically-derived",e,t),inputFactIds:o.flatMap(a=>a.derivation.inputFactIds),sourceSpans:o.flatMap(a=>a.derivation.sourceSpans)}}}function Ke(e,t,n,r){return n.evidence==="expression"?{...n,derivation:{kind:"heuristic",rule:t,ruleVersion:"1",inputFactIds:[...n.derivation.inputFactIds,...r?[r]:[]],sourceSpans:n.derivation.sourceSpans}}:{...n,evidence:"constant",derivation:{kind:"mechanically-derived",rule:t,ruleVersion:"1",inputFactIds:[...n.derivation.inputFactIds,...r?[r]:[]],sourceSpans:n.derivation.sourceSpans}}}function j(e,t,n){return{value:e.text.trim(),evidence:"expression",term:{kind:"symbol",symbol:t},precision:"symbolic",derivation:Ze(n,"heuristic","",e)}}function q(e,t){return{value:e.text.trim(),evidence:"expression",term:{kind:"unknown",reason:t},precision:"unknown",derivation:Ze(t,"heuristic","",e)}}function Ze(e,t,n,r){return{kind:t,rule:e,ruleVersion:"1",inputFactIds:[],sourceSpans:n?[{file:n,startLine:r.startPosition.row,endLine:r.endPosition.row}]:[]}}function ro(e){let t=e.text.replace(/\s+/gu,"");if(!/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)+$/u.test(t))return null;let[n,...r]=t.split(".");return n?{base:n,properties:r}:null}function It(e,t){let n=null;return wt(e,r=>{if(n||r.type!=="variable_declarator"||(r.childForFieldName("name")??r.namedChild(0))?.text.trim()!==t)return;let o=r.parent;!o||o.type!=="lexical_declaration"||!/^\s*(?:export\s+)?const\b/u.test(o.text)||(n=r.childForFieldName("value")??r.namedChild(1))}),n}function io(e,t){for(let n of e.namedChildren)if(!(n.type!=="pair"||(n.childForFieldName("key")??n.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")!==t))return n.childForFieldName("value")??n.namedChild(1);return null}function $n(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function oo(e,t,n){let r=null;return wt(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function wt(e,t){t(e);for(let n of e.namedChildren)wt(n,t)}var On=new Set(["delete","get","head","options","patch","post","put"]),so=/(?:^|\.)(?:app|router|server)$/u,lo=new Set(["findFirst","findMany","findUnique","from","get","select"]),co=new Set(["create","delete","insert","remove","update","upsert"]),uo=new Set(["execute","query","raw"]),Ft=[yo(),mo(),po(),go(),So(),bo(),xo()],Ct=new Set(["exec","execFile","execFileSync","execSync","fork","spawn","spawnSync"]);function po(){return{id:"builtin.node-child-process",supports:e=>/(?:from\s*|require\s*\(\s*)['"](?:node:)?child_process['"]/u.test(e)&&/\b(?:exec|execFile|execFileSync|execSync|fork|spawn|spawnSync)\s*\(/u.test(e),extract:e=>{let t=fo(e.source),n=[];return H(e.root,r=>{if(r.type!=="call_expression")return;let i=Re(r);if(!i)return;let o=t.direct.get(i),a=/^(.*?)\.([A-Za-z_$][\w$]*)$/u.exec(i),s=a&&t.namespaces.has(a[1])?a[2]:null,l=o??s;if(!l||!Ct.has(l))return;let c=J(r),u=O(c[0],e)??{value:c[0]?.text.trim()||"<missing>",evidence:"expression"},d=["exec","execFile","execFileSync","execSync"].includes(l)?"process.exec":"process.spawn";n.push(T(e,r,"builtin.node-child-process",d,[{name:"operation",value:l,evidence:"literal"},{name:"executable",...u}],"exact","node-child-process-import"))}),n}}}function fo(e){let t=new Map,n=new Set,r=String.raw`['"](?:node:)?child_process['"]`,i=new RegExp(String.raw`\bimport\s*\{([^}]*)\}\s*from\s*${r}`,"gu");for(let l of e.matchAll(i))for(let c of(l[1]??"").split(",")){let u=/^\s*([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?\s*$/u.exec(c);u&&Ct.has(u[1])&&t.set(u[2]??u[1],u[1])}let o=new RegExp(String.raw`\b(?:const|let)\s*\{([^}]*)\}\s*=\s*require\s*\(\s*${r}\s*\)`,"gu");for(let l of e.matchAll(o))for(let c of(l[1]??"").split(",")){let u=/^\s*([A-Za-z_$][\w$]*)(?:\s*:\s*([A-Za-z_$][\w$]*))?\s*$/u.exec(c);u&&Ct.has(u[1])&&t.set(u[2]??u[1],u[1])}let a=new RegExp(String.raw`\bimport\s*\*\s*as\s*([A-Za-z_$][\w$]*)\s*from\s*${r}`,"gu");for(let l of e.matchAll(a))n.add(l[1]);let s=new RegExp(String.raw`\b(?:const|let)\s+([A-Za-z_$][\w$]*)\s*=\s*require\s*\(\s*${r}\s*\)`,"gu");for(let l of e.matchAll(s))n.add(l[1]);return{direct:t,namespaces:n}}function k(e,t){let n=D(e,t)?.rootNode;if(!n)return null;let r=L(e,t),i=C(e,t),o=U(e,t)?.callables??[];return{db:e,file:t,source:r,root:n,constants:Fo(n),ownerAt:a=>{let s=i.filter(c=>c.startLine<=a&&c.endLine>=a).sort((c,u)=>c.endLine-c.startLine-(u.endLine-u.startLine)||c.startLine-u.startLine)[0];if(s)return{file:t,symbol:s.symbol,name:s.leaf,startLine:s.startLine,endLine:s.endLine};let l=o.filter(c=>c.startLine<=a&&c.endLine>=a).sort((c,u)=>c.endLine-c.startLine-(u.endLine-u.startLine)||c.startLine-u.startLine)[0];return{file:t,symbol:null,name:l?.name??null,startLine:l?.startLine??a,endLine:l?.endLine??a}}}}function mo(){return{id:"builtin.effect-httpapi",supports:e=>ve(e,"HttpApiEndpoint").size>0||ve(e,"HttpApiBuilder").size>0,extract:e=>{let t=[],n=ve(e.source,"HttpApiEndpoint"),r=ve(e.source,"HttpApiGroup"),i=ve(e.source,"HttpApiBuilder");return H(e.root,o=>{if(o.type!=="call_expression")return;let a=jn(o);if(!a)return;let s=J(o);if(n.has(a.receiver)&&On.has(a.member)){let g=O(s[0],e),b=O(s[1],e),h=Dn(o,r,"make",0,e);if(!g||!b||!h)return;let v=a.member.toUpperCase();t.push(T(e,o,"builtin.effect-httpapi","http.handle",[{name:"method",value:v,evidence:"literal"},{name:"path",...b}],G([{name:"path",...b}]),"effect-httpapi-endpoint-declaration")),t.push(T(e,o,"builtin.effect-httpapi","framework.declare",Nt(h,g),G(Nt(h,g)),"effect-httpapi-operation-declaration"));return}if(!["handle","handleRaw"].includes(a.member))return;let l=Dn(o,i,"group",1,e),c=O(s[0],e),u=s[1];if(!l||!c||!u)return;let d=Nt(l,c),p=ce(e.db,e.file,u.text),f=T(e,o,"builtin.effect-httpapi","framework.handle",d,p.length===1?G(d):"candidate","effect-httpapi-handler-registration"),m=p[0];p.length===1&&m&&(f.owner={file:m.relativePath,symbol:m.symbol,name:m.leaf,startLine:m.startLine,endLine:m.endLine}),t.push(f)}),t}}}function Nt(e,t){return[{name:"adapter",value:"effect-httpapi",evidence:"literal"},{name:"group",...e},{name:"operation",...t}]}function ve(e,t){let n=new Set,r=/\bimport\s*\{([\s\S]*?)\}\s*from\s*['"]([^'"]+)['"]/gu;for(let o of e.matchAll(r)){let a=o[2]??"";if(An(a))for(let s of(o[1]??"").split(",")){let l=s.trim().replace(/^type\s+/u,""),c=/^([A-Za-z_$][\w$]*)(?:\s+as\s+([A-Za-z_$][\w$]*))?$/u.exec(l);c?.[1]===t&&n.add(c[2]??c[1])}}let i=/\bimport\s*\*\s*as\s*([A-Za-z_$][\w$]*)\s*from\s*['"]([^'"]+)['"]/gu;for(let o of e.matchAll(i)){let a=o[2]??"";a.endsWith(`/${t}`)&&An(a)&&n.add(o[1])}return n}function An(e){return e==="effect/unstable/httpapi"||e==="@effect/platform"||e.startsWith("@effect/platform/HttpApi")}function Dn(e,t,n,r,i){let o=e.parent;for(;o;){if(o.type==="call_expression"){let a=Mn(o,t,n,r,i);if(a)return a;let s=o.childForFieldName("function")??o.namedChild(0),l=null;if(s&&H(s,c=>{!l&&c.type==="call_expression"&&(l=Mn(c,t,n,r,i))}),l)return l}o=o.parent}return null}function Mn(e,t,n,r,i){let o=jn(e);return!o||o.member!==n||!t.has(o.receiver)?null:O(J(e)[r],i)}function jn(e){let t=e.childForFieldName("function")??e.namedChild(0);if(!t||!["member_expression","subscript_expression"].includes(t.type))return null;let n=t.childForFieldName("object")??t.namedChild(0),r=t.childForFieldName("property")??t.childForFieldName("index")??t.namedChild(1);return!n||!r?null:{receiver:n.text.replace(/\s+/gu,""),member:r.text.replace(/^['"`]|['"`]$/gu,"")}}function yo(){return{id:"builtin.http",supports:e=>/\bfetch\s*\(|\baxios\b|\b(?:app|router|server)\s*\.\s*(?:get|post|put|patch|delete|options|head)\s*\(/u.test(e)||xe(e,["axios"])||/\b(?:FastAPI|Flask|APIRouter|axum|Router::new)\b/u.test(e),extract:e=>{let t=[];return H(e.root,n=>{if(n.type==="decorator"){let p=/^@[^\s(]+\.(get|post|put|patch|delete|options|head)\s*\(\s*(['"`])([^'"`]+)\2/iu.exec(n.text.trim());if(!p||!xe(e.source,["fastapi","flask"]))return;t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:p[1].toUpperCase(),evidence:"literal"},{name:"path",value:p[3],evidence:"literal"}],"exact","framework-decorator"));return}if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".").at(-1)?.toLowerCase()??"",o=r.includes(".")?r.slice(0,r.lastIndexOf(".")):"",a=J(n);if(i==="route"&&xe(e.source,["axum"])){let p=O(a[0],e),f=/^\s*(get|post|put|patch|delete|options|head)\s*\(/iu.exec(a[1]?.text??"")?.[1];if(!p||!f)return;t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:f.toUpperCase(),evidence:"literal"},{name:"path",...p}],G([{name:"path",...p}]),"framework-adapter"));return}if(r==="fetch"||r.endsWith(".fetch")){let p=O(a[0],e);if(!p)return;let m=/\bmethod\s*:\s*['"`]([A-Za-z]+)['"`]/u.exec(a[1]?.text??"")?.[1]?.toUpperCase()??(a[1]?null:"GET"),g=[...m?[{name:"method",value:m,evidence:"literal"}]:[],{name:"path",...p}];t.push(T(e,n,"builtin.http","http.request",g,m?G(g):"candidate","call-expression"));return}if(!On.has(i))return;let s=O(a[0],e);if(!s)return;let l=i.toUpperCase();if(so.test(o)&&xe(e.source,["express","fastify","hono","koa-router","@koa/router"])){t.push(T(e,n,"builtin.http","http.handle",[{name:"method",value:l,evidence:"literal"},{name:"path",...s}],G([{name:"path",...s}]),"framework-adapter"));return}let u=wo(e.source,["axios"]),d=o.split(".")[0]??"";u.has(d)&&t.push(T(e,n,"builtin.http","http.request",[{name:"method",value:l,evidence:"literal"},{name:"path",...s}],G([{name:"path",...s}]),"client-adapter"))}),t}}}function go(){return{id:"builtin.capability-registry",supports:e=>/\b(?:execute|handler|invoke|run)\s*(?:[:(])/u.test(e)||/['"`][^'"`\n]{0,256}\b[A-Za-z_$][\w$-]*\s*\(/u.test(e),extract:e=>{let t=[],n=new Set;return H(e.root,r=>{if(r.type==="pair"){let o=r.childForFieldName("key")??r.namedChild(0),a=r.childForFieldName("value")??r.namedChild(1),s=o?.text.replace(/^['"`]|['"`]$/gu,"");if(s!=="name"&&s!=="id")return;let l=Vn(a,e),c=Eo(r);if(!l||l.evidence!=="literal"||!c)return;let u=`handle\0${l.value}\0${c.startPosition.row}`;if(n.has(u))return;n.add(u),t.push(T(e,c,"builtin.capability-registry","registry.handle",[{name:"key",...l}],"exact","capability-descriptor"));return}if(!["string","string_literal","template_string"].includes(r.type))return;let i=r.text.replace(/^['"`]|['"`]$/gu,"");for(let o of i.matchAll(/\b([A-Za-z_$][\w$-]*)\s*\(/gu)){let a=o[1];if(!ho(i,a,o.index))continue;let s=`reference\0${a}\0${r.startPosition.row}`;n.has(s)||(n.add(s),t.push(T(e,r,"builtin.capability-registry","registry.reference",[{name:"key",value:a,evidence:"literal"}],"exact","capability-instruction-reference")))}}),t}}}function ho(e,t,n){if(t.includes("_")||t.includes("-"))return!0;let r=e.slice(Math.max(0,n-64),n);return/\b(?:use|call|invoke|run|via|with|read|stop)(?:\s+the)?(?:\s+(?:tool|capability|command))?\s*$/iu.test(r)}function So(){return{id:"builtin.registry",supports:e=>/(?:Handlers?|Registry|Routes?)\b/iu.test(e),extract:e=>{let t=[];return H(e.root,n=>{if(n.type==="pair"){let o=_o(n);if(!o)return;let a=n.childForFieldName("key")??n.namedChild(0),s=n.childForFieldName("value")??n.namedChild(1),l=Vn(a,e);if(!l||!s||!Hn(s))return;let c=_t(s)?"exact":"candidate";t.push(T(e,n,"builtin.registry","registry.handle",[{name:"registry",value:o,evidence:"identifier"},{name:"key",...l}],G([{name:"key",...l}],c),"object-member"));return}if(n.type!=="call_expression")return;let r=n.childForFieldName("function")??n.namedChild(0);if(!r)return;let i=/^([A-Za-z_$][\w$]*)\s*\[\s*(['"`])([^'"`]+)\2\s*\]$/u.exec(r.text.trim());i&&t.push(T(e,n,"builtin.registry","registry.dispatch",[{name:"registry",value:i[1],evidence:"identifier"},{name:"key",value:i[3],evidence:"literal"}],"exact","indexed-access-call"))}),t}}}function bo(){return{id:"builtin.persistence",supports:e=>/\b(?:db|database|prisma|drizzle|[A-Za-z_$][\w$]*(?:Repository|Repo))\b[^;]{0,1024}?\.\s*(?:findFirst|findMany|findUnique|from|get|select|create|delete|insert|remove|update|upsert|execute|query|raw|transaction)(?:\s*<[^()]{1,512}>)?\s*\(/iu.test(e),extract:e=>{let t=[],n=Lo(e.root);return H(e.root,r=>{if(r.type!=="call_expression")return;let i=Re(r);if(!i)return;let o=i.split("."),a=o.at(-1)??"",s=J(r),l=s[0]?.text??"",c=Po(a,l);if(!c)return;let u=qn(o,n);if(!u)return;let d=vo(s[0],e)??Bo(l),p=To(u,o,a,d);if(!p)return;let f=a==="insert"?"persistence-insert":c==="database.read"&&/\bFOR\s+UPDATE\s+SKIP\s+LOCKED\b/iu.test(l)?"persistence-skip-locked-claim":"persistence-adapter";t.push(T(e,r,"builtin.persistence",c,[{name:"resource",...p}],G([{name:"resource",...p}]),f))}),t}}}function vo(e,t){if(!e)return null;let n=e.text.replace(/\s+/gu,"");return/^[A-Za-z_$][\w$]*(?:\.[A-Za-z_$][\w$]*)*$/u.test(n)?{value:n.split(".").at(-1),evidence:"identifier",term:{kind:"symbol",symbol:n}}:O(e,t)}function xo(){return{id:"builtin.queue",supports:e=>xe(e,["amqplib","bullmq","kafkajs","@aws-sdk/client-sqs","rabbitmq"])&&/\.(?:sendToQueue|consume|send|subscribe)\s*\(/u.test(e),extract:e=>{let t=[];return H(e.root,n=>{if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".").at(-1)??"",o=J(n),a=i==="sendToQueue"||i==="send"?"queue.send":i==="consume"||i==="subscribe"?"queue.consume":null;if(!a)return;let s=i==="send"||i==="subscribe"?No(o[0],"topic",e):O(o[0],e);s&&t.push(T(e,n,"builtin.queue",a,[{name:"address",...s}],G([{name:"address",...s}]),"framework-adapter"))}),t}}}function T(e,t,n,r,i,o,a){let s=e.ownerAt(t.startPosition.row),l=JSON.stringify({extractor:n,action:r,file:e.file,line:t.startPosition.row,keyParts:i});return{id:`boundary:${ao("sha256").update(l).digest("hex").slice(0,16)}`,extractor:n,action:r,owner:s,source:{file:e.file,startLine:t.startPosition.row,endLine:t.endPosition.row},keyParts:i,evidence:a,strength:o,protocol:r.split(".")[0]??r,role:Ro(r),executionDomain:Io(e.file),derivation:{kind:o==="candidate"?"heuristic":o==="derived"?"mechanically-derived":"direct",rule:a,ruleVersion:"1",inputFactIds:i.flatMap(c=>c.derivation?.inputFactIds??[]),sourceSpans:[{file:e.file,startLine:t.startPosition.row,endLine:t.endPosition.row},...i.flatMap(c=>c.derivation?.sourceSpans??[])]},valuePrecision:i.some(c=>c.evidence==="expression")?"unknown":i.some(c=>c.evidence==="identifier")?"symbolic":"literal",modality:"may",resolution:"unresolved",sourceScope:We(e.file)}}function Ro(e){let t=e.split(".").at(-1)??e;return["handle","subscribe","consume","read"].includes(t)?"consumer":["request","publish","send","write","dispatch","reference","invoke","spawn","exec"].includes(t)?"producer":"observe"}function Io(e){let t=e.replaceAll("\\","/"),n=/^(apps|services|packages)\/([^/]+)/u.exec(t);return n?`${n[1]}/${n[2]}`:null}function xe(e,t){return t.some(n=>{let r=n.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&");return new RegExp(`(?:\\bfrom\\s+${r}\\b|\\buse\\s+${r}\\b|(?:\\bfrom\\s*|\\brequire\\s*\\(\\s*)['"]${r}(?:[/']|"))`,"u").test(e)})}function wo(e,t){let n=new Set;for(let r of t){let i=r.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&"),o=new RegExp(`(?:import\\s+([A-Za-z_$][\\w$]*)[^;]*?\\sfrom\\s*|(?:const|let)\\s+([A-Za-z_$][\\w$]*)\\s*=\\s*require\\s*\\(\\s*)['"]${i}(?:[/']|")`,"gu");for(let a of e.matchAll(o)){let s=a[1]??a[2];s&&n.add(s)}}return n}function Xe(e,t,n,r,i,o,a){return T(e,t,n,r,i,o,a)}function Re(e){return(e.childForFieldName("function")??e.namedChild(0))?.text.replace(/\s+/gu,"")??null}function J(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function O(e,t){let n=V(t,e);return n?{value:n.value,evidence:n.evidence,term:n.term,derivation:n.derivation}:null}function No(e,t,n){if(!e)return null;let r=e.namedChildren.find(o=>o.type!=="pair"?!1:(o.childForFieldName("key")??o.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")===t),i=r?.childForFieldName("value")??r?.namedChild(1);return O(i,n)}function Vn(e,t){if(!e)return null;let n=O(e,t);if(n?.evidence==="literal"||n?.evidence==="constant")return n;let r=e.text.trim();return/^[A-Za-z_$][\w$]*$/u.test(r)?{value:r,evidence:"identifier",term:{kind:"symbol",symbol:r}}:n}function G(e,t="exact"){return t==="candidate"||e.some(n=>n.evidence==="expression")?"candidate":t==="derived"||e.some(n=>n.evidence==="constant")?"derived":"exact"}function Co(e){let t=e.text.trim(),n=t[0];if(n!=="'"&&n!=='"'&&n!=="`"||t.at(-1)!==n)return null;let r=t.slice(1,-1);return n==="`"&&r.includes("${")?null:r}function Fo(e){let t=new Map;return H(e,n=>{if(n.type!=="variable_declarator")return;let r=n.childForFieldName("name")??n.namedChild(0),i=n.childForFieldName("value")??n.namedChild(1);if(!r||!i||!/^[A-Za-z_$][\w$]*$/u.test(r.text))return;let o=Co(i);o!==null&&t.set(r.text,o)}),t}function _o(e){let t=e.parent,n=t?.parent??null;for(;n&&["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(n.type);)n=n.parent;if(!t||!n||n.type!=="variable_declarator")return null;let i=(n.childForFieldName("name")??n.namedChild(0))?.text??"";return/(?:handlers?|registry|routes?)$/iu.test(i)?i:null}function _t(e){return/(?:function|lambda|method)/u.test(e.type)||e.type==="arrow_function"}function Hn(e){return _t(e)||e.type==="member_expression"?!0:e.type==="identifier"&&/(?:command|controller|dispatch|handle|handler)/iu.test(e.text)}function Eo(e){let t=e.parent;for(;t&&t.type!=="variable_declarator";){if(["object","object_literal","dictionary"].includes(t.type))for(let n of t.namedChildren){if(n.type==="pair"){let i=n.childForFieldName("key")??n.namedChild(0),o=n.childForFieldName("value")??n.namedChild(1),a=i?.text.replace(/^['"`]|['"`]$/gu,"");if(a&&["execute","handler","invoke","run"].includes(a)&&o&&Hn(o))return t}let r=n.childForFieldName("name")??n.namedChild(0);if(r&&["execute","handler","invoke","run"].includes(r.text.replace(/^['"`]|['"`]$/gu,""))&&/(?:function|method)/u.test(n.type))return t}t=t.parent}return null}function qn(e,t=new Set){let n=e.slice(0,-1).map(r=>r.replace(/\([^)]*\)/gu,""));return n.some(r=>/^(?:prisma|drizzle)$/iu.test(r))?"orm":n.some(r=>/(?:Repository|Repo)$/u.test(r))?"repository":n.some(r=>/^(?:db|database)$/iu.test(r)||t.has(r))?"database":null}function Po(e,t){if(lo.has(e))return"database.read";if(co.has(e))return"database.write";if(!uo.has(e))return null;let n=/\b(SELECT|INSERT|UPDATE|DELETE)\b/iu.exec(t)?.[1]?.toUpperCase();return n==="SELECT"?"database.read":n?"database.write":null}function Lo(e){let t=new Set;return H(e,n=>{if(n.type!=="call_expression")return;let r=Re(n);if(!r)return;let i=r.split(".");if(!(i.at(-1)!=="transaction"||!qn(i)))for(let o of J(n)){if(!_t(o))continue;let s=(o.childForFieldName("parameters")??o.namedChildren.find(c=>/parameters/u.test(c.type)))?.namedChildren[0],l=s?Gn(s):null;l&&t.add(l)}}),t}function Gn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Gn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Bo(e){let t=zn(e);return t?{value:t,evidence:"identifier",term:{kind:"symbol",symbol:t}}:null}function To(e,t,n,r){if(e==="orm"&&t.length>=3)return{value:t.at(-2).replace(/\([^)]*\)/gu,""),evidence:"identifier"};if(e==="repository"){let o=t.at(-2)?.replace(/(?:Repository|Repo)$/u,"");return o?{value:o,evidence:"identifier"}:null}if(!r)return null;if(n==="from"||n==="insert")return r;let i=zn(r.value);return i?{value:i,evidence:r.evidence}:null}function zn(e){return/\b(?:from|into|update|table)\s+(?:\$\{\s*)?['"`]?([A-Za-z_$][\w$.-]*)/iu.exec(e)?.[1]??null}function H(e,t){t(e);for(let n of e.namedChildren)H(n,t)}var ko=$("resolved-call-syntax",{clearGroups:[]}),$o=$("resolved-call-sites",{clearGroups:[]});function Ie(e,t){return $o.get(e,t.symbolId,()=>Ao(e,t))}function Ao(e,t){let n=[],r=[],i=new Set,o=new Set;for(let a of ht(e,t,{semantic:!1})){i.add(a.file);let s=ko.get(e,a.file,()=>Do(e,a.file));if(!s){r.push({callee:t,file:a.file,line:a.line,reason:"ast-unavailable",candidates:0,referenceProvenance:a.provenance});continue}let l=(s.byLeaf.get(t.leaf)??[]).filter(({callNode:d})=>d.startPosition.row<=a.line&&d.endPosition.row>=a.line);if(l.length!==1){r.push({callee:t,file:a.file,line:a.line,reason:l.length===0?"call-not-found":"ambiguous-call",candidates:l.length,referenceProvenance:a.provenance});continue}let c=l[0],u=`${a.file}\0${c.callNode.startIndex}\0${c.callNode.endIndex}`;o.has(u)||(o.add(u),n.push({callee:t,caller:oe(C(e,a.file),c.callNode.startPosition.row),file:a.file,line:a.line,startLine:c.callNode.startPosition.row,endLine:c.callNode.endPosition.row,targetText:c.targetNode.text,callNode:c.callNode,targetNode:c.targetNode,arguments:c.arguments,referenceProvenance:a.provenance}))}return{sites:n,unresolved:r,filesVisited:i.size}}function Do(e,t){let n=D(e,t)?.rootNode;if(!n)return null;let r=new Map;return Un(n,i=>{if(i.type!=="call_expression"&&i.type!=="call")return;let o=i.childForFieldName("function")??i.namedChild(0);if(!o)return;let a=on(o);if(!a)return;let s=i.childForFieldName("arguments")??i.namedChildren.find(u=>u.type==="arguments"),l={callNode:i,targetNode:o,arguments:s?.namedChildren??[]},c=r.get(a);c?c.push(l):r.set(a,[l])}),{byLeaf:r}}function Un(e,t){t(e);for(let n of e.namedChildren)Un(n,t)}var Mo=$("call-parameter-value-flow",{clearGroups:[]});function we(e,t){let n=`${t.callee.symbolId}\0${t.file}\0${t.callNode.startIndex}\0${t.callNode.endIndex}`;return Mo.get(e,n,()=>Oo(e,t))}function Ne(e,t){let n=new Set(t);return[...new Set(e.transfers.flatMap(r=>n.has(r.calleePosition)?[r.callerPosition]:[]))].sort((r,i)=>r-i)}function Oo(e,t){let n={file:t.file,startLine:t.startLine,endLine:t.endLine};if(!t.caller)return{callee:t.callee,caller:null,call:n,transfers:[],unknown:t.arguments.map((l,c)=>({calleePosition:c,argumentText:l.text.trim(),reason:"caller-unavailable",proof:n}))};let r=D(e,t.caller.relativePath)?.rootNode,i=r?jo(r,t.caller.startLine,t.caller.endLine):null;if(!i)return{callee:t.callee,caller:t.caller,call:n,transfers:[],unknown:t.arguments.map((l,c)=>({calleePosition:c,argumentText:l.text.trim(),reason:"caller-syntax-unavailable",proof:n}))};let o=Vo(i),a=[],s=[];return t.arguments.forEach((l,c)=>{let u=l.text.trim(),d=o.indexOf(u);d>=0?a.push({calleePosition:c,callerPosition:d,argumentText:u,proof:n}):s.push({calleePosition:c,argumentText:u,reason:"argument-not-direct-parameter",proof:n})}),{callee:t.callee,caller:t.caller,call:n,transfers:a,unknown:s}}function jo(e,t,n){let r=null;return Kn(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function Vo(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(Wn)??[]}function Wn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Wn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Kn(e,t){t(e);for(let n of e.namedChildren)Kn(n,t)}var Ho=8,qo=8;function Xn(e,t){let n=[],r=Go(e,n),i=r.summaries,o=zo(e,t,i,n),a=Uo(e,t,n);return{observations:ra([...o.observations,...a]),bodySummaries:i.size,discriminatorSummaries:o.summaries,filesInspected:r.filesInspected,errors:n}}function Go(e,t){let n=new Map,r=[],i=z(e);for(let o of i){let a=L(e,o);if(!/\bJSON\.stringify\s*\(/u.test(a)||!/\bbody\s*:/u.test(a))continue;let s=k(e,o);if(s)for(let[l,c]of Wo(s)){let u={definition:l,parameterIndexes:c,depth:0,proofSpans:[{file:o,startLine:l.startLine,endLine:l.endLine}]};n.set(l.symbol,u),r.push(u)}}for(;r.length>0;){let o=r.shift();if(!(o.depth>=Ho))try{for(let a of Ie(e,o.definition).sites){if(!k(e,a.file))continue;let l=a.caller;if(!l)continue;let c=Ne(we(e,a),o.parameterIndexes);if(c.length===0)continue;let u={definition:l,parameterIndexes:rr(c),depth:o.depth+1,proofSpans:[...o.proofSpans,{file:a.file,startLine:a.startLine,endLine:a.endLine}]};Qo(n,u)&&r.push(n.get(l.symbol))}}catch(a){t.push(`builtin.carrier body summary failed for ${o.definition.relativePath}: ${Bt(a)}`)}}return{summaries:n,filesInspected:i.length}}function zo(e,t,n,r){let i=new Map,o=[],a=[];for(let s of t){if(s.action!=="http.request"||s.strength==="candidate"||s.sourceScope!=="production")continue;let l=Qn(s);if(!l)continue;let c=k(e,s.source.file);if(!c)continue;let u=er(c.root,s.source.startLine),d=u.find(v=>v.startPosition.row===s.source.startLine)??u[0];if(!d)continue;let p=Lt(d);if(!p)continue;let f=ce(e,s.source.file,p.text);if(f.length!==1)continue;let m=n.get(f[0].symbol);if(!m)continue;let g=s.owner.symbol?C(e,s.owner.file).find(v=>v.symbol===s.owner.symbol):null;if(!g)continue;let b=Jo(c,g),h=Je(d);for(let v of m.parameterIndexes){let F=ea(c,h[v]);if(F)for(let x of ta(F)){let w=tr(x),y=nr(x);if(!w||!y)continue;let R=b.indexOf(y.text.trim());if(R>=0){let _={definition:g,carrier:l,field:w,parameterIndex:R,depth:0,proofObservationIds:[s.id],proofSpans:[s.source,{file:s.source.file,startLine:x.startPosition.row,endLine:x.endPosition.row}]},P=Zn(_);i.has(P)||(i.set(P,_),o.push(_));continue}let I=V(c,y);!I||I.evidence==="expression"||a.push(Pt(c,x,"carrier.publish",l,w,I.value,[s.id]))}}}for(;o.length>0;){let s=o.shift();if(!(s.depth>=qo))try{for(let l of Ie(e,s.definition).sites){let c=k(e,l.file);if(!c)continue;let u=l.callNode,d=Je(u)[s.parameterIndex];if(!d)continue;let p=V(c,d);p&&p.evidence!=="expression"&&a.push(Pt(c,u,"carrier.publish",s.carrier,s.field,p.value,s.proofObservationIds));let f=l.caller;if(!f)continue;let m=we(e,l).transfers.find(h=>h.calleePosition===s.parameterIndex)?.callerPosition;if(m===void 0)continue;let g={...s,definition:f,parameterIndex:m,depth:s.depth+1,proofSpans:[...s.proofSpans,{file:l.file,startLine:l.startLine,endLine:l.endLine}]},b=Zn(g);i.has(b)||(i.set(b,g),o.push(g))}}catch(l){r.push(`builtin.carrier discriminator summary failed for ${s.definition.relativePath}: ${Bt(l)}`)}}return{observations:a,summaries:i.size}}function Uo(e,t,n){let r=[],i=t.filter(o=>o.action==="registry.handle"&&o.strength!=="candidate"&&o.sourceScope==="production");for(let o of t){if(o.action!=="http.handle"||o.strength==="candidate"||o.sourceScope!=="production")continue;let a=Qn(o);if(!a)continue;let s=k(e,o.source.file);if(!s)continue;let l=er(s.root,o.source.startLine)[0];if(l)for(let c of Je(l).slice(1)){let u=ce(e,o.source.file,c.text);for(let d of u)try{let p=k(e,d.relativePath);if(!p)continue;let f=Qe(p.root,d.startLine,d.endLine);if(!f)continue;K(f,m=>{if(m.type!=="call_expression")return;let g=Lt(m);if(!g)return;let b=/^([A-Za-z_$][\w$]*)\s*\[\s*([A-Za-z_$][\w$]*)\s*\]$/u.exec(g.text.trim());if(!b)return;let h=b[1],v=b[2],F=Zo(e,p,d,v);if(!F)return;let x=Xo(e,d.relativePath,h);for(let w of i){let y=w.keyParts.find(P=>P.name==="registry")?.value,R=w.keyParts.find(P=>P.name==="key")?.value;if(!y||!R||!x.some(P=>P.file===w.source.file&&P.binding===y))continue;let I=k(e,w.source.file),_=I?Yo(I.root,w.source.startLine):null;!I||!_||r.push(Pt(I,_,"carrier.consume",a,F,R,[o.id,w.id]))}})}catch(p){n.push(`builtin.carrier consumer analysis failed for ${d.relativePath}: ${Bt(p)}`)}}}return r}function Wo(e){let t=C(e.db,e.file),n=new Map;return K(e.root,r=>{if(r.type!=="pair"||tr(r)?.toLowerCase()!=="body")return;let i=nr(r);if(!i||!/\bJSON\.stringify\s*\(/u.test(i.text))return;let o=oe(t,r.startPosition.row),a=Ko(r);if(!o||!a)return;let s=Jn(a),l=new Set;na(i,s,l);let c=n.get(o.symbol)??new Set;s.forEach((u,d)=>{u&&l.has(u)&&c.add(d)}),c.size>0&&n.set(o.symbol,c)}),t.flatMap(r=>{let i=n.get(r.symbol);return i?[[r,[...i].sort((o,a)=>o-a)]]:[]})}function Ko(e){let t=e.parent;for(;t;){if(/(?:function|method|lambda)/u.test(t.type)||t.type==="arrow_function")return t;t=t.parent}return null}function Zo(e,t,n,r){let i=Qe(t.root,n.startLine,n.endLine);if(!i)return null;let o=new RegExp(`\\.body\\??\\.${Et(r)}\\b`,"u");if(o.test(i.text))return r;let a=null;if(K(i,u=>{if(a||u.type!=="variable_declarator")return;let d=u.childForFieldName("name")??u.namedChild(0),p=u.childForFieldName("value")??u.namedChild(1);!d||!p||!new RegExp(`(?:^|[,{}])\\s*${Et(r)}\\s*(?:[,}]|$)`,"u").test(d.text)||p.type==="call_expression"&&(a=Lt(p)?.text??null)}),!a)return null;let s=ce(e,n.relativePath,a);if(s.length!==1)return null;let l=k(e,s[0].relativePath),c=l?Qe(l.root,s[0].startLine,s[0].endLine):null;return c&&o.test(c.text)&&new RegExp(`\\b${Et(r)}\\s*[,}]`,"u").test(c.text)?r:null}function Xo(e,t,n){let r=[];for(let i of xt(e,t,n)){let o=Ce(i.initializer);if(o.type==="call_expression")for(let a of Je(o)){let s=a.text.trim();if(/^[A-Za-z_$][\w$]*$/u.test(s))for(let l of xt(e,i.definition.relativePath,s))r.push({file:l.definition.relativePath,binding:l.definition.leaf})}}return[...new Map(r.map(i=>[`${i.file}\0${i.binding}`,i])).values()]}function Pt(e,t,n,r,i,o,a){let l=Xe(e,t,"builtin.carrier",n,[{name:"carrier",value:r,evidence:"constant",term:{kind:"literal",value:r}},{name:"field",value:i,evidence:"literal",term:{kind:"literal",value:i}},{name:"value",value:o,evidence:"constant",term:{kind:"literal",value:o}}],"derived","http-body-registry-discriminator");return l.derivation={kind:"mechanically-derived",rule:"http-body-registry-discriminator",ruleVersion:"1",inputFactIds:[...a],sourceSpans:[l.source]},l}function Qn(e){let t=e.keyParts.find(r=>r.name==="method"&&r.evidence!=="expression")?.value,n=e.keyParts.find(r=>r.name==="path"&&r.evidence!=="expression")?.value;return t&&n?`${t.toUpperCase()} ${n}`:null}function Qo(e,t){let n=e.get(t.definition.symbol);if(!n)return e.set(t.definition.symbol,t),!0;let r=rr([...n.parameterIndexes,...t.parameterIndexes]);return r.length===n.parameterIndexes.length&&t.depth>=n.depth?!1:(e.set(t.definition.symbol,{...n,parameterIndexes:r,depth:Math.min(n.depth,t.depth),proofSpans:[...n.proofSpans,...t.proofSpans]}),!0)}function Zn(e){return`${e.definition.symbol}\0${e.carrier}\0${e.field}\0${e.parameterIndex}`}function Jo(e,t){let n=Qe(e.root,t.startLine,t.endLine);return n?Jn(n):[]}function Jn(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(Yn)??[]}function Yn(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?Yn(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Qe(e,t,n){let r=null;return K(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function Yo(e,t){let n=null;return K(e,r=>{r.startPosition.row>t||r.endPosition.row<t||(!n||r.endIndex-r.startIndex<n.endIndex-n.startIndex)&&(n=r)}),n}function er(e,t){let n=[];return K(e,r=>{r.type==="call_expression"&&r.startPosition.row<=t&&r.endPosition.row>=t&&n.push(r)}),n.sort((r,i)=>r.endIndex-r.startIndex-(i.endIndex-i.startIndex))}function Lt(e){return e.childForFieldName("function")??e.namedChild(0)}function Je(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function ea(e,t){if(!t)return null;let n=t.text.trim();if(!/^[A-Za-z_$][\w$]*$/u.test(n))return Ce(t);let r=null;return K(e.root,i=>{r||i.type!=="variable_declarator"||(i.childForFieldName("name")??i.namedChild(0))?.text.trim()!==n||(r=i.childForFieldName("value")??i.namedChild(1))}),Ce(r||t)}function ta(e){let t=Ce(e);return t.type==="object"?t.namedChildren.filter(n=>n.type==="pair"||n.type==="shorthand_property_identifier"):[]}function tr(e){return e.type==="shorthand_property_identifier"?e.text:(e.childForFieldName("key")??e.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"")??null}function nr(e){return e.type==="shorthand_property_identifier"?e:e.childForFieldName("value")??e.namedChild(1)}function Ce(e){let t=e;for(;["as_expression","satisfies_expression","type_assertion","parenthesized_expression"].includes(t.type)&&t.namedChildren.length>0;)t=t.namedChildren[0];return t}function na(e,t,n){let r=new Set(e.text.match(/[A-Za-z_$][\w$]*/gu)??[]);for(let i of t)i&&r.has(i)&&n.add(i)}function rr(e){return[...new Set(e)].sort((t,n)=>t-n)}function ra(e){return[...new Map(e.map(t=>[t.id,t])).values()]}function Et(e){return e.replace(/[.*+?^${}()|[\]\\]/gu,"\\$&")}function Bt(e){return e instanceof Error?e.message:String(e)}function K(e,t){t(e);for(let n of e.namedChildren)K(n,t)}import{createHash as ia}from"crypto";function ir(e,t){let n=new Map;for(let o of t){if(o.action!=="http.handle"||o.sourceScope!=="production")continue;let a=n.get(o.source.file)??[];a.push(o),n.set(o.source.file,a)}let r=[],i=oa(e);for(let o of i.mounts)for(let a of o.targetFiles)for(let s of n.get(a)??[]){let l=s.keyParts.find(p=>p.name==="path");if(!l||l.evidence==="expression")continue;let c=sa(o.prefix.value,l.value),u=s.keyParts.map(p=>p.name==="path"?{name:"path",value:c,evidence:"constant",term:{kind:"concat",parts:[o.prefix.term??{kind:"literal",value:o.prefix.value},l.term??{kind:"literal",value:l.value}]},derivation:{kind:"mechanically-derived",rule:"http.mount-prefix",ruleVersion:"1",inputFactIds:[s.id],sourceSpans:[s.source,{file:o.file,startLine:o.line,endLine:o.line},...o.prefix.derivation?.sourceSpans??[],...l.derivation?.sourceSpans??[]]}}:p),d=`${s.id}\0${o.file}\0${o.line}\0${c}`;r.push({...s,id:`boundary:${ia("sha256").update(d).digest("hex").slice(0,16)}`,keyParts:u,strength:"derived",evidence:"framework-mount-composition",derivation:{kind:"mechanically-derived",rule:"http.mount-prefix",ruleVersion:"1",inputFactIds:[s.id],sourceSpans:[s.source,{file:o.file,startLine:o.line,endLine:o.line}]},resolution:"unresolved"}),s.strength="candidate",s.resolution="unresolved"}return{observations:r,filesInspected:i.filesInspected,mounts:i.mounts.length}}function oa(e){let t=[],n=z(e);for(let r of n){let i=L(e,r);if(!la(i))continue;let o=k(e,r);o&&or(o.root,a=>{if(a.type!=="call_expression")return;let s=a.childForFieldName("function")??a.namedChild(0);if(!s||!/\.use$/u.test(s.text.replace(/\s+/gu,"")))return;let l=ca(a);if(l.length<2)return;let c=V(o,l[0]);if(!c||c.evidence==="expression")return;let u=aa(e,r,l[1]);u.length!==0&&t.push({file:r,line:a.startPosition.row,prefix:{value:c.value,evidence:c.evidence,term:c.term,derivation:c.derivation},targetFiles:u})})}return{mounts:t,filesInspected:n.length}}function aa(e,t,n){let r=n.text.replace(/\s+/gu,""),i=/^([A-Za-z_$][\w$]*)/u.exec(r)?.[1];if(!i)return[];let o=A(e,t).find(l=>l.localName===i&&l.sourcePath);if(!o?.sourcePath)return[t];if(o.kind==="namespace")return[o.sourcePath];let a=o.importedName==="default"?i:o.importedName,s=Q(e,o.sourcePath,a);return[...new Set(s.map(l=>l.relativePath))]}function sa(e,t){let n=e==="/"?"":e.replace(/\/+$/u,""),r=t.startsWith("/")?t:`/${t}`;return`${n}${r}`||"/"}function la(e){return/(?:\bfrom\s*|\brequire\s*\(\s*)['"](?:express|fastify|hono|koa-router|@koa\/router)(?:[/']|")/u.test(e)}function ca(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function or(e,t){t(e);for(let n of e.namedChildren)or(n,t)}import{createHash as ua}from"crypto";var Tt=new Set(["DELETE","GET","HEAD","OPTIONS","PATCH","POST","PUT"]),da=8;function lr(e,t){let n=new Map,r=[],i=[],o=new Set,a=[],s=[];for(let l of t){if(l.action!=="http.request"||!l.owner.symbol||l.evidence!=="call-expression"&&l.evidence!=="client-adapter")continue;let c=C(e,l.owner.file).find(f=>f.symbol===l.owner.symbol);if(!c)continue;let u=k(e,c.relativePath);if(!u)continue;let d=ar(u,c),p={definition:c,...d,constantMethods:l.keyParts.flatMap(f=>f.name==="method"&&f.evidence!=="expression"&&Tt.has(f.value.toUpperCase())?[f.value.toUpperCase()]:[]),depth:0,proofObservationIds:[l.id],proofSpans:[l.source]};sr(n,p)&&r.push(n.get(c.symbol))}for(;r.length>0;){let l=r.shift();if(!(l.depth>=da))try{let c=Ie(e,l.definition);s.push(...c.unresolved.map(u=>pa(l,u)));for(let u of c.sites){let d=k(e,u.file);if(!d)continue;o.add(u.file);let p=u.callNode,f=ma(l,p,d);f&&i.push(f);let m=u.caller;if(!m)continue;let g=ar(d,m),b=ya(e,l,u),h={definition:m,pathParameterIndexes:Ye([...g.pathParameterIndexes,...b.pathParameterIndexes]),methodParameterIndexes:Ye([...g.methodParameterIndexes,...b.methodParameterIndexes]),constantMethods:de([...l.constantMethods,...g.constantMethods]),depth:l.depth+1,proofObservationIds:de([...l.proofObservationIds,...f?[f.id]:[]]),proofSpans:[...l.proofSpans,{file:u.file,startLine:u.startLine,endLine:u.endLine}]};sr(n,h)&&r.push(n.get(m.symbol))}}catch(c){a.push(`builtin.http-summary failed for ${l.definition.relativePath}:${l.definition.startLine+1}: ${c instanceof Error?c.message:String(c)}`)}}return{observations:i,frontiers:fa(s),summaries:n.size,filesInspected:o.size,errors:a}}function pa(e,t){let n=de([...e.pathParameterIndexes.length>0?["path"]:[],...e.methodParameterIndexes.length>0&&e.constantMethods.length!==1?["method"]:[]]),r=e.constantMethods.length===1?e.constantMethods[0]:"?",i=`${e.definition.symbol}\0${t.file}\0${t.line}\0${t.reason}`;return{observationId:`frontier:${ua("sha256").update(i).digest("hex").slice(0,16)}`,kind:"call-resolution",action:"http.request",strength:"candidate",source:{file:t.file,startLine:t.line,endLine:t.line},ownerShortName:null,address:`method=${r??"?"} path=?`,reason:`Compiler identity found a reference to ${e.definition.leaf}, but exact call recovery stopped with ${t.reason} (${t.candidates} syntax candidate(s)); HTTP value propagation did not cross this site.`,missingKeyParts:n.length>0?n:["call"],sourceScope:We(t.file)}}function fa(e){return[...new Map(e.map(t=>[t.observationId,t])).values()].sort((t,n)=>t.observationId.localeCompare(n.observationId))}function ma(e,t,n){let r=ur(t),i=e.pathParameterIndexes.flatMap(d=>{let p=V(n,r[d]);return p&&p.evidence!=="expression"&&ba(p.value)?[{index:d,value:p}]:[]}),o=e.methodParameterIndexes.flatMap(d=>{let p=V(n,r[d]),f=p?.value.toUpperCase();return p&&f&&p.evidence!=="expression"&&Tt.has(f)?[{index:d,value:{...p,value:f}}]:[]}),a=de([...e.constantMethods,...o.map(d=>d.value.value)]);if(i.length!==1||a.length!==1)return null;let s=i[0].value,l=o.find(d=>d.value.value===a[0])?.value,c=[{name:"method",value:a[0],evidence:l?"constant":"literal",term:l?.term??{kind:"literal",value:a[0]},derivation:l?.derivation},{name:"path",value:s.value,evidence:"constant",term:s.term,derivation:s.derivation}],u=Xe(n,t,"builtin.http-summary","http.request",c,"derived","compiler-resolved-http-summary");return u.derivation={kind:"mechanically-derived",rule:"compiler-resolved-http-summary",ruleVersion:"1",inputFactIds:e.proofObservationIds,sourceSpans:[...e.proofSpans,u.source]},u}function ar(e,t){let n=Sa(e.root,t.startLine,t.endLine);if(!n)return{pathParameterIndexes:[],methodParameterIndexes:[],constantMethods:[]};let r=ha(n),i=new Set,o=new Set,a=new Set;return kt(n,s=>{if(s.type==="call_expression"&&((s.childForFieldName("function")??s.namedChild(0))?.text.replace(/\s+/gu,"").split(".").at(-1)??"")==="fetch"){let f=ur(s);Fe(f[0],r,i);let m=ga(f[1],"method");if(m){Fe(m,r,o);let g=V(e,m),b=g?.value.toUpperCase();b&&g?.evidence!=="expression"&&Tt.has(b)&&a.add(b)}else Fe(f[1],r,o)}if(s.type!=="pair")return;let l=s.childForFieldName("key")??s.namedChild(0),c=s.childForFieldName("value")??s.namedChild(1),u=l?.text.replace(/^['"`]|['"`]$/gu,"").toLowerCase();(u==="url"||u==="path"||u==="endpoint")&&Fe(c,r,i),(u==="init"||u==="requestinit"||u==="options")&&Fe(c,r,o)}),{pathParameterIndexes:r.flatMap((s,l)=>s&&i.has(s)?[l]:[]),methodParameterIndexes:r.flatMap((s,l)=>s&&o.has(s)?[l]:[]),constantMethods:[...a].sort()}}function ya(e,t,n){let r=we(e,n);return{pathParameterIndexes:Ne(r,t.pathParameterIndexes),methodParameterIndexes:Ne(r,t.methodParameterIndexes)}}function sr(e,t){let n=e.get(t.definition.symbol);if(!n)return e.set(t.definition.symbol,t),!0;let r=Ye([...n.pathParameterIndexes,...t.pathParameterIndexes]),i=Ye([...n.methodParameterIndexes,...t.methodParameterIndexes]),o=de([...n.constantMethods,...t.constantMethods]);return r.length!==n.pathParameterIndexes.length||i.length!==n.methodParameterIndexes.length||o.length!==n.constantMethods.length||t.depth<n.depth?(e.set(t.definition.symbol,{...n,pathParameterIndexes:r,methodParameterIndexes:i,constantMethods:o,depth:Math.min(n.depth,t.depth),proofObservationIds:de([...n.proofObservationIds,...t.proofObservationIds]),proofSpans:[...n.proofSpans,...t.proofSpans]}),!0):!1}function ga(e,t){if(!e)return null;for(let n of e.namedChildren)if(!(n.type!=="pair"||(n.childForFieldName("key")??n.namedChild(0))?.text.replace(/^['"`]|['"`]$/gu,"").toLowerCase()!==t))return n.childForFieldName("value")??n.namedChild(1);return null}function Fe(e,t,n){if(!e)return;let r=new Set(e.text.match(/[A-Za-z_$][\w$]*/gu)??[]);for(let i of t)i&&r.has(i)&&n.add(i)}function ha(e){return(e.childForFieldName("parameters")??e.namedChildren.find(n=>/parameters/u.test(n.type)))?.namedChildren.map(cr)??[]}function cr(e){if(e.type==="identifier")return e.text;let t=e.childForFieldName("name")??e.childForFieldName("pattern");return t?cr(t):e.namedChildren.find(n=>n.type==="identifier")?.text??null}function Sa(e,t,n){let r=null;return kt(e,i=>{!/(?:function|method|lambda)/u.test(i.type)&&i.type!=="arrow_function"||i.startPosition.row>t||i.endPosition.row<n||(!r||i.endIndex-i.startIndex<r.endIndex-r.startIndex)&&(r=i)}),r}function ur(e){return(e.childForFieldName("arguments")??e.namedChildren.find(n=>n.type==="arguments"))?.namedChildren??[]}function ba(e){return e.startsWith("/")||/^https?:\/\//iu.test(e)}function Ye(e){return[...new Set(e)].sort((t,n)=>t-n)}function de(e){return[...new Set(e)].sort()}function kt(e,t){t(e);for(let n of e.namedChildren)kt(n,t)}import{createHash as va}from"crypto";function fr(e){let t=dr(e.filter(r=>r.action==="database.read"&&r.evidence==="persistence-skip-locked-claim")),n=dr(e.filter(r=>r.action==="database.write"&&r.evidence==="persistence-insert"));return e.flatMap(r=>r.action==="database.write"&&r.evidence==="persistence-insert"?$t(r).flatMap(i=>{let o=t.get(i)?.[0];return o?[pr(r,o,i,"queue.send")]:[]}):r.action==="database.read"&&r.evidence==="persistence-skip-locked-claim"?$t(r).flatMap(i=>{let o=n.get(i)?.[0];return o?[pr(r,o,i,"queue.consume")]:[]}):[])}function dr(e){let t=new Map;for(let n of e)for(let r of $t(n)){let i=t.get(r);i?i.push(n):t.set(r,[n])}for(let n of t.values())n.sort((r,i)=>r.id.localeCompare(i.id));return t}function $t(e){return e.keyParts.filter(t=>t.name==="resource").map(t=>t.value)}function pr(e,t,n,r){let i=`database:${n}`,o=r==="queue.send"?"database-queue-insert":"database-queue-skip-locked-claim",a=[e.id,r,i,o].join("\0");return{...e,id:`boundary:${va("sha256").update(a).digest("hex").slice(0,16)}`,extractor:"builtin.database-queue",action:r,keyParts:[{name:"address",value:i,evidence:"identifier",term:{kind:"symbol",symbol:n},derivation:{kind:"mechanically-derived",rule:"database-work-queue.resource",ruleVersion:"1",inputFactIds:[e.id,t.id],sourceSpans:[e.source,t.source]}}],evidence:o,strength:"derived",protocol:"queue",role:r==="queue.send"?"producer":"consumer",derivation:{kind:"mechanically-derived",rule:"database-work-queue.insert-skip-locked",ruleVersion:"1",inputFactIds:[e.id,t.id],sourceSpans:[e.source,t.source]},valuePrecision:"symbolic",resolution:"unresolved"}}var At="runtime-boundaries-v15",nt=[{id:"http.method-path",protocol:"http",producerActions:["http.request"],consumerActions:["http.handle"],keyNames:["method","path"],traversable:!0},{id:"registry.identity-key",protocol:"registry",producerActions:["registry.dispatch"],consumerActions:["registry.handle"],keyNames:["registry","key"],traversable:!0},{id:"registry.capability-key",protocol:"registry",producerActions:["registry.reference"],consumerActions:["registry.handle"],keyNames:["key"],traversable:!0,requireUniqueConsumer:!0},{id:"queue.address",protocol:"queue",producerActions:["queue.send"],consumerActions:["queue.consume"],keyNames:["address"],traversable:!0},{id:"carrier.discriminator",protocol:"carrier",producerActions:["carrier.publish"],consumerActions:["carrier.consume"],keyNames:["carrier","field","value"],traversable:!0},{id:"resource.identity",protocol:"database",producerActions:["database.write"],consumerActions:["database.read"],keyNames:["resource"],traversable:!1},{id:"framework.effect-httpapi-operation",protocol:"framework",producerActions:[],consumerActions:["framework.handle"],declarationActions:["framework.declare"],keyNames:["adapter","group","operation"],traversable:!0,linkFrom:"declaration",requireUniquePair:!0}],xa=64;function Ra(e,t={}){let n=z(e),r=new Set(n),i=new Set((t.affectedFiles??[]).map(Ca)),o=t.previousGraph?.fileCoverage,a=i.size>0&&t.previousGraph?.extractorVersion===At&&o!==void 0&&o.length===t.previousGraph.coverage.filesScanned,s=a?o.filter(N=>r.has(N.file)&&!i.has(N.file)):[],l=new Set(s.flatMap(N=>N.observationIds)),c=a?t.previousGraph.observations.filter(N=>l.has(N.id)&&r.has(N.source.file)):[],u=a?n.filter(N=>i.has(N)):n,d=[],p=o?.reduce((N,st)=>N+st.observationIds.length,0)??0,f=performance.now(),m=Ia(e,u);Y(d,"direct-extraction",f,u.length,m.observations.length,{filesVisited:u.length,filesReused:s.length,factsReused:c.length,factsInvalidated:Math.max(0,p-c.length)});let g=[...s,...m.fileCoverage].sort((N,st)=>N.file.localeCompare(st.file)),b=Na(g),h=g.flatMap(N=>N.extractionErrors),v=_e([...c,...m.observations]),F=_e([...v,...fr(v)]);f=performance.now();let x=lr(e,F);Y(d,"http-summary",f,F.length,x.observations.length,{filesVisited:x.filesInspected}),b.set("builtin.wrapper",{id:"builtin.wrapper",applicableFiles:x.filesInspected,observations:x.observations.length,errors:x.errors.length}),h.push(...x.errors);let w=_e([...F,...x.observations]);f=performance.now();let y=ir(e,w);Y(d,"http-mount",f,w.length,y.observations.length,{filesVisited:y.filesInspected});let R=_e([...w,...y.observations]);f=performance.now();let I=Xn(e,R);Y(d,"carrier",f,R.length,I.observations.length,{filesVisited:I.filesInspected}),b.set("builtin.carrier",{id:"builtin.carrier",applicableFiles:I.bodySummaries,observations:I.observations.length,errors:I.errors.length}),h.push(...I.errors);let _=_e([...R,...I.observations]);f=performance.now();let P=Fa(_);Y(d,"relations",f,_.length,P.length),f=performance.now();let Dt=Ea(_,P);Y(d,"links",f,P.length,Dt.length),Pa(_,P),f=performance.now();let Mt=Ta([...La(_,P),...x.frontiers]);return Y(d,"frontiers",f,_.length,Mt.length),{schemaVersion:2,extractorVersion:At,observations:_,relationGroups:P,links:Dt,frontiers:Mt,coverage:{filesScanned:n.length,filesWithAst:g.filter(N=>N.hasAst).length,filesWithoutAst:g.filter(N=>!N.hasAst).length,...a?{filesReused:s.length}:{},extractors:[...b.values()],extractionErrors:h,phases:d},fileCoverage:g}}function Y(e,t,n,r,i,o={}){e.push({id:t,durationMs:Math.max(0,performance.now()-n),inputFacts:r,outputFacts:i,...o})}function Ia(e,t){let n=[],r=[];for(let i of t){let o=L(e,i),a=Ft.filter(c=>c.supports(o)),s=a.length>0?k(e,i):null,l={file:i,hasAst:s!==null||wa(i,o),observationIds:[],extractors:[],extractionErrors:[]};if(s)for(let c of a){let u={id:c.id,applicableFiles:1,observations:0,errors:0};try{let d=c.extract(s);u.observations=d.length,n.push(...d),l.observationIds.push(...d.map(p=>p.id))}catch(d){u.errors=1,l.extractionErrors.push(`${c.id} failed for ${i}: ${d instanceof Error?d.message:String(d)}`)}l.extractors.push(u)}r.push(l)}return{observations:n,fileCoverage:r}}function wa(e,t){return t?rn(e)?/<script\b/iu.test(t):Be(e)!==null:!1}function Na(e){let t=new Map(Ft.map(n=>[n.id,{id:n.id,applicableFiles:0,observations:0,errors:0}]));for(let n of e)for(let r of n.extractors){let i=t.get(r.id);i&&(i.applicableFiles+=r.applicableFiles,i.observations+=r.observations,i.errors+=r.errors)}return t}function Ca(e){return e.replaceAll("\\","/").replace(/^\.\//u,"")}function Fa(e){let t=new Map;for(let n of nt){let r=new Set([...n.producerActions,...n.consumerActions,...n.declarationActions??[]]);for(let i of e){if(!r.has(i.action)||i.strength==="candidate")continue;let o=ka(i,n.keyNames);if(!o)continue;let a=o.map(d=>`${d.name}=${gr(d.name,d.value)}`).join("\0"),s=i.sourceScope==="production"?"production":i.sourceScope,l=`${n.id}\0${s}\0${a}`,c=`boundary-group:${mr("sha256").update(l).digest("hex").slice(0,16)}`,u=t.get(c)??{id:c,protocol:n.protocol,joinRule:n.id,normalizedKey:a,keyParts:o,producerIds:[],consumerIds:[],declarationIds:[],derivation:{kind:"mechanically-derived",rule:n.id,ruleVersion:"2",inputFactIds:[],sourceSpans:[]}};n.producerActions.includes(i.action)&&u.producerIds.push(i.id),n.consumerActions.includes(i.action)&&u.consumerIds.push(i.id),n.declarationActions?.includes(i.action)&&u.declarationIds.push(i.id),u.derivation.inputFactIds.push(i.id),u.derivation.sourceSpans.push(i.source),t.set(c,u)}}return[...t.values()].map(_a).sort(Aa)}function _a(e){return{...e,producerIds:et(e.producerIds),consumerIds:et(e.consumerIds),declarationIds:et(e.declarationIds),derivation:{...e.derivation,inputFactIds:et(e.derivation.inputFactIds),sourceSpans:[...new Map(e.derivation.sourceSpans.map(t=>[`${t.file}:${t.startLine}:${t.endLine}`,t])).values()]}}}function Ea(e,t){let n=new Map(e.map(i=>[i.id,i])),r=new Map;for(let i of t){let o=nt.find(s=>s.id===i.joinRule);if(!o?.traversable)continue;let a=o.linkFrom==="declaration"?i.declarationIds:i.producerIds;if(!(a.length===0||i.consumerIds.length===0)&&!(o.requireUniquePair&&(a.length!==1||i.consumerIds.length!==1))&&!(o.requireUniqueConsumer&&i.consumerIds.length!==1)&&!(a.length*i.consumerIds.length>xa))for(let s of a)for(let l of i.consumerIds){let c=n.get(s),u=n.get(l);if(!c||!u||$a(c,u))continue;let d=c.strength==="derived"||u.strength==="derived"?"derived":"exact",p=`${i.joinRule}\0${s}\0${l}`,f={id:`boundary-link:${mr("sha256").update(p).digest("hex").slice(0,16)}`,from:s,to:l,joinRule:i.joinRule,matchedKeyParts:i.keyParts,strength:d,derivation:{kind:"mechanically-derived",rule:i.joinRule,ruleVersion:"2",inputFactIds:[s,l],sourceSpans:[c.source,u.source]}};r.set(f.id,f)}}return[...r.values()].sort(Da)}function Pa(e,t){let n=new Set(t.filter(yr).flatMap(tt)),r=new Set(t.filter(Ba).flatMap(tt));for(let i of e)i.resolution=n.has(i.id)?"locally-linked":r.has(i.id)?"ambiguous":"unresolved"}function La(e,t){let n=new Set(e.filter(o=>o.strength!=="candidate").map(o=>`${o.action}\0${o.source.file}\0${o.source.startLine}\0${o.source.endLine}`)),r=new Set(t.flatMap(tt)),i=new Set(t.filter(yr).flatMap(tt));return e.filter(o=>o.sourceScope==="production").filter(o=>o.strength!=="candidate"||!n.has(`${o.action}\0${o.source.file}\0${o.source.startLine}\0${o.source.endLine}`)).filter(o=>!i.has(o.id)).map(o=>{let a=o.keyParts.filter(l=>l.evidence==="expression"||l.value.length===0).map(l=>l.name),s=a.length>0?`${o.extractor} observed ${o.action}, but ${a.join(", ")} remained symbolic or unknown.`:o.resolution==="ambiguous"?`${o.extractor} established the address for ${o.action}, but more than one indexed peer has the same runtime key.`:r.has(o.id)?`${o.extractor} established the address for ${o.action}, but the indexed production scope contains no counterpart role in that relation group.`:`${o.extractor} observed ${o.action}, but no supported factorization rule could establish its addressed relation.`;return{observationId:o.id,reason:s,missingKeyParts:a,sourceScope:o.sourceScope}}).sort((o,a)=>o.observationId.localeCompare(a.observationId))}function tt(e){return[...e.producerIds,...e.consumerIds,...e.declarationIds]}function yr(e){let t=nt.find(r=>r.id===e.joinRule);if(!t)return!1;let n=t.linkFrom==="declaration"?e.declarationIds:e.producerIds;return n.length===0||e.consumerIds.length===0?!1:!t.requireUniquePair||n.length===1&&e.consumerIds.length===1}function Ba(e){let t=nt.find(r=>r.id===e.joinRule);if(!t?.requireUniquePair)return!1;let n=t.linkFrom==="declaration"?e.declarationIds:e.producerIds;return n.length>0&&e.consumerIds.length>0&&(n.length!==1||e.consumerIds.length!==1)}function Ta(e){return[...new Map(e.map(t=>[t.observationId,t])).values()].sort((t,n)=>t.observationId.localeCompare(n.observationId))}function ka(e,t){let n=[];for(let r of t){let i=e.keyParts.find(o=>o.name===r);if(!i||i.evidence==="expression"||i.value.length===0)return null;n.push({...i,value:gr(r,i.value)})}return n}function gr(e,t){if(e==="method")return t.toUpperCase();if(e!=="path")return t;let n=t.startsWith("/")?t:`/${t}`;return n.length>1?n.replace(/\/+$/u,""):n}function $a(e,t){return e.source.file===t.source.file&&e.source.startLine===t.source.startLine}function _e(e){return[...new Map(e.map(t=>[t.id,t])).values()].sort((t,n)=>t.source.file.localeCompare(n.source.file)||t.source.startLine-n.source.startLine||t.action.localeCompare(n.action))}function et(e){return[...new Set(e)].sort()}function Aa(e,t){return e.joinRule.localeCompare(t.joinRule)||e.normalizedKey.localeCompare(t.normalizedKey)}function Da(e,t){return e.joinRule.localeCompare(t.joinRule)||e.from.localeCompare(t.from)||e.to.localeCompare(t.to)}import Ma from"better-sqlite3";var it="codebaseiq_runtime_boundaries",ee="codebaseiq_runtime_observations",ot="codebaseiq_runtime_relation_groups",at="codebaseiq_runtime_relation_participants";function Oa(e,t){let n=new Ma(e);try{n.exec(`
62
- CREATE TABLE IF NOT EXISTS ${it} (
63
- singleton INTEGER PRIMARY KEY CHECK (singleton = 1),
64
- schema_version INTEGER NOT NULL,
65
- extractor_version TEXT NOT NULL,
66
- payload TEXT NOT NULL
67
- )
68
- `),Va(n),n.transaction(()=>{n.prepare(`INSERT OR REPLACE INTO ${it} (singleton, schema_version, extractor_version, payload) VALUES (1, ?, ?, ?)`).run(t.schemaVersion,t.extractorVersion,JSON.stringify(t)),n.prepare(`DELETE FROM ${ee}`).run(),n.prepare(`DELETE FROM ${at}`).run(),n.prepare(`DELETE FROM ${ot}`).run();let r=n.prepare(`INSERT INTO ${ee}
69
- (id, protocol, action, role, strength, source_scope, resolution, file, start_line, end_line, owner_symbol, payload)
70
- VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);for(let a of t.observations)r.run(a.id,a.protocol,a.action,a.role,a.strength,a.sourceScope,a.resolution,a.source.file,a.source.startLine,a.source.endLine,a.owner.symbol,JSON.stringify(a));let i=n.prepare(`INSERT INTO ${ot} (id, protocol, join_rule, normalized_key, payload) VALUES (?, ?, ?, ?, ?)`),o=n.prepare(`INSERT INTO ${at} (group_id, observation_id, participant_role) VALUES (?, ?, ?)`);for(let a of t.relationGroups){i.run(a.id,a.protocol,a.joinRule,a.normalizedKey,JSON.stringify(a));for(let s of a.producerIds)o.run(a.id,s,"producer");for(let s of a.consumerIds)o.run(a.id,s,"consumer");for(let s of a.declarationIds)o.run(a.id,s,"declaration")}})()}finally{n.close()}}function ja(e,t={}){if(!Ha(e,ee))return hr(e)?.observations??[];let n=[],r=[];return rt(n,r,"protocol",t.protocols),rt(n,r,"action",t.actions),rt(n,r,"source_scope",t.sourceScopes),rt(n,r,"file",t.files),e.all(`SELECT payload FROM ${ee}${n.length>0?` WHERE ${n.join(" AND ")}`:""} ORDER BY file, start_line, id`,...r).flatMap(o=>qa(o.payload))}function Va(e){e.exec(`
71
- CREATE TABLE IF NOT EXISTS ${ee} (
72
- id TEXT PRIMARY KEY,
73
- protocol TEXT NOT NULL,
74
- action TEXT NOT NULL,
75
- role TEXT NOT NULL,
76
- strength TEXT NOT NULL,
77
- source_scope TEXT NOT NULL,
78
- resolution TEXT NOT NULL,
79
- file TEXT NOT NULL,
80
- start_line INTEGER NOT NULL,
81
- end_line INTEGER NOT NULL,
82
- owner_symbol TEXT,
83
- payload TEXT NOT NULL
84
- );
85
- CREATE INDEX IF NOT EXISTS idx_runtime_observations_protocol_action_scope
86
- ON ${ee}(protocol, action, source_scope);
87
- CREATE INDEX IF NOT EXISTS idx_runtime_observations_file_line
88
- ON ${ee}(file, start_line);
89
-
90
- CREATE TABLE IF NOT EXISTS ${ot} (
91
- id TEXT PRIMARY KEY,
92
- protocol TEXT NOT NULL,
93
- join_rule TEXT NOT NULL,
94
- normalized_key TEXT NOT NULL,
95
- payload TEXT NOT NULL
96
- );
97
- CREATE INDEX IF NOT EXISTS idx_runtime_groups_protocol_key
98
- ON ${ot}(protocol, join_rule, normalized_key);
99
-
100
- CREATE TABLE IF NOT EXISTS ${at} (
101
- group_id TEXT NOT NULL,
102
- observation_id TEXT NOT NULL,
103
- participant_role TEXT NOT NULL,
104
- PRIMARY KEY (group_id, observation_id, participant_role)
105
- );
106
- CREATE INDEX IF NOT EXISTS idx_runtime_participants_observation
107
- ON ${at}(observation_id, participant_role);
108
- `)}function Ha(e,t){return!!e.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",t)}function rt(e,t,n,r){!r||r.length===0||(e.push(`${n} IN (${r.map(()=>"?").join(", ")})`),t.push(...r))}function qa(e){try{return[JSON.parse(e)]}catch{return[]}}function hr(e){if(!e.get("SELECT name FROM sqlite_master WHERE type = 'table' AND name = ?",it))return null;let n=e.get(`SELECT schema_version, payload FROM ${it} WHERE singleton = 1`);if(!n||n.schema_version!==2)return null;try{let r=JSON.parse(n.payload);return r.schemaVersion===2&&Array.isArray(r.observations)&&Array.isArray(r.relationGroups)&&Array.isArray(r.links)?r:null}catch{return null}}export{is as a,ye as b,os as c,Me as d,je as e,ut as f,ks as g,$s as h,As as i,_n as j,We as k,Q as l,V as m,qe as n,mt as o,ul as p,Us as q,Yr as r,Ws as s,Ks as t,Ll as u,Bl as v,Tl as w,Cn as x,rl as y,il as z,ft as A,yt as B,Rn as C,wn as D,gt as E,_l as F,_i as G,Ei as H,El as I,Pi as J,Li as K,jl as L,ht as M,Ie as N,we as O,At as P,Ra as Q,Oa as R,ja as S,hr as T,Za as U,Xa as V,Sr as W,Qa as X,Ja as Y,E as Z};
109
- //# sourceMappingURL=chunk-NCZUNH3E.js.map