scip-query 0.10.11 → 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 (276) 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-LSET2TXH.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-BFXPG2VN.js → chunk-5GXTUANY.js} +2 -2
  10. package/dist/{chunk-FXNWFMKW.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-P753MDDE.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-Z3YYR4OS.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-6IR2AOBM.js → chunk-AZBELWZQ.js} +2 -2
  23. package/dist/{chunk-JME7OWD3.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-IHUETYFW.js → chunk-DFSEARAU.js} +2 -2
  27. package/dist/{chunk-EY43NV4M.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-Z4HICZGY.js → chunk-KZ4MG5NY.js} +2 -2
  45. package/dist/{chunk-RNM6LMCF.js → chunk-L446VQYQ.js} +2 -2
  46. package/dist/{chunk-FFVIFETB.js → chunk-LDJUB7XW.js} +2 -2
  47. package/dist/{chunk-54KGX7EX.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-TK7O5ER5.js → chunk-NBNEVLRC.js} +2 -2
  53. package/dist/chunk-NTSR6SRP.js +2 -0
  54. package/dist/{chunk-7B6LP46R.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-G5UPYQGL.js → chunk-RGKRYO22.js} +4 -4
  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-6LJHXREW.js → chunk-RXINFVBN.js} +2 -2
  64. package/dist/{chunk-YWYFU2V3.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-NOJAM5ZV.js → chunk-T4N2ZRVY.js} +2 -2
  70. package/dist/{chunk-JATUZIEH.js → chunk-TBCHRDAC.js} +2 -2
  71. package/dist/chunk-THB6AM3V.js +11 -0
  72. package/dist/{chunk-TQ5W2H3S.js → chunk-ULHLDOD6.js} +1 -1
  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-ZQDIXAF5.js → chunk-VB2EZZPA.js} +2 -2
  77. package/dist/{chunk-7TWLSZK5.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-BASVXNY3.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-FKCGBZAC.js → chunk-ZUUNREKS.js} +2 -2
  86. package/dist/cli.js +238 -216
  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 +3 -3
  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 +46 -17
  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 +1 -1
  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/dist/chunk-2KHTSEIL.js +0 -102
  224. package/dist/chunk-3VD3JMK2.js +0 -2
  225. package/dist/chunk-4UZO3XCV.js +0 -35
  226. package/dist/chunk-5GOLFJEO.js +0 -8
  227. package/dist/chunk-5OST6GYB.js +0 -2
  228. package/dist/chunk-65AU3HFZ.js +0 -2
  229. package/dist/chunk-6GN7FXCH.js +0 -2
  230. package/dist/chunk-6JRV4MY2.js +0 -23
  231. package/dist/chunk-6QSOCTZT.js +0 -18
  232. package/dist/chunk-72KY2ZFO.js +0 -2
  233. package/dist/chunk-7GO4EQF5.js +0 -2
  234. package/dist/chunk-7IVSJJZU.js +0 -7
  235. package/dist/chunk-A536TEU4.js +0 -3
  236. package/dist/chunk-AVWPHM2Q.js +0 -4
  237. package/dist/chunk-BSN22NRK.js +0 -9
  238. package/dist/chunk-C5CTSJ6X.js +0 -6
  239. package/dist/chunk-CO5GJRP7.js +0 -2
  240. package/dist/chunk-CW5YFOCP.js +0 -5
  241. package/dist/chunk-DS6QEB3G.js +0 -5
  242. package/dist/chunk-E35O7UCB.js +0 -2
  243. package/dist/chunk-EXDQ35NN.js +0 -2
  244. package/dist/chunk-FAYI6KZ5.js +0 -2
  245. package/dist/chunk-FG4NT6VY.js +0 -2
  246. package/dist/chunk-GQBMH2TQ.js +0 -2
  247. package/dist/chunk-GRJY65YT.js +0 -2
  248. package/dist/chunk-HF25DFSC.js +0 -3
  249. package/dist/chunk-HHN2B5KA.js +0 -2
  250. package/dist/chunk-JCLDUKT6.js +0 -38
  251. package/dist/chunk-JGN2ZFJR.js +0 -2
  252. package/dist/chunk-JM72FNGA.js +0 -2
  253. package/dist/chunk-KDFONWTW.js +0 -40
  254. package/dist/chunk-LPL4MA6R.js +0 -2
  255. package/dist/chunk-LZHUWKGD.js +0 -2
  256. package/dist/chunk-M4COR2H6.js +0 -2
  257. package/dist/chunk-O6ZH6C6Y.js +0 -2
  258. package/dist/chunk-OBGRLXWF.js +0 -3
  259. package/dist/chunk-OLTESY4K.js +0 -3
  260. package/dist/chunk-P4KYUPBD.js +0 -4
  261. package/dist/chunk-P5RYBRIO.js +0 -4
  262. package/dist/chunk-P7AL7Y37.js +0 -2
  263. package/dist/chunk-PFOCOG57.js +0 -2
  264. package/dist/chunk-QLAUCRDJ.js +0 -2
  265. package/dist/chunk-QPU7EXAW.js +0 -2
  266. package/dist/chunk-RVWSAMTT.js +0 -2
  267. package/dist/chunk-USPV3T5K.js +0 -2
  268. package/dist/chunk-VCQYSG2M.js +0 -10
  269. package/dist/chunk-VUKC6F77.js +0 -20
  270. package/dist/chunk-W2CBNBEL.js +0 -71
  271. package/dist/chunk-W6BVEKYC.js +0 -3
  272. package/dist/chunk-WUCEKFQC.js +0 -3
  273. package/dist/chunk-XUGQU7PM.js +0 -41
  274. package/dist/chunk-Y5NBHMQX.js +0 -2
  275. package/dist/chunk-YCOFCT4B.js +0 -2
  276. package/dist/chunk-YZA6PPZL.js +0 -3
@@ -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-5OST6GYB.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-5OST6GYB.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-FKCGBZAC.js.map
61
+ //# sourceMappingURL=chunk-ZUUNREKS.js.map