scip-query 0.10.10 → 0.10.12

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 (279) hide show
  1. package/README.md +56 -35
  2. package/dist/augment-vue-worker.js +1 -1
  3. package/dist/chunk-2DOW7QCA.js +71 -0
  4. package/dist/chunk-2FMFF4RI.js +2 -0
  5. package/dist/{chunk-J7RWXLUL.js → chunk-2GLNBCHB.js} +2 -2
  6. package/dist/chunk-2UVCH7CQ.js +2 -0
  7. package/dist/{chunk-LM5SHAN4.js → chunk-3XSNW5XB.js} +2 -2
  8. package/dist/chunk-4ISHQ7UW.js +35 -0
  9. package/dist/{chunk-XXZXDXTD.js → chunk-5GXTUANY.js} +2 -2
  10. package/dist/{chunk-TL6QPNF5.js → chunk-5JHEN5VN.js} +2 -2
  11. package/dist/chunk-62ULXMQ7.js +18 -0
  12. package/dist/chunk-63CI3IXR.js +102 -0
  13. package/dist/{chunk-Z4I7BVIU.js → chunk-6BN3EHQE.js} +2 -2
  14. package/dist/chunk-7C6JBBE4.js +23 -0
  15. package/dist/chunk-7EK7OSWS.js +2 -0
  16. package/dist/chunk-7IWIMNHI.js +2 -0
  17. package/dist/chunk-7XTO4YXB.js +8 -0
  18. package/dist/{chunk-5NVUWIAN.js → chunk-A4UTLKHU.js} +2 -2
  19. package/dist/{chunk-FDEQIPPK.js → chunk-ANUEY5WV.js} +2 -2
  20. package/dist/chunk-AOWFUGDL.js +2 -0
  21. package/dist/chunk-AREANYIA.js +3 -0
  22. package/dist/{chunk-7UQWUVRG.js → chunk-AZBELWZQ.js} +2 -2
  23. package/dist/{chunk-WG6KRH5F.js → chunk-CXWCLVYL.js} +2 -2
  24. package/dist/chunk-CYHIKTJN.js +3 -0
  25. package/dist/{chunk-BVRS7RKQ.js → chunk-DDQONX6B.js} +2 -2
  26. package/dist/{chunk-736BLPHR.js → chunk-DFSEARAU.js} +2 -2
  27. package/dist/{chunk-UFX7EPBA.js → chunk-DQ6433ZG.js} +2 -2
  28. package/dist/chunk-DVFP6PZI.js +2 -0
  29. package/dist/chunk-E3ADDB43.js +2 -0
  30. package/dist/{chunk-YWOOQ4FF.js → chunk-ELC77ZDE.js} +1 -1
  31. package/dist/chunk-EOLGSSDR.js +2 -0
  32. package/dist/chunk-F6IXELII.js +20 -0
  33. package/dist/{chunk-QYB5P7GL.js → chunk-FMGVZBS2.js} +2 -2
  34. package/dist/{chunk-VOYOYC5T.js → chunk-FX6ULETZ.js} +2 -2
  35. package/dist/chunk-GG5LHT27.js +2 -0
  36. package/dist/chunk-GKB4JJDU.js +2 -0
  37. package/dist/chunk-H7JF2CKK.js +2 -0
  38. package/dist/chunk-HHOMJCP5.js +4 -0
  39. package/dist/chunk-HRDSU5FN.js +9 -0
  40. package/dist/{chunk-BZ53S4ZN.js → chunk-HWVYTJOV.js} +2 -2
  41. package/dist/chunk-JJ5SAWBT.js +2 -0
  42. package/dist/chunk-JNMLBL36.js +2 -0
  43. package/dist/chunk-JS6B76AQ.js +2 -0
  44. package/dist/{chunk-ZQO43G2T.js → chunk-KZ4MG5NY.js} +2 -2
  45. package/dist/{chunk-UQLFQLAF.js → chunk-L446VQYQ.js} +2 -2
  46. package/dist/{chunk-NZ4UDB5N.js → chunk-LDJUB7XW.js} +2 -2
  47. package/dist/{chunk-MMLZEGMS.js → chunk-LEHVP4DY.js} +2 -2
  48. package/dist/chunk-MNCQPMCH.js +2 -0
  49. package/dist/chunk-MYTUWXHK.js +4 -0
  50. package/dist/chunk-N25HPUOK.js +2 -0
  51. package/dist/chunk-NABVR6B7.js +2 -0
  52. package/dist/{chunk-PTQVNJ4Q.js → chunk-NBNEVLRC.js} +2 -2
  53. package/dist/chunk-NTSR6SRP.js +2 -0
  54. package/dist/{chunk-RYXW3KRC.js → chunk-OFXN2BCT.js} +2 -2
  55. package/dist/chunk-PWAK75BU.js +2 -0
  56. package/dist/chunk-Q5P7NOVM.js +2 -0
  57. package/dist/chunk-RGKRYO22.js +4 -0
  58. package/dist/chunk-RM2WQ75T.js +2 -0
  59. package/dist/chunk-ROGZXWN2.js +2 -0
  60. package/dist/chunk-RSSXKJ6J.js +38 -0
  61. package/dist/chunk-RUV5IY25.js +7 -0
  62. package/dist/chunk-RVGEZYMQ.js +2 -0
  63. package/dist/{chunk-IPQTC36U.js → chunk-RXINFVBN.js} +2 -2
  64. package/dist/{chunk-RXRLZFUL.js → chunk-S2MRVIJ5.js} +2 -2
  65. package/dist/chunk-SA3DPTHT.js +7 -0
  66. package/dist/chunk-SGTKURU6.js +52 -0
  67. package/dist/chunk-SQNHOOJ5.js +3 -0
  68. package/dist/chunk-T3AEVJBG.js +4 -0
  69. package/dist/{chunk-DQVKIG3D.js → chunk-T4N2ZRVY.js} +2 -2
  70. package/dist/{chunk-5VG7RKEF.js → chunk-TBCHRDAC.js} +2 -2
  71. package/dist/chunk-THB6AM3V.js +11 -0
  72. package/dist/chunk-ULHLDOD6.js +4 -0
  73. package/dist/chunk-UQ73QF5D.js +43 -0
  74. package/dist/chunk-UVPY3RUZ.js +2 -0
  75. package/dist/chunk-V5FGK3DZ.js +2 -0
  76. package/dist/{chunk-3DGD6NKW.js → chunk-VB2EZZPA.js} +2 -2
  77. package/dist/{chunk-56P7PDST.js → chunk-WTY5FERW.js} +2 -2
  78. package/dist/chunk-WUOB4DHH.js +6 -0
  79. package/dist/chunk-XHMVZFA6.js +2 -0
  80. package/dist/chunk-XRUGSM76.js +10 -0
  81. package/dist/{chunk-UYD7FJ3K.js → chunk-XUCZ3RQ5.js} +2 -2
  82. package/dist/chunk-YFQIKYOP.js +2 -0
  83. package/dist/chunk-Z2LDWIJV.js +5 -0
  84. package/dist/chunk-ZNWWVYQL.js +3 -0
  85. package/dist/{chunk-UDGXK2WA.js → chunk-ZUUNREKS.js} +2 -2
  86. package/dist/cli.js +277 -252
  87. package/dist/{config-types-BDIWAYzr.d.ts → config-types-dvHOz0zU.d.ts} +4 -1
  88. package/dist/{db-Djj3Nqrb.d.ts → db-rMZO5JFK.d.ts} +1 -1
  89. package/dist/{health-D5J42g4D.d.ts → health-CtTIGh6H.d.ts} +1 -1
  90. package/dist/index.d.ts +9 -5
  91. package/dist/index.js +2 -2
  92. package/dist/queries/affected.d.ts +2 -2
  93. package/dist/queries/affected.js +1 -1
  94. package/dist/queries/bottlenecks.d.ts +2 -2
  95. package/dist/queries/bottlenecks.js +1 -1
  96. package/dist/queries/by-kind.d.ts +2 -2
  97. package/dist/queries/by-kind.js +1 -1
  98. package/dist/queries/call-graph.d.ts +2 -2
  99. package/dist/queries/call-graph.js +1 -1
  100. package/dist/queries/change-surface.d.ts +2 -2
  101. package/dist/queries/change-surface.js +1 -1
  102. package/dist/queries/cleanup-plan.d.ts +2 -2
  103. package/dist/queries/cleanup-plan.js +1 -1
  104. package/dist/queries/co-change.d.ts +2 -2
  105. package/dist/queries/co-change.js +1 -1
  106. package/dist/queries/code.d.ts +2 -2
  107. package/dist/queries/code.js +1 -1
  108. package/dist/queries/complexity-hotspots.d.ts +2 -2
  109. package/dist/queries/complexity-hotspots.js +1 -1
  110. package/dist/queries/complexity.d.ts +2 -2
  111. package/dist/queries/complexity.js +1 -1
  112. package/dist/queries/convergence.d.ts +2 -2
  113. package/dist/queries/convergence.js +1 -1
  114. package/dist/queries/coupling.d.ts +2 -2
  115. package/dist/queries/coupling.js +1 -1
  116. package/dist/queries/cycles.d.ts +2 -2
  117. package/dist/queries/cycles.js +1 -1
  118. package/dist/queries/dataflow.d.ts +2 -2
  119. package/dist/queries/dataflow.js +1 -1
  120. package/dist/queries/dead.d.ts +2 -2
  121. package/dist/queries/dead.js +1 -1
  122. package/dist/queries/deep-chains.d.ts +2 -2
  123. package/dist/queries/deep-chains.js +1 -1
  124. package/dist/queries/deps.d.ts +2 -2
  125. package/dist/queries/deps.js +1 -1
  126. package/dist/queries/diff-gate.d.ts +2 -2
  127. package/dist/queries/diff-gate.js +1 -1
  128. package/dist/queries/diff-impact.d.ts +2 -2
  129. package/dist/queries/diff-impact.js +1 -1
  130. package/dist/queries/doc-drift.d.ts +2 -2
  131. package/dist/queries/doc-drift.js +1 -1
  132. package/dist/queries/drift.d.ts +2 -2
  133. package/dist/queries/drift.js +1 -1
  134. package/dist/queries/extract-candidates.d.ts +2 -2
  135. package/dist/queries/extract-candidates.js +1 -1
  136. package/dist/queries/fan.d.ts +2 -2
  137. package/dist/queries/fan.js +1 -1
  138. package/dist/queries/files.d.ts +2 -2
  139. package/dist/queries/health.d.ts +3 -3
  140. package/dist/queries/health.js +1 -1
  141. package/dist/queries/hierarchy.d.ts +2 -2
  142. package/dist/queries/hierarchy.js +1 -1
  143. package/dist/queries/hotspots.d.ts +2 -2
  144. package/dist/queries/hotspots.js +1 -1
  145. package/dist/queries/imports.d.ts +2 -2
  146. package/dist/queries/imports.js +1 -1
  147. package/dist/queries/incomplete-migration.d.ts +2 -2
  148. package/dist/queries/incomplete-migration.js +1 -1
  149. package/dist/queries/index.d.ts +4 -4
  150. package/dist/queries/index.js +1 -1
  151. package/dist/queries/isolated.d.ts +2 -2
  152. package/dist/queries/isolated.js +1 -1
  153. package/dist/queries/locality-candidates.d.ts +2 -2
  154. package/dist/queries/locality-candidates.js +1 -1
  155. package/dist/queries/members.d.ts +2 -2
  156. package/dist/queries/members.js +1 -1
  157. package/dist/queries/methods.d.ts +2 -2
  158. package/dist/queries/methods.js +1 -1
  159. package/dist/queries/outline.d.ts +2 -2
  160. package/dist/queries/outline.js +1 -1
  161. package/dist/queries/passthrough-candidates.d.ts +2 -2
  162. package/dist/queries/passthrough-candidates.js +1 -1
  163. package/dist/queries/plan-context.d.ts +2 -2
  164. package/dist/queries/plan-context.js +1 -1
  165. package/dist/queries/react-component-duplicates.d.ts +2 -2
  166. package/dist/queries/react-component-duplicates.js +1 -1
  167. package/dist/queries/react-hook-candidates.d.ts +2 -2
  168. package/dist/queries/react-hook-candidates.js +1 -1
  169. package/dist/queries/react-large-component-pressure.d.ts +2 -2
  170. package/dist/queries/react-large-component-pressure.js +1 -1
  171. package/dist/queries/recent-duplicates.d.ts +2 -2
  172. package/dist/queries/recent-duplicates.js +1 -1
  173. package/dist/queries/redundant-reexports.d.ts +2 -2
  174. package/dist/queries/redundant-reexports.js +1 -1
  175. package/dist/queries/refs.d.ts +2 -2
  176. package/dist/queries/refs.js +1 -1
  177. package/dist/queries/self-audit.d.ts +7 -4
  178. package/dist/queries/self-audit.js +1 -1
  179. package/dist/queries/similar-chains.d.ts +2 -2
  180. package/dist/queries/similar-chains.js +1 -1
  181. package/dist/queries/similar-files.d.ts +2 -2
  182. package/dist/queries/similar-files.js +1 -1
  183. package/dist/queries/similar-signatures.d.ts +2 -2
  184. package/dist/queries/similar-signatures.js +1 -1
  185. package/dist/queries/similar.d.ts +55 -16
  186. package/dist/queries/similar.js +1 -1
  187. package/dist/queries/slice.d.ts +2 -2
  188. package/dist/queries/slice.js +1 -1
  189. package/dist/queries/stale-abstractions.d.ts +2 -2
  190. package/dist/queries/stale-abstractions.js +1 -1
  191. package/dist/queries/stats.d.ts +2 -2
  192. package/dist/queries/surface.d.ts +2 -2
  193. package/dist/queries/surface.js +1 -1
  194. package/dist/queries/symbols.d.ts +2 -2
  195. package/dist/queries/symbols.js +1 -1
  196. package/dist/queries/system.d.ts +2 -2
  197. package/dist/queries/system.js +1 -1
  198. package/dist/queries/trace.d.ts +2 -2
  199. package/dist/queries/trace.js +1 -1
  200. package/dist/queries/unused-imports.d.ts +2 -2
  201. package/dist/queries/unused-imports.js +1 -1
  202. package/dist/queries/unused-params.d.ts +2 -2
  203. package/dist/queries/unused-params.js +1 -1
  204. package/dist/queries/vue-component-duplicates.d.ts +2 -2
  205. package/dist/queries/vue-component-duplicates.js +1 -1
  206. package/dist/queries/vue-composable-candidates.d.ts +2 -2
  207. package/dist/queries/vue-composable-candidates.js +1 -1
  208. package/dist/queries/vue-large-view-pressure.d.ts +2 -2
  209. package/dist/queries/vue-large-view-pressure.js +1 -1
  210. package/dist/queries/wrapper-candidates.d.ts +2 -2
  211. package/dist/queries/wrapper-candidates.js +1 -1
  212. package/dist/reindex-worker.js +9 -9
  213. package/dist/reindex.d.ts +30 -4
  214. package/dist/reindex.js +19 -19
  215. package/dist/runtime.d.ts +4 -3
  216. package/dist/runtime.js +2 -2
  217. package/dist/{scip-cli-CnK9Va4O.d.ts → scip-cli-trnNvymv.d.ts} +1 -1
  218. package/docs/COMMAND_REFERENCE.md +2 -2
  219. package/docs/analyzer-inventory.md +8 -0
  220. package/docs/analyzer-validation-ledger.md +7 -0
  221. package/package.json +3 -1
  222. package/scripts/evidence-product-contract.mjs +197 -0
  223. package/skills/scip-hyper-optimization/SKILL.md +153 -24
  224. package/skills/scip-hyper-optimization/agents/openai.yaml +3 -3
  225. package/dist/chunk-2UYQLFVC.js +0 -2
  226. package/dist/chunk-2VM46FC5.js +0 -8
  227. package/dist/chunk-3Q77KKEY.js +0 -2
  228. package/dist/chunk-3VD3JMK2.js +0 -2
  229. package/dist/chunk-4KTOV4QN.js +0 -3
  230. package/dist/chunk-4N4WONI4.js +0 -102
  231. package/dist/chunk-65AU3HFZ.js +0 -2
  232. package/dist/chunk-6LNQOOTB.js +0 -2
  233. package/dist/chunk-72KY2ZFO.js +0 -2
  234. package/dist/chunk-7JRRXGVZ.js +0 -2
  235. package/dist/chunk-A536TEU4.js +0 -3
  236. package/dist/chunk-A6IDHNMC.js +0 -4
  237. package/dist/chunk-A6TANQNV.js +0 -2
  238. package/dist/chunk-AW2QHPLL.js +0 -4
  239. package/dist/chunk-BSN22NRK.js +0 -9
  240. package/dist/chunk-C5CTSJ6X.js +0 -6
  241. package/dist/chunk-CCKPYPDI.js +0 -35
  242. package/dist/chunk-CZ425R2B.js +0 -18
  243. package/dist/chunk-DS6QEB3G.js +0 -5
  244. package/dist/chunk-F6ICF7HL.js +0 -40
  245. package/dist/chunk-FAYI6KZ5.js +0 -2
  246. package/dist/chunk-FG4NT6VY.js +0 -2
  247. package/dist/chunk-FRPEPTYJ.js +0 -5
  248. package/dist/chunk-GBEYTDY5.js +0 -2
  249. package/dist/chunk-GRJY65YT.js +0 -2
  250. package/dist/chunk-HF25DFSC.js +0 -3
  251. package/dist/chunk-HHN2B5KA.js +0 -2
  252. package/dist/chunk-I46WR7MT.js +0 -10
  253. package/dist/chunk-JM72FNGA.js +0 -2
  254. package/dist/chunk-KX5PLFZ5.js +0 -3
  255. package/dist/chunk-LPL4MA6R.js +0 -2
  256. package/dist/chunk-LZHUWKGD.js +0 -2
  257. package/dist/chunk-OBGRLXWF.js +0 -3
  258. package/dist/chunk-P5RYBRIO.js +0 -4
  259. package/dist/chunk-PFOCOG57.js +0 -2
  260. package/dist/chunk-PKMZCDQD.js +0 -4
  261. package/dist/chunk-QPU7EXAW.js +0 -2
  262. package/dist/chunk-QVI3NR7E.js +0 -7
  263. package/dist/chunk-QX7LLCGB.js +0 -23
  264. package/dist/chunk-RVWSAMTT.js +0 -2
  265. package/dist/chunk-SGLLBSCV.js +0 -2
  266. package/dist/chunk-SULEXAHO.js +0 -38
  267. package/dist/chunk-TH2N6QHW.js +0 -2
  268. package/dist/chunk-UWYJDBDW.js +0 -2
  269. package/dist/chunk-VUKC6F77.js +0 -20
  270. package/dist/chunk-W2CBNBEL.js +0 -71
  271. package/dist/chunk-XIVO4SDZ.js +0 -2
  272. package/dist/chunk-XSNRACLV.js +0 -3
  273. package/dist/chunk-XUGQU7PM.js +0 -41
  274. package/dist/chunk-Y6E3JHC4.js +0 -2
  275. package/dist/chunk-YBEEVDJQ.js +0 -2
  276. package/dist/chunk-YGHUVQLR.js +0 -2
  277. package/dist/chunk-YWDVDAD7.js +0 -2
  278. package/dist/chunk-YZA6PPZL.js +0 -3
  279. package/dist/chunk-ZU6PROUY.js +0 -2
@@ -0,0 +1,52 @@
1
+ import{c as E}from"./chunk-7S5E7KWT.js";import{createHash as L}from"crypto";import{readFileSync as S}from"fs";import{dirname as g,join as v}from"path";import D from"better-sqlite3";var _="evidence.db",p=new WeakMap,R=E("evidence-content-hash",{clearGroups:["whole-project","source-file"]}),m=E("evidence-project-fingerprint",{clearGroups:["whole-project"]}),c="evidence-v1",l="version NOT LIKE 'evidence-%'";function T(n){return L("sha256").update(n).digest("hex")}function P(n,t,e){return R.get(n,t,()=>T(e))}function F(n){return m.get(n,"current",()=>{try{let t=JSON.parse(S(v(g(n.config.dbPath),"meta.json"),"utf-8"));if(t.version!==2&&t.version!==3||t.status!=="complete"||t.fingerprint===void 0)return null;let e=Array.isArray(t.indexedLanguages)?[...t.indexedLanguages].sort():[];return T(JSON.stringify({fingerprint:t.fingerprint,indexedLanguages:e}))}catch(t){return u("project fingerprint unavailable",t),null}})}function u(n,t){process.env.SCIP_QUERY_DEBUG&&console.error(`evidence-cache: ${n}: ${t instanceof Error?t.message:String(t)}`)}function o(n){if(p.has(n))return p.get(n)??null;let t=null;try{let e=new D(v(g(n.config.dbPath),_));e.pragma("journal_mode = WAL"),e.pragma("busy_timeout = 5000"),e.pragma("synchronous = NORMAL"),e.exec(`
2
+ CREATE TABLE IF NOT EXISTS file_evidence (
3
+ kind TEXT NOT NULL,
4
+ relative_path TEXT NOT NULL,
5
+ content_hash TEXT NOT NULL,
6
+ version TEXT NOT NULL,
7
+ payload TEXT NOT NULL,
8
+ PRIMARY KEY (kind, relative_path)
9
+ );
10
+ CREATE TABLE IF NOT EXISTS project_evidence (
11
+ kind TEXT NOT NULL,
12
+ cache_key TEXT NOT NULL,
13
+ project_fingerprint TEXT NOT NULL,
14
+ version TEXT NOT NULL,
15
+ payload TEXT NOT NULL,
16
+ PRIMARY KEY (kind, cache_key)
17
+ );
18
+ CREATE TABLE IF NOT EXISTS semantic_callees (
19
+ relative_path TEXT NOT NULL,
20
+ symbol TEXT NOT NULL,
21
+ content_hash TEXT NOT NULL,
22
+ deps_digest TEXT NOT NULL,
23
+ version TEXT NOT NULL,
24
+ payload TEXT NOT NULL,
25
+ PRIMARY KEY (relative_path, symbol)
26
+ );
27
+ CREATE TABLE IF NOT EXISTS semantic_references (
28
+ relative_path TEXT NOT NULL,
29
+ symbol TEXT NOT NULL,
30
+ project_fingerprint TEXT NOT NULL,
31
+ version TEXT NOT NULL,
32
+ payload TEXT NOT NULL,
33
+ PRIMARY KEY (relative_path, symbol)
34
+ );
35
+ `),t={evidence:e,readFileEvidence:e.prepare("SELECT payload FROM file_evidence WHERE kind = ? AND relative_path = ? AND content_hash = ? AND version = ?"),readLegacyFileEvidence:e.prepare(`SELECT payload FROM file_evidence
36
+ WHERE kind = ? AND relative_path = ? AND content_hash = ? AND ${l}
37
+ ORDER BY version DESC
38
+ LIMIT 1`),writeFileEvidence:e.prepare("INSERT OR REPLACE INTO file_evidence (kind, relative_path, content_hash, version, payload) VALUES (?, ?, ?, ?, ?)"),readProjectEvidence:e.prepare("SELECT payload FROM project_evidence WHERE kind = ? AND cache_key = ? AND project_fingerprint = ? AND version = ?"),readLegacyProjectEvidence:e.prepare(`SELECT payload FROM project_evidence
39
+ WHERE kind = ? AND cache_key = ? AND project_fingerprint = ? AND ${l}
40
+ ORDER BY version DESC
41
+ LIMIT 1`),writeProjectEvidence:e.prepare("INSERT OR REPLACE INTO project_evidence (kind, cache_key, project_fingerprint, version, payload) VALUES (?, ?, ?, ?, ?)"),readCallees:e.prepare(`SELECT payload FROM semantic_callees
42
+ WHERE relative_path = ? AND symbol = ? AND content_hash = ? AND deps_digest = ? AND version = ?`),readLegacyCallees:e.prepare(`SELECT payload FROM semantic_callees
43
+ WHERE relative_path = ? AND symbol = ? AND content_hash = ? AND deps_digest = ? AND ${l}
44
+ ORDER BY version DESC
45
+ LIMIT 1`),writeCallees:e.prepare(`INSERT OR REPLACE INTO semantic_callees
46
+ (relative_path, symbol, content_hash, deps_digest, version, payload) VALUES (?, ?, ?, ?, ?, ?)`),dropStaleCallees:e.prepare("DELETE FROM semantic_callees WHERE relative_path = ? AND content_hash != ?"),readReferences:e.prepare(`SELECT payload FROM semantic_references
47
+ WHERE relative_path = ? AND symbol = ? AND project_fingerprint = ? AND version = ?`),readLegacyReferences:e.prepare(`SELECT payload FROM semantic_references
48
+ WHERE relative_path = ? AND symbol = ? AND project_fingerprint = ? AND ${l}
49
+ ORDER BY version DESC
50
+ LIMIT 1`),writeReferences:e.prepare(`INSERT OR REPLACE INTO semantic_references
51
+ (relative_path, symbol, project_fingerprint, version, payload) VALUES (?, ?, ?, ?, ?)`),dropStaleReferences:e.prepare("DELETE FROM semantic_references WHERE project_fingerprint != ?")}}catch(e){u("disabled (open failed)",e)}return p.set(n,t),t}function s(n,t,e){u(`disabled (${t})`,e),p.set(n,null)}function f(n,t,e,i){let r=o(n);if(!r)return null;try{return(r.readFileEvidence.get(t,e,i,c)??r.readLegacyFileEvidence.get(t,e,i))?.payload??null}catch(a){return s(n,"file_evidence read",a),null}}function y(n,t,e,i,r){let a=o(n);if(a)try{a.writeFileEvidence.run(t,e,i,c,r)}catch(d){s(n,"file_evidence write",d)}}function h(n,t,e,i){let r=o(n);if(!r)return null;try{return(r.readProjectEvidence.get(t,e,i,c)??r.readLegacyProjectEvidence.get(t,e,i))?.payload??null}catch(a){return s(n,"project_evidence read",a),null}}function N(n,t,e,i,r){let a=o(n);if(a)try{a.writeProjectEvidence.run(t,e,i,c,r)}catch(d){s(n,"project_evidence write",d)}}function w(n,t,e,i,r){let a=o(n);if(!a)return null;try{return(a.readCallees.get(t,e,i,r,c)??a.readLegacyCallees.get(t,e,i,r))?.payload??null}catch(d){return s(n,"semantic_callees read",d),null}}function I(n,t,e,i){let r=o(n);if(!r)return null;try{return(r.readReferences.get(t,e,i,c)??r.readLegacyReferences.get(t,e,i))?.payload??null}catch(a){return s(n,"semantic_references read",a),null}}function x(n,t){if(t.length===0)return;let e=o(n);if(e)try{e.evidence.transaction(()=>{let i=new Set;for(let r of t){let a=`${r.relativePath}\0${r.contentHash}`;i.has(a)||(i.add(a),e.dropStaleCallees.run(r.relativePath,r.contentHash)),e.writeCallees.run(r.relativePath,r.symbol,r.contentHash,r.depsDigest,c,r.payload)}})()}catch(i){s(n,"semantic_callees write",i)}}function k(n,t){if(t.length===0)return;let e=o(n);if(e)try{e.evidence.transaction(()=>{let i=new Set;for(let r of t)i.has(r.projectFingerprint)||(i.add(r.projectFingerprint),e.dropStaleReferences.run(r.projectFingerprint)),e.writeReferences.run(r.relativePath,r.symbol,r.projectFingerprint,c,r.payload)})()}catch(i){s(n,"semantic_references write",i)}}function X(n){return typeof n=="object"&&n!==null}function M(n){return Array.isArray(n)&&n.every(t=>typeof t=="string")?n:null}function Y(n){return{kind:n.kind,read(t,e,i){let r=f(t,n.kind,e,i);if(r===null)return null;try{return n.deserialize(r)}catch{return null}},write(t,e,i,r){y(t,n.kind,e,i,n.serialize(r))}}}function B(n){return{kind:n.kind,read(t,e,i){let r=h(t,n.kind,e,i);if(r===null)return null;try{return n.deserialize(r)}catch{return null}},write(t,e,i,r){N(t,n.kind,e,i,n.serialize(r))}}}export{T as a,P as b,F as c,w as d,I as e,x as f,k as g,X as h,M as i,Y as j,B as k};
52
+ //# sourceMappingURL=chunk-SGTKURU6.js.map
@@ -0,0 +1,3 @@
1
+ import{r as d}from"./chunk-UQ73QF5D.js";import{a as h}from"./chunk-NBNEVLRC.js";import{h as g}from"./chunk-NABVR6B7.js";import{a as m}from"./chunk-SA3DPTHT.js";import{a as p}from"./chunk-64MNV6AB.js";function _(t,r,n={}){let e=h(t,r);if(!e)return[];let l=!g(e.symbol)&&!t.isIgnored(e.relativePath)?[{relativePath:e.relativePath,line:e.startLine}]:[],c=d(t,e,{semantic:n.semantic}).map(o=>({relativePath:o.file,line:o.line})),s=R(t,e),f=new Set,a=[];for(let o of[...l,...c,...s]){let u=`${o.relativePath}:${o.line}`;f.has(u)||(f.add(u),a.push(o))}return a}function R(t,r){if(!r.relativePath.endsWith(".rb"))return[];let n=b(r.symbol);if(n.length===0)return[];let e=[];for(let i of p(t,{extensions:[".rb"],includeIgnored:!1})){let l=m(t,i);if(!l)continue;let c=l.split(`
2
+ `);for(let s=0;s<c.length;s++){let f=c[s]??"";n.some(a=>new RegExp(`@${a}\\b|\\b${a}:`).test(f))&&e.push({relativePath:i,line:s})}}return e}function b(t){let n=(t.split(":").pop()??t).replace(/([a-z0-9])([A-Z])/g,"$1_$2").replace(/[^A-Za-z0-9_]+/g,"_").toLowerCase().replace(/^_+|_+$/g,""),e=n.split("_").filter(Boolean),i=new Set;return n&&i.add(n),e.length>=1&&i.add(e[e.length-1]),e.length>=2&&i.add(e.slice(-2).join("_")),[...i]}export{_ as a};
3
+ //# sourceMappingURL=chunk-SQNHOOJ5.js.map
@@ -0,0 +1,4 @@
1
+ import{a as I,b as D,c as $,d as B}from"./chunk-2FMFF4RI.js";import{a as K}from"./chunk-UVPY3RUZ.js";import{a as A}from"./chunk-RM2WQ75T.js";import{b as M,g as R}from"./chunk-WUOB4DHH.js";import{a as b}from"./chunk-BGBBVSH4.js";import{e as x}from"./chunk-L446VQYQ.js";import{b as F,d as w,e as p}from"./chunk-NABVR6B7.js";import{i as k}from"./chunk-THB6AM3V.js";import{a as h}from"./chunk-SA3DPTHT.js";function me(t,e){let{scope:n,minLoc:s=3,maxLoc:i=80,limit:r=30,includeLowConfidence:o=!1,scanLimit:l}=e??{},d=e?.semantic!==!1,a=new A(t),m=a.scopedDefinitions(n),g=Q(a,n),T={high:0,medium:1,low:2};return K({candidates:()=>O(t,a,m,{minLoc:s,maxLoc:i}),orderCandidates:(u,c)=>b(c)-b(u)||u.relativePath.localeCompare(c.relativePath),scanLimit:l,profile:{name:"stale-abstractions"},prepare:u=>{let c=W(u),f=U(t,a,u,c,{semantic:d}),y=u.filter(P=>{let S=C(t,P,f,c);return S.realConsumers.length<=1&&!S.transitivelyReachable&&j(P,S.realConsumers.length,g)});return{consumerFileMap:f,singletonBackedClassIds:H(t,a,m,y,{semantic:d}),candidateIndex:c}},evaluate:(u,c)=>{if(c.singletonBackedClassIds.has(u.symbolId))return null;let f=C(t,u,c.consumerFileMap,c.candidateIndex);if(f.transitivelyReachable||f.realConsumers.length>1||f.realConsumers.length===0&&f.barrelConsumers>0||!j(f.definition,f.realConsumers.length,g))return null;let y=z(t,f);return!o&&y.confidence==="low"?null:y},orderResults:(u,c)=>T[u.confidence]-T[c.confidence]||c.loc-u.loc||u.file.localeCompare(c.file)||u.startLine-c.startLine,limit:r})}function O(t,e,n,s){return n.filter(i=>i.isTypeLike&&b(i)>=s.minLoc).filter(i=>b(i)<=s.maxLoc).filter(i=>!t.isIgnored(i.relativePath)).filter(i=>M(i.relativePath)!=="test").filter(i=>!R(t,i.symbol,i.relativePath)).filter(i=>!X(i.symbol)).filter(i=>!e.hasSuppressionComment(i))}function v(t,e,n,s){return D(I(t,e).forDefinitions(n,{semantic:s.semantic,sourceFallback:s.sourceFallback}))}function U(t,e,n,s,i){let r=v(t,e,n,{semantic:!1,sourceFallback:!1}),o=n.filter(a=>{let m=C(t,a,r,s);return m.realConsumers.length<=1&&!(m.realConsumers.length>0&&L(a.relativePath))}),l=i.semantic&&o.length>0?x(r,v(t,e,o,{semantic:!0,sourceFallback:!1})):r,d=o.filter(a=>C(t,a,l,s).realConsumers.length<=1);return x(l,v(t,e,d,{semantic:!1,sourceFallback:!0}))}function W(t){let e=new Map;for(let n of t){let s=e.get(n.relativePath);s||(s=new Map,e.set(n.relativePath,s));let i=p(n.symbol);i&&s.set(i,n)}return e}function C(t,e,n,s){let r=[...n.get(e.symbolId)??new Set].filter(m=>m!==e.relativePath&&!t.isIgnored(m)),{realConsumers:o,barrelConsumers:l,importOnlyConsumers:d}=$(t,e,r),a=Y(t,e,n,s);return{definition:e,realConsumers:o,barrelConsumers:l+d,transitivelyReachable:a}}function z(t,e){let n=E(t,e.definition.relativePath,e.definition.startLine),s=L(e.definition.relativePath)?!0:ee(t,e.definition),{confidence:i,reason:r}=ne(e.realConsumers.length,n,s),o=V(e.realConsumers.length,n,s);return{symbol:e.definition.symbol,shortName:w(e.definition.symbol),file:e.definition.relativePath,startLine:e.definition.startLine,endLine:e.definition.endLine,loc:b(e.definition),consumers:e.realConsumers.length,barrelConsumers:e.barrelConsumers,kind:n,definerUsesType:s,confidence:i,reason:r,actionTier:o.actionTier,stalenessKind:o.stalenessKind,recommendation:o.recommendation}}function V(t,e,n){return t===0?{actionTier:"direct",stalenessKind:"unused-abstraction",recommendation:"Delete the abstraction or wire the missing consumer after checking public/package surfaces."}:e==="class"?{actionTier:"signal",stalenessKind:"one-to-one-class-encapsulation",recommendation:"Treat as weak signal: a one-consumer class may be intentional encapsulation, so inline only after reviewing ownership and state boundaries."}:n?{actionTier:"signal",stalenessKind:"single-consumer-abstraction",recommendation:"Review whether this single-consumer abstraction earns its name or should be folded into the owning feature."}:{actionTier:"signal",stalenessKind:"misplaced-single-consumer-type",recommendation:"Review moving or co-locating the type with its only real consumer; keep it here only if this file owns the public contract."}}function H(t,e,n,s,i){let r=_(t,Z(n),s),o=r.map(a=>a.singleton);if(r.length===0)return new Set;let l=D(I(t,e).forDefinitions(o,{semantic:i.semantic,sourceFallback:!0})),d=new Set;for(let{singleton:a,classId:m}of r)G(t,a,l)&&d.add(m);return d}function Z(t){let e=new Map;for(let n of t){let s=p(n.symbol);s&&e.set(N(n.relativePath,s),n)}return e}function _(t,e,n){let s=[];for(let i of n){let r=q(t,e,i);r&&s.push({singleton:r,classId:i.symbolId})}return s}function q(t,e,n){if(E(t,n.relativePath,n.startLine)!=="class")return null;let s=p(n.symbol);if(!s)return null;let i=J(t,n.relativePath,s);return i?e.get(N(n.relativePath,i))??null:null}function G(t,e,n){let s=p(e.symbol),i=n.get(e.symbolId);return!s||!i?!1:[...i].some(r=>r!==e.relativePath&&!t.isIgnored(r)&&!B(t,r,s))}function N(t,e){return`${t}\0${e}`}function J(t,e,n){let s=h(t,e);if(!s)return null;let i=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\bexport\\s+const\\s+([A-Za-z_$][\\w$]*)\\s*=\\s*new\\s+${i}\\s*\\(`);return s.match(r)?.[1]??null}function Q(t,e){return new Set(t.scopedDefinitions(e).filter(n=>n.isFunctionLike).map(n=>n.relativePath))}function X(t){let e=F(t);if("kind"in e)return!1;let n=e.descriptors;if(n.length<2)return!1;let s=n[n.length-1],i=n[n.length-2];return s?.suffix==="type"&&i?.suffix==="type"}function L(t){let n=(t.split("/").pop()??"").replace(/\.[^.]+$/,"");return!!(n==="types"||n.endsWith("-types")||n==="models"||n==="schema"||n==="common"||n==="protocol"||n==="proto"||n==="dto"||n==="mod"||n==="contracts"||/(^|\/)types(\/|\.)/.test(t)||/(^|\/)models?(\/|\.)/.test(t)||/(^|\/)proto(?:col)?(\/|\.)/.test(t)||/(^|\/)schema(\/|\.)/.test(t)||/(^|\/)contracts?(\/|\.)/.test(t))}function j(t,e,n){return!(L(t.relativePath)&&e>0||e===0&&n.has(t.relativePath))}function Y(t,e,n,s){let i=k(t,e.relativePath),r=p(e.symbol);if(!r)return!1;let o=i.get(r);if(!o||o.size===0)return!1;let l=s.get(e.relativePath);if(!l)return!1;for(let d of o){let a=l.get(d);if(!a)continue;let m=n.get(a.symbolId);if(m){for(let g of m)if(g!==e.relativePath&&!t.isIgnored(g))return!0}}return!1}function E(t,e,n){let s=h(t,e);if(!s)return"other";let i=s.split(`
2
+ `),r=Math.max(0,n-2),o=Math.min(i.length-1,n+2);for(let l=r;l<=o;l++){let a=(i[l]??"").replace(/^\s*\/\/.*$/g,"");if(/\b(?:export\s+)?(?:abstract\s+)?class\s+\w/.test(a))return"class";if(/\b(?:export\s+)?interface\s+\w/.test(a))return"interface";if(/\b(?:export\s+)?type\s+\w/.test(a))return"type";if(/\b(?:export\s+)?(?:const\s+)?enum\s+\w/.test(a))return"enum"}return"other"}function ee(t,e){let n=h(t,e.relativePath);if(!n)return!1;let s=p(e.symbol);if(!s)return!1;let i=s.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),r=new RegExp(`\\b${i}\\b`),o=n.split(`
3
+ `);for(let l=0;l<o.length;l++)if(!(l>=e.startLine&&l<=e.endLine)&&r.test(o[l]??""))return!0;return!1}function ne(t,e,n){return t===0?{confidence:"high",reason:"unused \u2014 no consumers and defining file has no real usage"}:t===1&&e==="class"?{confidence:"low",reason:"1 consumer + class kind \u2014 likely 1:1 encapsulation, not over-abstraction"}:t===1&&!n?{confidence:"high",reason:"1 consumer + defining file never uses it \u2014 type belongs with its consumer"}:{confidence:"medium",reason:"1 consumer \u2014 single-use abstraction"}}export{me as a};
4
+ //# sourceMappingURL=chunk-T3AEVJBG.js.map
@@ -1,4 +1,4 @@
1
- import{a as C}from"./chunk-GBEYTDY5.js";import{e as S}from"./chunk-4KTOV4QN.js";import{c as y,f as p,h as b}from"./chunk-JM72FNGA.js";import{execFileSync as g}from"child_process";import{existsSync as v,readFileSync as E}from"fs";import{basename as F}from"path";function R(e){let t=new Map;for(let i of e){let n=t.get(i.file);n||(n=[],t.set(i.file,n)),n.push(i)}return t}var B="Unable to compute git diff.";function ge(e,t={}){let i=t.plan??P(e,t);return i.note?A(i.note,i.changedFileLines):i.changedFiles.length===0?O(i.changedFileLines):T(i.changedFiles,[$(e,i.changedFiles,i.changedFiles,i.changedRanges)])}function P(e,t={}){let{base:i="HEAD"}=t;try{let n=k(e.config.projectRoot,i),r=Y(e,n),s=j(e,z(e.config.projectRoot,i));return{changedFileLines:n,changedFiles:r,changedRanges:s,renamedFiles:H(e.config.projectRoot,i,r),note:n.length===0?"No changed files found.":void 0}}catch{return{changedFileLines:[],changedFiles:[],changedRanges:[],renamedFiles:[],note:B}}}function $(e,t,i,n=[]){let r=new C(e),s=new Set(i),a=R(n),o=[],d=new Map,f=t.flatMap(c=>r.definitionsForFile(c)).filter(te).filter(c=>Z(c,a)).sort((c,m)=>c.relativePath.localeCompare(m.relativePath)||c.startLine-m.startLine),l=f.map(c=>c.symbolId),u=X(e,l),M=ee(e,l,i),N=S(e,f.filter(c=>u.get(c.symbolId)===0));for(let c of f)Q(e,c,s,o,d,N.get(c.symbolId)??new Set,u.get(c.symbolId)??0,M.get(c.symbolId)??new Set);return{changedSymbols:o,consumerEntries:[...d.entries()].map(([c,m])=>({file:c,symbols:[...m].sort()}))}}function T(e,t){let i=new Map,n=t.flatMap(s=>s.changedSymbols);for(let s of t)for(let a of s.consumerEntries){let o=i.get(a.file);o||(o=new Set,i.set(a.file,o));for(let d of a.symbols)o.add(d)}let r=ne(i);return{changedFiles:[...e],changedSymbols:n,affectedConsumers:r,summary:{totalChangedFiles:e.length,totalChangedSymbols:n.length,totalAffectedFiles:r.length}}}function A(e,t=[]){return{changedFiles:t,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:t.length,totalChangedSymbols:0,totalAffectedFiles:0,note:e}}}function O(e){return{changedFiles:e,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:e.length,totalChangedSymbols:0,totalAffectedFiles:0,note:"Changed files are not present in the current SCIP index."}}}function k(e,t){let i=g("git",["diff","--name-only",t],{encoding:"utf-8",cwd:e,timeout:1e4}),n=g("git",["diff","--name-only","--cached",t],{encoding:"utf-8",cwd:e,timeout:1e4}),r=g("git",["ls-files","--others","--exclude-standard"],{encoding:"utf-8",cwd:e,timeout:1e4});return[...new Set([i,n,r].flatMap(s=>s.split(`
1
+ import{a as C}from"./chunk-RM2WQ75T.js";import{e as S}from"./chunk-CYHIKTJN.js";import{d as y,g as p,i as b}from"./chunk-NABVR6B7.js";import{execFileSync as g}from"child_process";import{existsSync as v,readFileSync as E}from"fs";import{basename as F}from"path";function R(e){let t=new Map;for(let i of e){let n=t.get(i.file);n||(n=[],t.set(i.file,n)),n.push(i)}return t}var B="Unable to compute git diff.";function ge(e,t={}){let i=t.plan??P(e,t);return i.note?A(i.note,i.changedFileLines):i.changedFiles.length===0?O(i.changedFileLines):T(i.changedFiles,[$(e,i.changedFiles,i.changedFiles,i.changedRanges)])}function P(e,t={}){let{base:i="HEAD"}=t;try{let n=k(e.config.projectRoot,i),r=Y(e,n),s=j(e,z(e.config.projectRoot,i));return{changedFileLines:n,changedFiles:r,changedRanges:s,renamedFiles:H(e.config.projectRoot,i,r),note:n.length===0?"No changed files found.":void 0}}catch{return{changedFileLines:[],changedFiles:[],changedRanges:[],renamedFiles:[],note:B}}}function $(e,t,i,n=[]){let r=new C(e),s=new Set(i),a=R(n),o=[],d=new Map,f=t.flatMap(c=>r.definitionsForFile(c)).filter(te).filter(c=>Z(c,a)).sort((c,m)=>c.relativePath.localeCompare(m.relativePath)||c.startLine-m.startLine),l=f.map(c=>c.symbolId),u=X(e,l),M=ee(e,l,i),N=S(e,f.filter(c=>u.get(c.symbolId)===0));for(let c of f)Q(e,c,s,o,d,N.get(c.symbolId)??new Set,u.get(c.symbolId)??0,M.get(c.symbolId)??new Set);return{changedSymbols:o,consumerEntries:[...d.entries()].map(([c,m])=>({file:c,symbols:[...m].sort()}))}}function T(e,t){let i=new Map,n=t.flatMap(s=>s.changedSymbols);for(let s of t)for(let a of s.consumerEntries){let o=i.get(a.file);o||(o=new Set,i.set(a.file,o));for(let d of a.symbols)o.add(d)}let r=ne(i);return{changedFiles:[...e],changedSymbols:n,affectedConsumers:r,summary:{totalChangedFiles:e.length,totalChangedSymbols:n.length,totalAffectedFiles:r.length}}}function A(e,t=[]){return{changedFiles:t,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:t.length,totalChangedSymbols:0,totalAffectedFiles:0,note:e}}}function O(e){return{changedFiles:e,changedSymbols:[],affectedConsumers:[],summary:{totalChangedFiles:e.length,totalChangedSymbols:0,totalAffectedFiles:0,note:"Changed files are not present in the current SCIP index."}}}function k(e,t){let i=g("git",["diff","--name-only",t],{encoding:"utf-8",cwd:e,timeout:1e4}),n=g("git",["diff","--name-only","--cached",t],{encoding:"utf-8",cwd:e,timeout:1e4}),r=g("git",["ls-files","--others","--exclude-standard"],{encoding:"utf-8",cwd:e,timeout:1e4});return[...new Set([i,n,r].flatMap(s=>s.split(`
2
2
  `)).map(s=>s.trim()).filter(s=>s.length>0))]}function z(e,t){let i=g("git",["diff","--unified=0",t],{encoding:"utf-8",cwd:e,timeout:1e4}),n=g("git",["diff","--unified=0","--cached",t],{encoding:"utf-8",cwd:e,timeout:1e4});return _([...D(i),...D(n)])}function h(e,t,i){try{return g("git",["show",`${t}:./${i}`],{encoding:"utf-8",cwd:e,timeout:1e4,stdio:["ignore","pipe","ignore"]})}catch{return null}}function ue(e,t,i=[]){let n=W(e,t,i);return r=>(n.has(r)||n.set(r,h(e,t,r)),n.get(r)??null)}function me(e,t=e.changedFiles){let i=new Map(e.renamedFiles.map(n=>[n.to,n.from]));return[...new Set(t.map(n=>i.get(n)??n))]}function W(e,t,i){let n=[...new Set(i)],r=new Map;if(n.length===0)return r;try{let s=n.map(o=>`${t}:./${o}
3
3
  `).join(""),a=g("git",["cat-file","--batch"],{cwd:e,input:s,maxBuffer:256*1024*1024,timeout:1e4,stdio:["pipe","pipe","ignore"]});return U(a,n)}catch{for(let s of n)r.set(s,h(e,t,s));return r}}function U(e,t){let i=new Map,n=0;for(let r of t){let s=e.indexOf(10,n);if(s<0)throw new Error("git cat-file batch output ended before object header");let a=e.subarray(n,s).toString("utf-8");if(n=s+1,a.endsWith(" missing")){i.set(r,null);continue}let o=/^[0-9a-f]+ ([^ ]+) (\d+)$/.exec(a);if(!o)throw new Error(`unexpected git cat-file batch header: ${a}`);let[,d,f]=o,l=Number(f);if(!Number.isFinite(l)||l<0)throw new Error(`unexpected git cat-file batch size: ${a}`);if(n+l>e.length)throw new Error("git cat-file batch output ended before blob payload");let u=e.subarray(n,n+l);i.set(r,d==="blob"?u.toString("utf-8"):null),n+=l,e[n]===10&&(n+=1)}return i}function H(e,t,i){if(i.length===0)return[];let n=new Map,r=new Set;for(let a of q(e,t))i.includes(a.to)&&(n.set(a.to,a),r.add(a.from));let s=J(e,t);if(s.length===0)return[...n.values()].sort((a,o)=>a.to.localeCompare(o.to));for(let a of i){if(n.has(a)||!v(`${e}/${a}`))continue;let o=s.filter(l=>!r.has(l)).filter(l=>F(l)===F(a));if(o.length===0)continue;let d=E(`${e}/${a}`,"utf-8"),f=o.map(l=>({from:l,to:a,similarity:G(h(e,t,l)??"",d)})).sort((l,u)=>u.similarity-l.similarity)[0];f&&f.similarity>=.45&&(n.set(a,f),r.add(f.from))}return[...n.values()].sort((a,o)=>a.to.localeCompare(o.to))}function J(e,t){let i=g("git",["diff","--name-only","--diff-filter=D",t],{encoding:"utf-8",cwd:e,timeout:1e4}),n=g("git",["diff","--name-only","--diff-filter=D","--cached",t],{encoding:"utf-8",cwd:e,timeout:1e4});return[...new Set([...w(i),...w(n)])]}function q(e,t){let i=g("git",["diff","--name-status","--find-renames",t],{encoding:"utf-8",cwd:e,timeout:1e4}),n=g("git",["diff","--name-status","--find-renames","--cached",t],{encoding:"utf-8",cwd:e,timeout:1e4});return[...i.split(`
4
4
  `),...n.split(`
@@ -18,4 +18,4 @@ import{a as C}from"./chunk-GBEYTDY5.js";import{e as S}from"./chunk-4KTOV4QN.js";
18
18
  AND m.role != 1
19
19
  AND ref_d.relative_path NOT IN (${i.map(()=>"?").join(",")})
20
20
  ${e.pathExclusionsFor("ref_d")}`,...t,...i),r=new Map;for(let s of n){let a=r.get(s.symbol_id);a||(a=new Set,r.set(s.symbol_id,a)),a.add(s.relative_path)}return r}function L(e,t,i,n,r){if(e.isIgnored(n)||t.has(n))return;let s=i.get(n);s||(s=new Set,i.set(n,s)),s.add(r)}function ne(e){return[...e.entries()].map(([t,i])=>({file:t,consumedSymbols:i.size})).sort((t,i)=>i.consumedSymbols-t.consumedSymbols)}function te(e){return!(b(e.symbol)||e.parentTypeName!==null&&!p(e.symbol))}function ie(e,t){return p(e.symbol)||e.isTypeLike?!0:e.parentTypeName===null&&t>0}export{R as a,B as b,ge as c,P as d,$ as e,T as f,h as g,ue as h,me as i,W as j};
21
- //# sourceMappingURL=chunk-DQVKIG3D.js.map
21
+ //# sourceMappingURL=chunk-T4N2ZRVY.js.map
@@ -1,7 +1,7 @@
1
- import{b as k}from"./chunk-3Q77KKEY.js";import{a as D}from"./chunk-GBEYTDY5.js";import{f as y,g as v}from"./chunk-C5CTSJ6X.js";import{p as S}from"./chunk-F6ICF7HL.js";import{f as L}from"./chunk-4N4WONI4.js";import{c as h}from"./chunk-JM72FNGA.js";function z(e,n={}){let{scope:s,minLoc:c=1,maxDepth:a=5,scanLimit:f}=n,t=new D(e),i=_(e,s,c,f),o=new P;for(let r of i)o.add(r);let m=[],I=[];i.length>0&&m.push(C(e,0,i,o));let b=i.map(r=>r.definition).filter(r=>r!==null),x=new Set(i.map(r=>r.symbol));for(let r=1;r<=a&&b.length>0;r++){let u=t.calleeMap(b,{semantic:!1}),E=new Set;for(let d of b)for(let l of u.get(d.symbolId)??[])x.has(l.symbol)||E.add(l.symbol);let p=[];for(let d of E){x.add(d);let l=F(e,d);if(!l||e.isIgnored(l.relativePath)||y(e,l.relativePath)||v(e,l.symbol,l.relativePath)||t.fileKind(l.relativePath)==="test"||t.hasSuppressionComment(l))continue;let g=B(e,l,o);g.removable?p.push(w(l,"cascade")):g.blockingFiles.length>0&&I.push({shortName:h(l.symbol),file:l.relativePath,blockingFiles:g.blockingFiles.slice(0,3)})}if(p.length===0)break;for(let d of p)o.add(d);m.push(C(e,r,p,o)),b=p.map(d=>d.definition).filter(d=>d!==null)}let N=m.reduce((r,u)=>r+u.loc,0),R=m.reduce((r,u)=>r+u.entries.length,0);return{batches:m,totalSymbols:R,totalLoc:N,blocked:I}}function _(e,n,s,c){let a=k(e,{scope:n,minLoc:s,skipBarrels:!0,deadCodeOnly:!0,scanLimit:c,semantic:!1}),f=[];for(let t of a.symbols)t.kind==="dead-code"&&(y(e,t.relativePath)||v(e,t.symbol,t.relativePath)||f.push({symbol:t.symbol,shortName:t.shortName,file:t.relativePath,startLine:t.startLine,endLine:t.endLine,loc:t.loc,evidence:"graph-fact",definition:F(e,t.symbol)}));return f}function w(e,n){return{symbol:e.symbol,shortName:h(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:e.endLine-e.startLine+1,evidence:n,definition:e}}function F(e,n){let s=e.get(`SELECT d.relative_path
1
+ import{b as k}from"./chunk-ROGZXWN2.js";import{a as D}from"./chunk-RM2WQ75T.js";import{f as y,g as v}from"./chunk-WUOB4DHH.js";import{q as S}from"./chunk-UQ73QF5D.js";import{f as L}from"./chunk-63CI3IXR.js";import{d as h}from"./chunk-NABVR6B7.js";function z(e,n={}){let{scope:s,minLoc:c=1,maxDepth:a=5,scanLimit:f}=n,t=new D(e),i=_(e,s,c,f),o=new P;for(let r of i)o.add(r);let m=[],I=[];i.length>0&&m.push(C(e,0,i,o));let b=i.map(r=>r.definition).filter(r=>r!==null),x=new Set(i.map(r=>r.symbol));for(let r=1;r<=a&&b.length>0;r++){let u=t.calleeMap(b,{semantic:!1}),E=new Set;for(let d of b)for(let l of u.get(d.symbolId)??[])x.has(l.symbol)||E.add(l.symbol);let p=[];for(let d of E){x.add(d);let l=F(e,d);if(!l||e.isIgnored(l.relativePath)||y(e,l.relativePath)||v(e,l.symbol,l.relativePath)||t.fileKind(l.relativePath)==="test"||t.hasSuppressionComment(l))continue;let g=B(e,l,o);g.removable?p.push(w(l,"cascade")):g.blockingFiles.length>0&&I.push({shortName:h(l.symbol),file:l.relativePath,blockingFiles:g.blockingFiles.slice(0,3)})}if(p.length===0)break;for(let d of p)o.add(d);m.push(C(e,r,p,o)),b=p.map(d=>d.definition).filter(d=>d!==null)}let N=m.reduce((r,u)=>r+u.loc,0),R=m.reduce((r,u)=>r+u.entries.length,0);return{batches:m,totalSymbols:R,totalLoc:N,blocked:I}}function _(e,n,s,c){let a=k(e,{scope:n,minLoc:s,skipBarrels:!0,deadCodeOnly:!0,scanLimit:c,semantic:!1}),f=[];for(let t of a.symbols)t.kind==="dead-code"&&(y(e,t.relativePath)||v(e,t.symbol,t.relativePath)||f.push({symbol:t.symbol,shortName:t.shortName,file:t.relativePath,startLine:t.startLine,endLine:t.endLine,loc:t.loc,evidence:"graph-fact",definition:F(e,t.symbol)}));return f}function w(e,n){return{symbol:e.symbol,shortName:h(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:e.endLine-e.startLine+1,evidence:n,definition:e}}function F(e,n){let s=e.get(`SELECT d.relative_path
2
2
  FROM global_symbols gs
3
3
  JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
4
4
  JOIN documents d ON d.id = der.document_id
5
5
  WHERE gs.symbol = ?
6
6
  LIMIT 1`,n);return s?L(e,s.relative_path).find(c=>c.symbol===n)??null:null}function B(e,n,s){let c=S(e,n);if(c.length===0)return{removable:!1,blockingFiles:[]};let a=new Set;for(let f of c)f.file===n.relativePath&&f.line>=n.startLine&&f.line<=n.endLine||s.contains(f.file,f.line)||a.add(f.file);return{removable:a.size===0,blockingFiles:[...a]}}function C(e,n,s,c){let a=[...s].sort((i,o)=>i.file.localeCompare(o.file)||i.startLine-o.startLine),f=new Set(a.map(i=>i.file)),t=[];for(let i of f){let o=L(e,i);o.length>0&&o.every(m=>c.contains(i,m.startLine))&&t.push(i)}return{depth:n,entries:a.map(({definition:i,...o})=>o),loc:a.reduce((i,o)=>i+o.loc,0),filesEmptied:t.sort()}}var P=class{ranges=new Map;add(n){let s=this.ranges.get(n.file)??[];s.push({start:n.startLine,end:n.endLine}),this.ranges.set(n.file,s)}contains(n,s){let c=this.ranges.get(n);return c?c.some(a=>s>=a.start&&s<=a.end):!1}};export{z as a,P as b};
7
- //# sourceMappingURL=chunk-5VG7RKEF.js.map
7
+ //# sourceMappingURL=chunk-TBCHRDAC.js.map
@@ -0,0 +1,11 @@
1
+ import{a as O,e as ne,f as se,g as et,h as R,i as tt,j as Pe,k as rt,l as nt}from"./chunk-SA3DPTHT.js";import{a as Ye,b as te,h as Ce,j as re}from"./chunk-SGTKURU6.js";import{a as Ze}from"./chunk-64MNV6AB.js";import{a as Qe,c as G,d as _e,f as le}from"./chunk-7S5E7KWT.js";function Ht(e){return e.replace(/'''[\s\S]*?'''/g,M).replace(/"""[\s\S]*?"""/g,M).replace(/#.*$/gm,M).replace(/\/\/.*$/gm,M).replace(/\/\*[\s\S]*?\*\//g,M).replace(/`(?:\\[\s\S]|[^`])*`/g,M).replace(/'(?:\\.|[^'\\\r\n])*'/g,M).replace(/"(?:\\.|[^"\\\r\n])*"/g,M)}function M(e){return e.replace(/[^\r\n]/g," ")}var Ps=le("stripped-lines",{clearGroups:["whole-project","source-file"]});Qe({name:"stripped-source-singleton",groups:["whole-project","source-file"],clearAll:()=>{pe=null,oe=""},clearFile:()=>{pe=null,oe=""}});var pe=null,oe="";function Vt(e){return pe===e||(pe=e,oe=Ht(e)),oe}function v(e,r,t){let n=Vt(e);return`${n.slice(0,r)}${" ".repeat(t-r)}${n.slice(t)}`}function x(e,r){return new RegExp(`\\b${st(r)}\\b`,"m").test(e)}function Q(e,r){let t=new Set,n=new RegExp(`\\b${st(r)}\\s*\\.\\s*([A-Za-z_$][\\w$]*)`,"g");for(let s of e.matchAll(n)){let o=s[1];o&&t.add(o)}return[...t]}function st(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Te(e){let r=0;for(let t of e)t==="("&&(r+=1),t===")"&&(r-=1);return r}var Xt=new Set(["identifier","type_identifier","field_identifier"]),Jt=new Set(["identifier"]),Kt=new Set(["identifier","property_identifier","type_identifier","shorthand_property_identifier","shorthand_property_identifier_pattern"]),Gt=new Set(["rust","python"]),Qt=/\{([^{}]*)\}/g,Yt=/\b([A-Za-z_][\w]*)\b/g;function ot(e,r){return Zt(r).has(e.type)}function it(e,r){return Gt.has(r)&&e.type==="string_content"}function Re(e){let r=0;for(let n of e.values()){let s=n[n.length-1];s!==void 0&&s>r&&(r=s)}let t=new Array(r+1);for(let n=0;n<=r;n+=1)t[n]=new Set;for(let[n,s]of e)for(let o of s)t[o].add(n);return t}function Zt(e){return e==="rust"?Xt:e==="python"?Jt:Kt}function at(e,r){let t=e.startPosition.row;for(let n of e.text.matchAll(Qt)){let s=n[1]??"";for(let o of s.matchAll(Yt))o[1]&&r(o[1],t)}}var er=[/\bdefault\s*=\s*"([^"]+)"/g,/\bwith\s*=\s*"([^"]+)"/g,/\bserialize_with\s*=\s*"([^"]+)"/g,/\bdeserialize_with\s*=\s*"([^"]+)"/g,/\bskip_serializing_if\s*=\s*"([^"]+)"/g,/\bgetter\s*=\s*"([^"]+)"/g,/\brename_all_with\s*=\s*"([^"]+)"/g,/\bschema_with\s*=\s*"([^"]+)"/g],tr=/^#!?\[\s*serde\s*\(/,rr=/^#!?\[\s*schemars\s*\(/,nr=/^#!?\[\s*validate\s*\(/,sr=new Set(["invoke","invokeTauriCommand","listen","once","emit","subscribe","dispatch","sendCommand","callRust"]);function ct(e,r,t){if(r!=="typescript"&&r!=="tsx"&&r!=="javascript"||e.type!=="call_expression")return;let n=e.childForFieldName("function")??e.namedChild(0);if(!n)return;let s=Pe(n);if(!s||!sr.has(s))return;let o=e.namedChildren.find(c=>c.type==="arguments");if(!o)return;let i=o.namedChild(0);if(!i||i.type!=="string")return;let a=i.namedChildren.find(c=>c.type==="string_fragment");a&&t.add(a.text)}function lt(e,r){let t=tr.test(e),n=rr.test(e),s=nr.test(e);if(!(!t&&!n&&!s))for(let o of er){o.lastIndex=0;let i;for(;(i=o.exec(e))!==null;){let a=i[1],c=a.split("::").pop()??a;c==="is_none"&&/\bOption\b/.test(a)||c==="is_empty"&&/\b(String|Vec|HashMap|BTreeMap|HashSet|BTreeSet)\b/.test(a)||c&&r.add(c)}}}function pt(e,r){let t=new Map,n=(i,a)=>{if(i===a)return;let c=t.get(i);c||(c=new Set,t.set(i,c)),c.add(a)},s=r==="python"?new Set(["identifier"]):new Set(["type_identifier"]),o=(i,a)=>{let c=l=>{s.has(l.type)&&l.text!==a&&n(l.text,a);for(let p of l.children)c(p)};for(let l of i.children)c(l)};if(r==="rust")for(let i of e.rootNode.descendantsOfType(["struct_item","enum_item","union_item","type_item"])){let a=i.namedChildren.find(l=>l.type==="type_identifier")?.text;if(!a)continue;let c=i.namedChildren.find(l=>l.type==="field_declaration_list"||l.type==="enum_variant_list"||l.type==="ordered_field_declaration_list");c&&o(c,a),i.type==="type_item"&&o(i,a)}else if(r==="python")for(let i of e.rootNode.descendantsOfType("class_definition")){let a=i.namedChildren.find(l=>l.type==="identifier")?.text;if(!a)continue;let c=i.namedChildren.find(l=>l.type==="block");if(c)for(let l of c.descendantsOfType("type"))for(let p of l.descendantsOfType("identifier"))p.text!==a&&n(p.text,a)}else for(let i of e.rootNode.descendantsOfType(["interface_declaration","type_alias_declaration","class_declaration"])){let a=i.namedChildren.find(c=>c.type==="type_identifier")?.text;a&&o(i,a)}return t}var or=new Map([["defn","function"],["defn-","function"],["defmacro","macro"],["defmacro-","macro"],["defmethod","method"]]),ke=new Set(["catch","comment","def","defprotocol","defrecord","deftype","defmethod","defmacro","defmacro-","defn","defn-","do","doseq","dotimes","fn","for","if","let","loop","ns","quote","recur","throw","try","extend-protocol","extend-type","when","when-let","when-not"]);function ut(e){let r=[],t=[],n=[],s=new Map,o=[],i=0,a=0,c=(l,p)=>{let u=s.get(l);if(!u){s.set(l,[p]);return}u[u.length-1]!==p&&u.push(p)};for(;a<e.length;){let l=e[a];if(l===`
2
+ `){i+=1,a+=1;continue}if(/\s|,/.test(l)){a+=1;continue}if(l===";"){a=mr(e,a);continue}if(l==='"'){let h=fr(e,a,i);i=h.line,a=h.index;continue}if(l==="("||l==="["||l==="{"){o.push({kind:l,startLine:i,endLine:i,headTokens:[],tokens:[],children:[]}),a+=1;continue}if(l===")"||l==="]"||l==="}"){let h=o.pop();h&&(h.endLine=i,ir(h,{callables:r,callSites:t,clojureMembers:n,recordIdentifier:c}),o[o.length-1]?.children.push(h)),a+=1;continue}if(dr(l)){a+=1;continue}let p=i,u=a;for(;a<e.length&&!gr(e[a]);)a+=1;let m=e.slice(u,a);if(!m)continue;let f={text:m,line:p};ar(o[o.length-1],f),c(I(m),p)}return{language:"clojure",callables:r,callSites:t,clojureMembers:n,typeContainerMap:new Map,identifierLineMap:s,identifiersByLine:Sr(s),fileIdentifiers:new Set(s.keys()),rustAttrReferencedNames:new Set,crossLanguageDispatchNames:new Set}}function ir(e,r){if(e.kind!=="("||e.headTokens.length===0)return;let t=e.headTokens[0],n=I(t.text),s=or.get(t.text);if(s){let i=e.headTokens[1];if(i){let a=I(i.text);r.recordIdentifier(a,i.line),r.callables.push({name:a,startLine:e.startLine,endLine:e.endLine,paramCount:0,params:[],paramsEndLine:i.line,isLiteralPassthrough:!1,clojureKind:s})}}if(cr(e,r),!n||ke.has(t.text)||ke.has(n)||n.startsWith(":"))return;let o=ur(t.text);r.callSites.push({calleeLeaf:o.leaf,calleeQualifier:o.qualifier,calleeText:o.text,memberAccess:!1,line:t.line})}function ar(e,r){e&&(e.headTokens.length<2&&e.headTokens.push(r),e.tokens.length<200&&e.tokens.push(r))}function cr(e,r){let t=I(e.tokens[0]?.text??"");if(t==="defprotocol"){let n=I(e.tokens[1]?.text??"");if(!n)return;for(let s of ue(e))ie(r,n,"protocol",s,"protocol-method");return}if(t==="defrecord"||t==="deftype"){let n=I(e.tokens[1]?.text??"");if(!n)return;let s=t==="defrecord"?"record":"type",o=t==="defrecord"?"record-method":"type-method";for(let i of ue(e))ie(r,n,s,i,o);return}if(t==="extend-type"){let n=I(e.tokens[1]?.text??"");if(!n)return;for(let s of ue(e))ie(r,n,"extension",s,"extension-method");return}if(t==="extend-protocol"){let n=I(e.tokens[1]?.text??"");for(let s of ue(e)){n&&ie(r,n,"extension",s,"extension-method");let o=pr(e,s.startLine);o&&o!==n&&ie(r,o,"extension",s,"extension-method")}}}function ue(e){return e.children.filter(lr)}function lr(e){if(e.kind!=="(")return!1;let r=I(e.tokens[0]?.text??"");return!!(r&&!ke.has(r)&&!r.startsWith(":"))}function ie(e,r,t,n,s){let o=n.tokens[0],i=I(o?.text??"");!o||!i||(e.recordIdentifier(i,o.line),e.clojureMembers.push({ownerName:r,ownerKind:t,memberName:i,memberKind:s,startLine:n.startLine,endLine:n.endLine}))}function pr(e,r){let t=null;for(let n=2;n<e.tokens.length;n+=1){let s=e.tokens[n];if(s.line>r)break;let o=I(s.text);o&&!o.startsWith(":")&&(t=o)}return t}function I(e){return e.replace(/^#?['`~@]+/,"").split("/").pop()?.replace(/^\./,"")??""}function ur(e){let r=e.replace(/^#?['`~@]+/,""),t=r.lastIndexOf("/"),n=I(r);if(t<=0)return{leaf:n,text:r};let s=r.slice(0,t);return{leaf:n,qualifier:s,text:r}}function mr(e,r){let t=r;for(;t<e.length&&e[t]!==`
3
+ `;)t+=1;return t}function fr(e,r,t){let n=r+1,s=t;for(;n<e.length;){let o=e[n];if(o==="\\"){n+=2;continue}if(o===`
4
+ `&&(s+=1),n+=1,o==='"')break}return{index:n,line:s}}function dr(e){return e==="'"||e==="`"||e==="~"||e==="@"||e==="^"||e==="#"}function gr(e){return/\s|,/.test(e)||e==="("||e===")"||e==="["||e==="]"||e==="{"||e==="}"}function Sr(e){let r=[];for(let[t,n]of e)for(let s of n)r[s]??=new Set,r[s].add(t);return r}var hr=le("source-facts",{clearGroups:["whole-project","source-file"]}),Le=re({kind:"source-facts",serialize:Nr,deserialize:br});function A(e,r){let t=O(e,r);if(!t)return null;let n=xr(r,t);return n?hr.get(e,r,t,()=>yr(e,r,n,t)):null}function xr(e,r){return se(e)?et(r)?.language??null:ne(e)}function yr(e,r,t,n){let s=te(e,r,n),o=Le.read(e,r,s);if(o&&o.language===t)return o;if(t==="clojure"){let c=ut(n);return Le.write(e,r,s,c),c}let i=R(e,r);if(!i)return null;let a=Cr(i,t);return Le.write(e,r,s,a),a}function Nr(e){let r={language:e.language,callables:e.callables,callSites:e.callSites,clojureMembers:e.clojureMembers,typeContainerMap:[...e.typeContainerMap.entries()].map(([t,n])=>[t,[...n]]),identifierLineMap:[...e.identifierLineMap.entries()],rustAttrReferencedNames:[...e.rustAttrReferencedNames],crossLanguageDispatchNames:[...e.crossLanguageDispatchNames]};return JSON.stringify(r)}function br(e){try{let r=JSON.parse(e);if(r.language==="clojure"&&(r.clojureMembers===void 0||r.callSites.some(n=>n.calleeText===void 0)))return null;let t=new Map(r.identifierLineMap);return{language:r.language,callables:r.callables,callSites:r.callSites,clojureMembers:r.clojureMembers??[],typeContainerMap:new Map(r.typeContainerMap.map(([n,s])=>[n,new Set(s)])),identifierLineMap:t,identifiersByLine:Re(t),fileIdentifiers:new Set(t.keys()),rustAttrReferencedNames:new Set(r.rustAttrReferencedNames),crossLanguageDispatchNames:new Set(r.crossLanguageDispatchNames)}}catch{return null}}function Ir(e,r,t,n){let s=A(e,r);return s?_r(s,t,n)?.isLiteralPassthrough??!0:!0}function Er(e,r){return r.relativePath.includes(".clj-kondo/hooks/")?!0:A(e,r.relativePath)?.callables.find(n=>n.startLine===r.startLine&&n.endLine===r.endLine)?.clojureKind==="macro"}function _r(e,r,t){return e.callables.find(n=>n.startLine===r&&n.endLine===t)??null}function Cr(e,r){let t=[],n=[],s=new Set,o=new Set,i=new Map,a=(l,p)=>{let u=i.get(l);if(!u){i.set(l,[p]);return}u[u.length-1]!==p&&u.push(p)},c=l=>{let p=rt(l,r);p&&t.push(p);let u=tt(l,r);u&&n.push(u),ct(l,r,o),r==="rust"&&(l.type==="attribute_item"||l.type==="inner_attribute_item")&&lt(l.text,s),ot(l,r)&&a(l.text,l.startPosition.row),it(l,r)&&at(l,a);for(let m of l.children)c(m)};return c(e.rootNode),{language:r,callables:t,callSites:n,clojureMembers:[],typeContainerMap:pt(e,r),identifierLineMap:i,identifiersByLine:Re(i),fileIdentifiers:new Set(i.keys()),rustAttrReferencedNames:s,crossLanguageDispatchNames:o}}var mt=new Set(["rust","typescript","tsx","javascript","python","clojure"]);function Pr(e,r){let t=A(e,r);return!t||!mt.has(t.language)?null:t.callables.map(n=>({name:n.name,startLine:n.startLine,endLine:n.endLine}))}function Tr(e,r){let t=A(e,r);return!t||!mt.has(t.language)?null:t.callSites}function Rr(e,r){return A(e,r)?.typeContainerMap??new Map}function kr(e,r,t={}){let n=A(e,r);if(!n)return[];let s=[];if(t.includeCrossLanguageDispatchNames)for(let o of n.crossLanguageDispatchNames)s.push({name:o,kind:"cross-language-dispatch",occurrences:1});if(t.includeRustAttributeNames&&n.language==="rust")for(let o of n.rustAttrReferencedNames)s.push({name:o,kind:"rust-attribute",occurrences:1});return s}import{existsSync as me}from"fs";import{basename as ft,dirname as $,extname as D,join as P,relative as ae,resolve as E}from"path";var Lr=_e("indexed-paths",{clearGroups:[]}),Ar=_e("indexed-path-digest",{clearGroups:[]}),W=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs",".vue"],fe=[".py",".pyi"],N=[".java",".scala",".kt",".kts"],de=[".rs"],ge=[".rb"],Se=[".c",".h",".cc",".cpp",".cxx",".hpp",".hh",".hxx"],U=[".cs",".vb"],he=[".dart"],z=[".php"],Y=[".clj",".cljs",".cljc"],Dr=new Set(W),Ae=new Set(fe),dt=new Set(N),De=new Set(de),we=new Set(ge),gt=new Set(Se),St=new Set(U),je=new Set(he),ht=new Set(z),xt=new Set(Y),wr=[{extensions:W,lookup:Dr},{extensions:fe,lookup:Ae},{extensions:N,lookup:dt},{extensions:de,lookup:De},{extensions:ge,lookup:we},{extensions:Se,lookup:gt},{extensions:U,lookup:St},{extensions:he,lookup:je},{extensions:z,lookup:ht},{extensions:Y,lookup:xt}];function w(e,r){return r.has(D(e).toLowerCase())}function jr(e){return w(e,Ae)}function Fr(e){return w(e,dt)}function Or(e){return w(e,De)}function Mr(e){return w(e,we)}function vr(e){return w(e,gt)}function $r(e){return w(e,St)}function yt(e){return D(e).toLowerCase()===".vb"}function Ur(e){return w(e,je)}function Br(e){return w(e,ht)}function qr(e){return w(e,xt)}function Fe(e){let r=D(e).toLowerCase();for(let t of wr)if(t.lookup.has(r))return t.extensions;return W}function Wr(e){return Fr(e)||$r(e)||Br(e)}function B(e,r,t){return jr(r)?Z(e,r,t):Or(r)?j(e,r,t):Mr(r)?xe(e,r,t):vr(r)?ye(e,r,t):Wr(r)?g(e,t.replace(/\\/g,"."),Fe(r)):Ur(r)?Ne(e,r,t):qr(r)?Oe(e,t):zr(e,r,t)}function zr(e,r,t){if(!t.startsWith(".")&&!t.startsWith("/"))return null;let n=$(P(e.config.projectRoot,r)),s=E(n,t),o=H(e);for(let i of Kr(s)){let a=T(ae(e.config.projectRoot,i));if(o.has(a)||me(i))return a}return T(ae(e.config.projectRoot,s))}function Z(e,r,t){let n=H(e),s;if(t.startsWith(".")){let o=t.match(/^(\.+)(.*)$/);if(!o)return null;let i=o[1].length,a=o[2].replace(/^\./,""),c=$(P(e.config.projectRoot,r));for(let l=1;l<i;l++)c=$(c);s=a?E(c,a.replace(/\./g,"/")):c}else s=E(e.config.projectRoot,t.replace(/\./g,"/"));for(let o of Hr(s)){let i=T(ae(e.config.projectRoot,o));if(n.has(i)||me(o))return i}return null}function j(e,r,t){if(!t)return null;let n=t.replace(/\s+as\s+.+$/,"").trim();if(!n.startsWith("crate::")&&!n.startsWith("self::")&&!n.startsWith("super::"))return null;let s=$(P(e.config.projectRoot,r)),o;return n.startsWith("crate::")?o=E(e.config.projectRoot,"src",n.slice(7).replace(/::/g,"/")):n.startsWith("self::")?o=E(s,n.slice(6).replace(/::/g,"/")):o=E($(s),n.slice(7).replace(/::/g,"/")),Me(e,Vr(o))}function xe(e,r,t){let n=$(P(e.config.projectRoot,r)),s=E(n,t);return Me(e,Xr(s))}function ye(e,r,t){let n=$(P(e.config.projectRoot,r)),s=[E(n,t),E(e.config.projectRoot,t),E(e.config.projectRoot,"include",t),E(e.config.projectRoot,"src",t)];return Me(e,s)}function g(e,r,t){let n=H(e),s=r.replace(/\\/g,".").replace(/::/g,".").replace(/^global::/,""),o=s.replace(/\./g,"/"),i=s.split(".").pop()??s;for(let c of t){let l=`${o}${c}`,p=[...n].find(u=>u.endsWith(l));if(p)return p}for(let c of t){let l=[...n].find(p=>ft(p)===`${i}${c}`);if(l)return l}let a=[...n].filter(c=>t.includes(D(c).toLowerCase())).filter(c=>c.includes(`/${o}/`)||c.includes(`/${i}/`)).sort((c,l)=>c.localeCompare(l));return a.length===1?a[0]:null}function Ne(e,r,t){let n=H(e);if(t.startsWith("package:")){let i=t.slice(8),a=i.indexOf("/");if(a<0)return null;let c=i.slice(a+1),l=T(c.startsWith("lib/")?c:`lib/${c}`);return n.has(l)?l:null}let s=$(P(e.config.projectRoot,r)),o=E(s,t);for(let i of Jr(o)){let a=T(ae(e.config.projectRoot,i));if(n.has(a)||me(i))return a}return null}function Oe(e,r){let t=r.replace(/-/g,"_").replace(/\./g,"/"),n=H(e);for(let s of Y){let o=`${t}${s}`,i=[...n].find(a=>a.endsWith(o));if(i)return i}for(let s of Y){let o=[...n].find(i=>ft(i)===`${t.split("/").pop()}${s}`);if(o)return o}return null}function Hr(e){let r=D(e);return Ae.has(r)?[e]:[`${e}.py`,`${e}.pyi`,P(e,"__init__.py"),P(e,"__init__.pyi")]}function Me(e,r){let t=H(e);for(let n of r){let s=T(ae(e.config.projectRoot,n));if(t.has(s)||me(n))return s}return null}function Vr(e){let r=D(e);return De.has(r)?[e]:[`${e}.rs`,P(e,"mod.rs")]}function Xr(e){let r=D(e);return we.has(r)?[e]:[`${e}.rb`,P(e,"index.rb")]}function Jr(e){let r=D(e);return je.has(r)?[e]:[`${e}.dart`,e]}function Kr(e){let r=D(e),t=new Set;if(r){t.add(e);for(let n of W)t.add(e.slice(0,-r.length)+n)}else for(let n of W)t.add(`${e}${n}`),t.add(P(e,`index${n}`));return[...t]}function H(e){return Lr.get(e,()=>new Set(Ze(e,{includeIgnored:!1}).map(T)))}function ve(e){return Ar.get(e,()=>Ye([...H(e)].sort().join(`
5
+ `)))}function T(e){return e.replace(/\\/g,"/")}import{basename as Nt}from"path";var Gr=new Set(["identifier","type_identifier","property_identifier","shorthand_property_identifier","field_identifier"]);function y(e){let r=[],t=0,n=0;for(let s=0;s<e.length;s++){let o=e[s];(o==="{"||o==="["||o==="(")&&t++,(o==="}"||o==="]"||o===")")&&t--,o===","&&t===0&&(r.push(e.slice(n,s)),n=s+1)}return r.push(e.slice(n)),r}function b(e,r){for(let t of e.namedChildren)if(t.type===r)return t;return null}function S(e,r){let t=new Set,n=(s,o)=>{let i=o||r.has(s.type);!i&&Gr.has(s.type)&&t.add(s.text);for(let a of s.children)n(a,i)};return n(e.rootNode,!1),t}function k(e,r,t,n,s,o,i){return{importedName:s,localName:o,sourcePath:i??g(e,n,Fe(r)),kind:"named",used:x(t,o),usedMembers:[]}}function d(e,r,t,n,s="named",o={}){return{importedName:e,localName:r,sourcePath:t,kind:s,used:n.has(r),usedMembers:[],isTypeOnly:o.isTypeOnly}}function F(e,r,t,n,s="named",o=[],i={}){return{importedName:e,localName:r,sourcePath:t,kind:s,used:n,usedMembers:o,isTypeOnly:i.isTypeOnly}}function V(e,r){return{importedName:e,localName:null,sourcePath:r,kind:"side-effect",used:!0,usedMembers:[]}}function X(e,r,t={}){return{importedName:e,localName:t.localName??null,sourcePath:r,kind:"namespace",used:t.used??!0,usedMembers:t.usedMembers??[],isTypeOnly:t.isTypeOnly}}function _(e,r,t){let n=[];for(let s of e.matchAll(r)){let o=s[0];if(!o||typeof s.index!="number")continue;let i=v(e,s.index,s.index+o.length);for(let a of t(s,i))n.push(a)}return n}function C(e,r,t,n){let s=R(e,r);if(s){let o=t(s);if(o)return o}return n()}function be(e,r,t,n){let s=R(e,r),o=ne(r),i=o?t[o]:void 0;return s&&i?i(s):n()}function bt(e,r,t){return C(e,r,n=>Yr(e,r,n),()=>Qr(e,r,t))}function Qr(e,r,t){return _(t,/^[ \t]*#include\s+[<"]([^">]+)[">]\s*$/gm,(n,s)=>{let o=n[1]?.trim();if(!o)return[];let i=Nt(o).replace(/\.[^.]+$/,"");return[F(o,i,ye(e,r,o),x(s,i))]})}function Yr(e,r,t){let n=S(t,new Set(["preproc_include"])),s=[];for(let o of t.rootNode.descendantsOfType("preproc_include")){let i=null;for(let c of o.namedChildren){if(c.type==="system_lib_string"){i=c.text.replace(/^<|>$/g,"");break}if(c.type==="string_literal"){i=c.namedChildren.find(p=>p.type==="string_content")?.text??c.text.replace(/^"|"$/g,"");break}}if(!i)continue;let a=Nt(i).replace(/\.[^.]+$/,"");s.push(d(i,a,ye(e,r,i),n))}return s}var Zr=new Set([":require",":require-macros",":use"]),qe=String.raw`A-Za-z0-9_$*+!?.<>=-`;function Et(e,r,t){let n=un(t);if(!n)return[];let s=pn(t,n.start,n.end),o=[];for(let i of n.children.slice(2)){if(i.type!=="list"||i.children.length===0)continue;let a=L(i.children[0]);if(a){if(Zr.has(a)){for(let c of rn(i.children.slice(1)))o.push(...tn(e,c,s));continue}if(a===":import")for(let c of sn(i.children.slice(1)))o.push(c)}}return o}function en(e){return e.type==="list"&&L(e.children[0])==="ns"}function tn(e,r,t){let n=Oe(e,r.namespace),s=r.alias??r.namespace,o=an(t,s),i=[{importedName:r.namespace,localName:s,sourcePath:n,kind:"namespace",used:r.refers.length>0||r.referAll||o.length>0||cn(t,r.namespace),usedMembers:o}];r.referAll&&i.push({importedName:"*",localName:null,sourcePath:n,kind:"side-effect",used:!0,usedMembers:[]});for(let a of r.refers)i.push({importedName:a,localName:a,sourcePath:n,kind:"named",used:ln(t,a),usedMembers:[]});return i}function rn(e){return e.flatMap(r=>_t(r,null))}function _t(e,r){if(e.type==="atom")return e.text.startsWith(":")?[]:[{namespace:Ue(r,e.text),alias:null,refers:[],referAll:!1}];if(e.type==="vector")return nn(e,r);if(e.type==="list"&&e.children.length>0){let t=L(e.children[0]);return!t||t.startsWith(":")?[]:e.children.slice(1).flatMap(n=>_t(n,Ue(r,t)))}return[]}function nn(e,r){let t=L(e.children[0]);if(!t||t.startsWith(":"))return[];let n={namespace:Ue(r,t),alias:null,refers:[],referAll:!1};for(let s=1;s<e.children.length;s+=1){let o=L(e.children[s]);if(!o?.startsWith(":"))continue;let i=e.children[s+1];if((o===":as"||o===":as-alias")&&i){n.alias=L(i),s+=1;continue}o===":refer"&&i&&(L(i)===":all"?n.referAll=!0:(i.type==="vector"||i.type==="list")&&n.refers.push(...i.children.map(L).filter(on)),s+=1)}return[n]}function sn(e){let r=[];for(let t of e){if(t.type==="atom"){let s=t.text.split(".").pop()??t.text;r.push(F(s,s,null,!0));continue}if(t.type!=="vector")continue;let n=L(t.children[0]);if(n)for(let s of t.children.slice(1)){let o=L(s);o&&r.push(F(`${n}.${o}`,o,null,!0))}}return r}function Ue(e,r){return e?`${e}.${r}`:r}function L(e){return e?.type==="atom"?e.text:null}function on(e){return!!(e&&!e.startsWith(":"))}function an(e,r){let t=new Set,n=new RegExp(`${We()}${ze(r)}\\s*/\\s*([${qe}]+)`,"g");for(let s of e.matchAll(n)){let o=s[1];o&&t.add(o)}return[...t]}function cn(e,r){return new RegExp(`${We()}${ze(r)}\\s*/`,"m").test(e)}function ln(e,r){return new RegExp(`${We()}${ze(r)}(?![${qe}])`,"m").test(e)}function We(){return`(?<![${qe}])`}function ze(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function pn(e,r,t){let n="",s=0;for(;s<e.length;){if(s>=r&&s<t){n+=e[s]===`
6
+ `?`
7
+ `:" ",s+=1;continue}let o=e[s];if(o===";"){let i=Ct(e,s);n+=It(e.slice(s,i)),s=i;continue}if(o==='"'){let i=Be(e,s);n+=It(e.slice(s,i)),s=i;continue}n+=o,s+=1}return n}function un(e){let r=0;for(;r<e.length&&(r=Ve(e,r),!(r>=e.length));){let t=He(e,r);if(!t){r+=1;continue}if(en(t.form))return t.form;r=t.index}return null}function He(e,r){let t=Ve(e,r);if(e.startsWith("#_",t)){let s=He(e,t+2);return s?{form:{type:"atom",text:"",start:t,end:s.index},index:s.index}:null}for(;fn(e[t]);)t+=1;let n=e[t];return n?n==="("?$e(e,t,"list",")"):n==="["?$e(e,t,"vector","]"):n==="{"?$e(e,t,"map","}"):n==='"'?{form:{type:"atom",text:"",start:t,end:Be(e,t)},index:Be(e,t)}:mn(e,t):null}function $e(e,r,t,n){let s=[],o=r+1;for(;o<e.length;){if(o=Ve(e,o),e[o]===n)return{form:{type:t,children:s,start:r,end:o+1},index:o+1};let i=He(e,o);if(!i){o+=1;continue}i.form.type==="atom"&&i.form.text===""||s.push(i.form),o=i.index}return{form:{type:t,children:s,start:r,end:e.length},index:e.length}}function mn(e,r){let t=r;for(;t<e.length&&!dn(e[t]);)t+=1;return{form:{type:"atom",text:e.slice(r,t),start:r,end:t},index:t}}function Ve(e,r){let t=r;for(;t<e.length;){let n=e[t];if(/\s|,/.test(n)){t+=1;continue}if(n===";"){t=Ct(e,t);continue}break}return t}function Ct(e,r){let t=r;for(;t<e.length&&e[t]!==`
8
+ `;)t+=1;return t}function Be(e,r){let t=r+1;for(;t<e.length;){let n=e[t];if(n==="\\"){t+=2;continue}if(t+=1,n==='"')break}return t}function fn(e){return e==="'"||e==="`"||e==="~"||e==="@"||e==="^"}function dn(e){return/\s|,/.test(e)||e==="("||e===")"||e==="["||e==="]"||e==="{"||e==="}"||e==='"'||e===";"}function It(e){return e.replace(/[^\r\n]/g," ")}function Pt(e,r,t){let n=[];for(let s of t.matchAll(/^[ \t]*import\s+['"]([^'"]+)['"](?:\s+as\s+([A-Za-z_]\w*))?[\s\S]*?;$/gm)){let o=s[1]?.trim(),i=s[2]?.trim()??null,a=s[0];if(!o||!a||typeof s.index!="number")continue;let c=v(t,s.index,s.index+a.length);n.push({importedName:o,localName:i,sourcePath:Ne(e,r,o),kind:i?"namespace":"side-effect",used:i?x(c,i):!0,usedMembers:i?Q(c,i):[]})}return n}function Tt(e,r,t){let n=[];for(let s of t.matchAll(/^[ \t]*export\s+['"]([^'"]+)['"][\s\S]*?;$/gm)){let o=s[1]?.trim();o&&n.push({specifier:o,sourcePath:Ne(e,r,o)})}return n}function Rt(e,r,t){return be(e,r,{csharp:n=>Sn(e,r,n),vb:n=>gn(e,r,n)},()=>{let n=yt(r)?/^[ \t]*Imports\s+(.+?)\s*$/gm:/^[ \t]*using\s+(.+?)\s*;$/gm;return _(t,n,(s,o)=>{let i=s[1]?.trim();if(!i)return[];let[a,c]=i.split(/\s*=\s*/),l=!!c,p=(l?c:a)?.trim()??i,u=p.split(".").pop()??p,m=l?a?.trim()??u:u;return[k(e,r,o,p,u,m,g(e,p,U))]})})}function gn(e,r,t){let n=S(t,new Set(["imports_statement"])),s=[];for(let o of t.rootNode.descendantsOfType("imports_statement")){let i=o.namedChildren.filter(m=>m.type==="namespace_name");if(i.length===0)continue;let a=i[i.length-1],c=i.length>1?i[0]:null,l=a.text,p=l.split(".").pop()??l,u=c?.text??p;s.push(d(p,u,g(e,l,U),n,c?"namespace":"named"))}return s}function Sn(e,r,t){let n=S(t,new Set(["using_directive"])),s=[];for(let o of t.rootNode.descendantsOfType("using_directive")){let i=o.namedChildren;if(i.length===0)continue;let a=null,c;i.length>=2&&i[0].type==="identifier"&&(i[1].type==="qualified_name"||i[1].type==="identifier")?(a=i[0],c=i[1]):c=i[i.length-1];let l=c.text,p=l.split(".").pop()??l,u=a?.text??p;s.push(d(p,u,g(e,l,U),n,a?"namespace":"named"))}return s}var hn=G("vue-non-script-identifiers",{clearGroups:["whole-project","source-file"]});function kt(e,r){return hn.get(e,r,()=>{let t=new Set,n=O(e,r);if(!n)return t;let o=n.replace(/<script\b[^>]*>[\s\S]*?<\/script>/g,i=>i.replace(/[^\r\n]/g," ")).replace(/<!--[\s\S]*?-->/g,i=>i.replace(/[^\r\n]/g," ")).replace(/\/\*[\s\S]*?\*\//g,i=>i.replace(/[^\r\n]/g," "));for(let i of o.matchAll(/[A-Za-z_$][\w$]*/g))t.add(i[0]);return t})}function Xe(e,r,t){return C(e,r,n=>yn(e,r,n),()=>xn(e,r,t))}function xn(e,r,t){return Ln(t).flatMap(n=>An(e,r,n.clause,n.specifier,n.start,n.end,t))}function yn(e,r,t){let n=Nn(e,r,t),s=[];for(let o of t.rootNode.descendantsOfType("import_statement"))s.push(...bn(e,r,t,o,n));return s}function Nn(e,r,t){let n=S(t,new Set(["import_statement"]));if(se(r))for(let s of kt(e,r))n.add(s);return n}function bn(e,r,t,n,s){let o=Pn(n);if(!o)return[];let i=B(e,r,o),a=b(n,"import_clause");return a?In(t,a,i,s,Tn(n.text)):[V("*",i)]}function In(e,r,t,n,s){let o=[];for(let i of r.namedChildren)if(i.type==="identifier")o.push(En(i.text,t,n,s));else if(i.type==="namespace_import"){let a=_n(e,i,t,n,s);a&&o.push(a)}else i.type==="named_imports"&&o.push(...Cn(i,t,n,s));return o}function En(e,r,t,n){return d("default",e,r,t,"default",{isTypeOnly:n})}function _n(e,r,t,n,s){let i=b(r,"identifier")?.text??"";if(!i)return null;let a=kn(e,i);return X("*",t,{localName:i,usedMembers:a,isTypeOnly:s,used:a.length>0||n.has(i)})}function Cn(e,r,t,n){let s=[];for(let o of e.namedChildren){if(o.type!=="import_specifier")continue;let i=o.namedChild(0),a=o.namedChild(1);if(!i)continue;let c=i.text,l=a?.text??c;s.push(d(c,l,r,t,"named",{isTypeOnly:n||Rn(o.text)}))}return s}function Pn(e){let r=b(e,"string");if(!r)return null;let t=b(r,"string_fragment");return t?t.text:null}function Tn(e){return/^\s*import\s+type\b/.test(e)}function Rn(e){return/^\s*type\b/.test(e.trim())}function kn(e,r){let t=new Set;for(let n of e.rootNode.descendantsOfType("member_expression")){let s=n.namedChild(0),o=n.namedChild(1);!s||!o||s.type!=="identifier"||s.text!==r||(o.type==="property_identifier"||o.type==="identifier")&&t.add(o.text)}return[...t]}function Ln(e){let r=[],t=/^[ \t]*import\s+([\s\S]*?)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let s of e.matchAll(t)){let o=s[0],i=s[1],a=s[2];!o||!a||typeof s.index!="number"||r.push({clause:i,specifier:a,start:s.index,end:s.index+o.length})}let n=/^[ \t]*import\s+['"]([^'"]+)['"]\s*;?/gm;for(let s of e.matchAll(n)){let o=s[0],i=s[1];!o||!i||typeof s.index!="number"||r.push({clause:null,specifier:i,start:s.index,end:s.index+o.length})}return r.sort((s,o)=>s.start-o.start)}function An(e,r,t,n,s,o,i){let a=B(e,r,n),c=v(i,s,o);return t?Dn(t).map(p=>({...p,sourcePath:a})).map(p=>{if(p.kind==="namespace"){let u=Q(c,p.localName);return X(p.importedName,p.sourcePath,{localName:p.localName,usedMembers:u,used:u.length>0||x(c,p.localName),isTypeOnly:p.isTypeOnly})}return p.kind==="side-effect"?V(p.importedName,p.sourcePath):F(p.importedName,p.localName??"",p.sourcePath,p.localName?x(c,p.localName):!1,p.kind,[],{isTypeOnly:p.isTypeOnly})}):[V("*",a)]}function Dn(e){let r=e.trim(),t=/^type\b/.test(r),n=r.replace(/^type\s+/,""),[s,o]=wn(n),i=[];return s&&i.push(...Lt(s,t)),o&&i.push(...Lt(o,t)),i}function Lt(e,r){let t=e.trim();if(!t)return[];if(t.startsWith("{")){let n=t.slice(1,-1).trim();return n?y(n).map(s=>{let o=s.trim(),i=r||/^type\b/.test(o),a=o.replace(/^type\s+/,""),[c,l]=a.split(/\s+as\s+/);return{importedName:c.trim(),localName:(l??c).trim(),kind:"named",isTypeOnly:i}}):[]}return t.startsWith("* as ")?[{importedName:"*",localName:t.slice(5).trim(),kind:"namespace",isTypeOnly:r}]:[{importedName:"default",localName:t,kind:"default",isTypeOnly:r}]}function wn(e){let r=0;for(let t=0;t<e.length;t++){let n=e[t];if(n==="{"&&r++,n==="}"&&r--,n===","&&r===0)return[e.slice(0,t).trim(),e.slice(t+1).trim()]}return[e.trim(),null]}function Je(e,r,t){let n=R(e,r);return n?$n(e,r,n):jn(e,r,t)}function jn(e,r,t){return[...Fn(e,r,t),...On(e,r,t),...Mn(e,r,t)]}function Fn(e,r,t){let n=[],s=/^[ \t]*export\s+(?:type\s+)?\{([\s\S]*?)\}\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[1]??"",a=o[2]??"",c=y(i).map(u=>vn(u.trim())).filter(u=>!!u),l=ee(t,o.index),p=ee(t,o.index+o[0].length-1);n.push({kind:"named",sourcePath:B(e,r,a),names:c,startLine:l,endLine:p})}return n}function On(e,r,t){let n=[],s=/^[ \t]*export\s+\*\s+as\s+(\w+)\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[2]??"",a=ee(t,o.index),c=ee(t,o.index+o[0].length-1);n.push({kind:"star-as",sourcePath:B(e,r,i),names:[],startLine:a,endLine:c})}return n}function Mn(e,r,t){let n=[],s=/^[ \t]*export\s+\*\s+from\s+['"]([^'"]+)['"]\s*;?/gm;for(let o of t.matchAll(s)){if(typeof o.index!="number")continue;let i=o[1]??"",a=ee(t,o.index),c=ee(t,o.index+o[0].length-1);n.push({kind:"star",sourcePath:B(e,r,i),names:[],startLine:a,endLine:c})}return n}function vn(e){if(!e)return null;let r=e.replace(/^type\s+/,"").trim();if(!r)return null;let t=r.match(/^(\w+)\s+as\s+(\w+)$/);if(t)return t[2]??null;let n=r.match(/^(\w+)$/);return n?n[1]??null:null}function ee(e,r){let t=0;for(let n=0;n<r&&n<e.length;n++)e.charCodeAt(n)===10&&t++;return t}function $n(e,r,t){let n=[];for(let s of t.rootNode.descendantsOfType("export_statement")){let o=Un(e,r,s);if(o===void 0)continue;let i=s.startPosition.row,a=s.endPosition.row,c=Bn(s,o,i,a);n.push(c)}return n}function Un(e,r,t){let n=b(t,"string");if(!n)return;let s=b(n,"string_fragment");if(s)return B(e,r,s.text)}function Bn(e,r,t,n){let s=b(e,"export_clause");if(s){let i=[];for(let a of s.namedChildren){if(a.type!=="export_specifier")continue;let c=a.namedChild(0),l=a.namedChild(1);c&&i.push((l??c).text)}return{kind:"named",sourcePath:r,names:i,startLine:t,endLine:n}}return b(e,"namespace_export")?{kind:"star-as",sourcePath:r,names:[],startLine:t,endLine:n}:{kind:"star",sourcePath:r,names:[],startLine:t,endLine:n}}function At(e,r,t){return be(e,r,{java:n=>qn(e,r,n),kotlin:n=>Wn(e,r,n),scala:n=>zn(e,r,n)},()=>_(t,/^[ \t]*import\s+(?:static\s+)?(.+?)\s*;?$/gm,(n,s)=>{let o=n[1]?.trim();return o?Hn(e,r,o,s):[]}))}function qn(e,r,t){let n=S(t,new Set(["import_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("import_declaration")){let i=o.children.some(u=>u.type==="asterisk"),c=o.namedChildren.find(u=>u.type==="scoped_identifier")??o.namedChildren.find(u=>u.type==="identifier");if(!c)continue;let l=c.text;if(i){s.push(X("*",g(e,l,N)));continue}let p=l.split(".").pop()??l;s.push(d(p,p,g(e,l,N),n))}return s}function Wn(e,r,t){let n=S(t,new Set(["import_header","import_list"])),s=[];for(let o of t.rootNode.descendantsOfType("import_header")){let i=o.namedChildren.find(f=>f.type==="identifier");if(!i)continue;let a=o.namedChildren.some(f=>f.type==="wildcard_import"),c=o.namedChildren.find(f=>f.type==="import_alias");if(a){s.push(X("*",g(e,i.text,N)));continue}let l=i.text,p=l.split(".").pop()??l,m=c?.namedChild(0)?.text??p;s.push(d(p,m,g(e,l,N),n))}return s}function zn(e,r,t){let n=S(t,new Set(["import_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("import_declaration")){let i=o.namedChildren.find(u=>u.type==="namespace_selectors"||u.type==="namespace_wildcard"),a=o.namedChildren.filter(u=>u!==i&&(u.type==="identifier"||u.type==="stable_identifier")),c=a.map(u=>u.text).join(".");if(!c)continue;if(i?.type==="namespace_wildcard"){s.push(X("*",g(e,c,N)));continue}if(i?.type==="namespace_selectors"){for(let u of i.namedChildren)if(u.type==="arrow_renamed_identifier"){let[m,f]=u.namedChildren;if(!m)continue;let h=m.text,J=f?.text??h;if(h==="_")continue;s.push(d(h,J,g(e,`${c}.${h}`,N),n))}else if(u.type==="identifier"){let m=u.text;s.push(d(m,m,g(e,`${c}.${m}`,N),n))}continue}let l=a[a.length-1]?.text??c,p=a.slice(0,-1).map(u=>u.text).join(".")||c;s.push(d(l,l,g(e,p&&a.length>1?`${p}.${l}`:c,N),n))}return s}function Hn(e,r,t,n){if(t.includes("{")&&t.includes("}")){let s=t.slice(0,t.indexOf("{")).replace(/\.$/,"").trim(),o=t.slice(t.indexOf("{")+1,t.lastIndexOf("}")).trim();return y(o).flatMap(i=>{let a=i.trim();if(!a)return[];let[c,l]=a.includes("=>")?a.split(/\s*=>\s*/):a.split(/\s+as\s+/),p=c?.trim();if(!p||p==="_")return[];let u=(l??p.split(".").pop()??p).trim(),m=p==="_"?s:`${s}.${p}`.replace(/\.\./g,".");return[k(e,r,n,m,p,u)]})}return[k(e,r,n,t,t.split(".").pop()??t,t.split(".").pop()??t)]}function wt(e,r,t){return C(e,r,n=>Vn(e,r,n),()=>_(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,s)=>{let o=n[1]?.trim();return o?y(o).flatMap(i=>{let a=i.trim();if(!a)return[];let[c,l]=a.split(/\s+as\s+/i),p=c?.trim()??a,u=p.split("\\").pop()??p,m=(l??u).trim();return[k(e,r,s,p,u,m,g(e,p.replace(/\\/g,"."),z))]}):[]}))}function Vn(e,r,t){let n=S(t,new Set(["namespace_use_declaration"])),s=[],o=(i,a,c)=>{s.push(d(a,c,g(e,i.replace(/\\/g,"."),z),n))};for(let i of t.rootNode.descendantsOfType("namespace_use_declaration")){let a=i.namedChildren.find(c=>c.type==="namespace_use_group");if(a){let c=i.namedChildren.find(l=>l.type==="namespace_name")?.text??"";for(let l of a.namedChildren){if(l.type!=="namespace_use_clause")continue;let{importedName:p,localName:u,qualified:m}=Dt(l,c);p&&o(m,p,u)}continue}for(let c of i.namedChildren){if(c.type!=="namespace_use_clause")continue;let{importedName:l,localName:p,qualified:u}=Dt(c,"");l&&o(u,l,p)}}return s}function Dt(e,r){let t=e.namedChildren.find(l=>l.type==="qualified_name"),n=e.namedChildren.filter(l=>l.type==="name"),s="";t?s=t.text:n.length>=1&&(s=n[0].text);let o=t&&n.length>0?n[n.length-1]:null,i=s.split("\\").pop()??s,a=o?.text??i,c=r?`${r}\\${s}`:s;return{importedName:i,localName:a,qualified:c}}function Ft(e,r,t){return C(e,r,n=>Xn(e,r,n),()=>Kn(t).flatMap(n=>Qn(e,r,n,t)))}function Xn(e,r,t){let n=S(t,new Set(["import_statement","import_from_statement"])),s=[];for(let o of t.rootNode.descendantsOfType("import_statement"))for(let i of o.namedChildren){let a=jt(i);if(!a)continue;let c=Z(e,r,a.qualifiedName);s.push({importedName:a.qualifiedName,localName:a.localName,sourcePath:c,kind:"namespace",used:n.has(a.localName),usedMembers:[]})}for(let o of t.rootNode.descendantsOfType("import_from_statement")){let i=o.namedChild(0);if(!i)continue;let a=Jn(i);if(a===null)continue;let c=Z(e,r,a);for(let l=1;l<o.namedChildCount;l+=1){let p=o.namedChild(l);if(p.type==="wildcard_import"){s.push({importedName:"*",localName:null,sourcePath:c,kind:"side-effect",used:!0,usedMembers:[]});continue}let u=jt(p);u&&s.push({importedName:u.qualifiedName,localName:u.localName,sourcePath:c,kind:"named",used:n.has(u.localName),usedMembers:[]})}}return s}function jt(e){if(e.type==="aliased_import"){let r=e.namedChild(0),t=e.namedChild(1);return!r||!t?null:{qualifiedName:r.text,localName:t.text}}if(e.type==="dotted_name"){let r=e.text;return{qualifiedName:r,localName:r.split(".")[0]??r}}return e.type==="identifier"?{qualifiedName:e.text,localName:e.text}:null}function Jn(e){if(e.type==="dotted_name")return e.text;if(e.type==="relative_import"){let r=b(e,"import_prefix")?.text??"",t=b(e,"dotted_name")?.text??"";return`${r}${t}`}return null}function Kn(e){let r=e.split(`
9
+ `),t=[],n=0;for(let s=0;s<r.length;s++){let o=r[s],i=o.trimStart(),a=n;if(n+=o.length+1,!i.startsWith("import ")&&!i.startsWith("from "))continue;let c=o,l=a+o.length,p=Te(o);for(;s+1<r.length&&(p>0||c.trimEnd().endsWith("\\"));){s++;let m=r[s];c+=`
10
+ ${m}`,l+=1+m.length,p+=Te(m),n+=m.length+1}let u=Gn(c);u&&t.push({...u,start:a,end:l})}return t}function Gn(e){let r=e.replace(/\\\s*\n/g," ").trim();if(r.startsWith("import "))return{kind:"import",module:null,clause:r.slice(7).trim()};let t=r.match(/^from\s+([.\w]+)\s+import\s+([\s\S]+)$/);if(!t)return null;let n=t[2].trim();return n.startsWith("(")&&n.endsWith(")")&&(n=n.slice(1,-1).trim()),{kind:"from",module:t[1],clause:n}}function Qn(e,r,t,n){let s=v(n,t.start,t.end),o=t.clause.replace(/\n/g," ").trim();if(t.kind==="import")return y(o).flatMap(c=>{let l=c.trim().replace(/,$/,"");if(!l)return[];let[p,u]=l.split(/\s+as\s+/),m=p.trim(),f=(u??m.split(".")[0]??m).trim(),h=Z(e,r,m),J=Q(s,f);return[{importedName:m,localName:f,sourcePath:h,kind:"namespace",used:x(s,f)||J.length>0,usedMembers:J}]});let i=t.module?Z(e,r,t.module):null,a=[];for(let c of y(o)){let l=c.trim().replace(/,$/,"");if(!l)continue;if(l==="*"){a.push({importedName:"*",localName:null,sourcePath:i,kind:"side-effect",used:!0,usedMembers:[]});continue}let[p,u]=l.split(/\s+as\s+/),m=(u??p).trim();a.push({importedName:p.trim(),localName:m,sourcePath:i,kind:"named",used:x(s,m),usedMembers:[]})}return a}import{basename as Yn}from"path";function Ot(e,r,t){return C(e,r,n=>es(e,r,n),()=>Zn(e,r,t))}function Zn(e,r,t){return _(t,/^[ \t]*(require_relative|require)\s+["']([^"']+)["']\s*$/gm,(n,s)=>{let o=n[1],i=n[2];if(!o||!i)return[];let a=o==="require_relative"?xe(e,r,i):null;if(a){let c=Mt(i);return[F(c,c,a,x(s,c))]}return[V(i,a)]})}function es(e,r,t){let n=S(t,new Set([])),s=[],o=new Set(["require","require_relative","load"]);for(let i of t.rootNode.descendantsOfType("call")){let a=i.namedChild(0);if(!a||a.type!=="identifier"||!o.has(a.text))continue;let l=i.namedChildren.find(f=>f.type==="argument_list")?.namedChild(0);if(!l||l.type!=="string")continue;let u=l.namedChildren.find(f=>f.type==="string_content")?.text;if(!u)continue;let m=a.text==="require_relative"?xe(e,r,u):null;if(m){let f=Mt(u);s.push(d(f,f,m,n))}else s.push(V(u,m))}return s}function Mt(e){return nt(Yn(e).replace(/\.[^.]+$/,""),/_/)}function vt(e,r,t){return C(e,r,n=>ts(e,r,n),()=>_(t,/^[ \t]*use\s+(.+?)\s*;$/gm,(n,s)=>{let o=n[1]?.trim();return o?rs(e,r,o,s):[]}))}function ts(e,r,t){let n=S(t,new Set(["use_declaration"])),s=[];for(let o of t.rootNode.descendantsOfType("use_declaration")){let i=o.namedChild(0);if(i)for(let a of ce(i,"")){if(!a.importedName||a.importedName==="*")continue;let c=j(e,r,a.qualifiedName)??j(e,r,a.qualifiedName.split("::").slice(0,-1).join("::"));s.push(d(a.importedName,a.localName,c,n))}}return s}function ce(e,r){switch(e.type){case"identifier":case"super":case"self":case"crate":{let t=e.text;return[{qualifiedName:Ie(r,t),importedName:t,localName:t}]}case"scoped_identifier":{let t=e.text,n=t.split("::").pop()??t;return[{qualifiedName:Ie(r,t),importedName:n,localName:n}]}case"scoped_use_list":{let t=e.namedChild(0),n=e.namedChild(1);if(!t||!n)return[];let s=Ie(r,t.text),o=[];for(let i of n.namedChildren)o.push(...ce(i,s));return o}case"use_list":{let t=[];for(let n of e.namedChildren)t.push(...ce(n,r));return t}case"use_as_clause":{let t=e.namedChild(0),n=e.namedChild(1);if(!t||!n)return[];let s=ce(t,r),o=n.text;return s.map(i=>({...i,localName:o}))}case"use_wildcard":{let t=e.namedChild(0),n=t?t.text:"";return[{qualifiedName:Ie(r,`${n}::*`),importedName:"*",localName:"*"}]}default:return[]}}function Ie(e,r){return e?r?`${e}::${r}`:e:r}function rs(e,r,t,n){let s=t.trim();if(s.includes("{")&&s.includes("}")){let p=s.slice(0,s.indexOf("{")).replace(/::$/,"").trim(),u=s.slice(s.indexOf("{")+1,s.lastIndexOf("}")).trim();return y(u).flatMap(m=>{let f=m.trim();if(!f||f==="self")return[];let[h,J]=f.split(/\s+as\s+/),K=h?.trim();if(!K)return[];let Wt=(J??K.split("::").pop()??K).trim(),zt=`${p}::${K}`.replace(/::::/g,"::");return[k(e,r,n,zt,K.split("::").pop()??K,Wt,j(e,r,p))]})}let[o,i]=s.split(/\s+as\s+/),a=o?.trim()??s,c=(i??a.split("::").pop()??a).trim(),l=j(e,r,a)??j(e,r,a.split("::").slice(0,-1).join("::"));return[k(e,r,n,a,a.split("::").pop()??a,c,l)]}function $t(e,r,t){let n=R(e,r);if(n)return ns(e,r,n);let s=[];for(let o of t.matchAll(/^[ \t]*pub\s+use\s+(.+?)\s*;$/gm)){let i=o[1]?.trim();i&&s.push(...os(e,r,i))}return s}function ns(e,r,t){let n=[];for(let s of t.rootNode.descendantsOfType("use_declaration")){if(!ss(s))continue;let o=s.namedChildren.find(i=>i.type!=="visibility_modifier");if(o)for(let i of ce(o,""))i.importedName&&n.push(Ke(e,r,i.qualifiedName))}return n}function ss(e){for(let r of e.children)if(r.type==="visibility_modifier"&&r.text.startsWith("pub"))return!0;return!1}function os(e,r,t){let n=t.trim();if(n.includes("{")&&n.includes("}")){let s=n.slice(0,n.indexOf("{")).replace(/::$/,"").trim(),o=n.slice(n.indexOf("{")+1,n.lastIndexOf("}")).trim();return y(o).flatMap(i=>{let a=i.trim();if(!a||a==="self")return[];let[c]=a.split(/\s+as\s+/),l=`${s}::${c?.trim()??a}`.replace(/::::/g,"::");return[Ke(e,r,l)]})}return[Ke(e,r,n)]}function Ke(e,r,t){return{specifier:t,sourcePath:j(e,r,t)??j(e,r,t.split("::").slice(0,-1).join("::"))}}function q({language:e,extensions:r,imports:t,parseImports:n}){return{language:e,extensions:r,capabilities:{imports:t},parseImports:n}}function Ut(e,r){let t=r.toLowerCase();for(let n of e)for(let s of n.extensions)if(t.endsWith(s))return n;return null}var is={language:"javascript",extensions:W,capabilities:{imports:"ast-with-regex-fallback",reExports:"ast-with-regex-fallback"},parseImports:Xe,parseReExports:Je},as=q({language:"python",extensions:fe,imports:"ast-with-regex-fallback",parseImports:Ft}),cs=q({language:"jvm",extensions:N,imports:"ast-dispatch-with-regex-fallback",parseImports:At}),ls={language:"rust",extensions:de,capabilities:{imports:"ast-with-regex-fallback",exports:"ast-with-regex-fallback"},parseImports:vt,parseExports:$t},ps=q({language:"ruby",extensions:ge,imports:"ast-with-regex-fallback",parseImports:Ot}),us=q({language:"c/cpp",extensions:Se,imports:"ast-with-regex-fallback",parseImports:bt}),ms=q({language:"dotnet",extensions:U,imports:"ast-dispatch-with-regex-fallback",parseImports:Rt}),fs={language:"dart",extensions:he,capabilities:{imports:"regex-only",exports:"regex-only"},parseImports:Pt,parseExports:Tt},ds=q({language:"php",extensions:z,imports:"ast-with-regex-fallback",parseImports:wt}),gs=q({language:"clojure",extensions:Y,imports:"regex-only",parseImports:Et}),Ss=[is,as,cs,ls,ps,us,ms,fs,ds,gs];function Ee(e){return Ut(Ss,e)}var Ge={clearGroups:["whole-project","source-file"]},hs=G("source-imports",Ge),xs=G("source-exports",Ge),ys=G("source-reexports",Ge),Bt=re({kind:"source-imports",serialize:Ns,deserialize:bs}),qt=re({kind:"source-reexports",serialize:Is,deserialize:Es});function ji(e,r){let t=T(r);return ys.get(e,t,()=>{let n=Ee(t);if(!n?.parseReExports)return[];let s=O(e,t);if(!s)return[];let o=te(e,t,s),i=ve(e),a=qt.read(e,t,o);if(a?.resolutionFingerprint===i)return a.reExports;let c=n.parseReExports(e,t,s);return qt.write(e,t,o,{resolutionFingerprint:i,reExports:c}),c})}function Fi(e,r){let t=T(r);return hs.get(e,t,()=>{let n=Ee(t);if(!n)return[];let s=O(e,t);if(!s)return[];let o=te(e,t,s),i=ve(e),a=Bt.read(e,t,o);if(a?.resolutionFingerprint===i)return a.imports;let c=n.parseImports(e,t,s);return Bt.write(e,t,o,{resolutionFingerprint:i,imports:c}),c})}function Oi(e,r){let t=T(r);return xs.get(e,t,()=>{let n=Ee(t);if(!n?.parseExports)return[];let s=O(e,t);return s?n.parseExports(e,t,s):[]})}function Ns(e){return JSON.stringify(e)}function bs(e){try{let r=JSON.parse(e);return!Ce(r)||typeof r.resolutionFingerprint!="string"||!Array.isArray(r.imports)?null:{resolutionFingerprint:r.resolutionFingerprint,imports:r.imports}}catch{return null}}function Is(e){return JSON.stringify(e)}function Es(e){try{let r=JSON.parse(e);return!Ce(r)||typeof r.resolutionFingerprint!="string"||!Array.isArray(r.reExports)?null:{resolutionFingerprint:r.resolutionFingerprint,reExports:r.reExports}}catch{return null}}export{B as a,Ht as b,Te as c,A as d,Ir as e,Er as f,Pr as g,Tr as h,Rr as i,kr as j,ji as k,Fi as l,Oi as m};
11
+ //# sourceMappingURL=chunk-THB6AM3V.js.map
@@ -0,0 +1,4 @@
1
+ import{appendFileSync as p,mkdirSync as u}from"fs";import{dirname as l}from"path";import{performance as i}from"perf_hooks";var E="SCIP_QUERY_PROFILE",M="SCIP_QUERY_PROFILE_OUT",P="SCIP_QUERY_PROFILE_COMMAND",s=new Set,a=!1;function c(){let e=process.env[E];return e==="1"||e==="true"}function m(){return process.env[M]}function O(){return process.env[P]}function g(e,n,o){if(!c())return n();let t=i.now();try{let r=n();return f({type:"span",name:e,durationMs:Math.round(i.now()-t),ok:!0,...d(o)??{}}),r}catch(r){throw f({type:"span",name:e,durationMs:Math.round(i.now()-t),ok:!1,error:r instanceof Error?r.message:String(r),...d(o)??{}}),r}}function f(e,n=m()){let o={timestamp:new Date().toISOString(),pid:process.pid,command:O(),...e},t=`${JSON.stringify(o)}
2
+ `;if(n)try{let r=l(n);s.has(r)||(u(r,{recursive:!0}),s.add(r)),p(n,t);return}catch(r){a||(a=!0,process.stderr.write(`[profile] failed to write ${n}: ${r instanceof Error?r.message:String(r)}
3
+ `));return}c()&&process.stderr.write(t)}function d(e){return typeof e=="function"?e():e}export{c as a,g as b};
4
+ //# sourceMappingURL=chunk-ULHLDOD6.js.map
@@ -0,0 +1,43 @@
1
+ import{d as F}from"./chunk-CYHIKTJN.js";import{c as I}from"./chunk-NBNEVLRC.js";import{f as R,m as _}from"./chunk-63CI3IXR.js";import{e as d}from"./chunk-NABVR6B7.js";import{b as A,d as h,l as y}from"./chunk-THB6AM3V.js";import{a as m,e as k}from"./chunk-SA3DPTHT.js";import{c as C}from"./chunk-AREANYIA.js";import{c as u,d as v}from"./chunk-7S5E7KWT.js";function E(e,r,n,t={}){if(!n)return[];let i=m(e,r);return i?i.indexOf(n)===-1?[]:(x(e,r).get(n)??[]).filter(o=>!Z(o,t)):[]}function Z(e,r){return typeof r.excludeStartLine=="number"&&typeof r.excludeEndLine=="number"&&e>=r.excludeStartLine&&e<=r.excludeEndLine}var W=u("file-identifiers",{clearGroups:["whole-project","source-file"]});function T(e,r){let n=h(e,r);return n?n.fileIdentifiers:W.get(e,r,()=>new Set(x(e,r).keys()))}var Y=u("file-ident-lines",{clearGroups:["whole-project","source-file"]});function x(e,r){let n=h(e,r);return n?n.identifierLineMap:Y.get(e,r,()=>V(e,r))}var Q=u("file-idents-by-line",{clearGroups:["whole-project","source-file"]});function ge(e,r){let n=h(e,r);return n?n.identifiersByLine:Q.get(e,r,()=>{let t=x(e,r),i=0;for(let o of t.values()){let a=o[o.length-1];a!==void 0&&a>i&&(i=a)}let c=new Array(i+1);for(let o=0;o<=i;o+=1)c[o]=new Set;for(let[o,a]of t)for(let s of a)c[s].add(o);return c})}function V(e,r){let n=new Map,t=(a,s)=>{let l=n.get(a);if(!l){n.set(a,[s]);return}l[l.length-1]!==s&&l.push(s)},i=m(e,r);if(!i)return n;let c=A(i).split(/\r?\n/),o=/\b([A-Za-z_$][\w$]*)\b/g;for(let a=0;a<c.length;a+=1){let s=c[a]??"";for(let l of s.matchAll(o))l[1]&&t(l[1],a)}return n}function Se(e,r){return L(e,r,n=>{let t=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT
2
+ m.symbol_id,
3
+ d.relative_path,
4
+ COUNT(*) AS ref_count
5
+ FROM mentions m
6
+ JOIN chunks c ON m.chunk_id = c.id
7
+ JOIN documents d ON c.document_id = d.id
8
+ WHERE m.role != 1
9
+ ${t}
10
+ ${e.pathExclusionsFor("d")}
11
+ GROUP BY m.symbol_id, d.relative_path`,...n??[])})}function he(e,r){return L(e,r,n=>{let t=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id, d.relative_path
12
+ FROM mentions m
13
+ JOIN chunks c ON m.chunk_id = c.id
14
+ JOIN documents d ON c.document_id = d.id
15
+ WHERE m.role != 1
16
+ ${t}
17
+ ${e.pathExclusionsFor("d")}`,...n??[])}).filter(n=>n.symbol_id!==null)}function ye(e,r){return L(e,r,n=>{let t=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id
18
+ FROM mentions m
19
+ WHERE m.role != 1
20
+ ${t}`,...n??[])}).filter(n=>n.symbol_id!==null)}function O(e,r){return L(e,r,n=>{let t=n?`AND m.symbol_id IN (${n.map(()=>"?").join(",")})`:"";return e.all(`SELECT DISTINCT m.symbol_id, d.relative_path, c.document_id,
21
+ c.start_line AS chunk_start, c.end_line AS chunk_end
22
+ FROM mentions m
23
+ JOIN chunks c ON m.chunk_id = c.id
24
+ JOIN documents d ON c.document_id = d.id
25
+ WHERE m.role != 1
26
+ ${t}
27
+ ${e.pathExclusionsFor("d")}
28
+ ORDER BY d.relative_path, c.start_line`,...n??[])})}function L(e,r,n){if(!r)return n();if(r.length===0)return[];let t=[];for(let i=0;i<r.length;i+=750)t.push(...n(r.slice(i,i+750)));return t}function N(e){return e.replace(/\\/g,"/").replace(/^\.\//,"")}function p(e,r){return N(e)===N(r)}var X=u("source-import-paths-by-local-name",{clearGroups:["whole-project","source-file"]});function $(e,r){let n=N(r);return X.get(e,n,()=>q(e,n))}function q(e,r){let n=new Map;for(let t of y(e,r)){if(!t.sourcePath)continue;let i=t.localName??t.importedName;if(i&&P(n,i,t.sourcePath),t.kind==="namespace")for(let c of t.usedMembers)P(n,c,t.sourcePath)}return n}function P(e,r,n){let t=e.get(r);t||(t=new Set,e.set(r,t)),t.add(n)}function ve(e,r){let n=j(e);return n?r.filter(t=>j(t.file)===n):r}function Ae(e,r,n,t){let i=n.find(c=>c.file===r);if(i)return i;if(t){let c=new Set(y(e,r).map(o=>o.sourcePath).filter(o=>!!o));for(let o of n)for(let a of c)if(p(a,o.file))return o;return null}return n.length===1?n[0]:null}function j(e){let r=k(e);return r?r==="typescript"||r==="tsx"||r==="javascript"?"javascript-family":r:null}var K=v("global-leaf-index",{clearGroups:["whole-project"]});function M(e){return K.get(e,()=>{let r=e.all(`SELECT gs.id, gs.symbol,
29
+ COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
30
+ FROM global_symbols gs
31
+ LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
32
+ LEFT JOIN documents der_doc ON der_doc.id = der.document_id
33
+ LEFT JOIN (
34
+ SELECT m.symbol_id, MIN(d.relative_path) AS relative_path
35
+ FROM mentions m
36
+ JOIN chunks c ON m.chunk_id = c.id
37
+ JOIN documents d ON c.document_id = d.id
38
+ WHERE m.role = 1
39
+ GROUP BY m.symbol_id
40
+ ) mention_doc ON mention_doc.symbol_id = gs.id
41
+ WHERE 1 = 1
42
+ ${e.symbolNoiseFor("gs")}`),n=new Map;for(let t of r){if(!t.relative_path||e.isIgnored(t.relative_path))continue;let i=d(t.symbol);if(!i)continue;let c=n.get(i);c||(c=[],n.set(i,c)),c.some(o=>o.symbolId===t.id)||c.push({symbol:t.symbol,symbolId:t.id,file:t.relative_path})}return n})}var B=/[A-Za-z_$][A-Za-z0-9_$]*/g,H=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function D(e){let r=[],n=!1;for(let t of e)t&&(n=!0,H.test(t)||r.push(t));return{candidateNames:e,hasUsableCandidate:n,nonIdentifierNames:r}}function z(e,r){let n=ee(r)?r:D(r);if(n.candidateNames.size===0||!n.hasUsableCandidate)return!0;if(n.candidateNames.size<=512){for(let i of n.candidateNames)if(i){if(H.test(i)){if(ne(i).test(e))return!0;continue}if(e.includes(i))return!0}return!1}B.lastIndex=0;let t;for(;(t=B.exec(e))!==null;)if(n.candidateNames.has(t[0]))return!0;for(let i of n.nonIdentifierNames)if(e.includes(i))return!0;return!1}function ee(e){return"candidateNames"in e}function ne(e){return new RegExp(`(?<![A-Za-z_$0-9])${te(e)}(?![A-Za-z_$0-9])`)}function te(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function w(e,r,n){let t=M(e).get(n);if(!t||t.length===0)return[];if(t.length===1)return[g(t[0])];let i=t.filter(s=>s.file===r);if(i.length>0)return i.map(g);let c=$(e,r),o=c.get(n);if(o)for(let s of o){let l=t.filter(f=>p(s,f.file));if(l.length>0)return l.map(g)}let a=new Set;for(let s of c.values())for(let l of s)a.add(l);for(let s of a){let l=t.filter(f=>p(s,f.file));if(l.length>0&&l.length===t.length)return l.map(g)}return[]}function Ze(e,r,n){let t=w(e,r,n);if(t.length>0)return t;let i=M(e).get(n);return!i||i.length===0?[]:i.map(g)}function J(e,r,n={}){let t=I(e,r);if(!t)return[];let i=d(t.symbol);if(!i)return[];if(n.semantic!==!1){let o=F(e,{...t,leaf:i,parentTypeName:null,isFunctionLike:!1,isTypeLike:!1,kind:null,documentation:null,enclosingSymbol:null});if(o.length>0){let a=new Map;for(let s of o){let l=a.get(s.file)??[];l.push(s.line),a.set(s.file,l)}return G(e,a)}}let c=new Map;for(let o of C(e)){let a=m(e,o);if(!a||a.indexOf(i)===-1||o!==t.relativePath&&!w(e,o,i).some(f=>f.symbolId===t.symbolId))continue;let s=E(e,o,i,o===t.relativePath?{excludeStartLine:t.startLine,excludeEndLine:t.endLine}:{});s.length>0&&c.set(o,s)}return G(e,c)}function We(e,r,n={}){let t=new Map;for(let s of r){if(!s.leaf)continue;let l=t.get(s.leaf)??[];l.push(s),t.set(s.leaf,l)}if(t.size===0)return new Map;let i=new Set(r.map(s=>s.symbolId)),c=new Set(t.keys()),o=D(c),a=new Map;for(let s of C(e)){if(n.skipPath?.(s)||!z(m(e,s),o))continue;let l=T(e,s);if(l.size!==0){for(let f of l)if(t.has(f))for(let b of w(e,s,f)){if(!i.has(b.symbolId)||s===b.relativePath)continue;let S=a.get(b.symbolId);S||(S=new Set,a.set(b.symbolId,S)),S.add(s)}}}return a}function g(e){return{symbolId:e.symbolId,symbol:e.symbol,relativePath:e.file}}function G(e,r){let n=[],t=new Set;for(let[i,c]of r){let o=R(e,i);for(let a of c){let s=_(o,a),l=`${i}|${a}|${s?.symbol??""}`;t.has(l)||(t.add(l),n.push({file:i,line:a,enclosingSymbol:s?.symbol??null}))}}return n}function re(e,r){let n=le(e,r);return n?fe(e,oe(e,n.match,n.identifier)):[]}function nn(e,r,n={}){return ie(e,r,n).map(t=>({file:t.file,line:t.line,enclosingSymbol:t.enclosingSymbol}))}function ie(e,r,n={}){let t=J(e,r,{semantic:n.semantic}),i=t.length>0?U(t,"source-attribution"):U(re(e,r),"scip-reference-chunk");return n.includeIgnored===!0?i:i.filter(c=>!e.isIgnored(c.file))}function U(e,r){return e.map(n=>({...n,provenance:r}))}function oe(e,r,n){let t=new Map;for(let[i,c]of se(e,r.symbolId))t.set(i,ae(e,i,c,r,n));return t}function se(e,r){let n=new Map;for(let t of O(e,[r])){if(e.isIgnored(t.relative_path))continue;let i=n.get(t.relative_path);i||(i=[],n.set(t.relative_path,i)),i.push({start_line:t.chunk_start,end_line:t.chunk_end})}return n}function ae(e,r,n,t,i){let c=r===t.relativePath?{excludeStartLine:t.startLine,excludeEndLine:t.endLine}:{},o=i?E(e,r,i,c):[];return n.flatMap(a=>ce(o,a))}function ce(e,r){let n=e.filter(t=>t>=r.start_line&&t<=r.end_line);return n.length>0?n:[r.start_line]}function le(e,r){let n=I(e,r);return n?{match:n,identifier:d(n.symbol)||null}:null}function fe(e,r){let n=[],t=new Set;for(let[i,c]of r){let o=R(e,i);for(let a of c){let s=_(o,a),l=`${i}|${a}|${s?.symbol??""}`;t.has(l)||(t.add(l),n.push({file:i,line:a,enclosingSymbol:s?.symbol??null}))}}return n}export{x as a,ge as b,Se as c,he as d,ye as e,O as f,p as g,ve as h,Ae as i,M as j,D as k,z as l,$ as m,w as n,Ze as o,We as p,re as q,nn as r};
43
+ //# sourceMappingURL=chunk-UQ73QF5D.js.map
@@ -0,0 +1,2 @@
1
+ import{b as o}from"./chunk-B75HZHUP.js";import{b as u}from"./chunk-ULHLDOD6.js";function P(e){let t=m(e.profile?.name),r=()=>{let d=e.candidates(),a=e.filterCandidate?d.filter(e.filterCandidate):d,C=e.orderCandidates?[...a].sort(e.orderCandidates):a,i=o(C,e.scanLimit);t={pipeline:e.profile?.name,loadedCandidates:d.length,filteredCandidates:a.length,scannedCandidates:i.length,evaluatedCandidates:0,matchedResults:0,emittedResults:0,scanLimitApplied:i.length<a.length,resultLimitApplied:!1};let f=e.prepare?.(i)??void 0,n=[];for(let c of i){t.evaluatedCandidates+=1;let s=e.evaluate(c,f);s&&n.push(s)}t.matchedResults=n.length,e.orderResults&&n.sort(e.orderResults);let l=typeof e.limit=="number"?n.slice(0,e.limit):n;return t.emittedResults=l.length,t.resultLimitApplied=l.length<n.length,e.onProfile?.({...t}),l};return e.profile?u(`candidate-pipeline:${e.profile.name}`,r,()=>({...p(e.profile?.metadata),...t})):r()}function m(e){return{pipeline:e,loadedCandidates:0,filteredCandidates:0,scannedCandidates:0,evaluatedCandidates:0,matchedResults:0,emittedResults:0,scanLimitApplied:!1,resultLimitApplied:!1}}function p(e){return typeof e=="function"?e():e??{}}export{P as a};
2
+ //# sourceMappingURL=chunk-UVPY3RUZ.js.map
@@ -0,0 +1,2 @@
1
+ import{m as l}from"./chunk-SA3DPTHT.js";function S(e,n={}){let{minComponentLines:o=300,minFileLines:t=800,minJsxTokens:r=80,minBehaviorTokens:a=40,limit:c=20,scope:m,scanLimit:p,filePattern:i}=n;return l(e).reactProfiles({scope:m,scanLimit:p}).filter(s=>s.kind==="component").filter(s=>!i||s.file.includes(i)||s.name.includes(i)).map(s=>g(s,{minComponentLines:o,minFileLines:t,minJsxTokens:r,minBehaviorTokens:a})).filter(s=>s!==null).sort((s,u)=>u.componentLines-s.componentLines||u.fileLines-s.fileLines||s.file.localeCompare(u.file)).slice(0,c)}function g(e,n){let o=[];e.loc>=n.minComponentLines&&o.push(`${e.loc} component line(s)`);let t=Math.max(80,Math.floor(n.minComponentLines/2));if(e.fileLines>=n.minFileLines&&e.loc>=t&&o.push(`${e.fileLines} file line(s)`),e.jsxTokens.size>=n.minJsxTokens&&o.push(`${e.jsxTokens.size} JSX structure token(s)`),e.behaviorTokens.size>=n.minBehaviorTokens&&o.push(`${e.behaviorTokens.size} behavior token(s)`),o.length===0)return null;let r=x(e),a=f(e,n,r),c=C(e),m=b(r,a,c);return{file:e.file,component:e.name,componentLines:e.loc,fileLines:e.fileLines,jsxTokens:e.jsxTokens.size,behaviorTokens:e.behaviorTokens.size,dominantPressure:r,pressureKinds:a,contextKind:c,recommendationKind:m,recommendation:h(m,c),reasons:o,loc:e.loc}}function x(e){let n=[{axis:"component",value:e.loc},{axis:"file",value:e.fileLines},{axis:"jsx-structure",value:e.jsxTokens.size*3},{axis:"hook-behavior",value:e.behaviorTokens.size*4}];return n.sort((o,t)=>t.value-o.value),n[0]?.axis??"component"}function f(e,n,o){let t=[];e.loc>=n.minComponentLines&&t.push("component");let r=Math.max(80,Math.floor(n.minComponentLines/2));return e.fileLines>=n.minFileLines&&e.loc>=r&&t.push("file"),e.jsxTokens.size>=n.minJsxTokens&&t.push("jsx-structure"),e.behaviorTokens.size>=n.minBehaviorTokens&&t.push("hook-behavior"),[...new Set(t.length>0?t:[o])]}function C(e){let n=e.file.split(/[\\/]+/).filter(Boolean),o=n.slice(0,-1).map(i=>i.toLowerCase()),t=(n.at(-1)??e.name).replace(/\.[^.]+$/,""),r=`${t} ${e.name}`.split(/[^A-Za-z0-9]+/).filter(Boolean).map(i=>i.toLowerCase()),a=o.findIndex(i=>v.has(i)),c=a>=0&&o.slice(a+1).some(i=>R.has(i)),m=d(t)||d(e.name);return/(?:Page|Route|Screen|View)$/.test(t)||/(?:Page|Route|Screen|View)$/.test(e.name)||r.some(i=>k.has(i))||a>=0&&!c&&!m?"route-page":"component"}function d(e){let n=e.split(/[^A-Za-z0-9]+/).filter(Boolean).map(o=>o.toLowerCase());return n.at(-1)&&L.has(n.at(-1))?!0:[...L].some(o=>e.endsWith(T(o)))}function b(e,n,o){return e==="hook-behavior"?"behavior-extraction":o==="route-page"?"route-page-decomposition":n.includes("hook-behavior")?"behavior-extraction":n.includes("jsx-structure")?"jsx-decomposition":n.includes("file")?"file-decomposition":e==="jsx-structure"?"jsx-decomposition":e==="file"&&!n.includes("component")?"file-decomposition":"component-decomposition"}function h(e,n){switch(e){case"behavior-extraction":return"Extract independent state, effects, requests, or handlers into hooks, controllers, or feature modules.";case"route-page-decomposition":return"Split route/page orchestration from reusable panels and feature controllers.";case"jsx-decomposition":return n==="route-page"?"Split page JSX into named layout sections before extracting behavior.":"Split repeated JSX sections into named presentational components.";case"file-decomposition":return"Review file-level decomposition; split colocated panels or helpers before changing behavior.";case"component-decomposition":return"Review component boundaries around props, state ownership, and independently changing UI sections."}}var R=new Set(["component","components","panel","panels","partial","partials"]),L=new Set(["banner","button","card","dialog","drawer","filter","form","grid","header","item","list","menu","modal","nav","panel","picker","rail","row","section","selector","shell","sidebar","table","toolbar"]),v=new Set(["landing","page","pages","route","routes","screen","screens","view","views"]),k=new Set(["landing","page","route","screen","view"]);function T(e){return e.charAt(0).toUpperCase()+e.slice(1)}export{S as a};
2
+ //# sourceMappingURL=chunk-V5FGK3DZ.js.map
@@ -1,4 +1,4 @@
1
- import{b as l}from"./chunk-RYXW3KRC.js";import{a}from"./chunk-GBEYTDY5.js";import{c as i,f as n}from"./chunk-JM72FNGA.js";function _(e,r){let t=l(e,r);return t.length===0?[]:m([...d(e,t),...c(e,t)]).filter(o=>!e.isIgnored(o.relative_path)).map(u)}function d(e,r){let t=r.map(()=>"?").join(", ");return e.all(`SELECT DISTINCT d1.relative_path, gs.symbol
1
+ import{b as l}from"./chunk-OFXN2BCT.js";import{a}from"./chunk-RM2WQ75T.js";import{d as i,g as n}from"./chunk-NABVR6B7.js";function _(e,r){let t=l(e,r);return t.length===0?[]:m([...d(e,t),...c(e,t)]).filter(o=>!e.isIgnored(o.relative_path)).map(u)}function d(e,r){let t=r.map(()=>"?").join(", ");return e.all(`SELECT DISTINCT d1.relative_path, gs.symbol
2
2
  FROM mentions m
3
3
  JOIN chunks c ON m.chunk_id = c.id
4
4
  JOIN documents d1 ON c.document_id = d1.id
@@ -26,4 +26,4 @@ import{b as l}from"./chunk-RYXW3KRC.js";import{a}from"./chunk-GBEYTDY5.js";impor
26
26
  AND ${e.localSymbolPredicate}
27
27
  ${e.pathExclusionsFor("d1")}
28
28
  ORDER BY d1.relative_path`,...r,...r,...r)}function c(e,r){let t=new a(e);return r.flatMap(o=>t.definitionsForFile(o).filter(s=>n(s.symbol)).map(s=>({relative_path:o,symbol:s.symbol})))}function m(e){let r=new Set;return e.filter(t=>{let o=`${t.relative_path}|${t.symbol}`;return r.has(o)?!1:(r.add(o),!0)})}function u(e){return{consumer:e.relative_path,symbol:e.symbol,shortName:i(e.symbol)}}export{_ as a};
29
- //# sourceMappingURL=chunk-3DGD6NKW.js.map
29
+ //# sourceMappingURL=chunk-VB2EZZPA.js.map
@@ -1,2 +1,2 @@
1
- import{c as i}from"./chunk-B75HZHUP.js";import{a as m}from"./chunk-UQLFQLAF.js";import{a}from"./chunk-SULEXAHO.js";import{a as r}from"./chunk-PTQVNJ4Q.js";import{c as o}from"./chunk-JM72FNGA.js";function S(s,n,c={}){let e=r(s,n);if(!e)return null;let t=c.semantic!==!1,y=m(s,e,{limit:50,semantic:t}),b=i(a(s,e,{limit:50,additive:!0,callableOnly:!0,semantic:t}));return{symbol:e.symbol,shortName:o(e.symbol),callers:y.map(l=>({symbol:l.symbol,shortName:o(l.symbol),file:l.file})),callees:b.map(l=>({symbol:l.symbol,shortName:o(l.symbol),file:l.file}))}}export{S as a};
2
- //# sourceMappingURL=chunk-56P7PDST.js.map
1
+ import{c as i}from"./chunk-B75HZHUP.js";import{a as m}from"./chunk-L446VQYQ.js";import{a}from"./chunk-RSSXKJ6J.js";import{a as r}from"./chunk-NBNEVLRC.js";import{d as o}from"./chunk-NABVR6B7.js";function S(s,n,c={}){let e=r(s,n);if(!e)return null;let t=c.semantic!==!1,y=m(s,e,{limit:50,semantic:t}),b=i(a(s,e,{limit:50,additive:!0,callableOnly:!0,semantic:t}));return{symbol:e.symbol,shortName:o(e.symbol),callers:y.map(l=>({symbol:l.symbol,shortName:o(l.symbol),file:l.file})),callees:b.map(l=>({symbol:l.symbol,shortName:o(l.symbol),file:l.file}))}}export{S as a};
2
+ //# sourceMappingURL=chunk-WTY5FERW.js.map
@@ -0,0 +1,6 @@
1
+ import{a as b}from"./chunk-F6IXELII.js";import{a as E,e as _}from"./chunk-NABVR6B7.js";import{a as P}from"./chunk-64MNV6AB.js";import{d as p}from"./chunk-7S5E7KWT.js";import{existsSync as d,readFileSync as D,readdirSync as y}from"fs";import{join as l}from"path";var R={files:new Set,pathPrefixes:[]},x=/^(?:dist|build|lib|out|output|esm|cjs|umd)\//,I=/\.(?:d\.ts|d\.mts|d\.cts|ts|tsx|mts|cts|js|jsx|mjs|cjs)$/,j=[".ts",".tsx",".mts",".cts",".js",".jsx",".mjs",".cjs"],F=new Set([".git",".next",".turbo","build","coverage","dist","node_modules","out"]),C=4,M=p("package-surface",{clearGroups:["whole-project"]});function X(t){return M.get(t,()=>W(t.config.projectRoot))}function T(t,e){let r=X(t);return r.files.has(e)?!0:r.pathPrefixes.some(s=>e.startsWith(s))}function W(t){let e=new Set,r=[];for(let{manifest:s,packageRoot:i}of U(t))for(let n of B(s))G(t,i,n,e,r);return e.size===0&&r.length===0?R:{files:e,pathPrefixes:r}}function U(t){let e=[],r=k(t,"");return r&&e.push({manifest:r,packageRoot:""}),w(t,"",e,0),e}function w(t,e,r,s){if(s>=C)return;let i=l(t,e);if(d(i))for(let n of y(i,{withFileTypes:!0})){if(!n.isDirectory()||F.has(n.name))continue;let a=e?`${e}/${n.name}`:n.name,o=k(t,a);o&&r.push({manifest:o,packageRoot:a}),w(t,a,r,s+1)}}function k(t,e){try{let r=D(l(t,e,"package.json"),"utf-8"),s=JSON.parse(r);return s&&typeof s=="object"?s:null}catch{return null}}function B(t){let e=[];for(let s of["main","module","types","browser"])typeof t[s]=="string"&&e.push(t[s]);let r=t.bin;if(typeof r=="string")e.push(r);else if(r&&typeof r=="object")for(let s of Object.values(r))typeof s=="string"&&e.push(s);return $(t.exports,e),e}function $(t,e){if(typeof t=="string"){e.push(t);return}if(!(!t||typeof t!="object"))for(let r of Object.values(t))$(r,e)}function G(t,e,r,s,i){let n=r.replace(/\\/g,"/").replace(/^\.\//,"");if(n===""||n.startsWith(".."))return;let a=n.indexOf("*");if(a>=0){let c=n.slice(0,a);for(let u of m(c))u!==""&&i.push(f(e,u));return}let o=n.replace(I,"");for(let c of m(o)){c===o&&c===n&&s.add(f(e,n));for(let u of j)L(t,s,e,c+u)}s.add(f(e,n))}function m(t){let e=[t];return x.test(t)&&(e.push(t.replace(x,"src/")),e.push(t.replace(x,""))),e}function L(t,e,r,s){let i=f(r,s);if(e.add(i),!s.startsWith("src/")||d(l(t,i)))return;let n=j.find(S=>s.endsWith(S));if(!n)return;let a=s.slice(0,-n.length);V(t,e,r,a,n);let o=a.lastIndexOf("/");if(o<=4)return;let c=a.slice(0,o),u=a.slice(o+1);for(let S of v(t,r,c,`${u}${n}`))e.add(S)}function V(t,e,r,s,i){let n=f(r,`${s}/index${i}`);d(l(t,n))&&e.add(n)}function v(t,e,r,s){let i=l(t,e,r);if(!d(i))return[];let n=[];for(let a of y(i,{withFileTypes:!0})){let o=`${r}/${a.name}`;a.isDirectory()?n.push(...v(t,e,o,s)):a.isFile()&&a.name===s&&n.push(f(e,o))}return n}function f(t,e){return t?`${t}/${e}`:e}function h(t){let e=g(t);return ct(e)?"test":ut(e)?"worker":ft(e)?"entry":gt(e)?"barrel":"source"}function H(t){return h(t)==="barrel"}function N(t){return K.get(t,()=>{let r=P(t,{includeIgnored:!1}).filter(a=>{let o=h(a);return o==="entry"||o==="worker"});if(r.length===0)return new Set;let s=b(t),i=new Set,n=new Set;for(;r.length>0;){let a=r.shift();if(!i.has(a)){i.add(a),h(a)==="barrel"&&n.add(a);for(let o of s.get(a)??[])i.has(o)||r.push(o)}}return n})}var K=p("live-barrels",{clearGroups:["whole-project"]});function J(t,e){return N(t).has(g(e))}function yt(t){let e=N(t);return P(t,{includeIgnored:!1}).filter(r=>H(r)&&!e.has(r)&&!Q(t,r))}function Q(t,e){let r=g(e),s=E(t).forFile(r,{facts:!0}).facts?.callables;return s&&s.length>0?!0:(t.get(`SELECT COUNT(*) AS n
2
+ FROM defn_enclosing_ranges der
3
+ JOIN documents d ON d.id = der.document_id
4
+ WHERE d.relative_path = ?
5
+ AND der.end_line - der.start_line >= 2`,r)?.n??0)>0}function jt(t,e){let r=h(e);return r==="entry"||r==="worker"||J(t,e)}function Tt(t,e,r){let s=g(r);if(T(t,s)||et(e,s))return!0;let i=t.config.entryRoots;return i?!!(i.files?.some(n=>g(n)===s)||i.pathPrefixes?.some(n=>s.startsWith(g(n)))||i.qualifiedVars?.some(n=>lt(e,n))||i.symbolPatterns?.some(n=>{try{return new RegExp(n).test(e)}catch{return!1}})):!1}var A=new Set(["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"]),Y=new Set(["default","generateMetadata","generateStaticParams"]),Z=new Set(["default","getStaticProps","getServerSideProps","getStaticPaths","config"]),q=new Set(["default","loader","action","clientLoader","clientAction","headers","links","meta","shouldRevalidate","ErrorBoundary","HydrateFallback"]),z=new Set(["load","actions","entries",...A]),tt=new Set(["default"]);function et(t,e){let r=_(t);return r===""?!1:rt(e)?A.has(r):st(e)?Y.has(r):nt(e)?Z.has(r):it(e)?q.has(r):at(e)?z.has(r):ot(e)?tt.has(r):!1}function rt(t){return/(?:^|\/)app(?:\/[^/]+)*\/route\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function st(t){return/(?:^|\/)app(?:\/[^/]+)*\/(?:page|layout|template|loading|error|not-found|global-error|head|default)\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function nt(t){return/(?:^|\/)pages\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function it(t){return/(?:^|\/)app\/routes\/.+\.(?:ts|tsx|js|jsx|mjs|cjs)$/.test(t)}function at(t){return/(?:^|\/)src\/routes\/(?:.*\/)?\+(?:page|page\.server|layout|layout\.server|server)\.(?:ts|js)$/.test(t)}function ot(t){return/(?:^|\/)src\/(?:pages|views|routes)\/.+\.(?:ts|tsx|js|jsx|vue)$/.test(t)}function ct(t){return!!(/\.(?:test|spec)\.[a-z0-9]+$/i.test(t)||/(?:^|\/)(?:_)?test_[^/]+$/i.test(t)||/(?:^|\/)spec_[^/]+$/i.test(t)||/(?:^|\/)[^/]+_test\.[a-z0-9]+$/i.test(t)||/(?:^|\/)[^/]+_tests\.rs$/i.test(t)||/(?:^|\/)tests\.rs$/i.test(t)||/(?:^|\/)[^/]+_spec\.[a-z0-9]+$/i.test(t)||/(?:^|\/)__tests__\//i.test(t)||/(?:^|\/)test\//i.test(t)||/(?:^|\/)tests\//i.test(t)||/(?:^|\/)__fixtures__\//i.test(t)||/(?:^|\/)__mocks__\//i.test(t)||/(?:^|\/)test-support\//i.test(t)||/(?:^|\/)test-utils\//i.test(t)||/(?:^|\/)testing\//i.test(t))}function ut(t){return/(?:^|\/)[^/]*worker\.(?:ts|tsx|js|mjs|cjs|rs|py|go)$/.test(t)}function ft(t){let e=t.split("/"),r=e[e.length-1]??t;return r==="cli.ts"||r==="cli.js"||r==="postinstall.ts"||r==="postinstall.js"||r==="main.ts"||r==="main.js"||r==="main.rs"||r==="main.go"||r==="main.py"||r==="build.rs"||r==="lib.rs"||/\bsrc\/bin\/[^/]+\.rs$/.test(t)||/(?:^|\/)examples\/[^/]+\.rs$/.test(t)||/(?:^|\/)tests\/[^/]+\.rs$/.test(t)||/(?:^|\/)benches\/[^/]+\.rs$/.test(t)?!0:r==="index.ts"||r==="index.js"?/(?:^|\/)(?:apps|services)\/[^/]+\/src\/index\.(?:ts|js)$/.test(t)?!0:e.length<=2:!1}function gt(t){return t==="index.ts"||t==="index.js"||t.endsWith("/index.ts")||t.endsWith("/index.js")||t.endsWith("/mod.rs")||t.endsWith("/__init__.py")}function g(t){return t.replace(/\\/g,"/")}function lt(t,e){let r=e.lastIndexOf("/");if(r<0)return!1;let s=e.slice(0,r),i=e.slice(r+1);return t.includes(O(s)+"/")&&t.includes(O(i)+".")}function O(t){return/^[A-Za-z0-9_$+-]+$/.test(t)?t:"`"+t.replace(/`/g,"``")+"`"}export{T as a,h as b,H as c,J as d,yt as e,jt as f,Tt as g};
6
+ //# sourceMappingURL=chunk-WUOB4DHH.js.map
@@ -0,0 +1,2 @@
1
+ import{a as g}from"./chunk-UVPY3RUZ.js";import{a as d}from"./chunk-RM2WQ75T.js";import{a as c}from"./chunk-UQ73QF5D.js";import{d as p}from"./chunk-NABVR6B7.js";import{d as o}from"./chunk-THB6AM3V.js";import{e as u}from"./chunk-SA3DPTHT.js";function F(r,a={}){let{scope:l,limit:s=30,scanLimit:b}=a,f=new d(r);return g({candidates:()=>f.productionCallableDefinitions({scope:l,files:a.files,minLoc:2,excludeRootedSymbols:!0,requireFunctionLikeSymbol:!0}),filterCandidate:e=>y(e.relativePath),scanLimit:b,profile:{name:"unused-params"},evaluate:e=>{let n=o(r,e.relativePath)?.callables.find(t=>t.startLine===e.startLine&&t.endLine===e.endLine);if(!n||n.params.length===0||n.params.some(t=>!t.simple)||n.paramsEndLine>=n.endLine)return null;let L=c(r,e.relativePath),m=[];for(let t=n.params.length-1;t>=0;t--){let i=n.params[t];if(i.name===""||i.name.startsWith("_")||h(L.get(i.name),n.paramsEndLine,n.endLine))break;m.unshift(i.name)}return m.length===0?null:{symbol:e.symbol,shortName:p(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,paramCount:n.paramCount,unusedTrailing:m}},orderResults:(e,n)=>n.unusedTrailing.length-e.unusedTrailing.length||e.file.localeCompare(n.file)||e.startLine-n.startLine,limit:s})}function y(r){let a=u(r);return a==="typescript"||a==="tsx"||a==="javascript"}function h(r,a,l){return r?r.some(s=>s>a&&s<=l):!1}export{F as a};
2
+ //# sourceMappingURL=chunk-XHMVZFA6.js.map
@@ -0,0 +1,10 @@
1
+ import{a as M}from"./chunk-L446VQYQ.js";import{a as I,b as N}from"./chunk-NBNEVLRC.js";import{f as g,m as S}from"./chunk-63CI3IXR.js";import{d as b,f as p}from"./chunk-NABVR6B7.js";import{e as h}from"./chunk-SA3DPTHT.js";function $(o,s,i={}){let{maxDepth:c=5,scope:a}=i,l=I(o,s);if(!l)return[];let u=[],f=new Set([l.symbolId]),m=new Set,t=[l];for(let e=1;e<=c&&t.length!==0;e++){let r=[];for(let y of t)for(let n of D(o,y,a)){let d=`${n.file}|${n.shortName}`;if(n.symbolId!==null){if(f.has(n.symbolId))continue;f.add(n.symbolId)}else if(m.has(d))continue;m.add(d),u.push({symbol:n.symbol,shortName:n.shortName,file:n.file,depth:e}),n.symbolId!==null&&n.symbolMatch&&r.push(n.symbolMatch)}t=r}return u.sort((e,r)=>e.depth-r.depth||e.file.localeCompare(r.file)),u}function D(o,s,i){let c=M(o,s,{limit:500}).filter(t=>!o.isIgnored(t.file)).filter(t=>!i||t.file.includes(i)),a=new Set(c.map(t=>t.file)),l=[];for(let t of _(o,s,i)){if(a.has(t))continue;let e=g(o,t),r=e.length>0?S(e,e[0].startLine):null;l.push({symbol:r?.symbol??t,file:t})}let u=[...c,...l],f=[],m=new Set;for(let t of u){let e=N(o,t.symbol);if(!e){let y=`${t.file}|${t.symbol}`;if(m.has(y))continue;m.add(y),f.push({symbolId:null,symbol:t.symbol,shortName:b(t.symbol),file:t.file,symbolMatch:null});continue}if(e.symbolId===s.symbolId||o.isIgnored(e.relativePath)||!w(e))continue;let r=`${e.symbolId}|${e.relativePath}`;m.has(r)||(m.add(r),f.push({symbolId:e.symbolId,symbol:e.symbol,shortName:b(e.symbol),file:e.relativePath,symbolMatch:e}))}return f}function _(o,s,i){let c=i?"AND consumer_d.relative_path LIKE ?":"",a=[s.symbolId,s.documentId];return i&&a.push(`%${i}%`),new Set(o.all(`SELECT DISTINCT consumer_d.relative_path
2
+ FROM mentions m
3
+ JOIN chunks c ON m.chunk_id = c.id
4
+ JOIN documents consumer_d ON consumer_d.id = c.document_id
5
+ WHERE m.symbol_id = ?
6
+ AND m.role != 1
7
+ AND c.document_id != ?
8
+ ${o.pathExclusionsFor("consumer_d")}
9
+ ${c}`,...a).map(l=>l.relative_path).filter(l=>!o.isIgnored(l)))}function w(o){if(o.symbol.startsWith("scip-clojure ")||h(o.relativePath)==="clojure")return!0;let s=p(o.symbol);return s==="method"||s==="type"||o.symbol.endsWith("().")}export{$ as a};
10
+ //# sourceMappingURL=chunk-XRUGSM76.js.map
@@ -1,4 +1,4 @@
1
- import{a as t}from"./chunk-RYXW3KRC.js";function l(e,n,i){let d=t(e,n)??n,o=t(e,i)??i,r=e.get(`SELECT COUNT(DISTINCT gs.id) AS shared
1
+ import{a as t}from"./chunk-OFXN2BCT.js";function l(e,n,i){let d=t(e,n)??n,o=t(e,i)??i,r=e.get(`SELECT COUNT(DISTINCT gs.id) AS shared
2
2
  FROM global_symbols gs
3
3
  WHERE (
4
4
  -- Defined in file1, referenced in file2
@@ -53,4 +53,4 @@ import{a as t}from"./chunk-RYXW3KRC.js";function l(e,n,i){let d=t(e,n)??n,o=t(e,
53
53
  GROUP BY def_d.id, ref_d.id
54
54
  ORDER BY shared DESC
55
55
  LIMIT ?`,i).filter(s=>!e.isIgnored(s.file1)&&!e.isIgnored(s.file2)).map(s=>c(s.file1,s.file2,s.shared))}function c(e,n,i){return{file1:e,file2:n,sharedSymbols:i,actionTier:"signal",couplingKind:"shared-symbol-coupling",evidenceReasons:[`${i} symbol(s) are defined in one file and referenced by the other`],recommendation:"Review whether the shared symbol surface is an intentional boundary or hidden coordination pressure before moving code."}}export{l as a,_ as b};
56
- //# sourceMappingURL=chunk-UYD7FJ3K.js.map
56
+ //# sourceMappingURL=chunk-XUCZ3RQ5.js.map
@@ -0,0 +1,2 @@
1
+ import{c as s,d as l}from"./chunk-HWVYTJOV.js";import{a as d,b as g}from"./chunk-MNCQPMCH.js";import{a as f,b as c,c as u}from"./chunk-ELC77ZDE.js";import{m as p}from"./chunk-SA3DPTHT.js";function S(o,t={}){let{minSimilarity:r=.62,minTokens:e=8,limit:a=20,scope:k,scanLimit:h,filePattern:P,focusFiles:B}=t,m=p(o).reactProfiles({scope:k,minJsxTokens:e,scanLimit:h}).filter(n=>n.kind==="component").map(n=>({file:n.file,component:n.name,tokens:n.jsxTokens,profile:n})),C=d(m,n=>n.tokens);return g({profiles:m,limit:a,filePattern:P,focusFiles:B,candidateIndex:C,profile:{name:"react-component-duplicates"},compare:(n,i)=>R(n,i,r),sort:(n,i)=>i.similarity-n.similarity||n.fileA.localeCompare(i.fileA)||n.componentA.localeCompare(i.componentA)||n.fileB.localeCompare(i.fileB)||n.componentB.localeCompare(i.componentB)})}function R(o,t,r){let e=f(o.tokens,t.tokens);if(e.size<6||!T(e))return null;let a=u(o.tokens,t.tokens);return a<r?null:{fileA:o.file,componentA:o.component,fileB:t.file,componentB:t.component,similarity:a,sharedTokens:l(e),sharedComponents:s(e,"component:"),sharedNativeTags:s(e,"native:"),sharedProps:s(e,"prop:"),sharedEvents:s(e,"event:"),sharedBindings:s(e,"binding:"),uniqueToA:l(c(o.tokens,t.tokens)).slice(0,25),uniqueToB:l(c(t.tokens,o.tokens)).slice(0,25),locA:o.profile.loc,locB:t.profile.loc}}function T(o){let t=0,r=0;for(let e of o)e.startsWith("component:")&&(t+=1),(e.startsWith("prop:")||e.startsWith("event:")||e.startsWith("native:")||e.startsWith("jsx:"))&&(r+=1);return t>=1||r>=4}export{S as a};
2
+ //# sourceMappingURL=chunk-YFQIKYOP.js.map
@@ -0,0 +1,5 @@
1
+ import{a as ne,b as q,e as V,f as _,g as E,h as ie,i as te}from"./chunk-ELC77ZDE.js";import{b as $}from"./chunk-B75HZHUP.js";import{a as A}from"./chunk-RM2WQ75T.js";import{a as ee}from"./chunk-RSSXKJ6J.js";import{a as K}from"./chunk-NBNEVLRC.js";import{a as v,b}from"./chunk-ULHLDOD6.js";import{d as R,e as H,h as N}from"./chunk-NABVR6B7.js";import{a as G,b as U}from"./chunk-SA3DPTHT.js";import{b as J,j as Y}from"./chunk-SGTKURU6.js";import{a as Q}from"./chunk-64MNV6AB.js";import{d as T}from"./chunk-7S5E7KWT.js";function yn(e,n,t={}){let{minSimilarity:i=.4,limit:r=20}=t,s=ze(e,n,{semantic:t.semantic!==!1});if(!s)return[];if(!N(s.symbol))return[];if(s.callees.size===0)return re(e,n,{minSimilarity:i,limit:r,scanLimit:t.scanLimit,candidateMode:t.sourceCandidateMode??"full"});let a=xe(e,s,i,{scanLimit:t.scanLimit,semantic:t.semantic!==!1});return a.length>0?a.slice(0,r):re(e,n,{minSimilarity:i,limit:r,scanLimit:t.scanLimit,candidateMode:t.sourceCandidateMode??"full"})}function xe(e,n,t,i){let r=j(e).calleeIndex({minCallees:3,scanLimit:i.scanLimit,semantic:i.semantic}),s=Ae(n,r),a=ke(n,r),l=_(a),u=E(n.callees,a),m=[];for(let g of s){if(g.callees.size<3)continue;let f=E(g.callees,a),o=le(n,g,a,{minSimilarity:t,requireSignificantShared:1,requireSharedCount:0,medianIdf:l,magnitudeA:u,magnitudeB:f});o&&m.push(o)}return m.sort((g,f)=>f.similarity-g.similarity),m}function ke(e,n){let t=new Map(n.docFreq);for(let i of e.callees)t.set(i,(t.get(i)??0)+1);return V(t,n.corpus.length+1)}function le(e,n,t,i){let r=Ie(e,n,t,i);if(!Me(r,i))return null;let{similarity:s,significantShared:a,trivialShared:l}=r,u=a.length>0?a:l,m=fe(u,"callees");return{symbolA:e.symbol,shortNameA:R(e.symbol),fileA:e.file,symbolB:n.symbol,shortNameB:R(n.symbol),fileB:n.file,similarity:s,similarityBasis:"callees",sharedCallees:u.map(R),uniqueToA:[...q(e.callees,n.callees)].map(R),uniqueToB:[...q(n.callees,e.callees)].map(R),...m}}function we(e,n,t,i){let r=i.magnitudeA??E(e.callees,t),s=i.magnitudeB??E(n.callees,t),a=0,l=0,u=0,m=i.medianIdf??_(t);for(let o of e.callees){if(!n.callees.has(o))continue;let d=t.get(o)??0;a+=d*d,u+=1,d>=m&&(l+=1)}if(u===0)return!1;let g=r*s;return(g>0?a/g:0)<i.minSimilarity?!1:l>=i.requireSignificantShared||u>=i.requireSharedCount}function Ie(e,n,t,i){return i.magnitudeA===void 0||i.magnitudeB===void 0?ie(e.callees,n.callees,t,{medianIdf:i.medianIdf}):te(e.callees,n.callees,t,{medianIdf:i.medianIdf,magnitudeA:i.magnitudeA,magnitudeB:i.magnitudeB})}function Me(e,n){if(e.similarity<n.minSimilarity)return!1;let t=e.significantShared.length+e.trivialShared.length;return e.significantShared.length>=n.requireSignificantShared||t>=n.requireSharedCount}function hn(e,n={}){let{minSimilarity:t=.5,limit:i=20,scope:r,minCallees:s=4,crossFileOnly:a=!1,scanLimit:l}=n,u=n.semantic!==!1,m=v(),g=0,f=0,o=0,d=0,c=0,p=0,S=0;return b("similar.all",()=>{let y=j(e).calleeIndex({minCallees:s,scope:r,scanLimit:l,semantic:u}),k=y.corpus;g=k.length;let w=n.focusFiles,x=[],P=0;return b("similar.all.pair-scan",()=>{for(let C=0;C<k.length;C+=1){let F=k[C],L=w?.has(F.file)??!1,I=y.weightedMagnitudes[C],M=new Set;for(let B of F.callees){let z=y.candidateIndexesByCallee.get(B);if(z)for(let D of z)D<=C||w&&!L&&!w.has(k[D].file)||M.add(D)}m&&(o+=M.size,M.size>0&&(f+=1));for(let B of M){let z=k[B];if(a&&F.file===z.file){m&&(c+=1);continue}if(ce(F,z)){m&&(p+=1);continue}m&&(d+=1);let D=le(F,z,y.idfWeights,{minSimilarity:t,requireSignificantShared:2,requireSharedCount:4,medianIdf:y.medianIdf,magnitudeA:I,magnitudeB:y.weightedMagnitudes[B]});D&&(Re(x,D,i,P),m&&(S+=1),P+=1)}}},()=>({corpusSize:g,candidateSets:f,candidatePairs:o,comparedPairs:d,crossFileSkips:c,signatureSkips:p,insertedResults:S,topResults:x.length})),b("similar.all.sort-project",()=>(x.sort((C,F)=>F.result.similarity-C.result.similarity||C.order-F.order),x.map(C=>C.result)),()=>({topResults:x.length}))},()=>({minSimilarity:t,limit:i,scope:r,minCallees:s,crossFileOnly:a,scanLimit:l,semantic:u,corpusSize:g,candidateSets:f,candidatePairs:o,comparedPairs:d,crossFileSkips:c,signatureSkips:p,insertedResults:S}))}function Fn(e,n={}){let{minSimilarity:t=.5,scope:i,minCallees:r=4,crossFileOnly:s=!1,scanLimit:a}=n,l=n.semantic!==!1,u=v(),m=0,g=0,f=0,o=0,d=0,c=0,p=0;return b("similar.all-count",()=>{let h=j(e).calleeIndex({minCallees:r,scope:i,scanLimit:a,semantic:l}),y=h.corpus;m=y.length;let k=n.focusFiles;return b("similar.all-count.pair-scan",()=>{for(let w=0;w<y.length;w+=1){let x=y[w],P=k?.has(x.file)??!1,C=h.weightedMagnitudes[w],F=new Set;for(let L of x.callees){let I=h.candidateIndexesByCallee.get(L);if(I)for(let M of I)M<=w||k&&!P&&!k.has(y[M].file)||F.add(M)}u&&(f+=F.size,F.size>0&&(g+=1));for(let L of F){let I=y[L];if(s&&x.file===I.file){u&&(d+=1);continue}if(ce(x,I)){u&&(c+=1);continue}u&&(o+=1),we(x,I,h.idfWeights,{minSimilarity:t,requireSignificantShared:2,requireSharedCount:4,medianIdf:h.medianIdf,magnitudeA:C,magnitudeB:h.weightedMagnitudes[L]})&&(p+=1)}}},()=>({corpusSize:m,candidateSets:g,candidatePairs:f,comparedPairs:o,crossFileSkips:d,signatureSkips:c,insertedResults:p})),p},()=>({minSimilarity:t,scope:i,minCallees:r,crossFileOnly:s,scanLimit:a,semantic:l,corpusSize:m,candidateSets:g,candidatePairs:f,comparedPairs:o,crossFileSkips:d,signatureSkips:c,insertedResults:p}))}function ce(e,n){if(e.paramCount<0||n.paramCount<0)return!1;let t=Math.abs(e.paramCount-n.paramCount),i=Math.max(2,Math.ceil(Math.max(e.paramCount,n.paramCount)*.5));return t>i}var ue=Y({kind:"source-fingerprints",serialize:nn,deserialize:en});function Re(e,n,t,i){if(t<=0)return;if(e.length<t){e.push({result:n,order:i});return}let r=0;for(let a=1;a<e.length;a+=1){let l=e[a],u=e[r];(l.result.similarity<u.result.similarity||l.result.similarity===u.result.similarity&&l.order>u.order)&&(r=a)}let s=e[r];n.similarity<=s.result.similarity||(e[r]={result:n,order:i})}var Le=["ScipDatabase#all","ScipDatabase#get","ScipDatabase#prepare","ScipDatabase#pathExclusionsFor","ScipDatabase#isIgnored","ScipDatabase#symbolNoiseFor","PerDbValue#get","PerDbValue#has",":storage:db:ScipDatabase:all",":storage:db:ScipDatabase:get",":storage:db:ScipDatabase:prepare",":storage:db:ScipDatabase:pathExclusionsFor",":storage:db:ScipDatabase:isIgnored",":storage:db:ScipDatabase:symbolNoiseFor",":storage:per-db-cache:PerDbValue:get",":storage:per-db-cache:PerDbValue:has"];function ze(e,n,t){let i=K(e,n);if(!i||!N(i.symbol))return null;let r=new A(e),s=ee(e,i,{semantic:t.semantic});return{symbol:i.symbol,file:i.relativePath,callees:de(s.map(a=>a.symbol)),paramCount:r.callableSignature(i)?.paramCount??-1}}var De=T("callee-fingerprint-corpus",{clearGroups:["whole-project","definition-catalog"]}),ve=T("callee-fingerprint-index",{clearGroups:["whole-project","definition-catalog"]});function me(e,n){let{minCallees:t,scope:i,excludeSymbol:r,scanLimit:s}=n,a=n.semantic!==!1,l=De.get(e,()=>new Map),u=`${t}|${i??""}|${s??""}|${a}`,m=!0,g=0,f=0;return b("similar.callee-fingerprints.resolve",()=>{let o=l.get(u);if(m=o!==void 0,o||(o=qe(e,{minCallees:t,scope:i,scanLimit:s,semantic:a}),l.set(u,o)),g=o.length,r===void 0)return o;let d=o.filter(c=>c.symbol!==r);return f=o.length-d.length,d},()=>({minCallees:t,scope:i,scanLimit:s,semantic:a,cacheHit:m,corpusSize:g,excludeSymbol:r!==void 0,excludedSymbols:f}))}function Ee(e,n){let{minCallees:t,scope:i,scanLimit:r}=n,s=n.semantic!==!1,a=ve.get(e,()=>new Map),l=`${t}|${i??""}|${r??""}|${s}`,u=!0,m=0,g=0,f=0;return b("similar.callee-index.resolve",()=>{let o=a.get(l);return u=o!==void 0,o||(o=Te(me(e,{minCallees:t,scope:i,scanLimit:r,semantic:s})),a.set(l,o)),m=o.corpus.length,g=o.docFreq.size,f=o.candidateIndexesByCallee.size,o},()=>({minCallees:t,scope:i,scanLimit:r,semantic:s,cacheHit:u,corpusSize:m,indexedCallees:g,candidateBuckets:f}))}function j(e){return{calleeCorpus:n=>me(e,n),calleeIndex:n=>Ee(e,n),sourceCorpus:(n={})=>ye(e,n),sourceIndex:(n={})=>oe(e,n),sourceCandidates:(n,t)=>(t.candidateMode??"full")==="target-pruned"?Ke(e,n,{minSimilarity:t.minSimilarity,scanLimit:t.scanLimit}):He(n,oe(e,{scanLimit:t.scanLimit}))}}function Te(e){let n=v(),t=0,i=b("similar.callee-index.doc-frequency",()=>{let o=new Map;for(let d of e)for(let c of d.callees)o.set(c,(o.get(c)??0)+1);return t=o.size,o},()=>({corpusSize:e.length,uniqueCallees:t})),r=Math.max(8,Math.ceil(Math.sqrt(e.length))),s=b("similar.callee-index.idf-weights",()=>V(i,e.length),()=>({corpusSize:e.length,uniqueCallees:i.size})),a=b("similar.callee-index.weighted-magnitudes",()=>e.map(o=>E(o.callees,s)),()=>({corpusSize:e.length})),l=0,u=0,m=0,g=b("similar.callee-index.candidate-buckets",()=>{let o=new Map;for(let d=0;d<e.length;d+=1){let c=e[d];for(let p of c.callees){if((i.get(p)??0)>r){n&&(u+=1);continue}let S=o.get(p);S||(S=[],o.set(p,S)),S.push(d),n&&(l+=1)}}return n&&(m=o.size),o},()=>({corpusSize:e.length,buckets:m,candidateRefs:l,ubiquitousSkips:u,ubiquityThreshold:r})),f=b("similar.callee-index.median-idf",()=>_(s),()=>({uniqueCallees:s.size}));return{corpus:e,candidateIndexesByCallee:g,docFreq:i,idfWeights:s,weightedMagnitudes:a,medianIdf:f,ubiquityThreshold:r}}function Ae(e,n){let t=new Map;for(let i of e.callees)for(let r of n.candidateIndexesByCallee.get(i)??[]){let s=n.corpus[r];s.symbol!==e.symbol&&t.set(s.symbol,s)}return t.size>0?[...t.values()]:n.corpus.filter(i=>i.symbol!==e.symbol)}function qe(e,n){let{minCallees:t,scope:i,scanLimit:r,semantic:s}=n,a=v(),l=new A(e),u=0,m=b("similar.callee-fingerprints.candidates",()=>{let c=$(l.productionCallableDefinitions({scope:i,minLoc:5,sortByLocDesc:typeof r=="number"&&r>0}),r);return u=c.length,c},()=>({scope:i,scanLimit:r,candidateCount:u})),g=0,f=b("similar.callee-fingerprints.callee-map",()=>{let c=l.calleeMap(m,{semantic:s});if(a)for(let p of c.values())g+=p.length;return c},()=>({candidateCount:u,semantic:s,calleeEdges:g})),o=0,d=0;return b("similar.callee-fingerprints.shape",()=>{let c=m.map(p=>({symbol:p.symbol,file:p.relativePath,callees:de((f.get(p.symbolId)??[]).map(S=>S.symbol)),paramCount:l.callableSignature(p)?.paramCount??-1})).filter(p=>p.callees.size>=t);return o=c.length,a&&(d=c.reduce((p,S)=>p+S.callees.size,0)),c},()=>({candidateCount:u,fingerprintCount:o,retainedCalleeCount:d,minCallees:t}))}function de(e){return new Set([...e].filter(n=>!Oe(n)))}function Oe(e){return Le.some(n=>e.includes(n))}function re(e,n,t){let i=$e(e,n);if(!i||i.tokens.size<3)return[];let r=t.minSimilarity>=.5?t.minSimilarity:.3,s=[],a=t.candidateMode??"full",l=0,u=0,m=0,g=0;return b("similar.source-shape",()=>{let o=j(e).sourceCandidates(i,{minSimilarity:r,scanLimit:t.scanLimit,candidateMode:a});l=o.length;for(let d of o){if(d.symbol===i.symbol||d.tokens.size<3)continue;u+=1;let c=ne(i.tokens,d.tokens);if(c.size<2){m+=1;continue}let p=new Set([...i.tokens,...d.tokens]),S=p.size>0?c.size/p.size:0;if(S<r){g+=1;continue}s.push({symbolA:i.symbol,shortNameA:R(i.symbol),fileA:i.file,symbolB:d.symbol,shortNameB:R(d.symbol),fileB:d.file,similarity:S,similarityBasis:"source-tokens",sharedCallees:[...c].sort(),uniqueToA:[...q(i.tokens,d.tokens)].sort(),uniqueToB:[...q(d.tokens,i.tokens)].sort(),...fe([...c],"source-tokens")})}return s.sort((d,c)=>c.similarity-d.similarity||d.shortNameB.localeCompare(c.shortNameB)),s.slice(0,t.limit)},()=>({symbol:i.symbol,file:i.file,targetTokens:i.tokens.size,candidateMode:a,candidates:l,comparedPairs:u,sharedSkips:m,similaritySkips:g,results:s.length}))}function fe(e,n){let t=e.flatMap(W),i=e.flatMap(S=>se(S,n)),r=Z(t,ge),s=Z(t,pe),a=Z(i,X),l=[...new Set(i.filter(ae))],u=e.filter(S=>{let h=se(S,n);return h.some(y=>X.has(y))&&h.some(ae)}).length,m=[];r.length>0&&m.push(`access/query scaffolding: ${r.slice(0,5).join(", ")}`),s.length>0&&m.push(`framework/generic scaffolding: ${s.slice(0,5).join(", ")}`),a.length>0&&m.push(`domain behavior verbs: ${a.slice(0,5).join(", ")}`),a.length>0&&l.length>0&&m.push(`domain-specific terms: ${l.slice(0,5).join(", ")}`);let g=n==="source-tokens"&&t.length>0&&t.every(S=>Se.has(S));g&&m.push("shared source tokens are generic scaffolding");let f=a.length>0&&l.length>0,o=r.length+s.length>0,d=n==="callees"&&f&&e.length>=4&&l.length>=4&&u>=2,c=d?"domain-behavior":f?o?"mixed":"domain-behavior":r.length>0?"access-query-scaffolding":s.length>0||g?"framework-scaffolding":"structural-overlap";c==="structural-overlap"&&e.length>0&&m.push(`shared ${n} overlap has no recognized domain or scaffolding category`);let p=c==="domain-behavior"&&(e.length>=3||d)?"direct":"signal";return{evidenceClass:c,actionTier:p,evidenceClassReasons:m,recommendation:Pe(c,p)}}function Pe(e,n){return n==="direct"?"Shared domain behavior looks concrete; review for an extract/reuse opportunity.":e==="mixed"?"Shared evidence mixes domain behavior with scaffolding; review semantics before extracting anything.":e==="access-query-scaffolding"?"Shared evidence is mostly access/query scaffolding; compare product semantics before reusing code.":e==="structural-overlap"?"Shared structure has no domain or scaffolding classification; inspect names and behavior before reusing code.":"Shared evidence is mostly framework or generic scaffolding; treat as a contextual signal."}function Z(e,n){return[...new Set(e.filter(t=>n.has(t)))]}function W(e){return e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").toLowerCase().split(/[^a-z0-9]+/).filter(n=>n.length>1)}function se(e,n){if(n==="source-tokens")return W(e);let t=H(e);return W(t.length>0?t:Be(e))}function Be(e){return e.replace(/[()`]/g," ").replace(/\.[a-z][a-z0-9]+(?=\s|$)/gi," ").split(/[:/\\\s]+/).map(i=>i.trim()).filter(i=>/[A-Za-z]/.test(i)).at(-1)?.replace(/\.$/,"")??e}function ae(e){return e.length>3&&!X.has(e)&&!ge.has(e)&&!pe.has(e)&&!Se.has(e)&&!Ne.has(e)}var X=new Set(["archive","assign","book","cancel","create","delete","ensure","export","import","notify","persist","publish","restore","schedule","send","set","submit","sync","update","upload","validate","write"]),ge=new Set(["access","auth","authorize","cache","context","db","find","get","guard","list","permission","permissions","prisma","query","request","response","role","route","session","sql","where"]),pe=new Set(["bytes","computed","crypto","describe","effect","expect","fetch","filter","hex","hook","json","map","mounted","on","promise","random","react","reduce","ref","render","state","test","token","trim","uuid","vue","watch"]),Se=new Set(["bytes","crypto","data","false","get","hex","id","key","map","name","num","random","result","secret","set","string","to","token","true","type","value"]),Ne=new Set(["best","backend","conflict","database","effect","effects","error","errors","frontend","found","helpers","javascript","module","modules","scip","shared","source","typescript","utils","with","workflow","workflows"]);function $e(e,n){let t=K(e,n);if(!t||!N(t.symbol))return null;let i=_e(e,t);return i?{symbol:t.symbol,file:t.relativePath,tokens:i}:null}function _e(e,n){let t=H(n.symbol),i=Je(e,n.relativePath,n.startLine,n.endLine,t),r=Ce(i,t);return r.size>0?r:null}var je=T("source-fingerprint-corpus",{clearGroups:["whole-project","definition-catalog"]}),Ge=T("source-fingerprint-index",{clearGroups:["whole-project","definition-catalog"]});function be(e){return`${e.scanLimit??""}`}function ye(e,n={}){let t=je.get(e,()=>new Map),i=be(n),r=t.get(i);return r||(r=Xe(e,n),t.set(i,r)),r}function oe(e,n={}){let t=Ge.get(e,()=>new Map),i=be(n),r=t.get(i);return r||(r=Ue(ye(e,n)),t.set(i,r)),r}function Ue(e){let n=new Map;for(let r of e)for(let s of r.tokens)n.set(s,(n.get(s)??0)+1);let t=Math.max(8,Math.ceil(Math.sqrt(e.length))),i=new Map;for(let r of e)for(let s of r.tokens){if((n.get(s)??0)>t)continue;let a=i.get(s);a||(a=[],i.set(s,a)),a.push(r)}return{corpus:e,candidateByToken:i,docFreq:n,ubiquityThreshold:t}}function He(e,n){let t=new Map;for(let i of e.tokens)for(let r of n.candidateByToken.get(i)??[])r.symbol!==e.symbol&&t.set(r.symbol,r);return t.size>0?[...t.values()]:n.corpus.filter(i=>i.symbol!==e.symbol)}function Ke(e,n,t){let i=v(),r=new A(e),s=Ve(n.tokens.size,t.minSimilarity),a=0,l=0,u=0,m=b("similar.source-shape.target-files",()=>{let c=[...n.tokens],p=[];for(let S of Q(e,{includeIgnored:!1})){a+=1;let h=G(e,S);h&&(l+=1,Ze(h,c,s)&&p.push(S))}return u=p.length,p},()=>({symbol:n.symbol,targetTokens:n.tokens.size,requiredSharedTokens:s,scannedFiles:a,readableFiles:l,candidateFiles:u})),g=0,f=b("similar.source-shape.target-definitions",()=>{let c=$(r.productionCallableDefinitions({files:m,sortByLocDesc:typeof t.scanLimit=="number"&&t.scanLimit>0}),t.scanLimit);return g=c.length,c},()=>({symbol:n.symbol,candidateFiles:u,scanLimit:t.scanLimit,definitionCount:g})),o=0;return b("similar.source-shape.target-fingerprints",()=>{let c=he(e,f);return i&&(o=c.length),c},()=>({symbol:n.symbol,definitionCount:g,fingerprintCount:o})).filter(c=>c.symbol!==n.symbol)}function Ve(e,n){return Math.max(2,Math.ceil(e*n))}function Ze(e,n,t){if(n.length<t)return!1;let i=e.toLowerCase(),r=0;for(let s of n)if(We(i,s)&&(r+=1,r>=t))return!0;return!1}function We(e,n){return n==="num"?/\b\d+\b/.test(e):e.includes(n)}function Xe(e,n={}){let t=new A(e),{scanLimit:i}=n,r=$(t.productionCallableDefinitions({sortByLocDesc:typeof i=="number"&&i>0}),i);return he(e,r)}function he(e,n){let t=new Map;for(let r of n){let s=t.get(r.relativePath)??[];s.push(r),t.set(r.relativePath,s)}let i=new Map;for(let[r,s]of t){let a=G(e,r);if(!a)continue;let l=J(e,r,a),u=Ye(e,r,l),m=!1,g=null;for(let f of s){let o=Qe(f),d=u.get(o),c=d?new Set(d.tokens):null;c||(g??=U(e,r),c=Ce(Fe(g,f.startLine,f.endLine,f.leaf),f.leaf),u.set(o,{key:o,symbol:f.symbol,startLine:f.startLine,endLine:f.endLine,leaf:f.leaf,tokens:[...c].sort()}),m=!0),c.size>0&&i.set(f.symbol,{symbol:f.symbol,file:f.relativePath,tokens:c})}m&&tn(e,r,l,u)}return n.map(r=>i.get(r.symbol)).filter(r=>!!r)}function Je(e,n,t,i,r){let s=U(e,n);return s.length===0?"":Fe(s,t,i,r)}function Fe(e,n,t,i){if(t>=n&&t-n<=12)return e.slice(n,t+1).join(`
2
+ `);let r=[new RegExp(`\\bdef\\s+${O(i)}\\b`),new RegExp(`\\bfun\\s+${O(i)}\\b`),new RegExp(`\\bfn\\s+${O(i)}\\b`),new RegExp(`\\bfunction\\s+${O(i)}\\b`),new RegExp(`\\b${O(i)}\\s*\\(`)],s=e.findIndex(a=>r.some(l=>l.test(a)));if(s>=0){let a=s;for(let l=s+1;l<e.length&&l<=s+8;l++){let u=e[l]??"";if(l>s&&sn(u)||(a=l,u.trim()===""&&l>s+1))break}return e.slice(s,a+1).join(`
3
+ `)}return e.slice(n,Math.min(e.length,n+8)).join(`
4
+ `)}function Qe(e){return`${e.symbol}\0${e.startLine}\0${e.endLine}\0${e.leaf}`}function Ye(e,n,t){return ue.read(e,n,t)??new Map}function en(e){try{let n=JSON.parse(e);if(!Array.isArray(n.entries))return null;let t=new Map;for(let i of n.entries){if(!i||typeof i.key!="string"||typeof i.symbol!="string"||typeof i.startLine!="number"||typeof i.endLine!="number"||typeof i.leaf!="string"||!Array.isArray(i.tokens)||!i.tokens.every(r=>typeof r=="string"))return null;t.set(i.key,i)}return t}catch{return null}}function nn(e){let n={entries:[...e.values()].sort((t,i)=>t.key.localeCompare(i.key))};return JSON.stringify(n)}function tn(e,n,t,i){ue.write(e,n,t,new Map(i))}function Ce(e,n){if(!e)return new Set;let t=new Set(["public","private","protected","final","static","class","def","fun","fn","function","return","string","bool","boolean","void","unit","self","this","new","const","let","var","end","pub"]),i=rn(n),s=e.replace(/["'`]/g," ").replace(/\b\d+\b/g," NUM ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/[^A-Za-z0-9_]+/g," ").replace(/_/g," ").toLowerCase().split(/\s+/).map(a=>a.trim()).filter(a=>a.length>1).filter(a=>!t.has(a)).filter(a=>!i.has(a));return new Set(s)}function rn(e){return new Set(e.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^A-Za-z0-9_]+|_/).map(n=>n.toLowerCase()).filter(n=>n.length>1))}function sn(e){return/^\s*(?:def|fun|fn|function|class|trait|module|object|enum|interface|public|private|protected)\b/.test(e)}function O(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{yn as a,ke as b,hn as c,Fn as d,Re as e,me as f,Ee as g,j as h,Te as i,Ae as j,de as k,fe as l};
5
+ //# sourceMappingURL=chunk-Z2LDWIJV.js.map
@@ -0,0 +1,3 @@
1
+ import{a as y}from"./chunk-3XSNW5XB.js";import{a as P}from"./chunk-UVPY3RUZ.js";import{a as x}from"./chunk-B75HZHUP.js";import{a as v}from"./chunk-RM2WQ75T.js";import{a as p,g as h}from"./chunk-WUOB4DHH.js";import{a as b}from"./chunk-BGBBVSH4.js";import{d as l,e as g,h as u}from"./chunk-NABVR6B7.js";import{e as f,f as m}from"./chunk-THB6AM3V.js";import{b as d}from"./chunk-SA3DPTHT.js";import{basename as L,extname as S}from"path";function G(i,e){let{scope:n,maxLoc:t=15,limit:o=30,scanLimit:s}=e??{},a=new v(i);return P({candidates:()=>A(i,a,n,t),orderCandidates:x,scanLimit:s,profile:{name:"passthrough-candidates"},prepare:r=>a.calleeMap(r,{semantic:e?.semantic!==!1}),evaluate:(r,c)=>D(i,r,c.get(r.symbolId)??[]),orderResults:(r,c)=>r.loc-c.loc||r.file.localeCompare(c.file),limit:o})}function D(i,e,n){let t=j(n);if(t.size!==1||!f(i,e.relativePath,e.startLine,e.endLine))return null;let[,o]=[...t.entries()][0],s=I(i,e,o),a=E(i,e),r=s.length>0||a.length>0?"signal":"direct";return{symbol:e.symbol,shortName:l(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:b(e),forwardsTo:o.symbol,forwardsToShort:l(o.symbol),forwardsToFile:o.file,actionTier:r,boundaryEvidence:s,publicFacadeEvidence:a,recommendation:T(r,s,a)}}function I(i,e,n){return y(i,e.relativePath,e.startLine,"passthrough","explicit ignore-passthrough comment",[{label:"passthrough name",value:l(e.symbol)},{label:"callee name",value:l(n.symbol)},{label:"passthrough module",value:L(e.relativePath,S(e.relativePath))},{label:"callee module",value:L(n.file,S(n.file))}])}function T(i,e,n){if(i==="signal"){if(n.length>0)return`Review the public API before inlining; public-facade evidence: ${n.slice(0,2).join("; ")}.`;let t=e.filter(F);return t.length>0?`Review the public API before inlining; public-surface evidence: ${t.slice(0,2).join("; ")}.`:`Review the boundary before inlining; boundary evidence: ${e.slice(0,2).join("; ")}.`}return"Inline or remove this passthrough unless an external API or runtime registration depends on the forwarding name."}function E(i,e){return w(i,e)?p(i,e.relativePath)?["exported passthrough is declared on the package public surface"]:h(i,e.symbol,e.relativePath)?["exported passthrough matches configured or framework public entry surface"]:[]:[]}function w(i,e){let n=d(i,e.relativePath);if(n.length===0)return!1;let t=n.slice(Math.max(0,e.startLine-2),e.startLine+1).join(`
2
+ `);return N.test(t)?!0:C(n,g(e.symbol))}function C(i,e){if(!e)return!1;let n=new RegExp(`^\\s*export\\s*\\{[^}\\n]*\\b${R(e)}\\b`);return i.some(t=>n.test(t))}function F(i){return i.includes("public surface")}function R(i){return i.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function j(i){let e=i.some(t=>u(t.symbol))?i.filter(t=>u(t.symbol)):i,n=new Map;for(let t of e)n.has(t.symbol)||n.set(t.symbol,t);return n}function A(i,e,n,t){return e.productionCallableDefinitions({scope:n,minLoc:3,maxLoc:t,requireFunctionLikeSymbol:!0,excludeRustTraitImplMembers:!0}).filter(o=>!m(i,o))}var N=/^\s*export\s+(?:default\s+)?(?:(?:async\s+)?function\b|(?:const|let|var)\b)/m;export{G as a};
3
+ //# sourceMappingURL=chunk-ZNWWVYQL.js.map
@@ -1,4 +1,4 @@
1
- import{a as R}from"./chunk-GBEYTDY5.js";import{a as _,d as f}from"./chunk-C5CTSJ6X.js";import{a as c,b as m,c as s}from"./chunk-P5RYBRIO.js";import{c as d,e as p}from"./chunk-JM72FNGA.js";import{a as l}from"./chunk-DS6QEB3G.js";import{a}from"./chunk-64MNV6AB.js";function P(e,o={}){let{scope:r,limit:n}=o,t=new R(e),i=C([...h(e,r),...N(e,t,r)]);return D(i),n?i.slice(0,n):i}function h(e,o){let r=[];for(let n of E(e,o)){if(e.isIgnored(n.barrel_path)||e.isIgnored(n.original_path)||f(e,n.barrel_path)||l(e,n.barrel_path)&&s(e,n.barrel_path).length===0)continue;let t=S(e,n),i=t?.barrel_consumers??0,u=t?.direct_consumers??0;i!==0||u!==0||r.push({barrelFile:n.barrel_path,symbol:n.symbol,shortName:d(n.symbol),originalFile:n.original_path,barrelConsumers:i,directConsumers:u,...g(e,n.barrel_path)})}return r}function E(e,o){let r=o?`AND barrel_d.relative_path LIKE '%${o}%'`:"";return e.all(`SELECT DISTINCT
1
+ import{a as R}from"./chunk-RM2WQ75T.js";import{a as _,d as f}from"./chunk-WUOB4DHH.js";import{d,f as p}from"./chunk-NABVR6B7.js";import{k as c,l as m,m as s}from"./chunk-THB6AM3V.js";import{a as l}from"./chunk-SA3DPTHT.js";import{a}from"./chunk-64MNV6AB.js";function P(e,o={}){let{scope:r,limit:n}=o,t=new R(e),i=C([...h(e,r),...N(e,t,r)]);return D(i),n?i.slice(0,n):i}function h(e,o){let r=[];for(let n of E(e,o)){if(e.isIgnored(n.barrel_path)||e.isIgnored(n.original_path)||f(e,n.barrel_path)||l(e,n.barrel_path)&&s(e,n.barrel_path).length===0)continue;let t=S(e,n),i=t?.barrel_consumers??0,u=t?.direct_consumers??0;i!==0||u!==0||r.push({barrelFile:n.barrel_path,symbol:n.symbol,shortName:d(n.symbol),originalFile:n.original_path,barrelConsumers:i,directConsumers:u,...g(e,n.barrel_path)})}return r}function E(e,o){let r=o?`AND barrel_d.relative_path LIKE '%${o}%'`:"";return e.all(`SELECT DISTINCT
2
2
  barrel_d.id AS barrel_doc_id,
3
3
  barrel_d.relative_path AS barrel_path,
4
4
  gs.id AS symbol_id,
@@ -58,4 +58,4 @@ import{a as R}from"./chunk-GBEYTDY5.js";import{a as _,d as f}from"./chunk-C5CTSJ
58
58
  ${e.pathExclusionsFor("consumer_d")}
59
59
  GROUP BY consumer_d.id
60
60
  )`,o.barrel_doc_id,o.symbol_id,o.barrel_doc_id,o.original_doc_id)}function N(e,o,r){let n=[];for(let t of y(e,r))x(e,t,t)>0||n.push(...I(e,o,t));return n}function y(e,o){return a(e,{scope:o,includeIgnored:!1}).filter(r=>s(e,r).length>0||c(e,r).length>0)}function I(e,o,r){let n=s(e,r).filter(i=>i.sourcePath&&!e.isIgnored(i.sourcePath)).flatMap(i=>b(e,o,r,i.sourcePath)),t=c(e,r).filter(i=>i.sourcePath&&!e.isIgnored(i.sourcePath)).flatMap(i=>b(e,o,r,i.sourcePath));return[...n,...t]}function b(e,o,r,n){let t=O(o,n);return t?[{barrelFile:r,symbol:t.symbol,shortName:d(t.symbol),originalFile:n,barrelConsumers:0,directConsumers:x(e,n,r),...g(e,r)}]:[]}function g(e,o){return _(e,o)?{actionTier:"signal",surfaceEvidence:["barrel file is declared on the package public surface"],recommendation:"Review the package API before removing this re-export; local consumers are zero, but external consumers may import through the public barrel."}:{actionTier:"direct",surfaceEvidence:[],recommendation:"Remove this unused re-export when the barrel is not part of an external API surface."}}function x(e,o,r){let n=new Set;for(let t of a(e,{includeIgnored:!1}))if(t!==r)for(let i of m(e,t))i.sourcePath===o&&n.add(t);return n.size}function O(e,o){let r=e.definitionsForFile(o);return r.find(n=>p(n.symbol)==="method")??r[0]??null}function C(e){let o=new Set,r=[];for(let n of e){let t=`${n.barrelFile}|${n.symbol}|${n.originalFile}`;o.has(t)||(o.add(t),r.push(n))}return r}function D(e){e.sort((o,r)=>r.directConsumers-o.directConsumers||o.barrelFile.localeCompare(r.barrelFile)||o.shortName.localeCompare(r.shortName))}export{P as a};
61
- //# sourceMappingURL=chunk-UDGXK2WA.js.map
61
+ //# sourceMappingURL=chunk-ZUUNREKS.js.map