scip-query 0.23.0 → 0.26.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 (650) hide show
  1. package/CHANGELOG.md +491 -2
  2. package/README.md +111 -122
  3. package/dist/augment-vue-worker.js +1 -1
  4. package/dist/by-kind-PRVFAGTQ.js +2 -0
  5. package/dist/call-graph-DVPAQV2F.js +2 -0
  6. package/dist/call-graph-evidence-CUtj8V2I.d.ts +19 -0
  7. package/dist/chunk-2FSBGL5P.js +2 -0
  8. package/dist/chunk-2HLAFUCY.js +2 -0
  9. package/dist/chunk-2IWUT6CJ.js +3 -0
  10. package/dist/chunk-2KNN7GTQ.js +2 -0
  11. package/dist/chunk-2LHXRE2B.js +8 -0
  12. package/dist/{chunk-EG2CPZMJ.js → chunk-2YXE77TJ.js} +2 -2
  13. package/dist/chunk-36SGVCGX.js +2 -0
  14. package/dist/chunk-3ABBFPTP.js +2 -0
  15. package/dist/chunk-3IVFU4FD.js +3 -0
  16. package/dist/chunk-3JIQS44J.js +7 -0
  17. package/dist/chunk-3ZRB6DNK.js +7 -0
  18. package/dist/{chunk-6YTSKJJ3.js → chunk-42EOW5VI.js} +1 -1
  19. package/dist/{chunk-6I6L7Z62.js → chunk-4BHGBMNO.js} +2 -2
  20. package/dist/chunk-4BP3UBDG.js +2 -0
  21. package/dist/chunk-4D6RO7G4.js +2 -0
  22. package/dist/chunk-4FEWQ6RH.js +2 -0
  23. package/dist/chunk-4IGEOBG7.js +2 -0
  24. package/dist/chunk-4QZXBUKC.js +2 -0
  25. package/dist/chunk-4WBDEVX2.js +4 -0
  26. package/dist/chunk-4WCUBZU3.js +8 -0
  27. package/dist/chunk-4WTUBQ36.js +40 -0
  28. package/dist/chunk-4XQ4O6IM.js +3 -0
  29. package/dist/chunk-55UQAMZO.js +4 -0
  30. package/dist/chunk-5D2LVK7O.js +125 -0
  31. package/dist/chunk-5IYJ56TT.js +2 -0
  32. package/dist/chunk-5PLMJC7Q.js +2 -0
  33. package/dist/chunk-5TNQJUR2.js +5 -0
  34. package/dist/chunk-62BDNPMI.js +2 -0
  35. package/dist/chunk-64DZ5TXR.js +7 -0
  36. package/dist/chunk-65245JCM.js +2 -0
  37. package/dist/chunk-6FFVZZL4.js +2 -0
  38. package/dist/chunk-6KO5JHAR.js +2 -0
  39. package/dist/chunk-6LRXOOSX.js +2 -0
  40. package/dist/chunk-6LSEIIF7.js +2 -0
  41. package/dist/chunk-6YMNWD3H.js +6 -0
  42. package/dist/chunk-72AD6ZRR.js +5 -0
  43. package/dist/chunk-73AAKPUC.js +4 -0
  44. package/dist/chunk-76CZ77DF.js +2 -0
  45. package/dist/chunk-7VPEEAAG.js +2 -0
  46. package/dist/chunk-7WTPQ4NX.js +14 -0
  47. package/dist/chunk-7Y5T6XDP.js +2 -0
  48. package/dist/chunk-A2IIGFMJ.js +5 -0
  49. package/dist/chunk-AB5KCTEV.js +2 -0
  50. package/dist/chunk-AC566WBP.js +6 -0
  51. package/dist/chunk-AGWFSTXC.js +3 -0
  52. package/dist/chunk-AOSIYPTA.js +2 -0
  53. package/dist/chunk-AUVEWPIF.js +2 -0
  54. package/dist/chunk-B56T42J3.js +25 -0
  55. package/dist/chunk-BIQEF5NE.js +2 -0
  56. package/dist/chunk-BL6XJKTA.js +3 -0
  57. package/dist/chunk-BMKOQJRI.js +2 -0
  58. package/dist/chunk-BOZ4EXBB.js +3 -0
  59. package/dist/chunk-BUTWYEPH.js +2 -0
  60. package/dist/chunk-BZB4QPIP.js +2 -0
  61. package/dist/{chunk-ILTDAWEF.js → chunk-CE357GEE.js} +4 -4
  62. package/dist/chunk-CFN45HFP.js +2 -0
  63. package/dist/chunk-CFYMZFXT.js +368 -0
  64. package/dist/chunk-CN5EH7O3.js +2 -0
  65. package/dist/chunk-D254DNNQ.js +4 -0
  66. package/dist/chunk-D3FDISIC.js +2 -0
  67. package/dist/chunk-D3NX5XIE.js +3 -0
  68. package/dist/chunk-DA7RPPDF.js +3 -0
  69. package/dist/chunk-DDMC3FON.js +3 -0
  70. package/dist/chunk-DIO3FUSG.js +2 -0
  71. package/dist/chunk-DJ2NNSUK.js +3 -0
  72. package/dist/chunk-DKYQIM3C.js +18 -0
  73. package/dist/{chunk-JTQVMR42.js → chunk-DOOEL2IV.js} +2 -2
  74. package/dist/chunk-DVFP6PZI.js +2 -0
  75. package/dist/chunk-E3FDPXZK.js +2 -0
  76. package/dist/chunk-E7YNJLCB.js +2 -0
  77. package/dist/chunk-EFGW5JPH.js +2 -0
  78. package/dist/chunk-EJVTR244.js +13 -0
  79. package/dist/chunk-EOV7RTRZ.js +2 -0
  80. package/dist/chunk-ETOIKRHO.js +2 -0
  81. package/dist/chunk-EYK3ZAO2.js +3 -0
  82. package/dist/chunk-F2V2LPET.js +52 -0
  83. package/dist/chunk-F4LUHJTF.js +2 -0
  84. package/dist/chunk-F4PUT6IT.js +2 -0
  85. package/dist/chunk-F56GCXXS.js +5 -0
  86. package/dist/chunk-FC2EVQRM.js +2 -0
  87. package/dist/chunk-FL7NBMHP.js +3 -0
  88. package/dist/chunk-FMRN2TRL.js +3 -0
  89. package/dist/chunk-FVULPZDF.js +20 -0
  90. package/dist/chunk-GCKCF5FL.js +43 -0
  91. package/dist/chunk-GH2PYF46.js +2 -0
  92. package/dist/chunk-GHJAGXIP.js +2 -0
  93. package/dist/{chunk-WIWY3CRX.js → chunk-GMVSHUKZ.js} +2 -2
  94. package/dist/chunk-GS6KDO4R.js +2 -0
  95. package/dist/chunk-GUUBXNN7.js +2 -0
  96. package/dist/chunk-GVWX5T43.js +80 -0
  97. package/dist/chunk-GZKFETP5.js +2 -0
  98. package/dist/chunk-H4EQHO6J.js +9 -0
  99. package/dist/chunk-H73WY2RM.js +2 -0
  100. package/dist/chunk-H75GSPRV.js +60 -0
  101. package/dist/chunk-HDR3AHSV.js +61 -0
  102. package/dist/chunk-HQBSL74Y.js +2 -0
  103. package/dist/chunk-HRRFKWPZ.js +2 -0
  104. package/dist/chunk-HXENDJC6.js +2 -0
  105. package/dist/chunk-IIBAZNSW.js +21 -0
  106. package/dist/chunk-INLMWEUU.js +12 -0
  107. package/dist/chunk-IWQPAF4F.js +2 -0
  108. package/dist/chunk-IZJ6YUKP.js +35 -0
  109. package/dist/chunk-J2TMAIN5.js +60 -0
  110. package/dist/chunk-J5FJMODQ.js +142 -0
  111. package/dist/chunk-J7HZPIO3.js +2 -0
  112. package/dist/chunk-JEVRKFRL.js +2 -0
  113. package/dist/chunk-JFXSGAEB.js +30 -0
  114. package/dist/chunk-JVRTHGFS.js +3 -0
  115. package/dist/chunk-JYWEX7RR.js +360 -0
  116. package/dist/chunk-K3YL22N6.js +2 -0
  117. package/dist/chunk-K4CN7GXK.js +12 -0
  118. package/dist/chunk-K5TBVXU4.js +30 -0
  119. package/dist/chunk-KDDIE2DP.js +9 -0
  120. package/dist/chunk-KHWRRPV4.js +2 -0
  121. package/dist/chunk-KI6NBKDY.js +14 -0
  122. package/dist/chunk-KU3QRSTH.js +2 -0
  123. package/dist/chunk-KZBJWZJB.js +2 -0
  124. package/dist/chunk-L7GFM3NP.js +3 -0
  125. package/dist/chunk-LMO6PK3V.js +35 -0
  126. package/dist/chunk-LN4YXJJU.js +2 -0
  127. package/dist/chunk-LOVIZBJ4.js +43 -0
  128. package/dist/chunk-LPCRK4A2.js +11 -0
  129. package/dist/chunk-MMHZKBFA.js +2 -0
  130. package/dist/{chunk-M2O5NY6W.js → chunk-MOQQBQRD.js} +2 -2
  131. package/dist/chunk-N2WN6I3L.js +2 -0
  132. package/dist/chunk-N3ORQT7L.js +2 -0
  133. package/dist/chunk-NAZ3RAIW.js +2 -0
  134. package/dist/chunk-NDUNO5JQ.js +2 -0
  135. package/dist/chunk-NEIWRNAZ.js +4 -0
  136. package/dist/chunk-NJJMVD65.js +2 -0
  137. package/dist/chunk-NLOQOBXI.js +20 -0
  138. package/dist/chunk-NOLZOVCU.js +2 -0
  139. package/dist/chunk-NOWINRRN.js +2 -0
  140. package/dist/chunk-NZAXKGRL.js +16 -0
  141. package/dist/chunk-O2C4UILI.js +2 -0
  142. package/dist/chunk-O3RHA6ZT.js +3 -0
  143. package/dist/chunk-O4UZSPPI.js +3 -0
  144. package/dist/chunk-OGFV2BUX.js +2 -0
  145. package/dist/chunk-OZCJXZK6.js +499 -0
  146. package/dist/chunk-P6ODM7BY.js +2 -0
  147. package/dist/{chunk-XBGWL66K.js → chunk-PAVGPRHJ.js} +2 -2
  148. package/dist/chunk-PH52RA7D.js +2 -0
  149. package/dist/chunk-PKN354TH.js +3 -0
  150. package/dist/chunk-PWOASWEG.js +11 -0
  151. package/dist/chunk-QIWXRW72.js +2 -0
  152. package/dist/chunk-QJRMOK5N.js +2 -0
  153. package/dist/{chunk-YXPUP5G2.js → chunk-QOIXNWQR.js} +2 -2
  154. package/dist/chunk-QXEUDXBT.js +3 -0
  155. package/dist/chunk-QYUVVBMR.js +6 -0
  156. package/dist/chunk-QZ7KQZRN.js +2 -0
  157. package/dist/chunk-R6LQBUDH.js +2 -0
  158. package/dist/chunk-RBS42E55.js +20 -0
  159. package/dist/chunk-RSJKPCFX.js +26 -0
  160. package/dist/chunk-S6CZA3MV.js +2 -0
  161. package/dist/chunk-STMVAHJP.js +2 -0
  162. package/dist/chunk-SYVPTTVW.js +2 -0
  163. package/dist/chunk-T3I6NHBH.js +2 -0
  164. package/dist/chunk-T6DK3ZP7.js +2 -0
  165. package/dist/chunk-TKD34PHN.js +4 -0
  166. package/dist/chunk-TNNQFH7W.js +2 -0
  167. package/dist/chunk-TNV7SSUF.js +2 -0
  168. package/dist/chunk-TO7ZR3EH.js +8 -0
  169. package/dist/chunk-TOU3CHK4.js +2 -0
  170. package/dist/chunk-TRBI4UKT.js +2 -0
  171. package/dist/chunk-TZCVNCAN.js +4 -0
  172. package/dist/chunk-U4LZA5LL.js +3 -0
  173. package/dist/chunk-U5RIG3JP.js +3 -0
  174. package/dist/chunk-UP5KXN2I.js +2 -0
  175. package/dist/chunk-UQFR3NDH.js +5 -0
  176. package/dist/chunk-UXYXF7GV.js +2 -0
  177. package/dist/chunk-VB3GOKOS.js +2 -0
  178. package/dist/chunk-VF5JZICY.js +2 -0
  179. package/dist/chunk-VTY3VK6E.js +2 -0
  180. package/dist/chunk-VX2O4RIS.js +2 -0
  181. package/dist/chunk-WKPV2TDZ.js +2 -0
  182. package/dist/chunk-WOFQ5DTB.js +2 -0
  183. package/dist/chunk-WS4C6TCK.js +2 -0
  184. package/dist/chunk-WXU3DGPU.js +2 -0
  185. package/dist/chunk-X6RMKHJQ.js +81 -0
  186. package/dist/{chunk-4ILJCCXV.js → chunk-XHMN6ZX7.js} +2 -2
  187. package/dist/chunk-XHTVFLWW.js +2 -0
  188. package/dist/chunk-XKIDJCIK.js +2 -0
  189. package/dist/chunk-XTYTYZPT.js +2 -0
  190. package/dist/chunk-Y2JHHTTA.js +2 -0
  191. package/dist/chunk-YGVRMGYN.js +4 -0
  192. package/dist/chunk-YNQCGEQE.js +2 -0
  193. package/dist/chunk-YOQVEXVE.js +14 -0
  194. package/dist/chunk-YRT2WLYY.js +2 -0
  195. package/dist/chunk-YTAP5Y2G.js +2 -0
  196. package/dist/chunk-YTYWI7VB.js +2 -0
  197. package/dist/chunk-YULZRALL.js +2 -0
  198. package/dist/chunk-Z33WQG4Q.js +2 -0
  199. package/dist/chunk-ZGTYGDMF.js +16 -0
  200. package/dist/chunk-ZHMRSZFD.js +43 -0
  201. package/dist/chunk-ZHSP366W.js +10 -0
  202. package/dist/chunk-ZIBYCYKK.js +7 -0
  203. package/dist/{chunk-GAS2LJMP.js → chunk-ZLADLUE6.js} +3 -3
  204. package/dist/chunk-ZO4YXUT6.js +4 -0
  205. package/dist/{chunk-HYO3NP5Q.js → chunk-ZR4HBC2H.js} +2 -2
  206. package/dist/cli-main.js +6 -6
  207. package/dist/cli.js +1 -1
  208. package/dist/{code-B17qEMbt.d.ts → code-BNyrCF3_.d.ts} +3 -2
  209. package/dist/code-IL5WH3NZ.js +2 -0
  210. package/dist/code-result-json-ANTBEDFP.js +4 -0
  211. package/dist/command-descriptors-HEEMDHTU.js +222 -0
  212. package/dist/deps-EOWFC6FD.js +2 -0
  213. package/dist/direct-navigation-Y5B6OSIQ.js +3 -0
  214. package/dist/{exploration-topology-BG4v30HZ.d.ts → exploration-topology-CSgEyAz-.d.ts} +3 -1
  215. package/dist/files-K4AI3JUM.js +2 -0
  216. package/dist/frontend-profile-roles-D7eCum8P.d.ts +10 -0
  217. package/dist/{health-CPp2Jf1Z.d.ts → health-BtfmNrfa.d.ts} +58 -74
  218. package/dist/hierarchy-6W5NDIFI.js +2 -0
  219. package/dist/imports-WH365QY4.js +2 -0
  220. package/dist/index.d.ts +13 -1
  221. package/dist/index.js +1 -1
  222. package/dist/members-K3PHMF5S.js +2 -0
  223. package/dist/methods-E7KVMBX4.js +2 -0
  224. package/dist/output-continuation-command-BJSY67SN.js +3 -0
  225. package/dist/output-pagination-UZJ5ACIX.js +24 -0
  226. package/dist/postinstall.js +1 -1
  227. package/dist/project-reindex-EP24WT4X.js +3 -0
  228. package/dist/queries/affected.js +1 -1
  229. package/dist/queries/architecture.d.ts +15 -4
  230. package/dist/queries/architecture.js +1 -1
  231. package/dist/queries/bottlenecks.js +1 -1
  232. package/dist/queries/by-kind.js +1 -1
  233. package/dist/queries/call-graph.d.ts +3 -1
  234. package/dist/queries/call-graph.js +1 -1
  235. package/dist/queries/change-surface.d.ts +1 -0
  236. package/dist/queries/change-surface.js +1 -1
  237. package/dist/queries/cleanup-plan.d.ts +3 -3
  238. package/dist/queries/cleanup-plan.js +1 -1
  239. package/dist/queries/co-change.d.ts +20 -2
  240. package/dist/queries/co-change.js +1 -1
  241. package/dist/queries/code.d.ts +1 -1
  242. package/dist/queries/code.js +1 -1
  243. package/dist/queries/complexity.d.ts +6 -3
  244. package/dist/queries/complexity.js +1 -1
  245. package/dist/queries/context.d.ts +1 -7
  246. package/dist/queries/context.js +1 -1
  247. package/dist/queries/coupling.js +1 -1
  248. package/dist/queries/cycles.js +1 -1
  249. package/dist/queries/dead.d.ts +2 -0
  250. package/dist/queries/dead.js +1 -1
  251. package/dist/queries/decorative-checkers.js +1 -1
  252. package/dist/queries/dependence-slice.d.ts +46 -22
  253. package/dist/queries/dependence-slice.js +1 -1
  254. package/dist/queries/dependency-depth.d.ts +1 -7
  255. package/dist/queries/dependency-depth.js +1 -1
  256. package/dist/queries/deps.js +1 -1
  257. package/dist/queries/diff-impact.d.ts +3 -1
  258. package/dist/queries/diff-impact.js +1 -1
  259. package/dist/queries/doc-drift.js +1 -1
  260. package/dist/queries/drift.d.ts +1 -1
  261. package/dist/queries/drift.js +1 -1
  262. package/dist/queries/duplicate-bodies.d.ts +29 -2
  263. package/dist/queries/duplicate-bodies.js +1 -1
  264. package/dist/queries/entry-map.d.ts +2 -4
  265. package/dist/queries/entry-map.js +1 -1
  266. package/dist/queries/evidence.d.ts +121 -61
  267. package/dist/queries/evidence.js +1 -1
  268. package/dist/queries/fan.js +1 -1
  269. package/dist/queries/files.js +1 -1
  270. package/dist/queries/health.d.ts +1 -1
  271. package/dist/queries/health.js +1 -1
  272. package/dist/queries/hierarchy.d.ts +2 -2
  273. package/dist/queries/hierarchy.js +1 -1
  274. package/dist/queries/hotspots.d.ts +1 -1
  275. package/dist/queries/hotspots.js +1 -1
  276. package/dist/queries/imports.d.ts +1 -0
  277. package/dist/queries/imports.js +1 -1
  278. package/dist/queries/incomplete-migration.d.ts +3 -3
  279. package/dist/queries/incomplete-migration.js +1 -1
  280. package/dist/queries/index.d.ts +17 -65
  281. package/dist/queries/index.js +1 -1
  282. package/dist/queries/locality-candidates.d.ts +4 -4
  283. package/dist/queries/locality-candidates.js +1 -1
  284. package/dist/queries/members.d.ts +2 -2
  285. package/dist/queries/members.js +1 -1
  286. package/dist/queries/methods.js +1 -1
  287. package/dist/queries/not-implemented.d.ts +2 -6
  288. package/dist/queries/not-implemented.js +1 -1
  289. package/dist/queries/outline.js +1 -1
  290. package/dist/queries/passthrough-candidates.d.ts +9 -1
  291. package/dist/queries/passthrough-candidates.js +1 -1
  292. package/dist/queries/react-component-duplicates.d.ts +19 -3
  293. package/dist/queries/react-component-duplicates.js +1 -1
  294. package/dist/queries/react-hook-candidates.d.ts +22 -3
  295. package/dist/queries/react-hook-candidates.js +1 -1
  296. package/dist/queries/react-large-component-pressure.d.ts +17 -3
  297. package/dist/queries/react-large-component-pressure.js +1 -1
  298. package/dist/queries/recent-duplicates.js +1 -1
  299. package/dist/queries/redundant-reexports.d.ts +4 -14
  300. package/dist/queries/redundant-reexports.js +1 -1
  301. package/dist/queries/refs.d.ts +4 -1
  302. package/dist/queries/refs.js +1 -1
  303. package/dist/queries/review.d.ts +188 -0
  304. package/dist/queries/review.js +2 -0
  305. package/dist/queries/similar-files.d.ts +7 -10
  306. package/dist/queries/similar-files.js +1 -1
  307. package/dist/queries/similar-signatures.js +1 -1
  308. package/dist/queries/similar.d.ts +19 -1
  309. package/dist/queries/similar.js +1 -1
  310. package/dist/queries/slice-cohesion.d.ts +205 -0
  311. package/dist/queries/slice-cohesion.js +2 -0
  312. package/dist/queries/source-inspection.d.ts +6 -202
  313. package/dist/queries/source-inspection.js +1 -1
  314. package/dist/queries/source-search.d.ts +2 -3
  315. package/dist/queries/source-search.js +1 -1
  316. package/dist/queries/stats.d.ts +1 -0
  317. package/dist/queries/stats.js +1 -1
  318. package/dist/queries/surface.js +1 -1
  319. package/dist/queries/symbols.js +1 -1
  320. package/dist/queries/system.d.ts +4 -2
  321. package/dist/queries/system.js +1 -1
  322. package/dist/queries/test-quality.d.ts +1 -1
  323. package/dist/queries/test-quality.js +1 -1
  324. package/dist/queries/twin-drift.d.ts +23 -7
  325. package/dist/queries/twin-drift.js +1 -1
  326. package/dist/queries/unused-imports.js +1 -1
  327. package/dist/queries/unused-params.d.ts +3 -15
  328. package/dist/queries/unused-params.js +1 -1
  329. package/dist/queries/vue-component-duplicates.js +1 -1
  330. package/dist/queries/vue-composable-candidates.js +1 -1
  331. package/dist/queries/vue-large-view-pressure.js +1 -1
  332. package/dist/query-service-fastpath.js +5 -5
  333. package/dist/query-service-server.js +4 -4
  334. package/dist/refs-CCBJG7WK.js +2 -0
  335. package/dist/refs-pagination-DRNLVU4S.js +2 -0
  336. package/dist/reindex-worker.js +79 -29
  337. package/dist/reindex.js +45 -45
  338. package/dist/repository-cache-worker.js +2 -0
  339. package/dist/runtime.d.ts +8 -8
  340. package/dist/runtime.js +3 -4
  341. package/dist/rust-semantic-session-server.js +1 -1
  342. package/dist/rust-semantic-session-worker.js +1 -1
  343. package/dist/rust-semantic-worker.js +1 -1
  344. package/dist/service-queries-2WAJI7R6.js +6 -0
  345. package/dist/source-inspection-91U9zdO3.d.ts +341 -0
  346. package/dist/{source-search-types-Dwz8KeuW.d.ts → source-search-types-DWGYNg8M.d.ts} +15 -2
  347. package/dist/stats-G7DIV6VU.js +2 -0
  348. package/dist/surface-IO55UALI.js +2 -0
  349. package/dist/system-ZBMSHJXU.js +2 -0
  350. package/dist/{queries/trace.d.ts → trace-BMjw3prn.d.ts} +1 -18
  351. package/dist/typescript-indexer.js +2 -0
  352. package/dist/typescript-mailbox-worker.js +1 -1
  353. package/dist/watch-server.js +3 -3
  354. package/docs/AGENT_GUIDE.md +19 -128
  355. package/docs/CLI_JSON_OUTPUT.md +21 -17
  356. package/docs/COMMAND_REFERENCE.md +34 -49
  357. package/docs/CURRENT_COMMANDS.md +123 -0
  358. package/docs/DETECTOR_EVIDENCE_CONTRACTS.md +0 -40
  359. package/docs/DETECTOR_GUIDE.md +55 -12
  360. package/docs/PRODUCT_VISION.md +135 -0
  361. package/docs/PROPERTY_TESTING.md +73 -0
  362. package/docs/REVIEW.md +76 -0
  363. package/docs/SKILLS.md +51 -0
  364. package/docs/WINDOWS_SIDECAR_RELEASE.md +12 -3
  365. package/docs/accuracy-audit-checklist.md +70 -13
  366. package/docs/analyzer-inventory.md +2 -2
  367. package/docs/locality-analyzer-design.md +9 -9
  368. package/package.json +18 -80
  369. package/scripts/evidence-product-contract.mjs +7 -3
  370. package/scripts/record-review-coverage.mjs +118 -0
  371. package/scripts/scip-windows-provenance.mjs +29 -19
  372. package/skills/scip-architecture-review/SKILL.md +57 -0
  373. package/skills/scip-architecture-review/agents/openai.yaml +4 -0
  374. package/skills/scip-architecture-review/references/design-checks.md +17 -0
  375. package/skills/scip-explore/SKILL.md +15 -59
  376. package/skills/scip-explore/agents/openai.yaml +3 -3
  377. package/skills/scip-explore/references/external-evidence.md +2 -2
  378. package/skills/scip-explore/references/information-model.md +26 -29
  379. package/skills/scip-explore/scripts/capture-evidence.mjs +68 -34
  380. package/skills/scip-integrity-audit/SKILL.md +53 -181
  381. package/skills/scip-integrity-audit/agents/openai.yaml +3 -3
  382. package/skills/scip-integrity-audit/references/integrity-probes.md +27 -0
  383. package/skills/scip-plan/SKILL.md +39 -65
  384. package/skills/scip-plan/agents/openai.yaml +2 -2
  385. package/skills/scip-query/SKILL.md +28 -81
  386. package/skills/scip-query/agents/openai.yaml +2 -2
  387. package/skills/scip-query/references/command-guide.md +169 -0
  388. package/skills/scip-setup/SKILL.md +4 -2
  389. package/skills/scip-setup/agents/openai.yaml +3 -3
  390. package/dist/by-kind-XI2CSWEY.js +0 -2
  391. package/dist/call-graph-UONR6JR5.js +0 -2
  392. package/dist/call-graph-evidence-lZa2dwQA.d.ts +0 -11
  393. package/dist/chunk-26CT72HM.js +0 -2
  394. package/dist/chunk-2E7CX53V.js +0 -2
  395. package/dist/chunk-2GRUZAQF.js +0 -43
  396. package/dist/chunk-2LDBDR6J.js +0 -29
  397. package/dist/chunk-2OOY75BW.js +0 -2
  398. package/dist/chunk-2R3V3PSD.js +0 -4
  399. package/dist/chunk-2WC2OEDO.js +0 -4
  400. package/dist/chunk-35NLDRZC.js +0 -2
  401. package/dist/chunk-3AF4TUFK.js +0 -3
  402. package/dist/chunk-3D3QG236.js +0 -2
  403. package/dist/chunk-3FHOF22C.js +0 -21
  404. package/dist/chunk-3JKSW6LJ.js +0 -2
  405. package/dist/chunk-3L2ZBPEX.js +0 -133
  406. package/dist/chunk-3PJABJSU.js +0 -2
  407. package/dist/chunk-3SVF22I5.js +0 -2
  408. package/dist/chunk-3WR4E3A3.js +0 -3
  409. package/dist/chunk-4FTZ4P5G.js +0 -2
  410. package/dist/chunk-4UX2F3JX.js +0 -2
  411. package/dist/chunk-4WNW27SX.js +0 -2
  412. package/dist/chunk-5ENOG4VP.js +0 -61
  413. package/dist/chunk-64BFSI5I.js +0 -2
  414. package/dist/chunk-66DVSJQG.js +0 -455
  415. package/dist/chunk-6HFCYNYE.js +0 -9
  416. package/dist/chunk-6PQNKL3G.js +0 -3
  417. package/dist/chunk-6V5CNXL6.js +0 -2
  418. package/dist/chunk-6VVV4WRR.js +0 -4
  419. package/dist/chunk-7BWFZPPZ.js +0 -2
  420. package/dist/chunk-7CYG22FH.js +0 -2
  421. package/dist/chunk-7F45LJKI.js +0 -2
  422. package/dist/chunk-7IWV2EG3.js +0 -3
  423. package/dist/chunk-7KCZELVM.js +0 -2
  424. package/dist/chunk-AFHTBORT.js +0 -2
  425. package/dist/chunk-AVRYW5OZ.js +0 -2
  426. package/dist/chunk-B3X6KU75.js +0 -2
  427. package/dist/chunk-B5D7QPBE.js +0 -4
  428. package/dist/chunk-BBCIS4DX.js +0 -16
  429. package/dist/chunk-BDUVI7TO.js +0 -3
  430. package/dist/chunk-BE7ZZTMC.js +0 -2
  431. package/dist/chunk-BHVUJOCQ.js +0 -3
  432. package/dist/chunk-BJT7LSPK.js +0 -3
  433. package/dist/chunk-BKVWUP7Y.js +0 -2
  434. package/dist/chunk-BQGB4HBD.js +0 -2
  435. package/dist/chunk-BRV7PIFF.js +0 -2
  436. package/dist/chunk-CEEZJXEF.js +0 -2
  437. package/dist/chunk-CIYLO6SI.js +0 -7
  438. package/dist/chunk-CJZXN4NU.js +0 -2
  439. package/dist/chunk-CNO7TOKL.js +0 -2
  440. package/dist/chunk-COF23M5F.js +0 -2
  441. package/dist/chunk-CWFP7GM5.js +0 -2
  442. package/dist/chunk-D2DHWI3D.js +0 -2
  443. package/dist/chunk-D4N5SQ2M.js +0 -4
  444. package/dist/chunk-DBRSYFXR.js +0 -2
  445. package/dist/chunk-DHUIOLDT.js +0 -2
  446. package/dist/chunk-DIRJWYBM.js +0 -6
  447. package/dist/chunk-DIUFNHRJ.js +0 -35
  448. package/dist/chunk-DRENNWRG.js +0 -2
  449. package/dist/chunk-DTZCKZEU.js +0 -4
  450. package/dist/chunk-DULC3QFP.js +0 -5
  451. package/dist/chunk-DYGHBZ2N.js +0 -16
  452. package/dist/chunk-E5R6AQ73.js +0 -40
  453. package/dist/chunk-E73UNJTF.js +0 -38
  454. package/dist/chunk-EKV5HX33.js +0 -2
  455. package/dist/chunk-EQHFIL6T.js +0 -3
  456. package/dist/chunk-ESIQ66Z7.js +0 -2
  457. package/dist/chunk-EVFUMY4R.js +0 -3
  458. package/dist/chunk-F7DY272B.js +0 -2
  459. package/dist/chunk-FBN2FGXG.js +0 -2
  460. package/dist/chunk-FDLOBR6P.js +0 -4
  461. package/dist/chunk-FESCRNVV.js +0 -5
  462. package/dist/chunk-FFRKR4EQ.js +0 -2
  463. package/dist/chunk-FGA2U4OR.js +0 -8
  464. package/dist/chunk-FIQRSHVM.js +0 -2
  465. package/dist/chunk-FPYLNQPT.js +0 -2
  466. package/dist/chunk-FRUSVINH.js +0 -2
  467. package/dist/chunk-GSP44ENC.js +0 -2
  468. package/dist/chunk-GUFSG5TX.js +0 -2
  469. package/dist/chunk-GYIZ4NXB.js +0 -2
  470. package/dist/chunk-GZIUDL6G.js +0 -2
  471. package/dist/chunk-H5EXS3HM.js +0 -2
  472. package/dist/chunk-HCXEQRFF.js +0 -18
  473. package/dist/chunk-HEHOQQKH.js +0 -2
  474. package/dist/chunk-HKGFPJ4T.js +0 -4
  475. package/dist/chunk-HLZTEXRA.js +0 -2
  476. package/dist/chunk-HOENASQM.js +0 -3
  477. package/dist/chunk-HVF5VBG6.js +0 -2
  478. package/dist/chunk-I55I7XXP.js +0 -2
  479. package/dist/chunk-IDFEUFKS.js +0 -2
  480. package/dist/chunk-IHGQTTVW.js +0 -2
  481. package/dist/chunk-IICPE7B2.js +0 -20
  482. package/dist/chunk-IL676XCC.js +0 -18
  483. package/dist/chunk-IW5XQG5G.js +0 -2
  484. package/dist/chunk-IZDPJ2QI.js +0 -2
  485. package/dist/chunk-J66VOFW6.js +0 -5
  486. package/dist/chunk-JFMEXGFE.js +0 -2
  487. package/dist/chunk-JGKUET5J.js +0 -3
  488. package/dist/chunk-JS4PGXMV.js +0 -3
  489. package/dist/chunk-JWTGMPIT.js +0 -80
  490. package/dist/chunk-JYR66JN5.js +0 -5
  491. package/dist/chunk-KFOYCQAJ.js +0 -9
  492. package/dist/chunk-KLFEXGQA.js +0 -2
  493. package/dist/chunk-KMVGRIO2.js +0 -2
  494. package/dist/chunk-KYSDI3GE.js +0 -5
  495. package/dist/chunk-L6PJPETJ.js +0 -29
  496. package/dist/chunk-LDVT66YM.js +0 -2
  497. package/dist/chunk-LEECKFCJ.js +0 -2
  498. package/dist/chunk-LMZ5PRUV.js +0 -2
  499. package/dist/chunk-LQRQN2XA.js +0 -2
  500. package/dist/chunk-LXABEJX3.js +0 -2
  501. package/dist/chunk-MNV5FSBW.js +0 -3
  502. package/dist/chunk-MPQ4OTBM.js +0 -2
  503. package/dist/chunk-MTDBHTSF.js +0 -2
  504. package/dist/chunk-MV3CDXPI.js +0 -38
  505. package/dist/chunk-MWN53KRN.js +0 -60
  506. package/dist/chunk-MXNGIEPU.js +0 -3
  507. package/dist/chunk-N2ZSIIGR.js +0 -117
  508. package/dist/chunk-N5B2NILC.js +0 -5
  509. package/dist/chunk-NJITK2GP.js +0 -2
  510. package/dist/chunk-NOGJXYFO.js +0 -2
  511. package/dist/chunk-NOYBFVJA.js +0 -554
  512. package/dist/chunk-NWQXSFFU.js +0 -3
  513. package/dist/chunk-ODDUPDP7.js +0 -13
  514. package/dist/chunk-OLIWTZI3.js +0 -3
  515. package/dist/chunk-OLNV6I6U.js +0 -2
  516. package/dist/chunk-OR2E3AGZ.js +0 -2
  517. package/dist/chunk-OSR2GEHQ.js +0 -2
  518. package/dist/chunk-OSSESPDX.js +0 -3
  519. package/dist/chunk-OWOOWNJ5.js +0 -7
  520. package/dist/chunk-P42EIXTA.js +0 -2
  521. package/dist/chunk-PJFGPYTU.js +0 -2
  522. package/dist/chunk-PP7KNN7L.js +0 -2
  523. package/dist/chunk-PU7T5QYQ.js +0 -2
  524. package/dist/chunk-PWWAJSKV.js +0 -74
  525. package/dist/chunk-PZL5T7SU.js +0 -73
  526. package/dist/chunk-QBE3YX64.js +0 -23
  527. package/dist/chunk-QGVTFRY2.js +0 -7
  528. package/dist/chunk-QOJONDS7.js +0 -2
  529. package/dist/chunk-QU5XRYB5.js +0 -4
  530. package/dist/chunk-QUU5OBVK.js +0 -11
  531. package/dist/chunk-RBLQNW26.js +0 -20
  532. package/dist/chunk-RTQ7NEKG.js +0 -81
  533. package/dist/chunk-SQXRS7BG.js +0 -4
  534. package/dist/chunk-SSK6LDPC.js +0 -2
  535. package/dist/chunk-SZHGTCPP.js +0 -7
  536. package/dist/chunk-T4N4P2K5.js +0 -16
  537. package/dist/chunk-TA3QKLLU.js +0 -2
  538. package/dist/chunk-TEBQMNVI.js +0 -43
  539. package/dist/chunk-TPFHAQ2G.js +0 -2
  540. package/dist/chunk-TQPCBMWT.js +0 -5
  541. package/dist/chunk-TQZV7KV4.js +0 -2
  542. package/dist/chunk-TRNAEQ6P.js +0 -3
  543. package/dist/chunk-TY7CRN3Z.js +0 -2
  544. package/dist/chunk-UHFYCMZO.js +0 -35
  545. package/dist/chunk-UICY4GTQ.js +0 -7
  546. package/dist/chunk-UVGEWT4Y.js +0 -26
  547. package/dist/chunk-UXW33INU.js +0 -29
  548. package/dist/chunk-VMPRET3I.js +0 -5
  549. package/dist/chunk-VNLGKHS6.js +0 -6
  550. package/dist/chunk-VQILFTEH.js +0 -2
  551. package/dist/chunk-VUPHCS7Y.js +0 -57
  552. package/dist/chunk-VVZSBTSU.js +0 -23
  553. package/dist/chunk-VZRNID6A.js +0 -2
  554. package/dist/chunk-W5OXRYGE.js +0 -7
  555. package/dist/chunk-W6STWDQI.js +0 -57
  556. package/dist/chunk-W7CXK74K.js +0 -2
  557. package/dist/chunk-WB3WYIRE.js +0 -4
  558. package/dist/chunk-WDNVY4E7.js +0 -20
  559. package/dist/chunk-WK46TNUM.js +0 -3
  560. package/dist/chunk-WNTFFKAX.js +0 -12
  561. package/dist/chunk-WOIKCX6A.js +0 -2
  562. package/dist/chunk-WUN6KBHV.js +0 -2
  563. package/dist/chunk-WYCTJDVR.js +0 -2
  564. package/dist/chunk-WYPL7GF7.js +0 -2
  565. package/dist/chunk-XDAUYDFT.js +0 -2
  566. package/dist/chunk-XDQMU3BT.js +0 -2
  567. package/dist/chunk-XFA4SSO3.js +0 -3
  568. package/dist/chunk-XGZEP6GR.js +0 -8
  569. package/dist/chunk-XPDPNWTQ.js +0 -368
  570. package/dist/chunk-XRYABF57.js +0 -8
  571. package/dist/chunk-YBGKCQIS.js +0 -2
  572. package/dist/chunk-YEN6CYC7.js +0 -16
  573. package/dist/chunk-YF5IB2LF.js +0 -2
  574. package/dist/chunk-YI2AWIHC.js +0 -3
  575. package/dist/chunk-YPWBKGFU.js +0 -2
  576. package/dist/chunk-YPWHBBIS.js +0 -2
  577. package/dist/chunk-YSH6U3L4.js +0 -3
  578. package/dist/chunk-YU5DZUZI.js +0 -10
  579. package/dist/chunk-YWO5DDRC.js +0 -16
  580. package/dist/chunk-Z4CDXYNQ.js +0 -2
  581. package/dist/chunk-ZF5KHH7C.js +0 -2
  582. package/dist/chunk-ZOHS7AQV.js +0 -21
  583. package/dist/chunk-ZTI4SBFV.js +0 -3
  584. package/dist/code-MI6F2TTU.js +0 -2
  585. package/dist/code-result-json-FXALY4HE.js +0 -2
  586. package/dist/command-descriptors-P34VABY5.js +0 -343
  587. package/dist/dataflow-4KEMJPC6.js +0 -2
  588. package/dist/dependence-slice-R7FPWD5M.js +0 -2
  589. package/dist/deps-7EMQUYUT.js +0 -2
  590. package/dist/direct-navigation-6YO234F2.js +0 -3
  591. package/dist/entry-map-KOOLR26E.js +0 -2
  592. package/dist/files-OPIPJIGZ.js +0 -2
  593. package/dist/graph-evidence-Bjyky2V4.d.ts +0 -126
  594. package/dist/hierarchy-QPD2CAER.js +0 -2
  595. package/dist/imports-M6HUXRXC.js +0 -2
  596. package/dist/members-I5MEFOCT.js +0 -2
  597. package/dist/methods-5JYGGHXA.js +0 -2
  598. package/dist/next-anchor-candidates-BwMczMvX.d.ts +0 -90
  599. package/dist/output-continuation-command-UPQAAKBP.js +0 -3
  600. package/dist/output-pagination-3OFL2MJV.js +0 -19
  601. package/dist/project-reindex-UKKQ5PLS.js +0 -3
  602. package/dist/queries/anchors.d.ts +0 -123
  603. package/dist/queries/anchors.js +0 -2
  604. package/dist/queries/complexity-hotspots.d.ts +0 -40
  605. package/dist/queries/complexity-hotspots.js +0 -2
  606. package/dist/queries/convergence.d.ts +0 -33
  607. package/dist/queries/convergence.js +0 -2
  608. package/dist/queries/dataflow.d.ts +0 -77
  609. package/dist/queries/dataflow.js +0 -2
  610. package/dist/queries/deep-chains.d.ts +0 -5
  611. package/dist/queries/deep-chains.js +0 -2
  612. package/dist/queries/extract-candidates.d.ts +0 -52
  613. package/dist/queries/extract-candidates.js +0 -2
  614. package/dist/queries/isolated.d.ts +0 -24
  615. package/dist/queries/isolated.js +0 -2
  616. package/dist/queries/plan-context.d.ts +0 -33
  617. package/dist/queries/plan-context.js +0 -2
  618. package/dist/queries/reference-neighborhood.d.ts +0 -4
  619. package/dist/queries/reference-neighborhood.js +0 -2
  620. package/dist/queries/reference-reachability.d.ts +0 -48
  621. package/dist/queries/reference-reachability.js +0 -2
  622. package/dist/queries/self-audit.d.ts +0 -63
  623. package/dist/queries/self-audit.js +0 -2
  624. package/dist/queries/similar-chains.d.ts +0 -48
  625. package/dist/queries/similar-chains.js +0 -2
  626. package/dist/queries/slice.d.ts +0 -4
  627. package/dist/queries/slice.js +0 -2
  628. package/dist/queries/stale-abstractions.d.ts +0 -72
  629. package/dist/queries/stale-abstractions.js +0 -2
  630. package/dist/queries/system-map.d.ts +0 -449
  631. package/dist/queries/system-map.js +0 -2
  632. package/dist/queries/trace.js +0 -2
  633. package/dist/queries/twin-ab.d.ts +0 -66
  634. package/dist/queries/twin-ab.js +0 -2
  635. package/dist/queries/value-flow.d.ts +0 -43
  636. package/dist/queries/value-flow.js +0 -2
  637. package/dist/queries/wrapper-candidates.d.ts +0 -34
  638. package/dist/queries/wrapper-candidates.js +0 -2
  639. package/dist/refs-PSU4JZZW.js +0 -2
  640. package/dist/refs-pagination-JG6CJMRC.js +0 -2
  641. package/dist/slice-HYRATV64.js +0 -2
  642. package/dist/source-snippet-_wrcgmZc.d.ts +0 -15
  643. package/dist/stats-OOJ74B32.js +0 -2
  644. package/dist/surface-VTGDYWF5.js +0 -2
  645. package/dist/symbol-resolution-WD5EU5JE.js +0 -2
  646. package/dist/system-LRQNFOR2.js +0 -2
  647. package/dist/trace-F4B6OLL4.js +0 -2
  648. package/dist/value-flow-VRPZY72V.js +0 -2
  649. package/skills/concrete-plan/SKILL.md +0 -8
  650. package/skills/concrete-plan/agents/openai.yaml +0 -4
@@ -0,0 +1,7 @@
1
+ import{a as _}from"./chunk-DIO3FUSG.js";import{d as k}from"./chunk-MOQQBQRD.js";import{a as j}from"./chunk-GMVSHUKZ.js";import{B as x,e as $}from"./chunk-4WTUBQ36.js";import{b as h}from"./chunk-YNQCGEQE.js";import{b as D,e as O}from"./chunk-FMRN2TRL.js";import{d as S,e as w,x as g}from"./chunk-5D2LVK7O.js";import{g as F,s as I}from"./chunk-7WTPQ4NX.js";import{d as M}from"./chunk-A2IIGFMJ.js";import{a as P}from"./chunk-5TNQJUR2.js";import{basename as ce,extname as U}from"path";var ne=12,te=280;function y(e,n,t,o){let r=ie(e,n,t,o);if(r.size===0)return ae();let i=[],s=new Set,a=(u,d,c,f)=>{if(d===n&&c<=o&&f>=t)return;let C=`${d}:${c}:${f}:${u}`;s.has(C)||(s.add(C),i.push({name:u,relativePath:d,startLine:c,endLine:f}))};for(let u of g(e,n))r.has(u.leaf)&&a(u.leaf,u.relativePath,u.startLine,u.endLine);le(e,n,r,a),i.sort(A);let l=i.map(u=>{let d=re(e,u);return d?{...u,source:d}:null}).filter(u=>u!==null).slice(0,ne);return R(l)}function T(e,n=[]){return R(oe(e.flatMap(t=>t?.inline??[]),n))}function Oe(e){return e?e.inline.reduce((n,t)=>n+t.name.length+t.source.length+32,0):0}function ie(e,n,t,o){let r=F(e,n),i=new Set;if(!r)return i;for(let s=t;s<=o;s+=1)for(let a of r.identifiersByLine[s]??[])i.add(a);return i}function re(e,n){if(n.startLine!==n.endLine)return null;let t=(M(e,n.relativePath)[n.startLine]??"").trim();if(!t||t.length>te)return null;let o=t.indexOf("=");if(o<0||t[o+1]===">")return null;let r=t.slice(o+1).replace(/(?:\/\/|#).*$/u,"").trim();return ue(r)?t:null}function oe(e,n){let t=new Map;for(let o of e){if(se(o,n))continue;let r=`${o.relativePath}:${o.startLine}:${o.endLine}:${o.name}`;t.has(r)||t.set(r,{...o})}return[...t.values()].sort(A)}function se(e,n){return n.some(t=>t.relativePath===e.relativePath&&t.startLine<=e.startLine&&t.endLine>=e.endLine)}function A(e,n){return e.relativePath.localeCompare(n.relativePath)||e.startLine-n.startLine||e.name.localeCompare(n.name)}function R(e){return{coverage:"indexed-project-literal-values",inline:e}}function ae(){return R([])}function le(e,n,t,o){for(let r of I(e,n)){let i=r.localName;if(!i||!t.has(i)||!r.sourcePath||r.kind==="namespace")continue;let s=r.importedName==="default"?i:r.importedName;for(let a of $(e,r.sourcePath,s,{maxReexportDepth:3}))o(i,a.relativePath,a.startLine,a.endLine)}}function ue(e){if(!e||e.includes("${")||/\b(?:function|class|struct|interface|trait|enum|lambda)\b/u.test(e))return!1;let t=e.replace(/(['"`])(?:\\.|(?!\1).)*\1/gu,"").replace(/\b(?:0[xX][\dA-Fa-f_]+|0[bB][01_]+|0[oO][0-7_]+|\d[\d_]*(?:\.\d[\d_]*)?(?:[eE][+-]?\d+)?)n?\b/gu,""),o=new Set(["true","false","null","undefined","None","True","False"]);return!(t.match(/[A-Za-z_][A-Za-z0-9_]*/gu)??[]).some(i=>!o.has(i))}function Ze(e,n,t={}){let{context:o=0}=t,r=q(n);if(r)return ee(e,r.filePath,r.startLine,r.endLine,o);let i=Q(e,n);if(i)return Z(e,i);if(J(n))return null;let s=D(e,n);if(s.candidates.length>0)throw new Error(`Ambiguous symbol: ${n}. Use an exact selector or codeBatch.`);return s.match?b(e,s.match,o):null}function Ke(e,n,t={}){if(n.length===0)throw new RangeError("code requires at least one selector.");if(n.length>24)throw new RangeError(`code accepts at most ${24} selectors per complete packet; received ${n.length}.`);let o=t.context??0,r=t.members??"exported",i=n.map(l=>fe(e,l,o,r,t.localCalls??!1)),s=i.flatMap(l=>l.results),a=s.map(l=>({relativePath:l.relativePath,startLine:l.startLine,endLine:l.endLine}));return{requested:n.length,matched:i.filter(l=>l.status==="matched").length,ambiguous:i.filter(l=>l.status==="ambiguous").length,missing:i.filter(l=>l.status==="missing").length,entries:i,bindingClosure:T(s.map(l=>l.bindingClosure),a)}}function fe(e,n,t,o,r){let i=q(n);if(i){let u=ee(e,i.filePath,i.startLine,i.endLine,t);return u?r?ge(e,n,u,t):W(n,u):v(e,n,"definition-source-unreadable")}let s=Q(e,n);if(s)return Ce(e,n,s,t,o);if(J(n))return v(e,n,"definition-not-found");let a=D(e,n);if(!a.match)return v(e,n,"definition-not-found");if(a.total>1)return me(e,n,a,t);let l=b(e,a.match,t);return l?W(n,l):v(e,n,h(e,a.match.relativePath)?.freshness.semantic.state==="stale"?"definition-index-stale":"definition-source-unreadable")}function me(e,n,t,o){let r=Ee(e,t),i=r.map(V),s=t.total<=4&&r.length===t.total;return{selector:n,status:"ambiguous",kind:"source",totalCandidates:t.total,results:s?r.flatMap(a=>{let l=b(e,a,o);return l?[l]:[]}):[],definitions:[],candidates:i,omittedCandidates:Math.max(0,t.total-i.length),suggestions:[]}}function ge(e,n,t,o){let r=g(e,t.relativePath).filter(u=>!X(u,t.relativePath)),i=pe(e,t,r),s=z(i.map(u=>b(e,u,o)).filter(u=>u!==null)).filter(u=>!Y(t,u)),a=new Set(s.map(u=>u.symbol)),l=i.filter(u=>!a.has(u.symbol)&&!(t.startLine<=u.startLine&&t.endLine>=u.endLine)).map(V);return{selector:n,status:"matched",kind:"source",totalCandidates:1,results:[t,...s],definitions:[],candidates:[],omittedCandidates:0,suggestions:[],rangeCoverage:{basis:"requested-range-and-same-file-call-closure",referencedDefinitions:i.length,returnedDefinitions:i.length-l.length,returnedBodies:s.length,omittedDefinitions:l.length,omittedLedger:l}}}function pe(e,n,t){if(!p(n.freshness))return[];if(t.length===0)return[];let o=x(e,t,{additive:!1,semantic:!1}),r=new Map;for(let s of t){let a=r.get(s.symbol)??[];a.push(s),r.set(s.symbol,a)}let i=he(n,t,o,r);return G(e,[...i.values()],t)}function he(e,n,t,o){let r=new Map;for(let i of n)if(!(i.endLine<e.startLine||i.startLine>e.endLine)){for(let s of t.get(i.symbolId)??[])if(be(s,e))for(let a of o.get(s.symbol)??[])r.set(a.symbolId,a)}return r}function be(e,n){return e.file!==n.relativePath?!1:e.source!=="ast-callsite"&&e.source!=="scip-occurrence"?!0:!(e.chunkId<n.startLine||e.chunkId>n.endLine)}function Ce(e,n,t,o,r){let i=t.relativePath,s=p(t.freshness)?ve(e,i):[],a=p(t.freshness)?g(e,i).filter(m=>!X(m,i)):[],l=a.filter(m=>j(e,m)),u=l.length>0?l:ye(s,a),d=r==="all"?[]:G(e,u,a),c=r==="all"||a.length===0?[Z(e,t)]:z(d.map(m=>b(e,m,o)).filter(m=>m!==null)),f=Se(s,c),C=De(i,s,c),B=xe(s);return{selector:n,status:"matched",kind:"file-source",totalCandidates:1,results:c,definitions:[],candidates:[],omittedCandidates:0,suggestions:[],fileCoverage:{members:r,basis:r==="all"||a.length===0?"complete-file-source":l.length>0?"explicit-exports-and-same-file-reference-closure":"top-level-and-same-file-reference-closure",totalDefinitions:B,returnedDefinitions:f,returnedBodies:c.length,omittedDefinitions:Math.max(0,B-f),omittedLedger:C}}}function ye(e,n){let t=new Set(e.map(o=>o.symbol));return n.filter(o=>t.has(o.symbol))}function ve(e,n){return _(e,n).flatMap(t=>Le(t,n)?t.children:[t])}function X(e,n){return H(n).has(e.leaf)}function Le(e,n){return H(n).has(w(e.symbol))}function H(e){let n=ce(e);return new Set([n,n.slice(0,Math.max(0,n.length-U(n).length))])}function G(e,n,t){if(n.length===0)return[];let o=x(e,t,{additive:!0,semantic:!1}),r=Be(t),i=new Map,s=[...n];for(;s.length>0;){let a=s.shift();if(!i.has(a.symbolId)){i.set(a.symbolId,a);for(let l of o.get(a.symbolId)??[])for(let u of r.get(l.symbol)??[])i.has(u.symbolId)||s.push(u)}}return[...i.values()].sort(Re)}function z(e){let n=[...e].sort((o,r)=>o.relativePath.localeCompare(r.relativePath)||o.startLine-r.startLine||r.endLine-o.endLine),t=[];for(let o of n)t.some(r=>Y(r,o))||t.push(o);return t}function Z(e,n){let t=n.text.split(`
2
+ `);return{symbol:n.relativePath,shortName:n.relativePath,relativePath:n.relativePath,startLine:0,endLine:Math.max(0,t.length-1),language:e.get("SELECT language FROM documents WHERE relative_path = ?",n.relativePath)?.language??N(n.relativePath),source:n.text,freshness:n.freshness,...p(n.freshness)?{bindingClosure:y(e,n.relativePath,0,Math.max(0,t.length-1))}:{}}}function Se(e,n){return L(e).filter(t=>n.some(o=>E(t,o))).length}function De(e,n,t){let o=[];return K(o,e,n,t,0),o}function K(e,n,t,o,r){for(let i of t){if(o.some(a=>E(i,a)))continue;let s=L(i.children).filter(a=>!o.some(l=>E(a,l))).length;e.push({symbol:i.symbol,shortName:i.shortName,relativePath:n,startLine:i.startLine,endLine:i.endLine,signature:i.signature,depth:r,nestedDefinitions:s}),K(e,n,i.children,o,r+1)}}function L(e){return e.flatMap(n=>[n,...L(n.children)])}function xe(e){return L(e).length}function E(e,n){return n.startLine<=e.startLine&&n.endLine>=e.endLine}function Y(e,n){return e.relativePath===n.relativePath&&e.startLine<=n.startLine&&e.endLine>=n.endLine}function Re(e,n){return e.startLine-n.startLine||n.endLine-e.endLine||e.symbol.localeCompare(n.symbol)}function W(e,n){return{selector:e,status:"matched",kind:"source",totalCandidates:1,results:[n],definitions:[],candidates:[],omittedCandidates:0,suggestions:[]}}function v(e,n,t){return{selector:n,status:"missing",kind:"source",totalCandidates:0,results:[],definitions:[],candidates:[],omittedCandidates:0,suggestions:O(e,n,5),reason:t}}function J(e){return/^\S+ \S+ \S+ \S+ /.test(e)?!1:/^(?:\.{1,2}[/\\]|[/\\]|[A-Za-z]:[/\\])/.test(e)?!0:e.includes(":")?!1:/[/\\]/.test(e)?!0:/\.(?:[cm]?[jt]sx?|jsonc?|mdx?|ya?ml|toml|xml|html|css|scss|sql|py|rs|go|java|kt|clj[cs]?|txt|sh)$/i.test(e)}function Q(e,n){try{return h(e,n)}catch(t){if(t instanceof P)return null;throw t}}function Ee(e,n){if(!n.match)return[];let t=[n.match];for(let r of n.candidates){let i=g(e,r.relativePath).find(s=>s.symbol===r.symbol&&s.startLine===r.startLine);i&&t.push(i)}let o=new Set;return t.filter(r=>{let i=`${r.relativePath}:${r.startLine}:${r.endLine}:${r.symbol}`;return o.has(i)?!1:(o.add(i),!0)})}function V(e){return{symbol:e.symbol,shortName:S(e.symbol),relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine}}function q(e){let n=e.match(/^(.+):(\d+)-(\d+)$/);if(!n)return null;let t=Number(n[2]),o=Number(n[3]);if(!Number.isSafeInteger(t)||t<1)throw new RangeError(`Source range start line must be a positive integer, got "${n[2]}".`);if(!Number.isSafeInteger(o)||o<t)throw new RangeError(`Source range end line must be an integer at or after ${t}, got "${n[3]}".`);return{filePath:n[1],startLine:t,endLine:o}}function b(e,n,t){let o=e.get("SELECT language FROM documents WHERE relative_path = ?",n.relativePath),r=h(e,n.relativePath);if(!r||r.freshness.semantic.state==="stale")return null;let s=r.text.split(`
3
+ `),a=n.endLine<=n.startLine?k(e,n.relativePath,n.startLine,Number.MAX_SAFE_INTEGER):null,[l,u]=a?.unitType?[a.unitStartLine,a.unitEndLine]:[n.startLine,n.endLine];if(l<0||l>=s.length||u<l)return null;let d=Math.max(0,l-t),c=Math.min(s.length-1,u+t),f=s.slice(d,c+1).join(`
4
+ `);return{symbol:n.symbol,shortName:S(n.symbol),relativePath:n.relativePath,startLine:d,endLine:c,language:o?.language??N(n.relativePath),source:f,freshness:r.freshness,...p(r.freshness)?{bindingClosure:y(e,n.relativePath,d,c)}:{}}}function ee(e,n,t,o,r){let i=h(e,n);if(!i)return null;let s=e.get("SELECT language FROM documents WHERE relative_path = ?",i.relativePath),l=i.text.split(`
5
+ `);if(t>l.length)return null;let u=Math.max(0,t-1-r),d=Math.min(l.length-1,o-1+r),c=l.slice(u,d+1).join(`
6
+ `);return{symbol:`${i.relativePath}:${t}-${o}`,shortName:`${i.relativePath}:${t}-${o}`,relativePath:i.relativePath,startLine:u,endLine:d,language:s?.language??N(i.relativePath),source:c,freshness:i.freshness,...p(i.freshness)?{bindingClosure:y(e,i.relativePath,u,d)}:{}}}function p(e){return!!(e&&e.semantic.state!=="stale"&&e.semantic.basis!=="no-compiler-document")}var Ne=new Map([[".ts","typescript"],[".tsx","typescript"],[".mts","typescript"],[".cts","typescript"],[".js","javascript"],[".jsx","javascript"],[".mjs","javascript"],[".cjs","javascript"],[".py","python"],[".pyi","python"],[".rs","rust"],[".go","go"],[".java","java"],[".kt","kotlin"],[".kts","kotlin"],[".scala","scala"],[".rb","ruby"],[".php","php"],[".cs","csharp"],[".vb","vb"],[".dart","dart"],[".c","c"],[".h","c"],[".cc","cpp"],[".cpp","cpp"],[".cxx","cpp"],[".hpp","cpp"],[".hh","cpp"],[".hxx","cpp"],[".vue","vue"]]);function N(e){return Ne.get(U(e).toLowerCase())??null}function Be(e){let n=new Map;for(let t of e){let o=n.get(t.symbol)??[];o.push(t),n.set(t.symbol,o)}return n}export{y as a,T as b,Oe as c,Ze as d,Ke as e};
7
+ //# sourceMappingURL=chunk-ZIBYCYKK.js.map
@@ -1,3 +1,3 @@
1
- import{b as m}from"./chunk-2OOY75BW.js";import{a as p}from"./chunk-JFMEXGFE.js";import{$ as h,W as d,_ as P}from"./chunk-KYSDI3GE.js";import{g as f}from"./chunk-7F45LJKI.js";import{realpathSync as c}from"fs";import{basename as x,dirname as L,join as T,relative as I,sep as O}from"path";import{fileURLToPath as S,pathToFileURL as y}from"url";function F(n,e){return e==="."||e==="./"?y(c(n)).href:y(d(n,e).absolutePath).href}function b(n,e){let r=S(e);return I(c(n),v(r)).split(O).join("/")}function v(n){try{return c(n)}catch{try{return T(c(L(n)),x(n))}catch{return n}}}function H(n,e,r){return{textDocument:{uri:F(n,e.relativePath)},position:z(n,e),context:{includeDeclaration:r}}}function z(n,e){let r={line:e.startLine,character:e.startChar??0};try{return M(P(n,e.relativePath,{inputKind:"indexed Rust source file"}),e,r)}catch(t){if(!h(t))throw t;return r}}function M(n,e,r={line:e.startLine,character:e.startChar??0}){let t=n.split(/\r?\n/),o=t[e.startLine];if(o===void 0||e.leaf.length===0)return r;let i=Math.max(0,Math.min(r.character,o.length)),s=o.indexOf(e.leaf,i);if(s>=0)return{line:e.startLine,character:u(s,e.leaf)};let a=o.indexOf(e.leaf);if(a>=0)return{line:e.startLine,character:u(a,e.leaf)};let l=D(t,e.startLine,e.leaf);return l||r}function u(n,e){return n+Math.max(0,e.length-2)}function D(n,e,r){for(let t of[-1,1,-2,2]){let o=e+t;if(o<0||o>=n.length)continue;let i=n[o].indexOf(r);if(i>=0)return{line:o,character:u(i,r)}}return null}function K(n,e){return e.map(r=>({file:b(n,r.uri),line:r.range.start.line,column:r.range.start.character}))}function X(n){let e=new Map;for(let r of n)e.set(`${r.file}\0${r.line}\0${r.column}`,r);return[...e.values()].sort((r,t)=>{let o=r.file.localeCompare(t.file);return o!==0?o:r.line!==t.line?r.line-t.line:r.column-t.column})}import{randomUUID as E}from"crypto";import{readdirSync as $,rmSync as j,writeFileSync as A}from"fs";import{join as g}from"path";var R="rust-analyzer-owner-",w=".json",U=16*1024;function Z(n,e){if(!n||!e.rootIdentity)return null;let r=g(n,`${R}${e.rootPid}-${E()}${w}`),t={version:1,rootIdentity:e.rootIdentity,ownsProcessGroup:e.ownsProcessGroup};return A(r,`${JSON.stringify(t)}
2
- `,{encoding:"utf8",mode:384,flag:"wx"}),r}function ee(n){n&&j(n,{force:!0})}async function re(n,e){if(!n)return[];let r;try{r=$(n)}catch{return[]}let t=r.filter(s=>s.startsWith(R)&&s.endsWith(w)).map(s=>g(n,s)),o=[],i=[];for(let s of t){let a=C(s);a?i.push(a):o.push({reaped:!1,reason:"identity-unavailable",detail:`Rust analyzer ownership record ${s} could not be validated.`})}return o.push(...await Promise.all(i.map(s=>m(s,e)))),o}function C(n){try{let e=f(n,{maxBytes:U,inputKind:"rust-analyzer process ownership record"}),r=JSON.parse(e),t=p(r.rootIdentity);return r.version!==1||!t||typeof r.ownsProcessGroup!="boolean"?null:{rootPid:t.pid,rootIdentity:t,ownsProcessGroup:r.ownsProcessGroup,knownMembers:new Map([[t.pid,t]])}}catch{return null}}export{Z as a,ee as b,re as c,F as d,b as e,H as f,K as g,X as h};
3
- //# sourceMappingURL=chunk-GAS2LJMP.js.map
1
+ import{b as h}from"./chunk-6FFVZZL4.js";import{a as P}from"./chunk-QZ7KQZRN.js";import{q as p,u as m,v as d}from"./chunk-TKD34PHN.js";import{h as f}from"./chunk-62BDNPMI.js";import{realpathSync as c}from"fs";import{basename as x,dirname as L,join as T,relative as I,sep as O}from"path";import{fileURLToPath as S,pathToFileURL as y}from"url";function F(n,e){return e==="."||e==="./"?y(c(n)).href:y(p(n,e).absolutePath).href}function b(n,e){let r=S(e);return I(c(n),v(r)).split(O).join("/")}function v(n){try{return c(n)}catch{try{return T(c(L(n)),x(n))}catch{return n}}}function H(n,e,r){return{textDocument:{uri:F(n,e.relativePath)},position:z(n,e),context:{includeDeclaration:r}}}function z(n,e){let r={line:e.startLine,character:e.startChar??0};try{return M(m(n,e.relativePath,{inputKind:"indexed Rust source file"}),e,r)}catch(t){if(!d(t))throw t;return r}}function M(n,e,r={line:e.startLine,character:e.startChar??0}){let t=n.split(/\r?\n/),o=t[e.startLine];if(o===void 0||e.leaf.length===0)return r;let i=Math.max(0,Math.min(r.character,o.length)),s=o.indexOf(e.leaf,i);if(s>=0)return{line:e.startLine,character:u(s,e.leaf)};let a=o.indexOf(e.leaf);if(a>=0)return{line:e.startLine,character:u(a,e.leaf)};let l=D(t,e.startLine,e.leaf);return l||r}function u(n,e){return n+Math.max(0,e.length-2)}function D(n,e,r){for(let t of[-1,1,-2,2]){let o=e+t;if(o<0||o>=n.length)continue;let i=n[o].indexOf(r);if(i>=0)return{line:o,character:u(i,r)}}return null}function K(n,e){return e.map(r=>({file:b(n,r.uri),line:r.range.start.line,column:r.range.start.character}))}function X(n){let e=new Map;for(let r of n)e.set(`${r.file}\0${r.line}\0${r.column}`,r);return[...e.values()].sort((r,t)=>{let o=r.file.localeCompare(t.file);return o!==0?o:r.line!==t.line?r.line-t.line:r.column-t.column})}import{randomUUID as E}from"crypto";import{readdirSync as $,rmSync as j,writeFileSync as A}from"fs";import{join as g}from"path";var R="rust-analyzer-owner-",w=".json",U=16*1024;function Z(n,e){if(!n||!e.rootIdentity)return null;let r=g(n,`${R}${e.rootPid}-${E()}${w}`),t={version:1,rootIdentity:e.rootIdentity,ownsProcessGroup:e.ownsProcessGroup};return A(r,`${JSON.stringify(t)}
2
+ `,{encoding:"utf8",mode:384,flag:"wx"}),r}function ee(n){n&&j(n,{force:!0})}async function re(n,e){if(!n)return[];let r;try{r=$(n)}catch{return[]}let t=r.filter(s=>s.startsWith(R)&&s.endsWith(w)).map(s=>g(n,s)),o=[],i=[];for(let s of t){let a=C(s);a?i.push(a):o.push({reaped:!1,reason:"identity-unavailable",detail:`Rust analyzer ownership record ${s} could not be validated.`})}return o.push(...await Promise.all(i.map(s=>h(s,e)))),o}function C(n){try{let e=f(n,{maxBytes:U,inputKind:"rust-analyzer process ownership record"}),r=JSON.parse(e),t=P(r.rootIdentity);return r.version!==1||!t||typeof r.ownsProcessGroup!="boolean"?null:{rootPid:t.pid,rootIdentity:t,ownsProcessGroup:r.ownsProcessGroup,knownMembers:new Map([[t.pid,t]])}}catch{return null}}export{Z as a,ee as b,re as c,F as d,b as e,H as f,K as g,X as h};
3
+ //# sourceMappingURL=chunk-ZLADLUE6.js.map
@@ -0,0 +1,4 @@
1
+ import{b as T}from"./chunk-NDUNO5JQ.js";import{i as F}from"./chunk-62BDNPMI.js";import{createRequire as Te}from"module";import{dirname as N,isAbsolute as be,relative as E,resolve as m,sep as R}from"path";import{PositionEncoding as re}from"@c4312/scip";var M=new WeakSet,L=re.UTF16CodeUnitOffsetFromLineStart;function z(t){if(M.has(t))return;let e=t.serialize;if(typeof e!="function")throw new Error("scip-typescript document serializer is unavailable");t.serialize=function(r){let i=e.call(this,r);if(r){r.writeEnum(6,L);return}if(!i)throw new Error("scip-typescript document serializer returned no bytes");let n=new Uint8Array(i.length+2);return n.set(i),n.set([48,L],i.length),n},M.add(t)}import{createHash as ie}from"crypto";var j=new WeakSet;function U(t,e,r){if(j.has(t))return;let i=t.scipSymbol,n=t.descriptor;if(typeof i!="function"||typeof n!="function"||typeof t.cached!="function")throw new Error("scip-typescript symbol runtime has an unsupported module shape");t.scipSymbol=function(o){if(v(o,e))return this.globalSymbolTable.get(o)??this.cached(o,r.global(this.scipSymbol(o.getSourceFile()),r.methodDescriptor("default")));if(!e.isPropertyAssignment(o)&&!e.isShorthandPropertyAssignment(o)&&!e.isObjectLiteralExpression(o))return i.call(this,o);let c=this.globalSymbolTable.get(o);if(c)return c;let s=this.scipSymbol(o.getSourceFile()),a=e.isObjectLiteralExpression(o)?"objectLiteral":o.name.getText(),l=r.metaDescriptor(`${a}$${o.getStart()}`);return this.cached(o,r.global(s,l))},t.descriptor=function(o){return e.isTypeLiteralNode(o)?r.metaDescriptor(`typeLiteral$${o.getStart()}`):n.call(this,o)},j.add(t)}function v(t,e){if(e.isFunctionDeclaration(t))return ne(t,e)?t:null;if(e.isExportAssignment(t)){if(t.isExportEquals||!e.isSourceFile(t.parent))return null;let i=b(t.expression,e);return e.isArrowFunction(i)||e.isFunctionExpression(i)?i:null}if(!e.isArrowFunction(t)&&!e.isFunctionExpression(t))return null;let r=t;for(;r.parent&&b(r.parent,e)===t;)r=r.parent;return r.parent&&e.isExportAssignment(r.parent)?v(r.parent,e):null}function ne(t,e){return!t.name&&e.isSourceFile(t.parent)&&!!e.getModifiers(t)?.some(r=>r.kind===e.SyntaxKind.DefaultKeyword)}function b(t,e){for(;e.isParenthesizedExpression(t)||e.isAsExpression(t)||e.isSatisfiesExpression(t)||e.isNonNullExpression(t)||e.isTypeAssertionExpression(t);)t=t.expression;return t}function $(t,e,r,i,n=new Set){if(t.version!=="5.9.3"||!se(t,e,r))return null;let o=t.BuilderState?.computeDtsSignature;if(!o)return null;try{let c=[];if(o(oe(t,e,n),r,void 0,{createHash:V},a=>c.push(a)),c.length!==1)return null;let s=new k(t,e.getTypeChecker(),i,r).capture(n);return V(JSON.stringify([c[0],s]))}catch{return null}}function oe(t,e,r){if(!r.size)return e;let i=()=>n=>{if(!t.isSourceFile(n))throw new Error("Unsupported bundled declaration boundary");return t.factory.updateSourceFile(n,n.statements.filter(o=>!t.isFunctionDeclaration(o)||!o.name||!r.has(o.name.text)))};return{...e,emit:(...n)=>{let o=[...n];return o[4]={afterDeclarations:[i]},e.emit(...o)}}}function se(t,e,r){return!r.isDeclarationFile&&/\.[cm]?tsx?$/.test(r.fileName)&&t.isExternalModule(r)&&!e.getCompilerOptions().outFile&&e.getSyntacticDiagnostics(r).length===0&&!x(t,r)}function x(t,e){return t.isModuleDeclaration(e)||t.isExportAssignment(e)&&e.isExportEquals?!0:t.forEachChild(e,r=>x(t,r)||void 0)===!0}var k=class{constructor(e,r,i,n){this.ts=e;this.checker=r;this.indexer=i;this.source=n}ts;checker;indexer;source;visited=new Map;nodes=[];capture(e){let r=this.checker.getSymbolAtLocation(this.source);if(!r)throw new Error("Module symbol unavailable");return{roots:this.checker.getExportsOfModule(r).filter(n=>!e.has(n.name)).map(n=>{let o=n.flags&this.ts.SymbolFlags.Alias?this.checker.getAliasedSymbol(n):n;return[n.name,this.origins(o),o.flags&this.ts.SymbolFlags.Value?this.walk(this.checker.getTypeOfSymbol(o)):null,o.flags&this.ts.SymbolFlags.Type?this.walk(this.checker.getDeclaredTypeOfSymbol(o)):null]}),types:this.nodes}}origins(e){if(!e)return null;let i=(e.getDeclarations()??[]).map(n=>{let o=this.indexer.scipSymbol(n).value;if(o&&!o.startsWith("local "))return o;let c=n.getSourceFile();if(!c||n.pos<0)throw new Error("Declaration identity unavailable");return[c.fileName,n.kind,n.getStart(c),n.getText(c)]});return[e.name,i,e.getDocumentationComment(this.checker),e.getJsDocTags(this.checker)]}walk(e){let r=this.visited.get(e);if(r!==void 0)return r;if(this.nodes.length>=2e3)throw new Error("Exported type traversal exceeds its budget");let i=this.nodes.length;this.visited.set(e,i);let n={flags:e.flags};if(this.nodes.push(n),n.symbol=this.origins(e.symbol),n.alias=this.origins(e.aliasSymbol),n.aliasArguments=e.aliasTypeArguments?.map(o=>this.walk(o)),ce(this.ts,e))return i;if(e.isUnionOrIntersection())return n.parts=e.types.map(o=>this.walk(o)),i;if(!(e.flags&this.ts.TypeFlags.Object))throw new Error("Unsupported exported type");return this.object(e,n),i}object(e,r){if(e.objectFlags&this.ts.ObjectFlags.Reference){let i=e;if(r.arguments=this.checker.getTypeArguments(i).map(n=>this.walk(n)),B(i.target.symbol)){r.externalTarget=this.origins(i.target.symbol);return}if(this.checker.isTupleType(e)){r.tuple=!0;return}}if(e.objectFlags&this.ts.ObjectFlags.ClassOrInterface){if(B(e.symbol)){r.externalTarget=this.origins(e.symbol);return}throw new Error("Unsupported exported class or interface")}r.properties=this.checker.getPropertiesOfType(e).map(i=>[i.name,this.origins(i),this.walk(this.checker.getTypeOfSymbol(i))]),r.calls=this.checker.getSignaturesOfType(e,this.ts.SignatureKind.Call).map(i=>this.signature(i)),r.constructors=this.checker.getSignaturesOfType(e,this.ts.SignatureKind.Construct).map(i=>this.signature(i)),r.indexes=this.checker.getIndexInfosOfType(e).map(i=>[this.walk(i.keyType),this.walk(i.type)])}signature(e){if(e.typeParameters?.length||this.checker.getTypePredicateOfSignature(e))throw new Error("Unsupported generic or predicate signature");return{parameters:e.parameters.map(r=>[r.name,this.origins(r),this.walk(this.checker.getTypeOfSymbol(r))]),thisParameter:e.thisParameter?this.walk(this.checker.getTypeOfSymbol(e.thisParameter)):null,returns:this.walk(this.checker.getReturnTypeOfSignature(e))}}};function B(t){let e=t?.getDeclarations();return!!e?.length&&e.every(r=>r.getSourceFile().isDeclarationFile)}function ce(t,e){let r=t.TypeFlags.Unknown|t.TypeFlags.String|t.TypeFlags.Number|t.TypeFlags.Boolean|t.TypeFlags.BooleanLiteral|t.TypeFlags.StringLiteral|t.TypeFlags.NumberLiteral|t.TypeFlags.BigInt|t.TypeFlags.BigIntLiteral|t.TypeFlags.ESSymbol|t.TypeFlags.Void|t.TypeFlags.Undefined|t.TypeFlags.Null|t.TypeFlags.Never;return(e.flags&~r)===0}function V(t){return ie("sha256").update(t).digest("hex")}var w=new WeakMap;function K(t,e,r){w.has(e)||w.set(e,le(t,e));let i=w.get(e);if(!i)return null;let n=ae(i,r);for(let o of n){if(x(t,o))return null;for(let c of i.get(o.fileName)??[])n.add(c.source)}return n}function ae(t,e){let r=new Set;for(let[i,n]of e)for(let o of t.get(i)??[])(o.names===null||o.names.some(c=>n.has(c)))&&r.add(o.source);return r}function D(t,e,r){let i=_(t,e),n=_(t,r),o=new Set([...i.keys(),...n.keys()].filter(l=>i.has(l)!==n.has(l)));if(!o.size)return null;for(let l of o){let p=i.get(l)??n.get(l);if(p?.length!==1||!p[0]?.body)return null}let c=new Set([...o].flatMap(l=>[...i.get(l)??[],...n.get(l)??[]])),s=l=>t.isIdentifier(l)&&o.has(l.text)||t.forEachChild(l,p=>s(p)||void 0)===!0,a=l=>l.statements.filter(p=>!c.has(p));return a(e).some(s)||a(r).some(s)?null:o}function _(t,e){let r=new Map;for(let i of e.statements){if(!t.isFunctionDeclaration(i)||!i.name)continue;let n=t.getModifiers(i);if(!n?.some(c=>c.kind===t.SyntaxKind.ExportKeyword)||n.some(c=>c.kind===t.SyntaxKind.DefaultKeyword||c.kind===t.SyntaxKind.DeclareKeyword))continue;let o=r.get(i.name.text)??[];o.push(i),r.set(i.name.text,o)}return r}function le(t,e){let r=e;if(t.version!=="5.9.3"||!r.getResolvedModuleFromModuleSpecifier)return null;let i=new Map,n=!0,o=(c,s)=>{if(!n)return;let a=ue(t,c);if(a)try{let l=r.getResolvedModuleFromModuleSpecifier(a,s)?.resolvedModule,p=l&&e.getSourceFile(l.resolvedFileName);if(p){let d=i.get(p.fileName)??[];d.push({source:s,names:pe(t,c)}),i.set(p.fileName,d)}}catch{n=!1}t.forEachChild(c,l=>o(l,s))};for(let c of e.getSourceFiles())o(c,c);return n?i:null}function pe(t,e){if(t.isImportDeclaration(e)){let r=e.importClause;return r?r.namedBindings&&!t.isNamedImports(r.namedBindings)?null:[...r.name?["default"]:[],...r.namedBindings?.elements.map(i=>(i.propertyName??i.name).text)??[]]:[]}return t.isExportDeclaration(e)&&e.exportClause&&t.isNamedExports(e.exportClause)?e.exportClause.elements.map(r=>(r.propertyName??r.name).text):null}function ue(t,e){let r;return t.isImportDeclaration(e)||t.isExportDeclaration(e)?r=e.moduleSpecifier:t.isExternalModuleReference(e)?r=e.expression:t.isImportTypeNode(e)&&t.isLiteralTypeNode(e.argument)?r=e.argument.literal:t.isCallExpression(e)&&me(t,e.expression)&&(r=e.arguments[0]),r&&t.isStringLiteralLike(r)?r:null}function me(t,e){return e.kind===t.SyntaxKind.ImportKeyword||t.isIdentifier(e)&&e.text==="require"}var H=new WeakSet;function W(t,e,r){if(H.has(t))return;let i=t.visit;if(typeof i!="function"||typeof t.pushOccurrence!="function")throw new Error("scip-typescript call visitor has an unsupported module shape");t.visit=function(n){if(e.isCallExpression(n)&&n.expression.kind===e.SyntaxKind.SuperKeyword){let o=ye(this.checker,n,e),c=o?this.scipSymbol(o).value:"";if(c){let s=n.getSourceFile(),a=s.getLineAndCharacterOfPosition(n.expression.getStart(s)),l=s.getLineAndCharacterOfPosition(n.expression.getEnd());this.pushOccurrence(new r({range:[a.line,a.character,l.character],symbol:c,symbol_roles:0}))}}i.call(this,n)},H.add(t)}function ye(t,e,r){let i=e.parent;for(;i&&!r.isClassDeclaration(i)&&!r.isClassExpression(i);)i=i.parent;if(!i)return null;let n=J(t,i,r);if(!n)return null;let o=t.getResolvedSignature(e)?.declaration;return o&&r.isConstructorDeclaration(o)?de(t,n,o.parent,r)?o:null:n.members.some(c=>r.isConstructorDeclaration(c))?null:n}function de(t,e,r,i){let n=e,o=new Set;for(;n&&!o.has(n);){if(n===r)return!0;o.add(n),n=J(t,n,i)}return!1}function J(t,e,r){let n=e.heritageClauses?.find(o=>o.token===r.SyntaxKind.ExtendsKeyword)?.types[0]?.expression;return n?q(t,n,r,new Set):null}function q(t,e,r,i){for(;r.isParenthesizedExpression(e);)e=e.expression;if(i.has(e))return null;if(i.add(e),r.isClassExpression(e))return e;if(!r.isIdentifier(e)&&!r.isPropertyAccessExpression(e))return null;let n=ge(t,e,r);return n?r.isClassDeclaration(n)||r.isClassExpression(n)?n:r.isVariableDeclaration(n)&&n.initializer&&n.parent.flags&r.NodeFlags.Const?q(t,n.initializer,r,i):null:null}function ge(t,e,r){let i=t.getSymbolAtLocation(e);i&&(i.flags&r.SymbolFlags.Alias)!==0&&(i=t.getAliasedSymbol(i));let n=i?.declarations??[];return n.length===1?n[0]:null}var G=new WeakSet;function Y(t,e,r){if(G.has(t))return;let i=t.getDeclarationsForPropertyAssignment;if(typeof i!="function")throw new Error("scip-typescript contextual property runtime is unavailable");t.getDeclarationsForPropertyAssignment=function(o){return i.call(this,o)?.filter(c=>c.parent?.kind!==e.SyntaxKind.ObjectLiteralExpression)};let n=t.index;t.index=function(){if(n.call(this),!this.document.occurrences.length)return;let o=new Map;for(let s of this.document.occurrences){if((s.symbol_roles&1)===0)continue;let a=o.get(s.symbol)??[];a.push(s),o.set(s.symbol,a)}let c=s=>{Se(this,s,o,e);let a=v(s,e);a&&(e.isExportAssignment(s)||e.isFunctionDeclaration(s))&&fe(this,s,a,r,e),(e.isCallExpression(s)||e.isNewExpression(s))&&he(this,s,r,e),e.forEachChild(s,c)};c(this.sourceFile)},G.add(t)}function fe(t,e,r,i,n){let o=t.scipSymbol(e).value;if(!o||t.document.occurrences.some(s=>s.symbol===o&&(s.symbol_roles&1)!==0))return;let c=e.getChildren().find(s=>s.kind===n.SyntaxKind.DefaultKeyword)??r.getFirstToken()??r;t.pushOccurrence(new i.Occurrence({symbol:o,symbol_roles:1,range:h(c),enclosing_range:h(r)})),t.document.symbols.some(s=>s.symbol===o)||t.document.symbols.push(new i.SymbolInformation({symbol:o,documentation:[`\`\`\`ts
2
+ ${r.getText()}
3
+ \`\`\``]}))}function he(t,e,r,i){let n=e.expression;if(!i.isElementAccessExpression(n))return;let o=b(n.argumentExpression,i);if(o===n.argumentExpression||!(i.isStringLiteralLike(o)||i.isNumericLiteral(o)))return;let s=t.checker.getTypeAtLocation(n.expression).getProperty(o.text)?.declarations??[];if(s.length!==1)return;let a=t.scipSymbol(s[0]).value,l=h(o);a&&!t.document.occurrences.some(p=>p.symbol===a&&Q(p.range,l))&&t.pushOccurrence(new r.Occurrence({symbol:a,symbol_roles:0,range:l}))}function h(t){let e=t.getSourceFile(),r=e.getLineAndCharacterOfPosition(t.getStart(e)),i=e.getLineAndCharacterOfPosition(t.end);return r.line===i.line?[r.line,r.character,i.character]:[r.line,r.character,i.line,i.character]}function Q(t,e){return t.length===e.length&&t.every((r,i)=>r===e[i])}function Se(t,e,r,i){if(i.isPropertyDeclaration(e)||i.isGetAccessorDeclaration(e)||i.isSetAccessorDeclaration(e)||i.isPropertySignature(e)){let n=t.scipSymbol(e).value,o=h(e.name);for(let c of r.get(n)??[])!c.enclosing_range?.length&&Q(c.range,o)&&(c.enclosing_range=h(e))}}var y=Te(import.meta.url),ve=7,X="0.4.0";function Fe(){try{let t=Z();if(!t.available)return t;let{packageRoot:e}=t,r=y.resolve("typescript",{paths:[e]}),i=y(r),{FileIndexer:n}=y(m(e,"dist/src/FileIndexer.js")),{Input:o}=y(m(e,"dist/src/Input.js")),{Packages:c}=y(m(e,"dist/src/Packages.js")),s=y(m(e,"dist/src/scip.js"));if(!n||!o||!c||!s.scip?.Document||!s.scip.Index||!s.scip.Occurrence||!s.scip.SymbolInformation)return{available:!1,reason:"scip-typescript document runtime has an unsupported module shape"};let{ScipSymbol:a}=y(m(e,"dist/src/ScipSymbol.js")),{metaDescriptor:l,methodDescriptor:p}=y(m(e,"dist/src/Descriptor.js"));U(n.prototype,i,{global:a.global,metaDescriptor:l,methodDescriptor:p}),z(s.scip.Document.prototype),W(n.prototype,i,s.scip.Occurrence),Y(n.prototype,i,{Occurrence:s.scip.Occurrence,SymbolInformation:s.scip.SymbolInformation});let d={packageVersion:t.packageVersion,typescript:i,Document:s.scip.Document,Index:s.scip.Index,FileIndexer:n,Input:o,Packages:c};return{available:!0,runtime:d,producerIdentity:A(d)}}catch(t){return{available:!1,reason:`scip-typescript document runtime unavailable: ${t instanceof Error?t.message:String(t)}`}}}function Ke(){let t=Z();return t.available?{available:!0,packageVersion:t.packageVersion,typescriptVersion:t.typescriptVersion,producerIdentity:t.producerIdentity}:t}function Z(){try{let t=y.resolve("@sourcegraph/scip-typescript/package.json"),e=JSON.parse(F(t,"scip-typescript package manifest"));if(e.version!==X)return{available:!1,reason:`unsupported scip-typescript version ${String(e.version??"unknown")}; expected ${X}`};let r=N(t),i=y.resolve("typescript/package.json",{paths:[r]}),n=JSON.parse(F(i,"TypeScript package manifest"));return typeof n.version!="string"||!n.version?{available:!1,reason:"scip-typescript TypeScript compiler version is unavailable"}:{available:!0,packageRoot:r,packageVersion:e.version,typescriptVersion:n.version,producerIdentity:te(e.version,n.version)}}catch(t){return{available:!1,reason:`scip-typescript document producer unavailable: ${t instanceof Error?t.message:String(t)}`}}}function He(t){let e=t.runtime===void 0?Fe():t.runtime===null?{available:!1,reason:"scip-typescript document runtime unavailable"}:{available:!0,runtime:t.runtime,producerIdentity:A(t.runtime)};return e.available?{available:!0,emitter:new I(t,e.runtime)}:e}var I=class{producerIdentity;workspaceRoot;tsconfigPath;projectRoot;maxFileByteSize;runtime;host;config=null;includedFiles=new Set;program=null;checker=null;symbolTable=new Map;constructorTable=new Map;packages;fragments=new Map;documentCache=new T;stats={initializations:0,programUpdates:0,documentsEmitted:0,documentsReused:0,documentsRemoved:0,sourceNodesReused:0,sourceNodesReplaced:0,symbolEntriesPruned:0};constructor(e,r){this.workspaceRoot=m(e.workspaceRoot),this.tsconfigPath=m(this.workspaceRoot,e.tsconfigPath),this.projectRoot=e.projectRoot??De(this.workspaceRoot,N(this.tsconfigPath)),this.maxFileByteSize=e.maxFileByteSize??1024*1024,this.runtime=r,this.producerIdentity=A(r);let i=C(r.typescript,this.tsconfigPath);this.config=i,this.host=new P(r.typescript,i.options,this.workspaceRoot),this.packages=new r.Packages(this.projectRoot)}initialize(){let e=performance.now();this.initializeProgram();let r=[];for(let i of this.program.getSourceFiles())this.includedFiles.has(g(i.fileName))&&r.push(this.emitSourceFile(i));return this.result(r,e)}advance(e){if(!this.program||!this.checker||!this.config)return this.initializeAndAdvance(e);let r=performance.now(),{modifiedFiles:i,removedFiles:n,affectedFiles:o}=Ce(e);if(this.fragments.clear(),i.length===0&&n.length===0)return this.validateAffectedPaths(o),this.result(this.emitAffectedFiles(o),r);let c=this.detachConsumerDocuments(i,n),s=C(this.runtime.typescript,this.tsconfigPath);this.config=s,this.includedFiles=new Set(s.fileNames.map(g));let a=this.program,l=this.invalidateSourceNodes([...i,...n]);return this.program=this.runtime.typescript.createProgram(s.fileNames,s.options,this.host.compilerHost,a),this.checker=this.program.getTypeChecker(),this.stats.programUpdates+=1,this.validateIncrementalPaths(i,n,o),this.stats.documentsRemoved+=n.length,this.recordSourceNodeUpdates(l),this.restoreConsumerDocuments(c,i),this.result(this.emitAffectedFiles(o),r)}restoreCheckpoint(e){if(this.program)throw new Error("TypeScript compiler checkpoint requires a cold emitter");this.host.setSourceOverrides(e.sources,this.workspaceRoot);try{this.initializeProgram(),this.documentCache=e.documents}finally{this.host.setSourceOverrides(new Map,this.workspaceRoot)}}fragment(e){return this.fragments.get(S(e))?.bytes??null}snapshotStats(){return{...this.stats}}initializeAndAdvance(e){let r=performance.now();this.initializeProgram();let i=f(e.modifiedFiles),n=f(e.removedFiles??[]),o=f(e.affectedFiles);return this.fragments.clear(),this.validateIncrementalPaths(i,n,o,!0),this.stats.documentsRemoved+=n.length,this.result(this.emitAffectedFiles(o),r)}initializeProgram(){this.documentCache=new T,this.symbolTable=new Map,this.constructorTable.clear();let e=this.config??C(this.runtime.typescript,this.tsconfigPath);this.includedFiles=new Set(e.fileNames.map(g)),this.program=this.runtime.typescript.createProgram(e.fileNames,e.options,this.host.compilerHost),this.checker=this.program.getTypeChecker(),this.stats.initializations+=1}validateIncrementalPaths(e,r,i,n=!1){if(!n&&e.length===0&&r.length===0)throw new Error("incremental TypeScript document update requires a modified or removed file");if(i.length===0&&r.length===0)throw new Error("incremental TypeScript document update requires an affected or removed file");for(let o of e){let c=u(this.workspaceRoot,o);if(!this.program?.getSourceFile(c))throw new Error(`modified TypeScript dependency is unavailable to the configured project: ${o}`)}for(let o of r){let c=u(this.workspaceRoot,o);if(this.program?.getSourceFile(c))throw new Error(`removed TypeScript source is still present in the configured project: ${o}`)}this.validateAffectedPaths(i)}validateAffectedPaths(e){for(let r of e){let i=u(this.workspaceRoot,r);if(!this.includedFiles.has(g(i)))throw new Error(`affected TypeScript file is outside the configured project: ${r}`)}}emitAffectedFiles(e){return this.stats.symbolEntriesPruned+=this.symbolTable.size+this.constructorTable.size,this.symbolTable=new Map,this.constructorTable.clear(),e.map(r=>{let i=this.program.getSourceFile(u(this.workspaceRoot,r));if(!i)throw new Error(`affected TypeScript source is unavailable: ${r}`);return this.emitSourceFile(i)})}emitSourceFile(e){if(!this.checker)throw new Error("TypeScript document emitter is not initialized");let r=S(E(this.workspaceRoot,e.fileName)),i=this.documentCache.lookup(r);if(i!==void 0){this.stats.documentsReused+=1;let a=we(r,i,this.runtime);return this.fragments.set(r,a),a}let n=new this.runtime.Document({relative_path:r,occurrences:[]});if(this.fileIndexer(e,n).index(),this.stats.documentsEmitted+=1,n.occurrences.length===0)return this.fragments.delete(r),this.stats.documentsRemoved+=1,{relativePath:r,bytes:null,occurrences:0,symbols:n.symbols.length,referenceFragments:[]};let c=n.serializeBinary();this.documentCache.set(r,c);let s={relativePath:r,blobHash:this.documentCache.lookup(r)?.blobHash,byteLength:c.byteLength,bytes:c,occurrences:n.occurrences.length,symbols:n.symbols.length,referenceFragments:ee(r,n)};return this.fragments.set(r,s),s}fileIndexer(e,r){return new this.runtime.FileIndexer(this.checker,{cwd:this.workspaceRoot,projectRoot:this.projectRoot,projectDisplayName:this.projectRoot,maxFileByteSizeNumber:this.maxFileByteSize},new this.runtime.Input(e.fileName,e.getText()),r,this.symbolTable,this.constructorTable,this.packages,e)}captureBoundaries(e,r){let i=new Map;this.symbolTable=new Map,this.constructorTable.clear();for(let n of e){let o=this.program?.getSourceFile(u(this.workspaceRoot,n));if(!o||!this.program)return null;let c=this.fileIndexer(o,new this.runtime.Document({relative_path:n,occurrences:[]})),s=$(this.runtime.typescript,this.program,o,c,r?.get(n));if(s===null)return null;i.set(n,s)}return i}detachConsumerDocuments(e,r){let i=this.documentCache;this.documentCache=new T;let n=this.isolatedChangesFromDisk(e),o=r.length?null:this.captureBoundaries(e,n);return o?{documents:i,boundaries:o,isolatedChanges:n,program:this.program,options:JSON.stringify(this.config.options)}:null}restoreConsumerDocuments(e,r){if(!e||e.options!==JSON.stringify(this.config.options)||!ke(e.program,this.program,r,this.workspaceRoot)||!xe(e.boundaries,this.captureBoundaries(r,e.isolatedChanges)))return;let i=[...r];if(e.isolatedChanges.size){let n=this.verifiedIsolatedChanges(e);if(!n)return;let o=K(this.runtime.typescript,this.program,n);if(!o||[...o].some(c=>!this.includedFiles.has(g(c.fileName))))return;i.push(...[...o].map(c=>S(E(this.workspaceRoot,c.fileName))))}for(let n of i)e.documents.delete(n);e.documents.protectForGeneration(),this.documentCache=e.documents}isolatedChangesFromDisk(e){let r=new Map,i=this.runtime.typescript;for(let n of e){let o=u(this.workspaceRoot,n),c=this.program.getSourceFile(o),s=this.host.compilerHost.readFile(o);if(!c||s===void 0)continue;let a=i.createSourceFile(o,s,i.ScriptTarget.Latest),l=D(i,c,a);l&&r.set(n,l)}return r}verifiedIsolatedChanges(e){let r=new Map;for(let[i,n]of e.isolatedChanges){let o=u(this.workspaceRoot,i),c=e.program.getSourceFile(o),s=this.program.getSourceFile(o),a=D(this.runtime.typescript,c,s);if(!a||a.size!==n.size||[...a].some(l=>!n.has(l)))return null;r.set(s.fileName,a)}return r}invalidateSourceNodes(e){let r=new Map;for(let i of e){let n=u(this.workspaceRoot,i),o=this.program.getSourceFile(n);o&&r.set(i,o),this.host.invalidate(n)}return r}recordSourceNodeUpdates(e){for(let[r,i]of e)this.program.getSourceFile(u(this.workspaceRoot,r))===i?this.stats.sourceNodesReused+=1:this.stats.sourceNodesReplaced+=1}result(e,r){return{producerIdentity:this.producerIdentity,fragments:e,durationMs:performance.now()-r,stats:this.snapshotStats()}}};function we(t,e,r){let i,n,o,c=()=>{if(n!==void 0)return n;let s=e.read();return i=s,n=s===null?null:r.Document.deserializeBinary(s)};return{relativePath:t,blobHash:e.blobHash,byteLength:e.byteLength,get bytes(){return c(),i},get occurrences(){return c()?.occurrences.length??0},get symbols(){return c()?.symbols.length??0},get referenceFragments(){let s=c();return o??=s?ee(t,s):[]}}}function ee(t,e){let r=new Map;for(let i of e.occurrences){if(!i.symbol||(i.symbol_roles&1)!==0||i.range.length<3)continue;let n=i.range[0],o=i.range[1];if(!Number.isInteger(n)||!Number.isInteger(o))continue;let c={targetSymbol:i.symbol,location:{file:t,line:n,column:o}};r.set(`${i.symbol}\0${n}\0${o}`,c)}return[...r.values()].sort((i,n)=>i.targetSymbol.localeCompare(n.targetSymbol)||i.location.line-n.location.line||i.location.column-n.location.column)}var P=class{compilerHost;sourceFiles=new Map;sourceOverrides=new Map;constructor(e,r,i){let n=e.createCompilerHost(r),o=n.readFile.bind(n);n.readFile=s=>this.sourceOverrides.get(g(s))??o(s);let c=n.getSourceFile.bind(n);this.compilerHost={...n,getCurrentDirectory:()=>i,getSourceFile:(s,a,l,p)=>{let d=g(s);if(this.sourceFiles.has(d))return this.sourceFiles.get(d);let O=c(s,a,l,p);return this.sourceFiles.set(d,O),O}}}setSourceOverrides(e,r){this.sourceOverrides.clear();for(let[i,n]of e)this.sourceOverrides.set(g(u(r,i)),n.charCodeAt(0)===65279?n.slice(1):n)}invalidate(e){this.sourceFiles.delete(g(e))}};function ke(t,e,r,i){if(t.getSourceFiles().length!==e.getSourceFiles().length||JSON.stringify(t.getRootFileNames())!==JSON.stringify(e.getRootFileNames()))return!1;let n=new Set(r.map(o=>u(i,o)));return t.getSourceFiles().every((o,c)=>{let s=e.getSourceFiles()[c];return s?.fileName===o.fileName&&(n.has(m(o.fileName))||o===s)})}function xe(t,e){return e!==null&&t.size===e.size&&[...t].every(([r,i])=>e.get(r)===i)}function C(t,e){let r=t.readConfigFile(e,t.sys.readFile);if(r.error)throw new Error(t.formatDiagnostics([r.error],t.createCompilerHost({})));let i=t.parseJsonConfigFileContent(r.config,t.sys,N(e)),n=i.errors.filter(o=>o.code!==18003);if(n.length>0)throw new Error(t.formatDiagnostics(n,t.createCompilerHost({})));return i}function A(t){return te(t.packageVersion,t.typescript.version)}function te(t,e){return`scip-typescript:${t}:typescript:${e}:document-adapter:${ve}`}function De(t,e){return S(E(t,e))||"."}function u(t,e){if(be(e))throw new Error(`expected a project-relative path: ${e}`);let r=m(t,e),i=t.endsWith(R)?t:`${t}${R}`;if(r!==t&&!r.startsWith(i))throw new Error(`path escapes the project root: ${e}`);return r}function f(t){return[...new Set(t.map(S))].sort()}function S(t){return t.split(R).join("/").replace(/^\.\//,"")}function g(t){return m(t)}function Ce(t){let e=f(t.modifiedFiles),r=f(t.removedFiles??[]),i=f(t.affectedFiles);return{modifiedFiles:e,removedFiles:r,affectedFiles:i}}export{Fe as a,Ke as b,He as c};
4
+ //# sourceMappingURL=chunk-ZO4YXUT6.js.map
@@ -1,2 +1,2 @@
1
- import{a as i}from"./chunk-EKV5HX33.js";import{a as t}from"./chunk-2GRUZAQF.js";function a(e,o){let r=i(e,o);return r?t(e,"forward",[r]).filter(s=>!e.isIgnored(s)).map(s=>({relativePath:s,edgeBasis:"symbol-references",evidence:"cross-file SCIP references plus resolved source imports"})):[]}function p(e,o){let r=i(e,o);return r?t(e,"reverse",[r]).filter(s=>!e.isIgnored(s)).map(s=>({relativePath:s,edgeBasis:"symbol-references",evidence:"cross-file SCIP references plus resolved source imports"})):[]}export{a,p as b};
2
- //# sourceMappingURL=chunk-HYO3NP5Q.js.map
1
+ import{a as i}from"./chunk-AOSIYPTA.js";import{a as t}from"./chunk-GCKCF5FL.js";function a(e,o){let r=i(e,o);return r?t(e,"forward",[r]).filter(s=>!e.isIgnored(s)).map(s=>({relativePath:s,edgeBasis:"symbol-references",evidence:"cross-file SCIP references plus resolved source imports"})):[]}function p(e,o){let r=i(e,o);return r?t(e,"reverse",[r]).filter(s=>!e.isIgnored(s)).map(s=>({relativePath:s,edgeBasis:"symbol-references",evidence:"cross-file SCIP references plus resolved source imports"})):[]}export{a,p as b};
2
+ //# sourceMappingURL=chunk-ZR4HBC2H.js.map
package/dist/cli-main.js CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import{i as pe,j as le,k as v,m as fe,q as he,w as l,y as j}from"./chunk-OLIWTZI3.js";import{a as re,b as oe,d as ie}from"./chunk-RBLQNW26.js";import{c as ae,d as se,e as ce,f as me,g as de,h as ue}from"./chunk-6PQNKL3G.js";import{Ab as y,Cb as Q,Eb as X,Fb as K,Gb as Z,Hb as ee,Rb as P,Sb as te,Ub as ne,ec as $e,ob as C,pb as Y,zb as S}from"./chunk-NOYBFVJA.js";import{A as b,D as M,F as G,I as F,Va as q,Wd as J,_ as m,ea as R,ib as U,jb as L,kb as V,lb as H,mb as z,me as B,t as _,u as $,z as W}from"./chunk-66DVSJQG.js";import{Help as bt,program as d}from"commander";import{existsSync as Rt,realpathSync as Te}from"fs";import{fileURLToPath as St}from"url";var We=new Set(["code","outline","refs"]),Me=["--symbol","--at","--search","--view","--edge","--direction","--subtype","--connecting","--inventory-only","--fold","--depth","--max-edges"];function ge(e){if(e[2]!=="evidence")return;let n=e[3];if(!n||n.startsWith("-"))return;if(e.slice(4).some(o=>Me.some(r=>o===r||o.startsWith(`${r}=`)))){e.splice(3,1,"--symbol",n);return}e[2]="evidence-source"}function Ge(e){return e!==void 0&&We.has(e)}async function Ce(e){if(e==="continue"){let{outputContinuationCommandDescriptor:t}=await import("./output-continuation-command-UPQAAKBP.js");return[t]}if(Ge(e)){let{directNavigationQueryCommandDescriptors:t}=await import("./direct-navigation-6YO234F2.js"),i=t.find(o=>o.id===e);if(!i)throw new Error(`Direct navigation command descriptor is unavailable: ${e}`);return[i]}let{commandDescriptors:n}=await import("./command-descriptors-P34VABY5.js");return n}import{Option as Ue}from"commander";function D(e){return e.evidence?e.evidence:Fe.has(e.id)?"mixed":e.heuristic?"heuristic":"graph-fact"}var Fe=new Set(["health","context","co-change"]);function ye(e){if(e.claims){if(e.claims.origin==="mixed"&&!e.claims.families?.length)throw new Error(`Mixed command ${e.id} must declare at least one claim family.`);return e.claims}let n=D(e);if(n==="mixed")throw new Error(`Mixed command ${e.id} must declare claim families.`);let t=e.agent?se(e.agent.operation):[];return t.length>0&&t.every(o=>o==="repository-observation"||o==="repository-preview")?{origin:n==="heuristic"?"heuristic":"compiler-graph",observedSources:["index-generation"],producerValidation:{status:"not-evaluated"}}:{origin:"unknown",observedSources:["process"],producerValidation:{status:"not-evaluated"}}}import{basename as qe}from"path";function ve(e=process.argv,n=process.execPath){let t=e[1];return!t||qe(t)==="scip-query"?["scip-query"]:[n,t]}function Ee(e,n){return me(new Map(n.map(t=>[t.id,D(t)]))),ue(new Map(n.map(t=>[t.id,ye(t)]))),de(new Map(n.flatMap(t=>t.agent?[[t.id,{...t.agent,resultUnits:Ve(t)}]]:[]))),n.map(t=>{let i=t.hidden?e.command(t.command,{hidden:!0}):e.command(t.command);i.description(t.description),t.helpAfter&&i.addHelpText("after",`
3
- ${t.helpAfter.trim()}
4
- `);for(let o of t.arguments??[])i.argument(o.name);for(let o of t.options??[])if(o.hidden){let r=new Ue(o.flags,o.description).hideHelp();o.parser&&r.argParser(o.parser),Object.hasOwn(o,"defaultValue")&&r.default(o.defaultValue),i.addOption(r)}else o.parser&&Object.hasOwn(o,"defaultValue")?i.option(o.flags,o.description,o.parser,o.defaultValue):o.parser?i.option(o.flags,o.description,o.parser):Object.hasOwn(o,"defaultValue")?i.option(o.flags,o.description,o.defaultValue):i.option(o.flags,o.description);return i.action(async(...o)=>{try{let r=i.optsWithGlobals();Le(r);let a=()=>t.id===re?t.handler(...o):oe({command:t.id,producerVersion:m,invocationPrefix:ve(),argv:process.argv.slice(2),cwd:process.cwd(),json:r.json===!0,agentOutput:r.agentOutput===!0,...typeof r.jsonOutput=="string"?{jsonOutputPath:r.jsonOutput}:{},sourceSession:r.session!==!1,reemitSource:r.reemit===!0,...typeof r.outputPageSize=="number"?{pageSize:r.outputPageSize}:{},...typeof r.outputCursor=="string"?{cursor:r.outputCursor}:{}},()=>t.handler(...o)),c=t.agent?ae(t.agent.operation,{args:o.slice(0,-1),options:r}):void 0;await(c?ce(c,a):a())}catch(r){He(r)}}),{descriptor:t,command:i}})}function Le(e){if(e.resultOnly===!0&&e.json!==!0)throw new Error("--result-only requires --json.");if(e.compact===!0&&e.json!==!0)throw new Error("--compact requires --json.");if(e.agentOutput===!0&&e.json!==!0)throw new Error("--agent-output requires --json.");if(typeof e.jsonOutput=="string"&&e.json!==!0)throw new Error("--json-output requires --json.");if(e.rawJson===!0&&e.json!==!0)throw new Error("--raw-json requires --json.");if(e.agentOutput===!0&&e.rawJson===!0)throw new Error("--agent-output cannot be combined with --raw-json.");if(typeof e.jsonOutput=="string"){if(e.agentOutput===!0||e.rawJson===!0)throw new Error("--json-output cannot be combined with --agent-output or --raw-json.");if(e.outputPageSize!==void 0||e.outputCursor!==void 0)throw new Error("--json-output cannot be combined with output pagination.")}if(e.rawJson===!0&&(e.outputPageSize!==void 0||e.outputCursor!==void 0))throw new Error("--raw-json cannot be combined with output pagination.")}function Ve(e){let n=e.agent?.resultUnits;if(n?.kind==="field"&&n.field.trim()==="")throw new Error(`Command ${e.id} declares an empty result-unit field.`);return n||(e.renderShape==="list"||e.renderShape==="table"||e.renderShape==="grouped-by-file"?{kind:"rows"}:{kind:"report"})}function He(e){let n=e instanceof Error?e.message:String(e);console.error(`error: ${te(n)}`),process.exitCode=1}var ze=new Set(j),xe=new Map(j.map((e,n)=>[e,n])),Je=new Set(["Navigation","Graph","Impact","Exploration"]),Be=new Set(["Cleanup","Health"]),Ye=new Set(["Indexing","Core","Maintenance"]);function Qe(e){if(e.hidden||e.agent?.semantic?.compatibility==="deprecated")return"compatibility";if(ze.has(e.id))return"primary-exploration";let n=e.docs?.category;if(n&&Je.has(n))return"specialized-analysis";if(n&&Be.has(n))return"quality-cleanup";if(n&&Ye.has(n))return"maintenance";if(n==="Formal Models")return"formal-modeling";throw new Error(`Visible command ${e.id} has no cockpit panel (docs category: ${n??"missing"}).`)}function Xe(e,n={}){let i=[{id:"primary-exploration",title:"Primary exploration",purpose:"Locate exact referents, project chosen relationships, and read only named implementation gaps."},{id:"specialized-analysis",title:"Specialized analysis",purpose:"Run a named graph, impact, or structural analysis when that exact analysis answers the task."},{id:"quality-cleanup",title:"Quality and cleanup",purpose:"Evaluate repository quality, cleanup candidates, and configured architecture findings."},{id:"maintenance",title:"Maintenance",purpose:"Build, inspect, configure, and maintain the project index and local integrations."},{id:"formal-modeling",title:"Formal modeling",purpose:"Create, verify, and check explicit state-machine models and traces."},{id:"compatibility",title:"Compatibility and deprecated controls",purpose:"Preserved invocation surfaces for existing consumers; do not choose these for new workflows."}].map(r=>({...r,commands:e.filter(a=>Qe(a)===r.id).sort((a,c)=>r.id==="primary-exploration"?(xe.get(a.id)??Number.MAX_SAFE_INTEGER)-(xe.get(c.id)??Number.MAX_SAFE_INTEGER):0)})),o=new Set(["primary-exploration","maintenance"]);return i.filter(r=>r.commands.length>0&&(n.includeCompatibility||o.has(r.id)))}function O(e,n,t={}){let i=[`Usage: ${e.name()} [options] [command]`,"",e.description(),"","Options:"],o=e.options.map(a=>a.flags),r=Math.max(...o.map(a=>a.length),0);for(let a of e.options)i.push(` ${a.flags.padEnd(r)} ${a.description}`);i.push(` ${"-h, --help".padEnd(r)} Display this grouped command help`);for(let a of Xe(n,t)){i.push("",`${a.title}:`,` ${a.purpose}`);let c=Math.max(...a.commands.map(s=>s.command.length),0);for(let s of a.commands)i.push(` ${s.command.padEnd(c)} ${s.description}`)}return t.includeCompatibility||i.push("","Run `scip-query --help-all` to include advanced, compatibility, and deprecated controls."),i.push("Run `scip-query <command> --help` for one control's options and examples.",""),i.join(`
5
- `)}import{createHash as Ke}from"crypto";import{lstatSync as Ze}from"fs";import{isAbsolute as et,join as Pe}from"path";var je="git-worktree-context.json",we=16*1024,be=/^[0-9a-f]{40,64}$/,Re=/^[0-9a-f]{24}$/,Se=/^[0-9a-f]{64}$/;function De(e,n,t=b){let i=t!==b||F(),o=i?tt(e,n):void 0;if(o){let a=G(e,o,t);if(a)return a}let r=M(e,t);if(r&&i)try{nt(e,n,r.context,o)}catch{}return r}function tt(e,n){try{let t=R(e,n),i=Pe(t.physicalCacheDir,je),o=Ze(i);if(!o.isFile()||o.isSymbolicLink()||o.size>we)return;let r=JSON.parse(_(i,{inputKind:"Git worktree context receipt",maxBytes:we}));return!rt(r)||r.requestedProjectRoot!==t.record.canonicalProjectRoot||r.cacheOwnerSha256!==t.ownerSha256||r.checksum!==Oe(r)?void 0:r}catch{return}}function nt(e,n,t,i){if(!t.headCommit||!t.treeOid)return;let o=R(e,n),r={version:1,requestedProjectRoot:o.record.canonicalProjectRoot,cacheOwnerSha256:o.ownerSha256,projectRoot:t.projectRoot,gitDir:t.gitDir,commonDir:t.commonDir,repositoryId:t.repositoryId,worktreeId:t.worktreeId,headCommit:t.headCommit,treeOid:t.treeOid},a={...r,checksum:Oe(r)};i?.checksum!==a.checksum&&J(Pe(o.physicalCacheDir,je),a,{spacing:2,trailingNewline:!0})}function rt(e){return ot(e)?e.version===1&&E(e.requestedProjectRoot)&&p(Se,e.cacheOwnerSha256)&&E(e.projectRoot)&&E(e.gitDir)&&E(e.commonDir)&&p(Re,e.repositoryId)&&p(Re,e.worktreeId)&&p(be,e.headCommit)&&p(be,e.treeOid)&&p(Se,e.checksum):!1}function ot(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function E(e){return typeof e=="string"&&et(e)}function Oe(e){return Ke("sha256").update(JSON.stringify({version:e.version,requestedProjectRoot:e.requestedProjectRoot,cacheOwnerSha256:e.cacheOwnerSha256,projectRoot:e.projectRoot,gitDir:e.gitDir,commonDir:e.commonDir,repositoryId:e.repositoryId,worktreeId:e.worktreeId,headCommit:e.headCommit,treeOid:e.treeOid})).digest("hex")}function p(e,n){return typeof n=="string"&&e.test(n)}import{existsSync as it,mkdirSync as at,writeFileSync as st}from"fs";import{homedir as ct}from"os";import{join as x}from"path";var mt=1440*60*1e3,Ae="update-check.json",dt="https://registry.npmjs.org/scip-query/latest";async function I(e={}){let n=e.env??process.env;if(n.SCIP_QUERY_UPDATE_CHECK==="0"||n.NO_UPDATE_NOTIFIER)return;let t=e.cacheDir??lt(n),i=e.now??Date.now(),o=e.currentVersion??m,r=ft(t),a=r&&i-r.checkedAt<mt?r.latestVersion:await ht(t,e.fetchLatestVersion??Ct,i);if(!a||!pt(a,o))return;(e.writeNotice??(s=>console.error(s)))(ut(o,a))}function ut(e,n){return[`scip-query update available: ${e} -> ${n}.`,"Agent: tell your human to update with: npm install -g scip-query@latest",""].join(`
6
- `)}function pt(e,n){let t=Ie(e),i=Ie(n);if(!t||!i)return e!==n;for(let o=0;o<t.length;o++){let r=t[o]-i[o];if(r>0)return!0;if(r<0)return!1}return!1}function lt(e){let n=e.XDG_CACHE_HOME||x(ct(),".cache");return x(n,"scip-query")}function ft(e){let n=x(e,Ae);if(!it(n))return null;try{let t=JSON.parse($(n,"update notice cache"));return typeof t.checkedAt=="number"&&(typeof t.latestVersion=="string"||t.latestVersion===null)?{checkedAt:t.checkedAt,latestVersion:t.latestVersion}:null}catch{return null}}async function ht(e,n,t){let i;try{i=await n()}catch{i=null}return gt(e,{checkedAt:t,latestVersion:i}),i}function gt(e,n){try{at(e,{recursive:!0}),st(x(e,Ae),`${JSON.stringify(n,null,2)}
7
- `)}catch{}}async function Ct(){let e=await fetch(dt,{signal:AbortSignal.timeout(1e3)});if(!e.ok)return null;let n=await e.json();return typeof n.version=="string"?n.version:null}function Ie(e){let n=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(e);return n?[Number(n[1]),Number(n[2]),Number(n[3])]:null}var yt=5e3,vt=100,Et={prepare:X,freshness:Y,ensureService:v,inspectService:fe,requestRefresh:he,async reindex(e,n,t,i){let{reindexConfiguredProject:o}=await import("./project-reindex-UKKQ5PLS.js");return o(e,n,t,i)},wait(e){return new Promise(n=>setTimeout(n,e))},now:Date.now};async function Ne(e,n=Et,t={}){if(e.dbPathSource==="env")return{source:"explicit-index",service:{kind:"skipped",reason:"environment"}};let i=xt(e,n),o=n.prepare(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext,gitObservation:e.gitObservation,...i?{watcherGeneration:i}:{}}),r=o.kind==="local-fresh"&&o.freshness?o.freshness:n.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext}),a=n.ensureService({commandName:e.commandName,projectRoot:e.projectRoot,cacheDir:e.paths.cacheDir,cliVersion:m,config:e.config,gitContext:e.gitContext});if(r.state==="fresh")return{source:o.kind==="local-fresh"?"existing":"shared-generation",service:a};let c=a.kind==="started"||a.kind==="reused";if(c&&n.requestRefresh(B(e.paths.cacheDir).activityPath,`evidence command ${e.commandName} requires a fresh generation`),C(r))return{source:"stale",service:a};if(c){let s=a.state.watcher.state;if(s==="budget-paused"||s==="indexing")throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: index remained ${r.state} (${r.reason}) while the watcher is ${s}`);if(r=await wt(e,r,n,t,a),r.state==="fresh")return{source:"watcher",service:a};if(C(r))return{source:"stale",service:a}}try{await n.reindex(e.projectRoot,e.config,e.paths,{allowPartial:!1,skipAutoInstall:!0,trigger:{kind:"watch-demand",detail:`scip-query ${e.commandName}`},onStatus:()=>{}})}catch(s){throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: ${s instanceof Error?s.message:String(s)}`,{cause:s})}if(r=n.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext}),r.state!=="fresh"&&!C(r))throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: index remained ${r.state} (${r.reason})`);return{source:"synchronous-reindex",service:a}}function xt(e,n){if(e.config.watch?.enabled===!0)try{return pe(n.inspectService({projectRoot:e.projectRoot,cacheDir:e.paths.cacheDir,cliVersion:m,gitContext:e.gitContext}))}catch{return}}async function wt(e,n,t,i,o){if(o.state.watcher.state==="budget-paused")return n;let r=Math.max(0,i.waitMs??yt),a=Math.max(1,i.pollMs??vt),c=t.now()+r,s=n;for(;t.now()<c;)if(await t.wait(Math.min(a,Math.max(1,c-t.now()))),s=t.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext}),s.state==="fresh")return s;return s}async function ke(e,n={}){try{await e()}catch(t){let i=t instanceof Error?t.message:String(t);console.error(`error: ${i}`),(n.debug??process.env.SCIP_QUERY_DEBUG!==void 0)&&t instanceof Error&&t.stack&&console.error(t.stack),process.exitCode=1}}var w=Dt();w&&(ne(),d.configureOutput({writeOut:e=>process.stdout.write(P(e)),writeErr:e=>process.stderr.write(P(e))}));d.name("scip-query").description("Language-agnostic code intelligence CLI powered by SCIP indexes").version(m).option("--output-page-size <characters>","Return bounded output pages with an exact continuation command",ie).option("--output-cursor <cursor>","Continue a bounded output page").option("--agent-output","Emit a bounded JSON projection for model-facing clients (requires --json)").option("--json-output <path>","Atomically write the complete JSON result and print a small receipt").option("--raw-json","Explicitly retain the legacy unpaged JSON stream (requires --json)").option("--no-session","Disable the explicit exploration evidence ledger").option("--reemit","Recovery only: render source and graph evidence again instead of citing session receipts").option("--help-all","Display every command, including compatibility and deprecated controls");w&&ge(process.argv);var N=await Ce(w?process.argv[2]:void 0);Ee(d,N);var f,Pt=new bt;d.configureHelp({formatHelp:(e,n)=>e===d?O(d,N):Pt.formatHelp(e,n)});d.hook("preAction",async(e,n)=>{let t=n.name();if(t==="continue"){A();return}let i=K(t),o=le(t);if(i&&(f=W()),!i&&!o){A(),await I({commandName:t});return}let r=S(),a=Q(r);y(a),A(),await I({commandName:t});let c=De(r,a.paths.cacheDir),s=c?.context;a={...a,gitContext:s},y(a);let{config:k,paths:T}=a;if(i){let u;try{u=await Ne({commandName:t,projectRoot:r,config:k,paths:T,dbPathSource:a.dbPathSource,gitContext:s,gitObservation:c})}catch(g){if(!Z(t)||!Rt(a.dbPath))throw g;let _e=g instanceof Error?g.message:String(g);console.error(`warning: index refresh failed; ${t} is using the existing index. Current file text remains exact, but index-derived symbols and relationships may be stale. ${_e}`),l(r,m,{repositoryId:s?.repositoryId??null});return}process.env.SCIP_QUERY_DEBUG&&console.error(`evidence-freshness: ${u.source}`),u.service.kind==="failed"&&console.error(`warning: scip-query watch service did not start: ${u.service.message}`),(u.service.kind==="failed"||u.service.kind==="skipped")&&l(r,m,{repositoryId:s?.repositoryId??null});return}if(!o){l(r,m,{repositoryId:s?.repositoryId??null});return}let h=v({commandName:t,projectRoot:r,cacheDir:T.cacheDir,cliVersion:m,config:k,gitContext:s});h.kind==="failed"&&console.error(`warning: scip-query watch service did not start: ${h.message}`),(h.kind==="failed"||h.kind==="skipped")&&l(r,m,{repositoryId:s?.repositoryId??null})});d.hook("postAction",()=>{y(void 0),f?.(),f=void 0});function A(){if(V(),!U()||H())return;let e=null,n=null;try{n=ee(S()),e=q(n)}catch{}finally{n?.close()}z({command:L()??`scip-query ${process.argv.slice(2).join(" ")}`,toolVersion:m,projectFingerprint:e})}async function jt(){try{process.argv.includes("--help-all")?process.stdout.write(O(d,N,{includeCompatibility:!0})):await d.parseAsync()}finally{f?.(),f=void 0}}w&&await ke(jt);function Dt(){if(!process.argv[1])return!1;let e=St(import.meta.url);try{return Te(e)===Te(process.argv[1])}catch{return e===process.argv[1]}}export{d as program,$e as renderHeuristicNotice,jt as runCli};
2
+ import{i as ce,j as de,k as C,m as me,q as ue,w as y}from"./chunk-L7GFM3NP.js";import{a as Z,b as ee,d as te}from"./chunk-B56T42J3.js";import{c as ne,d as re,e as oe,f as ie,g as ae,h as se}from"./chunk-EYK3ZAO2.js";import{Db as R,Eb as X,Gb as K,Sb as ke,ib as h,jb as H,lb as b,mb as g,ob as z,qb as J,rb as B,sb as Y,tb as Q}from"./chunk-JYWEX7RR.js";import{C as T,E as W,H as _,Re as V,Wa as $,_ as d,fa as w,kb as M,lb as F,mb as G,nb as U,ob as q,s as A,t as N,y as k,ye as L,z as x}from"./chunk-OZCJXZK6.js";import{Help as Dt,program as m}from"commander";import{existsSync as jt,realpathSync as Ie}from"fs";import{fileURLToPath as It}from"url";var Te=new Set(["code","outline","refs"]);function We(e){return e!==void 0&&Te.has(e)}async function pe(e){if(e==="continue"){let{outputContinuationCommandDescriptor:n}=await import("./output-continuation-command-BJSY67SN.js");return[n]}if(We(e)){let{directNavigationQueryCommandDescriptors:n}=await import("./direct-navigation-Y5B6OSIQ.js"),r=n.find(o=>o.id===e);if(!r)throw new Error(`Direct navigation command descriptor is unavailable: ${e}`);return[r]}let{commandDescriptors:t}=await import("./command-descriptors-HEEMDHTU.js");return t}import{Option as Me}from"commander";function S(e){return e.evidence?e.evidence:_e.has(e.id)?"mixed":e.heuristic?"heuristic":"graph-fact"}var _e=new Set(["health","context","co-change"]);function le(e){if(e.claims){if(e.claims.origin==="mixed"&&!e.claims.families?.length)throw new Error(`Mixed command ${e.id} must declare at least one claim family.`);return e.claims}let t=S(e);if(t==="mixed")throw new Error(`Mixed command ${e.id} must declare claim families.`);let n=e.agent?re(e.agent.operation):[];return n.length>0&&n.every(o=>o==="repository-observation"||o==="repository-preview")?{origin:t==="heuristic"?"heuristic":"compiler-graph",observedSources:["index-generation"],producerValidation:{status:"not-evaluated"}}:{origin:"unknown",observedSources:["process"],producerValidation:{status:"not-evaluated"}}}import{basename as $e}from"path";function fe(e=process.argv,t=process.execPath){let n=e[1];return!n||$e(n)==="scip-query"?["scip-query"]:[t,n]}function he(e,t){return ie(new Map(t.map(n=>[n.id,S(n)]))),se(new Map(t.map(n=>[n.id,le(n)]))),ae(new Map(t.flatMap(n=>n.agent?[[n.id,{...n.agent,resultUnits:qe(n)}]]:[]))),t.map(n=>{let r=n.hidden?e.command(n.command,{hidden:!0}):e.command(n.command);r.description(n.description),n.helpAfter&&r.addHelpText("after",`
3
+ ${n.helpAfter.trim()}
4
+ `);for(let o of n.arguments??[])r.argument(o.name);for(let o of n.options??[])Ve(r,o);return r.action(async(...o)=>{try{let i=r.optsWithGlobals();Fe(i);let a=()=>n.id===Z?n.handler(...o):ee({command:n.id,producerVersion:d,invocationPrefix:fe(),argv:process.argv.slice(2),cwd:process.cwd(),json:i.json===!0,agentOutput:i.agentOutput===!0,...typeof i.jsonOutput=="string"?{jsonOutputPath:i.jsonOutput}:{},sourceSession:i.session!==!1,reemitSource:i.reemit===!0,...typeof i.outputPageSize=="number"?{pageSize:i.outputPageSize}:{},...typeof i.outputCursor=="string"?{cursor:i.outputCursor}:{}},()=>n.handler(...o)),s=n.agent?ne(n.agent.operation,{args:o.slice(0,-1),options:i}):void 0;await(s?oe(s,a):a())}catch(i){Le(i)}}),{descriptor:n,command:r}})}function Fe(e){if(Ue(e),e.agentOutput===!0&&e.rawJson===!0)throw new Error("--agent-output cannot be combined with --raw-json.");if(Ge(e),e.rawJson===!0&&(e.outputPageSize!==void 0||e.outputCursor!==void 0))throw new Error("--raw-json cannot be combined with output pagination.")}function Ge(e){if(typeof e.jsonOutput=="string"){if(e.agentOutput===!0||e.rawJson===!0)throw new Error("--json-output cannot be combined with --agent-output or --raw-json.");if(e.outputPageSize!==void 0||e.outputCursor!==void 0)throw new Error("--json-output cannot be combined with output pagination.")}}function Ue(e){let t=(n,r)=>{if(r&&e.json!==!0)throw new Error(`${n} requires --json.`)};t("--result-only",e.resultOnly===!0),t("--compact",e.compact===!0),t("--agent-output",e.agentOutput===!0),t("--json-output",typeof e.jsonOutput=="string"),t("--raw-json",e.rawJson===!0)}function qe(e){let t=e.agent?.resultUnits;if(t?.kind==="field"&&t.field.trim()==="")throw new Error(`Command ${e.id} declares an empty result-unit field.`);return t||(e.renderShape==="list"||e.renderShape==="table"||e.renderShape==="grouped-by-file"?{kind:"rows"}:{kind:"report"})}function Le(e){let t=e instanceof Error?e.message:String(e);console.error(`error: ${X(t)}`),process.exitCode=1}function Ve(e,t){if(t.hidden){let n=new Me(t.flags,t.description).hideHelp();t.parser&&n.argParser(t.parser),Object.hasOwn(t,"defaultValue")&&n.default(t.defaultValue),e.addOption(n)}else t.parser&&Object.hasOwn(t,"defaultValue")?e.option(t.flags,t.description,t.parser,t.defaultValue):t.parser?e.option(t.flags,t.description,t.parser):Object.hasOwn(t,"defaultValue")?e.option(t.flags,t.description,t.defaultValue):e.option(t.flags,t.description)}var Ce=["system","context","evidence","health","review","diff-impact","architecture"],He=new Set(Ce),ge=new Map(Ce.map((e,t)=>[e,t])),ze=new Set(["Navigation","Graph","Impact","Exploration"]),Je=new Set(["Cleanup","Health"]),Be=new Set(["Indexing","Core","Maintenance"]);function Ye(e){if(e.hidden||e.agent?.semantic?.compatibility==="deprecated")return"compatibility";if(He.has(e.id))return"primary-exploration";let t=e.docs?.category,n=Xe(t);if(n)return n;throw new Error(`Visible command ${e.id} has no cockpit panel (docs category: ${t??"missing"}).`)}function Qe(e,t={}){let r=[{id:"primary-exploration",title:"Relationships and quality",purpose:"Inspect structure, reuse existing code, find problems and review changes."},{id:"specialized-analysis",title:"Specialized analysis",purpose:"Run a named graph, impact, or structural analysis when that exact analysis answers the task."},{id:"quality-cleanup",title:"Quality and cleanup",purpose:"Evaluate repository quality, cleanup candidates, and configured architecture findings."},{id:"maintenance",title:"Maintenance",purpose:"Manage the index and local integrations."},{id:"compatibility",title:"Compatibility and deprecated controls",purpose:"Preserved invocation surfaces for existing consumers; do not choose these for new workflows."}].map(i=>({...i,commands:e.filter(a=>Ye(a)===i.id).sort((a,s)=>i.id==="primary-exploration"?(ge.get(a.id)??Number.MAX_SAFE_INTEGER)-(ge.get(s.id)??Number.MAX_SAFE_INTEGER):0)})),o=new Set(["primary-exploration","maintenance"]);return r.filter(i=>i.commands.length>0&&(t.includeCompatibility||o.has(i.id)))}function P(e,t,n={}){let r=[`Usage: ${e.name()} [options] [command]`,"",e.description(),"","Options:"],o=e.options.map(a=>a.flags),i=Math.max(...o.map(a=>a.length),0);for(let a of e.options)r.push(` ${a.flags.padEnd(i)} ${a.description}`);r.push(` ${"-h, --help".padEnd(i)} Display this grouped command help`);for(let a of Qe(t,n)){r.push("",`${a.title}:`,` ${a.purpose}`);let s=Math.max(...a.commands.map(c=>c.command.length),0);for(let c of a.commands)r.push(` ${c.command.padEnd(s)} ${c.description}`)}return n.includeCompatibility||r.push("","Run `scip-query --help-all` to include advanced, compatibility, and deprecated controls."),r.push("Run `scip-query <command> --help` for one control's options and examples.",""),r.join(`
5
+ `)}function Xe(e){if(e&&ze.has(e))return"specialized-analysis";if(e&&Je.has(e))return"quality-cleanup";if(e&&Be.has(e))return"maintenance"}import{createHash as Ke}from"crypto";import{lstatSync as Ze}from"fs";import{isAbsolute as et,join as xe}from"path";var we="git-worktree-context.json",ye=16*1024,ve=/^[0-9a-f]{40,64}$/,Ee=/^[0-9a-f]{24}$/,be=/^[0-9a-f]{64}$/;function Re(e,t,n=x){let r=n!==x||_(),o=r?tt(e,t):void 0;if(o){let a=W(e,o,n);if(a)return a}let i=T(e,n);if(i&&r)try{nt(e,t,i.context,o)}catch{}return i}function tt(e,t){try{let n=w(e,t),r=xe(n.physicalCacheDir,we),o=Ze(r);if(!o.isFile()||o.isSymbolicLink()||o.size>ye)return;let i=JSON.parse(A(r,{inputKind:"Git worktree context receipt",maxBytes:ye}));return!rt(i)||i.requestedProjectRoot!==n.record.canonicalProjectRoot||i.cacheOwnerSha256!==n.ownerSha256||i.checksum!==Se(i)?void 0:i}catch{return}}function nt(e,t,n,r){if(!n.headCommit||!n.treeOid)return;let o=w(e,t),i={version:1,requestedProjectRoot:o.record.canonicalProjectRoot,cacheOwnerSha256:o.ownerSha256,projectRoot:n.projectRoot,gitDir:n.gitDir,commonDir:n.commonDir,repositoryId:n.repositoryId,worktreeId:n.worktreeId,headCommit:n.headCommit,treeOid:n.treeOid},a={...i,checksum:Se(i)};r?.checksum!==a.checksum&&L(xe(o.physicalCacheDir,we),a,{spacing:2,trailingNewline:!0})}function rt(e){return ot(e)?e.version===1&&v(e.requestedProjectRoot)&&p(be,e.cacheOwnerSha256)&&v(e.projectRoot)&&v(e.gitDir)&&v(e.commonDir)&&p(Ee,e.repositoryId)&&p(Ee,e.worktreeId)&&it(e):!1}function ot(e){return typeof e=="object"&&e!==null&&!Array.isArray(e)}function v(e){return typeof e=="string"&&et(e)}function Se(e){return Ke("sha256").update(JSON.stringify({version:e.version,requestedProjectRoot:e.requestedProjectRoot,cacheOwnerSha256:e.cacheOwnerSha256,projectRoot:e.projectRoot,gitDir:e.gitDir,commonDir:e.commonDir,repositoryId:e.repositoryId,worktreeId:e.worktreeId,headCommit:e.headCommit,treeOid:e.treeOid})).digest("hex")}function p(e,t){return typeof t=="string"&&e.test(t)}function it(e){return p(ve,e.headCommit)&&p(ve,e.treeOid)&&p(be,e.checksum)}import{existsSync as at,mkdirSync as st,writeFileSync as ct}from"fs";import{homedir as dt}from"os";import{join as E}from"path";var mt=1440*60*1e3,Oe="update-check.json",ut="https://registry.npmjs.org/scip-query/latest";async function O(e={}){let t=e.env??process.env;if(t.SCIP_QUERY_UPDATE_CHECK==="0"||t.NO_UPDATE_NOTIFIER)return;let n=e.cacheDir??ft(t),r=e.now??Date.now(),o=e.currentVersion??d,i=ht(n),a=i&&r-i.checkedAt<mt?i.latestVersion:await gt(n,e.fetchLatestVersion??yt,r);vt(a,o,e)}function pt(e,t){return[`scip-query update available: ${e} -> ${t}.`,"Agent: tell your human to update with: npm install -g scip-query@latest",""].join(`
6
+ `)}function lt(e,t){let n=Pe(e),r=Pe(t);if(!n||!r)return e!==t;for(let o=0;o<n.length;o++){let i=n[o]-r[o];if(i>0)return!0;if(i<0)return!1}return!1}function ft(e){let t=e.XDG_CACHE_HOME||E(dt(),".cache");return E(t,"scip-query")}function ht(e){let t=E(e,Oe);if(!at(t))return null;try{let n=JSON.parse(N(t,"update notice cache"));return typeof n.checkedAt=="number"&&(typeof n.latestVersion=="string"||n.latestVersion===null)?{checkedAt:n.checkedAt,latestVersion:n.latestVersion}:null}catch{return null}}async function gt(e,t,n){let r;try{r=await t()}catch{r=null}return Ct(e,{checkedAt:n,latestVersion:r}),r}function Ct(e,t){try{st(e,{recursive:!0}),ct(E(e,Oe),`${JSON.stringify(t,null,2)}
7
+ `)}catch{}}async function yt(){let e=await fetch(ut,{signal:AbortSignal.timeout(1e3)});if(!e.ok)return null;let t=await e.json();return typeof t.version=="string"?t.version:null}function Pe(e){let t=/^v?(\d+)\.(\d+)\.(\d+)(?:[-+].*)?$/.exec(e);return t?[Number(t[1]),Number(t[2]),Number(t[3])]:null}function vt(e,t,n){if(!e||!lt(e,t))return;(n.writeNotice??(o=>console.error(o)))(pt(t,e))}var Et=5e3,xt=100,wt={prepare:J,freshness:H,ensureService:C,inspectService:me,requestRefresh:ue,async reindex(e,t,n,r){let{reindexConfiguredProject:o}=await import("./project-reindex-EP24WT4X.js");return o(e,t,n,r)},wait(e){return new Promise(t=>setTimeout(t,e))},now:Date.now};function bt(e,t){let n=Pt(e,t),r=t.prepare(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext,gitObservation:e.gitObservation,...n?{watcherGeneration:n}:{}}),o=r.kind==="local-fresh"&&r.freshness?r.freshness:t.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext});return{prepared:r,freshness:o}}async function Rt(e,t,n,r,o){let i=o.state.watcher.state;if(i==="budget-paused"||i==="indexing")throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: index remained ${t.state} (${t.reason}) while the watcher is ${i}`);let a=await Ot(e,t,n,r,o);return a.state==="fresh"?{source:"watcher",service:o}:h(a)?{source:"stale",service:o}:null}async function St(e,t,n){try{await t.reindex(e.projectRoot,e.config,e.paths,{allowPartial:!1,skipAutoInstall:!0,trigger:{kind:"watch-demand",detail:`scip-query ${e.commandName}`},onStatus:()=>{}})}catch(o){throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: ${o instanceof Error?o.message:String(o)}`,{cause:o})}let r=t.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext});if(r.state!=="fresh"&&!h(r))throw new Error(`Could not prepare fresh evidence for scip-query ${e.commandName}: index remained ${r.state} (${r.reason})`);return{source:"synchronous-reindex",service:n}}async function De(e,t=wt,n={}){if(e.dbPathSource==="env")return{source:"explicit-index",service:{kind:"skipped",reason:"environment"}};let{prepared:r,freshness:o}=bt(e,t),i=t.ensureService({commandName:e.commandName,projectRoot:e.projectRoot,cacheDir:e.paths.cacheDir,cliVersion:d,config:e.config,gitContext:e.gitContext});if(o.state==="fresh")return{source:r.kind==="local-fresh"?"existing":"shared-generation",service:i};let a=i.kind==="started"||i.kind==="reused";if(a&&t.requestRefresh(V(e.paths.cacheDir).activityPath,`evidence command ${e.commandName} requires a fresh generation`),h(o))return{source:"stale",service:i};if(a){let s=await Rt(e,o,t,n,i);if(s)return s}return St(e,t,i)}function Pt(e,t){if(e.config.watch?.enabled===!0)try{return ce(t.inspectService({projectRoot:e.projectRoot,cacheDir:e.paths.cacheDir,cliVersion:d,gitContext:e.gitContext}))}catch{return}}async function Ot(e,t,n,r,o){if(o.state.watcher.state==="budget-paused")return t;let i=Math.max(0,r.waitMs??Et),a=Math.max(1,r.pollMs??xt),s=n.now()+i,c=t;for(;n.now()<s;)if(await n.wait(Math.min(a,Math.max(1,s-n.now()))),c=n.freshness(e.projectRoot,e.config,e.paths,{gitContext:e.gitContext}),c.state==="fresh")return c;return c}async function je(e,t={}){try{await e()}catch(n){let r=n instanceof Error?n.message:String(n);console.error(`error: ${r}`),(t.debug??process.env.SCIP_QUERY_DEBUG!==void 0)&&n instanceof Error&&n.stack&&console.error(n.stack),process.exitCode=1}}var j=_t();function At(e,t){return e==="system"&&t.source===!0?{prepareSharedCache:!1,startWatchService:!1}:{prepareSharedCache:B(e),startWatchService:de(e)}}j&&(K(),m.configureOutput({writeOut:e=>process.stdout.write(R(e)),writeErr:e=>process.stderr.write(R(e))}));m.name("scip-query").description("Language-agnostic code intelligence CLI powered by SCIP indexes").version(d).option("--output-page-size <characters>","Return bounded output pages with an exact continuation command",te).option("--output-cursor <cursor>","Continue a bounded output page").option("--agent-output","Emit a bounded JSON projection for model-facing clients (requires --json)").option("--json-output <path>","Atomically write the complete JSON result and print a small receipt").option("--raw-json","Explicitly retain the legacy unpaged JSON stream (requires --json)").option("--no-session","Disable the explicit exploration evidence ledger").option("--reemit","Recovery only: render source and graph evidence again instead of citing session receipts").option("--help-all","Display every command, including compatibility and deprecated controls");var I=await pe(j?process.argv[2]:void 0);he(m,I);var f,Nt=new Dt;m.configureHelp({formatHelp:(e,t)=>e===m?P(m,I):Nt.formatHelp(e,t)});async function kt(e){let t=b(),n=z(t);g(n),D(),await O({commandName:e});let r=Re(t,n.paths.cacheDir),o=r?.context;return n={...n,gitContext:o},g(n),{projectRoot:t,projectContext:n,gitObservation:r}}async function Tt(e,t){let{projectRoot:n,projectContext:r,gitObservation:o}=t,{config:i,paths:a,gitContext:s}=r,c;try{c=await De({commandName:e,projectRoot:n,config:i,paths:a,dbPathSource:r.dbPathSource,gitContext:s,gitObservation:o})}catch(u){if(!Y(e)||!jt(r.dbPath))throw u;let l=u instanceof Error?u.message:String(u);console.error(`warning: index refresh failed; ${e} is using the existing index. Current file text remains exact, but index-derived symbols and relationships may be stale. ${l}`),y(n,d,{repositoryId:s?.repositoryId??null});return}process.env.SCIP_QUERY_DEBUG&&console.error(`evidence-freshness: ${c.source}`),Ae(c.service,n,s)}function Ae(e,t,n){e.kind==="failed"&&console.error(`warning: scip-query watch service did not start: ${e.message}`),(e.kind==="failed"||e.kind==="skipped")&&y(t,d,{repositoryId:n?.repositoryId??null})}m.hook("preAction",async(e,t)=>{let n=t.name();if(n==="continue"){D();return}let{prepareSharedCache:r,startWatchService:o}=At(n,t.opts());if(r&&(f=k()),!r&&!o){D(),await O({commandName:n});return}let i=await kt(n),{projectRoot:a,projectContext:s}=i,{config:c,paths:u,gitContext:l}=s;if(r){await Tt(n,i);return}if(!o){y(a,d,{repositoryId:l?.repositoryId??null});return}let Ne=C({commandName:n,projectRoot:a,cacheDir:u.cacheDir,cliVersion:d,config:c,gitContext:l});Ae(Ne,a,l)});m.hook("postAction",()=>{g(void 0),f?.(),f=void 0});function D(){if(G(),!M()||U())return;let e=null,t=null;try{t=Q(b()),e=$(t)}catch{}finally{t?.close()}q({command:F()??`scip-query ${process.argv.slice(2).join(" ")}`,toolVersion:d,projectFingerprint:e})}async function Wt(){try{process.argv.includes("--help-all")?process.stdout.write(P(m,I,{includeCompatibility:!0})):await m.parseAsync()}finally{f?.(),f=void 0}}j&&await je(Wt);function _t(){if(!process.argv[1])return!1;let e=It(import.meta.url);try{return Ie(e)===Ie(process.argv[1])}catch{return e===process.argv[1]}}export{m as program,ke as renderHeuristicNotice,Wt as runCli};
8
8
  //# sourceMappingURL=cli-main.js.map
package/dist/cli.js CHANGED
@@ -1,3 +1,3 @@
1
1
  #!/usr/bin/env node
2
- import{realpathSync as s}from"fs";import{fileURLToPath as n}from"url";async function t(e,r={}){try{await e()}catch(o){let i=o instanceof Error?o.message:String(o);console.error(`error: ${i}`),(r.debug??process.env.SCIP_QUERY_DEBUG!==void 0)&&o instanceof Error&&o.stack&&console.error(o.stack),process.exitCode=1}}c()&&await t(async()=>{let e=process.argv.slice(2),r=!1;if(l(e)){let{tryRunQueryServiceFastPath:o}=await import("./query-service-fastpath.js");r=await o(e)}if(!r){let{runCli:o}=await import("./cli-main.js");await o()}});function c(){if(!process.argv[1])return!1;let e=n(import.meta.url);try{return s(e)===s(process.argv[1])}catch{return e===process.argv[1]}}function l(e){return(e[0]==="search"||e[0]==="outline"||e[0]==="code"||e[0]==="entrypoints"||e[0]==="files"||e[0]==="stats"||e[0]==="members"||e[0]==="methods"||e[0]==="deps"||e[0]==="rdeps"||e[0]==="imported-by"||e[0]==="hierarchy"||e[0]==="by-kind"||e[0]==="kind-counts"||e[0]==="refs"||e[0]==="trace"||e[0]==="value-flow"||e[0]==="dependence-slice"||e[0]==="call-graph"||e[0]==="reference-neighborhood"||e[0]==="reference-reachability"||e[0]==="slice"||e[0]==="dataflow"||e[0]==="imports"||e[0]==="unused-imports"||e[0]==="system"||e[0]==="surface")&&e.includes("--json")&&e.includes("--result-only")&&e.includes("--compact")&&process.env.SCIP_QUERY_PROFILE!=="1"&&process.env.SCIP_QUERY_PROFILE!=="true"}
2
+ import{realpathSync as n}from"fs";import{fileURLToPath as s}from"url";async function t(r,e={}){try{await r()}catch(o){let i=o instanceof Error?o.message:String(o);console.error(`error: ${i}`),(e.debug??process.env.SCIP_QUERY_DEBUG!==void 0)&&o instanceof Error&&o.stack&&console.error(o.stack),process.exitCode=1}}a()&&await t(async()=>{let r=process.argv.slice(2),e=!1;if(c(r)){let{tryRunQueryServiceFastPath:o}=await import("./query-service-fastpath.js");e=await o(r)}if(!e){let{runCli:o}=await import("./cli-main.js");await o()}});function a(){if(!process.argv[1])return!1;let r=s(import.meta.url);try{return n(r)===n(process.argv[1])}catch{return r===process.argv[1]}}function c(r){return r.includes("--json")&&r.includes("--result-only")&&r.includes("--compact")&&process.env.SCIP_QUERY_PROFILE!=="1"&&process.env.SCIP_QUERY_PROFILE!=="true"}
3
3
  //# sourceMappingURL=cli.js.map
@@ -84,7 +84,7 @@ interface CodeBatchEntry {
84
84
  suggestions: string[];
85
85
  fileCoverage?: CodeFileCoverage;
86
86
  rangeCoverage?: CodeRangeCoverage;
87
- reason?: 'definition-source-unreadable' | 'definition-not-found';
87
+ reason?: 'definition-source-unreadable' | 'definition-not-found' | 'definition-index-stale';
88
88
  }
89
89
  /**
90
90
  * A complete accounting of several exact source or file-surface selectors.
@@ -116,6 +116,7 @@ declare function code(db: ScipDatabase, symbolPattern: string, opts?: {
116
116
  declare function codeBatch(db: ScipDatabase, selectors: readonly string[], opts?: {
117
117
  context?: number;
118
118
  members?: CodeFileMemberMode;
119
+ localCalls?: boolean;
119
120
  }): CodeBatchResult;
120
121
 
121
- export { type BindingClosure as B, type CodeResult as C, type BindingDefinitionEvidence as a, type CodeBatchEntry as b, type CodeBatchResult as c, type CodeFileCoverage as d, type CodeFileDefinitionLedgerEntry as e, type CodeFileMemberMode as f, type CodeRangeCoverage as g, type CodeResolutionCandidate as h, type CodeSelectorKind as i, type CodeSelectorStatus as j, type CoveredSourceRange as k, code as l, codeBatch as m };
122
+ export { type BindingClosure as B, type CodeBatchEntry as C, type BindingDefinitionEvidence as a, type CodeBatchResult as b, type CodeFileCoverage as c, type CodeFileDefinitionLedgerEntry as d, type CodeFileMemberMode as e, type CodeRangeCoverage as f, type CodeResolutionCandidate as g, type CodeResult as h, type CodeSelectorKind as i, type CodeSelectorStatus as j, type CoveredSourceRange as k, code as l, codeBatch as m };
@@ -0,0 +1,2 @@
1
+ import{c as a,d as b}from"./chunk-H4EQHO6J.js";import"./chunk-PAVGPRHJ.js";import"./chunk-OGFV2BUX.js";import"./chunk-H73WY2RM.js";import"./chunk-ZHMRSZFD.js";import"./chunk-ZGTYGDMF.js";import"./chunk-WRQXLNYE.js";import"./chunk-DVFP6PZI.js";import"./chunk-QIWXRW72.js";import"./chunk-LOVIZBJ4.js";import"./chunk-QXEUDXBT.js";import"./chunk-O2C4UILI.js";import"./chunk-WXU3DGPU.js";import"./chunk-YUKYB54I.js";import"./chunk-J5FJMODQ.js";import"./chunk-WOFQ5DTB.js";import"./chunk-PH52RA7D.js";import"./chunk-7Y5T6XDP.js";import"./chunk-X6RMKHJQ.js";import"./chunk-JEVRKFRL.js";import"./chunk-QOIXNWQR.js";import"./chunk-GZKFETP5.js";import"./chunk-HRRFKWPZ.js";import"./chunk-YULZRALL.js";import"./chunk-HGFDYOVB.js";import"./chunk-TKD34PHN.js";import"./chunk-2HLAFUCY.js";import"./chunk-U5RIG3JP.js";import"./chunk-62BDNPMI.js";export{a as code,b as codeBatch};
2
+ //# sourceMappingURL=code-IL5WH3NZ.js.map
@@ -0,0 +1,4 @@
1
+ import{b as m,d}from"./chunk-QXEUDXBT.js";import"./chunk-J5FJMODQ.js";import"./chunk-WOFQ5DTB.js";import"./chunk-PH52RA7D.js";import"./chunk-7Y5T6XDP.js";import"./chunk-X6RMKHJQ.js";import"./chunk-JEVRKFRL.js";import"./chunk-QOIXNWQR.js";import"./chunk-GZKFETP5.js";import"./chunk-HRRFKWPZ.js";import{c as l}from"./chunk-YULZRALL.js";import"./chunk-HGFDYOVB.js";import"./chunk-TKD34PHN.js";import"./chunk-2HLAFUCY.js";import"./chunk-U5RIG3JP.js";import"./chunk-62BDNPMI.js";function i(n,e){let t=m(n,e);return t.match?{matched:!0,resolved:{symbol:t.match.symbol,shortName:l(t.match.symbol),relativePath:t.match.relativePath},otherMatches:t.candidates.map(s=>({shortName:s.shortName,relativePath:s.relativePath,startLine:s.startLine})),totalMatches:t.total}:{matched:!1,suggestions:d(n,e,5)}}function v(n,e,t,s){return{...i(n,e),[s]:t}}function h(n){let e=n.entries[0];return n.requested===1&&e?.status==="matched"&&e.kind==="source"&&(!e.rangeCoverage||e.rangeCoverage.referencedDefinitions===0)&&e.results.length===1?e.results[0]:null}function u(n,e,t){if(!t)return i(n,e);let s={file:t.relativePath,symbol:t.shortName,language:t.language??"unknown",range:{startLine:o(t.startLine),endLine:o(t.endLine)},...t.freshness?{freshness:t.freshness}:{},lines:t.source.split(`
2
+ `).map((c,g)=>({line:o(t.startLine+g),text:c}))},a=i(n,e),r=a.totalMatches??0;return!a.matched||!a.resolved||r<=1?s:{...s,resolution:{selected:a.resolved,alternatives:a.otherMatches??[],totalMatches:r}}}function f(n){return{requested:n.requested,matched:n.matched,ambiguous:n.ambiguous,missing:n.missing,entries:n.entries.map(e=>({selector:e.selector,status:e.status,kind:e.kind,totalCandidates:e.totalCandidates,sources:e.results.map(t=>({file:t.relativePath,symbol:t.shortName,language:t.language??"unknown",range:{startLine:o(t.startLine),endLine:o(t.endLine)},...t.freshness?{freshness:t.freshness}:{},lines:t.source.split(`
3
+ `).map((s,a)=>({line:o(t.startLine+a),text:s}))})),definitions:e.definitions,...e.fileCoverage?{fileCoverage:e.fileCoverage}:{},...e.rangeCoverage?{rangeCoverage:e.rangeCoverage}:{},candidates:e.candidates,omittedCandidates:e.omittedCandidates,suggestions:e.suggestions,...e.reason?{reason:e.reason}:{}})),literalValues:n.bindingClosure.inline}}function C(n,e,t){let s=h(t);return s?u(n,e[0],s):f(t)}function o(n){return n+1}export{f as codeBatchResultOnlyJson,C as codeBatchResultOnlyJsonForSelectors,u as codeResultOnlyJson,h as singleExactCodeResult,i as symbolResolutionJson,v as withSymbolResolutionJson};
4
+ //# sourceMappingURL=code-result-json-ANTBEDFP.js.map