scip-query 0.6.6 → 0.6.7

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 (165) hide show
  1. package/README.md +20 -1
  2. package/dist/chunk-2AUZ3PLO.js +2 -0
  3. package/dist/{chunk-PIRXZGV6.js → chunk-2CC7RA6B.js} +2 -2
  4. package/dist/{chunk-OQZF2DQJ.js → chunk-2R7OKZE5.js} +2 -2
  5. package/dist/{chunk-7PRMSA4Z.js → chunk-2YA36CXK.js} +2 -2
  6. package/dist/chunk-3A2M7AF3.js +4 -0
  7. package/dist/chunk-3EJRPTTB.js +2 -0
  8. package/dist/chunk-3SWWYJPB.js +6 -0
  9. package/dist/chunk-4M4FEWBL.js +7 -0
  10. package/dist/{chunk-UUIWMLDX.js → chunk-4Y6KUJDO.js} +2 -2
  11. package/dist/{chunk-MO65UK5V.js → chunk-55ZJ2FCW.js} +2 -2
  12. package/dist/chunk-6FLGPRBR.js +5 -0
  13. package/dist/chunk-6XRB6ATD.js +16 -0
  14. package/dist/{chunk-VEXS3I3N.js → chunk-7EQ4J66C.js} +2 -2
  15. package/dist/{chunk-QFBJZHMV.js → chunk-7TGEXAN5.js} +2 -2
  16. package/dist/chunk-ABLXPGAZ.js +2 -0
  17. package/dist/{chunk-IKQYNTW3.js → chunk-BG7YU4DJ.js} +2 -2
  18. package/dist/chunk-D2R6IIEO.js +2 -0
  19. package/dist/{chunk-YJODB2F5.js → chunk-E47WMJ5F.js} +2 -2
  20. package/dist/chunk-EEA3R37V.js +11 -0
  21. package/dist/chunk-FAN2CVZT.js +2 -0
  22. package/dist/{chunk-HVNVO6UW.js → chunk-FYO3FPFH.js} +2 -2
  23. package/dist/chunk-G47V5V3U.js +90 -0
  24. package/dist/chunk-GS55K4WJ.js +85 -0
  25. package/dist/{chunk-I377UMS2.js → chunk-HADDFTMU.js} +2 -2
  26. package/dist/chunk-HTJ5BOYP.js +10 -0
  27. package/dist/chunk-IARIBTCL.js +2 -0
  28. package/dist/{chunk-E2V5SE6M.js → chunk-IBWYWAWE.js} +2 -2
  29. package/dist/{chunk-DLWRLPKO.js → chunk-ILQSK2KJ.js} +2 -2
  30. package/dist/{chunk-KBGFYKOJ.js → chunk-JVMXNDRU.js} +2 -2
  31. package/dist/{chunk-O6VBAW7P.js → chunk-K345WFTU.js} +2 -2
  32. package/dist/{chunk-GPY33RTH.js → chunk-K6ULLR7M.js} +2 -2
  33. package/dist/chunk-KCC3GMCX.js +2 -0
  34. package/dist/{chunk-7LSCW7NF.js → chunk-KQWFRAQI.js} +2 -2
  35. package/dist/chunk-KRVRD6KZ.js +5 -0
  36. package/dist/{chunk-QFZE73XF.js → chunk-KYGNCIJ6.js} +8 -8
  37. package/dist/chunk-LHLXHH43.js +2 -0
  38. package/dist/{chunk-IZ4KV37N.js → chunk-M7GBLQG4.js} +2 -2
  39. package/dist/{chunk-WFDTS7XL.js → chunk-MEVK6R7N.js} +2 -2
  40. package/dist/{chunk-Q2ALKKSE.js → chunk-OCQN6WF4.js} +2 -2
  41. package/dist/{chunk-ERRUE5G4.js → chunk-PQTGBYXV.js} +2 -2
  42. package/dist/{chunk-ZHHMG4UC.js → chunk-QYWGC7JV.js} +2 -2
  43. package/dist/{chunk-TLRA5TR6.js → chunk-R373SHXM.js} +2 -2
  44. package/dist/{chunk-MXWC53GJ.js → chunk-RRWPHKZA.js} +2 -2
  45. package/dist/{chunk-6GPFHZP3.js → chunk-RUAJV3TN.js} +2 -2
  46. package/dist/{chunk-Q4R2IYA3.js → chunk-S57GUI2T.js} +2 -2
  47. package/dist/chunk-SVUVC5VS.js +2 -0
  48. package/dist/{chunk-4TX5IMMK.js → chunk-T426XELO.js} +2 -2
  49. package/dist/chunk-TX7BHRMT.js +2 -0
  50. package/dist/{chunk-YXMHTJYY.js → chunk-TYRPQE6R.js} +2 -2
  51. package/dist/{chunk-Y4DS3MDC.js → chunk-WPY46NIL.js} +2 -2
  52. package/dist/{chunk-CYJMOTIH.js → chunk-X3Z4KZNX.js} +2 -2
  53. package/dist/{chunk-7X7FLQC5.js → chunk-ZNNCDAYX.js} +2 -2
  54. package/dist/cli.js +156 -145
  55. package/dist/{db-BZPa7dzJ.d.ts → db-DdlToIC-.d.ts} +1 -0
  56. package/dist/index.d.ts +4 -4
  57. package/dist/index.js +2 -2
  58. package/dist/queries/affected.d.ts +1 -1
  59. package/dist/queries/affected.js +1 -1
  60. package/dist/queries/bottlenecks.d.ts +1 -1
  61. package/dist/queries/bottlenecks.js +1 -1
  62. package/dist/queries/by-kind.d.ts +1 -1
  63. package/dist/queries/by-kind.js +1 -1
  64. package/dist/queries/call-graph.d.ts +1 -1
  65. package/dist/queries/call-graph.js +1 -1
  66. package/dist/queries/change-surface.d.ts +1 -1
  67. package/dist/queries/change-surface.js +1 -1
  68. package/dist/queries/code.d.ts +1 -1
  69. package/dist/queries/code.js +1 -1
  70. package/dist/queries/complexity-hotspots.d.ts +2 -1
  71. package/dist/queries/complexity-hotspots.js +1 -1
  72. package/dist/queries/complexity.d.ts +1 -1
  73. package/dist/queries/complexity.js +1 -1
  74. package/dist/queries/convergence.d.ts +1 -1
  75. package/dist/queries/convergence.js +1 -1
  76. package/dist/queries/coupling.d.ts +1 -1
  77. package/dist/queries/coupling.js +1 -1
  78. package/dist/queries/cycles.d.ts +1 -1
  79. package/dist/queries/cycles.js +1 -1
  80. package/dist/queries/dataflow.d.ts +1 -1
  81. package/dist/queries/dataflow.js +1 -1
  82. package/dist/queries/dead.d.ts +1 -1
  83. package/dist/queries/dead.js +1 -1
  84. package/dist/queries/deep-chains.d.ts +1 -1
  85. package/dist/queries/deep-chains.js +1 -1
  86. package/dist/queries/deps.d.ts +1 -1
  87. package/dist/queries/deps.js +1 -1
  88. package/dist/queries/diff-impact.d.ts +20 -2
  89. package/dist/queries/diff-impact.js +1 -1
  90. package/dist/queries/drift.d.ts +1 -1
  91. package/dist/queries/drift.js +1 -1
  92. package/dist/queries/extract-candidates.d.ts +2 -1
  93. package/dist/queries/extract-candidates.js +1 -1
  94. package/dist/queries/fan.d.ts +1 -1
  95. package/dist/queries/fan.js +1 -1
  96. package/dist/queries/files.d.ts +1 -1
  97. package/dist/queries/health-cache-control.d.ts +15 -0
  98. package/dist/queries/health-cache-control.js +2 -0
  99. package/dist/queries/health.d.ts +66 -2
  100. package/dist/queries/health.js +1 -1
  101. package/dist/queries/hierarchy.d.ts +1 -1
  102. package/dist/queries/hierarchy.js +1 -1
  103. package/dist/queries/hotspots.d.ts +1 -1
  104. package/dist/queries/hotspots.js +1 -1
  105. package/dist/queries/imports.d.ts +1 -1
  106. package/dist/queries/imports.js +1 -1
  107. package/dist/queries/index.d.ts +3 -3
  108. package/dist/queries/index.js +1 -1
  109. package/dist/queries/isolated.d.ts +1 -1
  110. package/dist/queries/isolated.js +1 -1
  111. package/dist/queries/members.d.ts +1 -1
  112. package/dist/queries/members.js +1 -1
  113. package/dist/queries/methods.d.ts +1 -1
  114. package/dist/queries/methods.js +1 -1
  115. package/dist/queries/outline.d.ts +1 -1
  116. package/dist/queries/outline.js +1 -1
  117. package/dist/queries/passthrough-candidates.d.ts +2 -1
  118. package/dist/queries/passthrough-candidates.js +1 -1
  119. package/dist/queries/redundant-reexports.d.ts +1 -1
  120. package/dist/queries/redundant-reexports.js +1 -1
  121. package/dist/queries/refs.d.ts +1 -1
  122. package/dist/queries/refs.js +1 -1
  123. package/dist/queries/similar-chains.d.ts +1 -1
  124. package/dist/queries/similar-chains.js +1 -1
  125. package/dist/queries/similar-files.d.ts +1 -1
  126. package/dist/queries/similar-files.js +1 -1
  127. package/dist/queries/similar-signatures.d.ts +1 -1
  128. package/dist/queries/similar-signatures.js +1 -1
  129. package/dist/queries/similar.d.ts +2 -1
  130. package/dist/queries/similar.js +1 -1
  131. package/dist/queries/slice.d.ts +1 -1
  132. package/dist/queries/slice.js +1 -1
  133. package/dist/queries/stale-abstractions.d.ts +4 -2
  134. package/dist/queries/stale-abstractions.js +1 -1
  135. package/dist/queries/stats.d.ts +1 -1
  136. package/dist/queries/surface.d.ts +1 -1
  137. package/dist/queries/surface.js +1 -1
  138. package/dist/queries/symbols.d.ts +1 -1
  139. package/dist/queries/symbols.js +1 -1
  140. package/dist/queries/system.d.ts +1 -1
  141. package/dist/queries/system.js +1 -1
  142. package/dist/queries/trace.d.ts +1 -1
  143. package/dist/queries/trace.js +1 -1
  144. package/dist/queries/wrapper-candidates.d.ts +2 -1
  145. package/dist/queries/wrapper-candidates.js +1 -1
  146. package/package.json +1 -1
  147. package/dist/chunk-25HOGELX.js +0 -2
  148. package/dist/chunk-2TLYCK2L.js +0 -11
  149. package/dist/chunk-3PVIYZ74.js +0 -84
  150. package/dist/chunk-6DVA22YE.js +0 -2
  151. package/dist/chunk-7YI2M2AQ.js +0 -2
  152. package/dist/chunk-AADJ7MCQ.js +0 -2
  153. package/dist/chunk-AV7BOODV.js +0 -4
  154. package/dist/chunk-AXP4H62Q.js +0 -6
  155. package/dist/chunk-C4C3T4K3.js +0 -2
  156. package/dist/chunk-CSRPJCWO.js +0 -2
  157. package/dist/chunk-GBDZY73J.js +0 -2
  158. package/dist/chunk-KW2F3WSV.js +0 -5
  159. package/dist/chunk-NIN762LD.js +0 -5
  160. package/dist/chunk-QPJG6VRT.js +0 -16
  161. package/dist/chunk-TUV2VI7D.js +0 -7
  162. package/dist/chunk-UAPNU7UP.js +0 -2
  163. package/dist/chunk-URCJTFOD.js +0 -2
  164. package/dist/chunk-VRC3WKKE.js +0 -2
  165. package/dist/chunk-Z4AMQWVY.js +0 -90
@@ -1,2 +1,2 @@
1
- import"../chunk-FVH3Y44U.js";import{a as j}from"../chunk-DLWRLPKO.js";import{a as c}from"../chunk-GBDZY73J.js";import{a as i}from"../chunk-MXWC53GJ.js";import{a as f}from"../chunk-AV7BOODV.js";import{a as Y}from"../chunk-E2V5SE6M.js";import{a as e}from"../chunk-IZ4KV37N.js";import{a as I}from"../chunk-7PRMSA4Z.js";import{a as H}from"../chunk-KBGFYKOJ.js";import{a as Z}from"../chunk-WFDTS7XL.js";import{a as X}from"../chunk-I377UMS2.js";import{a as l}from"../chunk-QFBJZHMV.js";import{a as m,b as n,c as o}from"../chunk-UUIWMLDX.js";import{a as q}from"../chunk-IKQYNTW3.js";import{a as d}from"../chunk-CSRPJCWO.js";import{a as p}from"../chunk-TLRA5TR6.js";import{a as M}from"../chunk-QPJG6VRT.js";import{a as r,b as s,c as t,d as u}from"../chunk-HVNVO6UW.js";import{a as b}from"../chunk-KAM4C6ZD.js";import{a as S}from"../chunk-25HOGELX.js";import{a}from"../chunk-QRYEOK3M.js";import{a as O}from"../chunk-TUV2VI7D.js";import{a as F,b as G}from"../chunk-AXP4H62Q.js";import"../chunk-RKTDEIHF.js";import{a as Q}from"../chunk-NIN762LD.js";import{a as z}from"../chunk-7YI2M2AQ.js";import{a as P}from"../chunk-6DVA22YE.js";import{a as N}from"../chunk-GPY33RTH.js";import"../chunk-LJ2YWNQF.js";import{a as J}from"../chunk-C4C3T4K3.js";import{a as D}from"../chunk-OQZF2DQJ.js";import{a as V}from"../chunk-Q4R2IYA3.js";import{a as T}from"../chunk-CYJMOTIH.js";import{a as v,b as w}from"../chunk-Q2ALKKSE.js";import{a as x}from"../chunk-PIRXZGV6.js";import{a as W}from"../chunk-6GPFHZP3.js";import{a as k}from"../chunk-4TX5IMMK.js";import{a as C}from"../chunk-O6VBAW7P.js";import{a as g,b as h}from"../chunk-ERRUE5G4.js";import{a as K}from"../chunk-AADJ7MCQ.js";import{a as y}from"../chunk-VRC3WKKE.js";import{a as A,b as B}from"../chunk-7X7FLQC5.js";import{a as E}from"../chunk-YJODB2F5.js";import{a as L}from"../chunk-2TLYCK2L.js";import{a as U}from"../chunk-7LSCW7NF.js";import"../chunk-MO65UK5V.js";import{a as R}from"../chunk-URCJTFOD.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{K as affected,y as bottlenecks,A as byKind,E as callGraph,L as changeSurface,U as code,V as complexity,R as complexityHotspots,T as convergence,v as coupling,x as cycles,W as dataflow,k as dead,C as deepChains,g as deps,M as diffImpact,N as drift,J as extractCandidates,r as fanIn,s as fanOut,b as files,S as health,D as hierarchy,l as hotspots,n as importedBy,m as imports,z as isolated,B as kindCounts,q as members,d as methods,p as outline,P as passthroughCandidates,h as rdeps,Y as redundantReexports,e as refs,F as similar,G as similarAll,I as similarChains,H as similarFiles,Z as similarSignatures,X as slice,Q as staleAbstractions,a as stats,j as surface,c as symbols,i as system,w as topCoupling,t as topFanIn,u as topFanOut,f as trace,o as unusedImports,O as wrapperCandidates};
1
+ import"../chunk-FVH3Y44U.js";import{a as j}from"../chunk-ILQSK2KJ.js";import{a as c}from"../chunk-3EJRPTTB.js";import{a as i}from"../chunk-RRWPHKZA.js";import{a as f}from"../chunk-3A2M7AF3.js";import{a as ca}from"../chunk-IBWYWAWE.js";import{a as e}from"../chunk-M7GBLQG4.js";import{a as I}from"../chunk-2YA36CXK.js";import{a as H}from"../chunk-JVMXNDRU.js";import{a as da}from"../chunk-MEVK6R7N.js";import{a as ba}from"../chunk-HADDFTMU.js";import{a as D}from"../chunk-2R7OKZE5.js";import{a as l}from"../chunk-7TGEXAN5.js";import{a as m,b as n,c as o}from"../chunk-4Y6KUJDO.js";import{a as q}from"../chunk-BG7YU4DJ.js";import{a as d}from"../chunk-LHLXHH43.js";import{a as p}from"../chunk-R373SHXM.js";import{a as M,b as N,c as O,d as P}from"../chunk-6XRB6ATD.js";import{a as r,b as s,c as t,d as u}from"../chunk-FYO3FPFH.js";import{a as b}from"../chunk-KAM4C6ZD.js";import{a as V,b as W,c as X,d as Y}from"../chunk-TX7BHRMT.js";import{a as T}from"../chunk-KRVRD6KZ.js";import{a}from"../chunk-QRYEOK3M.js";import{a as R}from"../chunk-4M4FEWBL.js";import{a as S}from"../chunk-FAN2CVZT.js";import{a as F,b as G}from"../chunk-3SWWYJPB.js";import"../chunk-RKTDEIHF.js";import{a as z}from"../chunk-IARIBTCL.js";import{a as Q}from"../chunk-K6ULLR7M.js";import"../chunk-LJ2YWNQF.js";import{a as J}from"../chunk-D2R6IIEO.js";import"../chunk-2AUZ3PLO.js";import{a as $}from"../chunk-S57GUI2T.js";import{a as Z}from"../chunk-X3Z4KZNX.js";import{a as v,b as w}from"../chunk-OCQN6WF4.js";import{a as x}from"../chunk-2CC7RA6B.js";import{a as aa}from"../chunk-RUAJV3TN.js";import{a as k}from"../chunk-T426XELO.js";import{a as C}from"../chunk-K345WFTU.js";import{a as g,b as h}from"../chunk-PQTGBYXV.js";import{a as K}from"../chunk-HTJ5BOYP.js";import{a as y}from"../chunk-KCC3GMCX.js";import{a as A,b as B}from"../chunk-ZNNCDAYX.js";import{a as E}from"../chunk-E47WMJ5F.js";import{a as L}from"../chunk-EEA3R37V.js";import{a as _}from"../chunk-KQWFRAQI.js";import"../chunk-55ZJ2FCW.js";import{a as U}from"../chunk-ABLXPGAZ.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{V as HEALTH_PHASES,K as affected,y as bottlenecks,A as byKind,E as callGraph,L as changeSurface,_ as code,$ as complexity,U as complexityHotspots,Z as convergence,v as coupling,x as cycles,aa as dataflow,k as dead,C as deepChains,g as deps,M as diffImpact,O as diffImpactPartial,N as diffImpactPlan,Q as drift,J as extractCandidates,r as fanIn,s as fanOut,b as files,W as health,X as healthPhase,Y as healthReportFromPhases,D as hierarchy,l as hotspots,n as importedBy,m as imports,z as isolated,B as kindCounts,q as members,P as mergeDiffImpactPartials,d as methods,p as outline,S as passthroughCandidates,h as rdeps,ca as redundantReexports,e as refs,F as similar,G as similarAll,I as similarChains,H as similarFiles,da as similarSignatures,ba as slice,T as staleAbstractions,a as stats,j as surface,c as symbols,i as system,w as topCoupling,t as topFanIn,u as topFanOut,f as trace,o as unusedImports,R as wrapperCandidates};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, r as IsolatedResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, r as IsolatedResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-7YI2M2AQ.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as isolated};
1
+ import{a}from"../chunk-IARIBTCL.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as isolated};
2
2
  //# sourceMappingURL=isolated.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, M as MemberResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, M as MemberResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-IKQYNTW3.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as members};
1
+ import{a}from"../chunk-BG7YU4DJ.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as members};
2
2
  //# sourceMappingURL=members.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, s as MethodResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, s as MethodResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function methods(db: ScipDatabase, className: string): MethodResult[];
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-CSRPJCWO.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as methods};
1
+ import{a}from"../chunk-LHLXHH43.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as methods};
2
2
  //# sourceMappingURL=methods.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, O as OutlineNode } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, O as OutlineNode } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-TLRA5TR6.js";import"../chunk-MO65UK5V.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as outline};
1
+ import{a}from"../chunk-R373SHXM.js";import"../chunk-55ZJ2FCW.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as outline};
2
2
  //# sourceMappingURL=outline.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, P as PassthroughCandidate } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, P as PassthroughCandidate } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -13,6 +13,7 @@ declare function passthroughCandidates(db: ScipDatabase, opts?: {
13
13
  scope?: string;
14
14
  maxLoc?: number;
15
15
  limit?: number;
16
+ scanLimit?: number;
16
17
  }): PassthroughCandidate[];
17
18
 
18
19
  export { passthroughCandidates };
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-6DVA22YE.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as passthroughCandidates};
1
+ import{a}from"../chunk-FAN2CVZT.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as passthroughCandidates};
2
2
  //# sourceMappingURL=passthrough-candidates.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, K as RedundantReexport } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, K as RedundantReexport } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-E2V5SE6M.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as redundantReexports};
1
+ import{a}from"../chunk-IBWYWAWE.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as redundantReexports};
2
2
  //# sourceMappingURL=redundant-reexports.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, R as RefResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, R as RefResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function refs(db: ScipDatabase, symbolPattern: string): RefResult[];
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-IZ4KV37N.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as refs};
1
+ import{a}from"../chunk-M7GBLQG4.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as refs};
2
2
  //# sourceMappingURL=refs.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, z as SimilarChainResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, z as SimilarChainResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-7PRMSA4Z.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as similarChains};
1
+ import{a}from"../chunk-2YA36CXK.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as similarChains};
2
2
  //# sourceMappingURL=similar-chains.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, y as SimilarFileResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, y as SimilarFileResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-KBGFYKOJ.js";import"../chunk-RKTDEIHF.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as similarFiles};
1
+ import{a}from"../chunk-JVMXNDRU.js";import"../chunk-RKTDEIHF.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as similarFiles};
2
2
  //# sourceMappingURL=similar-files.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, L as SimilarSignatureGroup } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, L as SimilarSignatureGroup } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-WFDTS7XL.js";import"../chunk-Z4AMQWVY.js";import"../chunk-QFZE73XF.js";export{a as similarSignatures};
1
+ import{a}from"../chunk-MEVK6R7N.js";import"../chunk-G47V5V3U.js";import"../chunk-KYGNCIJ6.js";export{a as similarSignatures};
2
2
  //# sourceMappingURL=similar-signatures.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, x as SimilarSymbolResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, x as SimilarSymbolResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -30,6 +30,7 @@ declare function similarAll(db: ScipDatabase, opts?: {
30
30
  scope?: string;
31
31
  minCallees?: number;
32
32
  crossFileOnly?: boolean;
33
+ scanLimit?: number;
33
34
  }): SimilarSymbolResult[];
34
35
 
35
36
  export { similar, similarAll };
@@ -1,2 +1,2 @@
1
- import{a,b}from"../chunk-AXP4H62Q.js";import"../chunk-RKTDEIHF.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as similar,b as similarAll};
1
+ import{a,b}from"../chunk-3SWWYJPB.js";import"../chunk-RKTDEIHF.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as similar,b as similarAll};
2
2
  //# sourceMappingURL=similar.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, J as SliceResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, J as SliceResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-I377UMS2.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as slice};
1
+ import{a}from"../chunk-HADDFTMU.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as slice};
2
2
  //# sourceMappingURL=slice.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, G as StaleAbstraction } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, G as StaleAbstraction } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -24,6 +24,8 @@ declare function staleAbstractions(db: ScipDatabase, opts?: {
24
24
  maxLoc?: number;
25
25
  limit?: number;
26
26
  includeLowConfidence?: boolean;
27
+ scanLimit?: number;
27
28
  }): StaleAbstraction[];
29
+ declare function clearStaleAbstractionsCaches(db: ScipDatabase): void;
28
30
 
29
- export { staleAbstractions };
31
+ export { clearStaleAbstractionsCaches, staleAbstractions };
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-NIN762LD.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as staleAbstractions};
1
+ import{a,b}from"../chunk-KRVRD6KZ.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{b as clearStaleAbstractionsCaches,a as staleAbstractions};
2
2
  //# sourceMappingURL=stale-abstractions.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, t as StatsResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, t as StatsResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function stats(db: ScipDatabase): StatsResult;
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, w as SurfaceResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, w as SurfaceResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /** Public API surface: what symbols do external consumers actually use from this module? */
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-DLWRLPKO.js";import"../chunk-MO65UK5V.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as surface};
1
+ import{a}from"../chunk-ILQSK2KJ.js";import"../chunk-55ZJ2FCW.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as surface};
2
2
  //# sourceMappingURL=surface.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, u as SymbolResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, u as SymbolResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function symbols(db: ScipDatabase, filePattern: string): SymbolResult[];
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-GBDZY73J.js";import"../chunk-MO65UK5V.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as symbols};
1
+ import{a}from"../chunk-3EJRPTTB.js";import"../chunk-55ZJ2FCW.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as symbols};
2
2
  //# sourceMappingURL=symbols.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, v as SystemResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, v as SystemResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /** Full system map for a module path: files, symbols, deps in/out.
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-MXWC53GJ.js";import"../chunk-MO65UK5V.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as system};
1
+ import{a}from"../chunk-RRWPHKZA.js";import"../chunk-55ZJ2FCW.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as system};
2
2
  //# sourceMappingURL=system.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, T as TraceResult } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, T as TraceResult } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  declare function trace(db: ScipDatabase, symbolPattern: string): TraceResult;
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-AV7BOODV.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as trace};
1
+ import{a}from"../chunk-3A2M7AF3.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as trace};
2
2
  //# sourceMappingURL=trace.js.map
@@ -1,4 +1,4 @@
1
- import { S as ScipDatabase, W as WrapperCandidate } from '../db-BZPa7dzJ.js';
1
+ import { S as ScipDatabase, W as WrapperCandidate } from '../db-DdlToIC-.js';
2
2
  import 'better-sqlite3';
3
3
 
4
4
  /**
@@ -12,6 +12,7 @@ declare function wrapperCandidates(db: ScipDatabase, opts?: {
12
12
  scope?: string;
13
13
  maxLoc?: number;
14
14
  limit?: number;
15
+ scanLimit?: number;
15
16
  }): WrapperCandidate[];
16
17
 
17
18
  export { wrapperCandidates };
@@ -1,2 +1,2 @@
1
- import{a}from"../chunk-TUV2VI7D.js";import"../chunk-UAPNU7UP.js";import"../chunk-YXMHTJYY.js";import"../chunk-VEXS3I3N.js";import"../chunk-Y4DS3MDC.js";import"../chunk-3PVIYZ74.js";import"../chunk-KW2F3WSV.js";import"../chunk-Z4AMQWVY.js";import"../chunk-ZHHMG4UC.js";import"../chunk-QFZE73XF.js";export{a as wrapperCandidates};
1
+ import{a}from"../chunk-4M4FEWBL.js";import"../chunk-SVUVC5VS.js";import"../chunk-TYRPQE6R.js";import"../chunk-7EQ4J66C.js";import"../chunk-WPY46NIL.js";import"../chunk-GS55K4WJ.js";import"../chunk-6FLGPRBR.js";import"../chunk-G47V5V3U.js";import"../chunk-QYWGC7JV.js";import"../chunk-KYGNCIJ6.js";export{a as wrapperCandidates};
2
2
  //# sourceMappingURL=wrapper-candidates.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scip-query",
3
- "version": "0.6.6",
3
+ "version": "0.6.7",
4
4
  "description": "Language-agnostic code intelligence CLI powered by SCIP indexes",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,2 +0,0 @@
1
- import{a as d}from"./chunk-QRYEOK3M.js";import{a as g}from"./chunk-TUV2VI7D.js";import{b as R}from"./chunk-AXP4H62Q.js";import{a as x}from"./chunk-NIN762LD.js";import{a as f}from"./chunk-7YI2M2AQ.js";import{a as S}from"./chunk-6DVA22YE.js";import{a as y}from"./chunk-GPY33RTH.js";import{a as C}from"./chunk-C4C3T4K3.js";import{a as h}from"./chunk-PIRXZGV6.js";import{a as p}from"./chunk-4TX5IMMK.js";import{a as b}from"./chunk-URCJTFOD.js";import{e as c,f as m}from"./chunk-YXMHTJYY.js";var H=50;function _(e,t={}){let r=v(e,t.scope),u=L(e,r),o=I(r,u);return{score:A(r,u),overview:{documents:r.statsResult.documents,symbols:r.statsResult.symbols,indexSizeBytes:r.statsResult.indexSizeBytes},findings:{deadSymbols:u.trueDeadCount,deadLoc:u.trueDeadLoc,isolatedSymbols:u.trueIsolatedCount,isolatedLoc:u.trueIsolatedLoc,cycles:u.realCycleCount,similarPairs:u.trueSimilarCount,extractionCandidates:r.extractResult.length,wrappers:r.wrapperResult.length,passthroughs:r.passthroughResult.length,staleTypes:u.trueStaleCount,driftedFiles:u.trueDriftCount,complexityHotspotCount:w(r)},actions:o,topComplexity:r.complexResult.slice(0,5).map(l=>({symbol:l.shortName,score:l.score}))}}function v(e,t){return{statsResult:d(e),deadResult:p(e,{scope:t,minLoc:3,skipBarrels:!0}),isolatedResult:f(e,{scope:t,minLoc:3}),cycleResult:h(e,{scope:t}),similarResult:R(e,{scope:t,minSimilarity:.6,limit:50,minCallees:4}),extractResult:C(e,{scope:t,minLoc:15,minCallees:5,limit:50}),wrapperResult:g(e,{scope:t,maxLoc:15,limit:50}),passthroughResult:S(e,{scope:t,maxLoc:15,limit:50}),staleResult:x(e,{scope:t,minLoc:3,limit:50}),driftResult:y(e,{scope:t}),complexResult:b(e,{scope:t,minLoc:10,limit:10})}}function L(e,t){let r=t.deadResult.symbols.filter(o=>!c(e,o.relativePath)&&!m(e,o.symbol,o.relativePath)&&o.kind==="dead-code"),u=t.isolatedResult.filter(o=>!c(e,o.relativePath)&&!m(e,o.symbol,o.relativePath));return{trueDeadCount:r.length,trueDeadLoc:r.reduce((o,i)=>o+i.loc,0),trueIsolatedCount:u.length,trueIsolatedLoc:u.reduce((o,i)=>o+i.loc,0),trueStaleCount:t.staleResult.length,trueDriftCount:t.driftResult.unusedImports+t.driftResult.layerViolations,trueSimilarCount:t.similarResult.length,realCycleCount:t.cycleResult.filter(o=>o.kind==="real").length}}function I(e,t){let r=[];if(t.trueDeadCount>0&&r.push({category:"Dead code",description:`${t.trueDeadCount} symbols with zero references anywhere \u2014 safe to delete`,effort:"low",impact:"high",count:t.trueDeadCount,locRecoverable:t.trueDeadLoc}),t.trueIsolatedCount>0&&r.push({category:"Isolated symbols",description:`${t.trueIsolatedCount} symbols completely disconnected from the codebase graph`,effort:"low",impact:"medium",count:t.trueIsolatedCount,locRecoverable:t.trueIsolatedLoc}),t.realCycleCount>0&&r.push({category:"Circular dependencies",description:`${t.realCycleCount} cycle(s) \u2014 break with dependency inversion or module restructuring`,effort:"medium",impact:"high",count:t.realCycleCount,locRecoverable:0}),t.trueSimilarCount>0&&r.push({category:"Similar functions",description:`${t.trueSimilarCount} pairs with real logic overlap (beyond shared imports) \u2014 consolidation candidates`,effort:"medium",impact:"medium",count:t.trueSimilarCount,locRecoverable:0}),e.extractResult.length>0&&r.push({category:"Extraction candidates",description:`${e.extractResult.length} large functions with isolated callee clusters \u2014 extract method opportunities`,effort:"medium",impact:"medium",count:e.extractResult.length,locRecoverable:0}),e.wrapperResult.length>0&&r.push({category:"Wrapper functions",description:`${e.wrapperResult.length} single-consumer symbols that could be inlined`,effort:"low",impact:"low",count:e.wrapperResult.length,locRecoverable:e.wrapperResult.reduce((i,l)=>i+l.loc,0)}),e.passthroughResult.length>0&&r.push({category:"Passthrough functions",description:`${e.passthroughResult.length} functions that just forward to one callee \u2014 unnecessary indirection`,effort:"low",impact:"low",count:e.passthroughResult.length,locRecoverable:e.passthroughResult.reduce((i,l)=>i+l.loc,0)}),t.trueStaleCount>0){let i=e.staleResult.filter(n=>n.consumers===0).length,l=t.trueStaleCount-i,s=[];i>0&&s.push(`${i} unused`),l>0&&s.push(`${l} single-consumer (not in types file)`),r.push({category:"Stale abstractions",description:`${s.join(", ")} \u2014 premature abstraction`,effort:"low",impact:"medium",count:t.trueStaleCount,locRecoverable:e.staleResult.reduce((n,a)=>n+a.loc,0)})}if(t.trueDriftCount>0){let i=[];e.driftResult.unusedImports>0&&i.push(`${e.driftResult.unusedImports} unused imports`),e.driftResult.layerViolations>0&&i.push(`${e.driftResult.layerViolations} layer violations`),r.push({category:"Structural drift",description:i.join(", "),effort:e.driftResult.layerViolations>0?"medium":"low",impact:e.driftResult.layerViolations>0?"medium":"low",count:t.trueDriftCount,locRecoverable:0})}let u={high:3,medium:2,low:1},o={low:3,medium:2,high:1};return r.sort((i,l)=>{let s=u[i.impact]*o[i.effort];return u[l.impact]*o[l.effort]-s}),r}function A(e,t){let r=Math.max(e.statsResult.documents,1),u=Math.max(e.statsResult.symbols,1),o=100,i=t.trueDeadCount/u;o-=Math.min(20,Math.round(i*200));let l=t.trueIsolatedCount/u;o-=Math.min(10,Math.round(l*200)),o-=Math.min(15,t.realCycleCount*5);let s=t.trueSimilarCount/u*1e3;o-=Math.min(10,Math.round(s));let n=e.extractResult.length/u*1e3;o-=Math.min(5,Math.round(n/2)),o-=Math.min(3,e.wrapperResult.length),o-=Math.min(3,e.passthroughResult.length);let a=t.trueStaleCount/Math.max(u*.1,1);o-=Math.min(8,Math.round(a*10));let M=t.trueDriftCount/r;o-=Math.min(5,Math.round(M*50));let D=w(e);return o-=Math.min(5,D*2),Math.max(0,Math.min(100,o))}function w(e){return e.complexResult.filter(t=>t.score>H).length}export{_ as a};
2
- //# sourceMappingURL=chunk-25HOGELX.js.map
@@ -1,11 +0,0 @@
1
- import{a as c}from"./chunk-MO65UK5V.js";import{a as m}from"./chunk-UAPNU7UP.js";import{p as l}from"./chunk-Z4AMQWVY.js";import{o as u}from"./chunk-QFZE73XF.js";function C(e,r){let n=c(e,r);if(!n)return null;let t=d(e,n);if(!t||e.isIgnored(t.relative_path))return null;let s=[],i=0;for(let o of p(e,t.relative_path)){let a=h(e,t,o);i+=a,s.push({symbol:o.symbol,shortName:u(o.symbol),startLine:o.startLine,endLine:o.endLine,externalConsumers:a,riskLevel:f(a)})}return{file:t.relative_path,symbols:s,totalExternalConsumers:i}}function d(e,r){return e.get(`SELECT id, relative_path FROM documents
2
- WHERE relative_path = ?
3
- ${e.pathExclusionsFor("documents")}
4
- LIMIT 1`,r)??null}function p(e,r){return new m(e).definitionsForFile(r).sort((n,t)=>n.startLine-t.startLine||n.endLine-t.endLine)}function h(e,r,n){let t=e.all(`SELECT DISTINCT consumer_d.relative_path
5
- FROM mentions m
6
- JOIN chunks c ON m.chunk_id = c.id
7
- JOIN documents consumer_d ON consumer_d.id = c.document_id
8
- WHERE m.symbol_id = ?
9
- AND m.role != 1
10
- AND c.document_id != ?`,n.symbolId,r.id),s=l(e,[n]).get(n.symbolId)??new Set;return new Set([...t.map(i=>i.relative_path),...[...s].filter(i=>i!==r.relative_path)]).size}function f(e){return e>10?"high":e>0?"medium":"low"}export{C as a};
11
- //# sourceMappingURL=chunk-2TLYCK2L.js.map
@@ -1,84 +0,0 @@
1
- import{a as H,b as $,c as J,e as N}from"./chunk-KW2F3WSV.js";import{o as B,p as j,q as z}from"./chunk-Z4AMQWVY.js";import{c as G}from"./chunk-ZHHMG4UC.js";import{A as M,B as k,E as D,a as h,b as w,d as x,f as y,h as S,i as C,k as A,m as P,p as L,r as W}from"./chunk-QFZE73XF.js";var E=new WeakMap;function _t(e,t){let n=y(t);return n==="rust"?fe(e,t):n==="typescript"||n==="tsx"||n==="javascript"?ce(e,t):[]}var le=new Set(["describe","it","test","fdescribe","fit","xdescribe","xit","beforeEach","afterEach","beforeAll","afterAll","before","after","suite","bench","benchmark"]);function ce(e,t){let n=S(e,t);if(!n)return[];let o=E.get(n);if(o)return o;let s=/(^|\/)(pages|app)\/.+\.(tsx?|jsx?)$/.test(t)||/(^|\/)(layout|page|loading|error|not-found|head|template|default)\.(tsx?|jsx?)$/.test(t),i=/(^|\/)src\/(pages|views|routes)\/.+\.(tsx?|jsx?|vue)$/.test(t),r=!1,l=n.rootNode;for(let a of l.namedChildren){if(a.type!=="expression_statement")continue;let u=a.namedChild(0);if(!u||u.type!=="call_expression")continue;let d=u.namedChild(0);if(!d)continue;let f=d.type==="member_expression"?d.namedChild(d.namedChildCount-1)?.text:d.text;if(f&&le.has(f)){r=!0;break}}let c=[];r&&c.push({startLine:0,endLine:l.endPosition.row,reason:"TS/JS test file (describe/it/test at top level)"}),(s||i)&&c.push({startLine:0,endLine:l.endPosition.row,reason:s?"Next.js / Remix route file":"Vite/Vue route component"});for(let a of l.namedChildren){let u=null,d=null;if(a.type==="function_declaration")u=a.namedChild(0)?.text??null,d=a;else if(a.type==="export_statement"){let f=a.namedChild(0);f?.type==="function_declaration"&&(u=f.namedChild(0)?.text??null,d=f)}else if(a.type==="lexical_declaration"){let f=a.namedChild(0);if(f?.type==="variable_declarator"){let p=f.namedChild(0)?.text,g=f.namedChild(1);p&&(g?.type==="arrow_function"||g?.type==="function_expression")&&(u=p,d=f)}}u&&/^use[A-Z]/.test(u)&&d&&c.push({startLine:d.startPosition.row,endLine:d.endPosition.row,reason:"React custom hook (use*)"})}return c.push(...V(n,new Set(["function_declaration","method_definition","class_declaration","interface_declaration","type_alias_declaration","enum_declaration","variable_declarator","export_statement"]),new Set(["comment"]))),E.set(n,c),c}var ue=/scip-query[\s:-]*ignore[\s:-]*(?:dead(?:-code)?|stale)?/i;function de(e){return ue.test(e)}function V(e,t,n){let o=[],s=i=>{if(t.has(i.type)&&i.parent){let l=i.parent.children,c=-1;for(let a=0;a<l.length;a+=1)if(l[a].startIndex===i.startIndex&&l[a].type===i.type){c=a;break}if(c>0)for(let a=c-1;a>=0;a-=1){let u=l[a];if(n.has(u.type)){if(de(u.text)){o.push({startLine:i.startPosition.row,endLine:i.endPosition.row,reason:"scip-query suppression comment"});break}continue}if(!(u.type==="attribute_item"||u.type==="inner_attribute_item"))break}}for(let r of i.namedChildren)s(r)};return s(e.rootNode),o}function fe(e,t){let n=S(e,t);if(!n)return[];let o=E.get(n);if(o)return o;let s=[],i=me(n);return i?(E.set(n,i),i):(K(n.rootNode,s,!1,!1),s.push(...V(n,new Set(["function_item","function_signature_item","struct_item","enum_item","union_item","impl_item","mod_item","static_item","const_item"]),new Set(["line_comment","block_comment"]))),s.push(...he(n.rootNode)),E.set(n,s),s)}function me(e){return Se(e.rootNode)?[{startLine:0,endLine:e.rootNode.endPosition.row,reason:"generated file (@generated header)"}]:null}function K(e,t,n,o){let s=n,i=o;e.type==="trait_item"&&t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"trait declaration body (dynamic dispatch)"}),e.type==="impl_item"&&e.childForFieldName("trait")&&(i=!0,t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"trait impl block (dynamic dispatch)"})),e.type==="function_item"||e.type==="function_signature_item"?pe(e,t,n,o):o&&_e(e)?t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"trait impl associated item (dynamic dispatch)"}):e.type==="struct_item"||e.type==="enum_item"||e.type==="union_item"?ge(e,t,n):e.type==="mod_item"&&v(e).some(r=>/#\[\s*cfg\s*\(\s*test\s*\)/.test(r))&&(s=!0);for(let r of e.namedChildren)K(r,t,s,i)}function pe(e,t,n,o){let s=v(e),i=null;o?i="trait impl method (dynamic dispatch)":n&&(i="inside #[cfg(test)] mod");for(let r of s){let l=be(r);if(l){i=l;break}if(q(r)){i="#[allow(dead_code)]";break}}i&&t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:i})}function ge(e,t,n){let o=v(e),s=e.namedChildren.find(i=>i.type==="type_identifier")?.text;o.some(ye)&&t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"#[derive(<reflective>)] \u2014 fields accessed via macro/reflection",containerName:s}),o.some(q)&&t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"#[allow(dead_code)]",containerName:s}),n&&t.push({startLine:e.startPosition.row,endLine:e.endPosition.row,reason:"inside #[cfg(test)] mod",containerName:s})}function v(e){let t=e.parent;if(!t)return[];let n=t.children,o=-1;for(let i=0;i<n.length;i+=1)if(n[i].startIndex===e.startIndex&&n[i].type===e.type){o=i;break}if(o<=0)return[];let s=[];for(let i=o-1;i>=0;i-=1){let r=n[i];if(r.type==="attribute_item"||r.type==="inner_attribute_item")s.push(r.text);else{if(r.type==="line_comment"||r.type==="block_comment")continue;break}}return s}function be(e){return/#\[\s*tauri::command\b/.test(e)?"#[tauri::command]":/#\[\s*command\b/.test(e)?"#[command]":/#\[\s*test\b/.test(e)?"#[test]":/#\[\s*bench\b/.test(e)?"#[bench]":/#\[\s*tokio::test\b/.test(e)?"#[tokio::test]":/#\[\s*async_std::test\b/.test(e)?"#[async_std::test]":/#\[\s*wasm_bindgen\b/.test(e)?"#[wasm_bindgen]":/#\[\s*no_mangle\b/.test(e)?"#[no_mangle]":/#\[\s*napi\b/.test(e)?"#[napi]":/#\[\s*pyfunction\b/.test(e)?"#[pyfunction]":/#\[\s*pymethod\b/.test(e)?"#[pymethod]":/#\[\s*pyo3\b/.test(e)?"#[pyo3]":/#\[\s*cfg\s*\(\s*test\s*\)/.test(e)?"#[cfg(test)]":/#\[\s*doc\s*\(\s*hidden\s*\)/.test(e)?"#[doc(hidden)]":null}function ye(e){return/#\[\s*derive\s*\(/.test(e)?/\bSerialize\b/.test(e)||/\bDeserialize\b/.test(e)||/\bFromRow\b/.test(e)||/\bDeriveEntityModel\b/.test(e)||/\bIntoSchema\b/.test(e)||/\bToSchema\b/.test(e)||/\bDeriveValueType\b/.test(e)||/\bsqlx::FromRow\b/.test(e)||/\bError\b/.test(e)||/\bthiserror::Error\b/.test(e):!1}function q(e){return/#\[\s*allow\s*\(\s*dead_code\s*\)/.test(e)}function _e(e){return e.type==="const_item"||e.type==="type_item"||e.type==="static_item"||e.type==="associated_type"}function he(e){let t=Ie(e);if(t.size===0)return[];let n=[];for(let o of e.descendantsOfType("mod_item")){let s=o.childForFieldName("name")?.text;s&&t.has(s)&&n.push({startLine:o.startPosition.row,endLine:o.endPosition.row,reason:'serde `with = "..."` module \u2014 body invoked via reflection',containerName:s})}return n}function Se(e){for(let t=0;t<Math.min(e.namedChildCount,12);t+=1){let n=e.namedChild(t);if(!n||n.type!=="line_comment"&&n.type!=="block_comment")break;if(/@generated\b/.test(n.text)||/This file is .*generated\b/i.test(n.text)||/Code generated by/i.test(n.text)||/Generated by:\s*https?:\/\/openapi-generator/i.test(n.text)||/openapi-generator/i.test(n.text)&&/Generated by/i.test(n.text))return!0}return!1}var Ee=[{key:"default",re:/\bdefault\s*=\s*"([^"]+)"/g},{key:"with",re:/\bwith\s*=\s*"([^"]+)"/g},{key:"serialize_with",re:/\bserialize_with\s*=\s*"([^"]+)"/g},{key:"deserialize_with",re:/\bdeserialize_with\s*=\s*"([^"]+)"/g},{key:"skip_serializing_if",re:/\bskip_serializing_if\s*=\s*"([^"]+)"/g},{key:"getter",re:/\bgetter\s*=\s*"([^"]+)"/g},{key:"rename_all_with",re:/\brename_all_with\s*=\s*"([^"]+)"/g},{key:"schema_with",re:/\bschema_with\s*=\s*"([^"]+)"/g}],Z=/^#!?\[\s*serde\s*\(/,Re=/^#!?\[\s*schemars\s*\(/,Ce=/^#!?\[\s*validate\s*\(/,U=/\bwith\s*=\s*"([^"]+)"/g;function X(e,t){return A(e,t,Le,()=>new Set,(n,o,s)=>{if(o==="rust"){for(let i of n.rootNode.descendantsOfType("attribute_item"))Y(i.text,s);for(let i of n.rootNode.descendantsOfType("inner_attribute_item"))Y(i.text,s)}})??new Set}var Le=new WeakMap;function Y(e,t){let n=Z.test(e),o=Re.test(e),s=Ce.test(e);if(!(!n&&!o&&!s))for(let{re:i}of Ee){i.lastIndex=0;let r;for(;(r=i.exec(e))!==null;){let l=r[1],c=l.split("::").pop()??l;c==="is_none"&&/\bOption\b/.test(l)||c==="is_empty"&&/\b(String|Vec|HashMap|BTreeMap|HashSet|BTreeSet)\b/.test(l)||c&&t.add(c)}}}function Ie(e){let t=new Set;for(let n of e.descendantsOfType("attribute_item")){if(!Z.test(n.text))continue;U.lastIndex=0;let o;for(;(o=U.exec(n.text))!==null;){let s=o[1],i=s.split("::").pop()??s;i&&t.add(i)}}return t}var we=new Set(["invoke","invokeTauriCommand","listen","once","emit","subscribe","dispatch","sendCommand","callRust"]);function ht(e,t){return A(e,t,xe,()=>new Set,(n,o,s)=>{if(!(o!=="typescript"&&o!=="tsx"&&o!=="javascript"))for(let i of n.rootNode.descendantsOfType("call_expression")){let r=i.namedChild(0);if(!r)continue;let l=P(r);if(!l||!we.has(l))continue;let c=i.namedChildren.find(d=>d.type==="arguments");if(!c)continue;let a=c.namedChild(0);if(!a||a.type!=="string")continue;let u=a.namedChildren.find(d=>d.type==="string_fragment");u&&s.add(u.text)}})??new Set}var xe=new WeakMap;var Ae=new Set(["identifier","type_identifier","field_identifier"]),Ne=new Set(["identifier"]),Me=new Set(["identifier","property_identifier","type_identifier"]),ke=new Set(["rust","python"]),De=/\{([^{}]*)\}/g,ve=/\b([A-Za-z_][\w]*)\b/g;function ee(e,t,n,o={}){if(!n)return[];let s=x(e,t);if(!s)return[];if(s.indexOf(n)===-1)return[];if(y(t))return(O(e,t).get(n)??[]).filter(u=>!Q(u,o));let i=$(e,t,s),r=new RegExp(`\\b${J(n)}\\b`),l=[];for(let c=0;c<i.length;c++)Q(c,o)||r.test(i[c]??"")&&l.push(c);return l}function Q(e,t){return typeof t.excludeStartLine=="number"&&typeof t.excludeEndLine=="number"&&e>=t.excludeStartLine&&e<=t.excludeEndLine}var Oe=h("file-identifiers");function It(e,t){return Oe.get(e,t,()=>new Set(O(e,t).keys()))}var Te=h("file-ident-lines");function O(e,t){return Te.get(e,t,()=>Pe(e,t))}var Fe=h("file-idents-by-line");function te(e,t){return Fe.get(e,t,()=>{let n=O(e,t),o=0;for(let i of n.values()){let r=i[i.length-1];r!==void 0&&r>o&&(o=r)}let s=new Array(o+1);for(let i=0;i<=o;i+=1)s[i]=new Set;for(let[i,r]of n)for(let l of r)s[l].add(i);return s})}function Pe(e,t){let n=new Map,o=(l,c)=>{let a=n.get(l);if(!a){n.set(l,[c]);return}a[a.length-1]!==c&&a.push(c)};if(y(t)){let l=S(e,t);if(l){let c=y(t),a=c==="rust"?Ae:c==="python"?Ne:Me,u=d=>{if(a.has(d.type)&&o(d.text,d.startPosition.row),c&&ke.has(c)&&d.type==="string_content"){let f=d.startPosition.row;for(let p of d.text.matchAll(De)){let g=p[1]??"";for(let m of g.matchAll(ve))m[1]&&o(m[1],f)}}for(let f of d.children)u(f)};return u(l.rootNode),n}}let s=x(e,t);if(!s)return n;let i=H(s).split(/\r?\n/),r=/\b([A-Za-z_$][\w$]*)\b/g;for(let l=0;l<i.length;l+=1){let c=i[l]??"";for(let a of c.matchAll(r))a[1]&&o(a[1],l)}return n}var He=h("file-dep-graph");function Ft(e,t){return He.get(e,t??"",()=>{let n=new Map,o=Je(e),s=(i,r)=>We(e,n,o,i,r);for(let i of $e(e,t))s(i.from_file,i.to_file);for(let i of o)if(!(t&&!i.includes(t)))for(let r of N(e,i))r.sourcePath&&s(i,r.sourcePath);return n})}function $e(e,t){let n=t?`AND d1.relative_path LIKE '%${t}%'`:"";return e.all(`SELECT DISTINCT
2
- d1.relative_path AS from_file,
3
- d2.relative_path AS to_file
4
- FROM mentions m
5
- JOIN chunks c ON m.chunk_id = c.id
6
- JOIN documents d1 ON c.document_id = d1.id
7
- JOIN global_symbols gs ON m.symbol_id = gs.id
8
- JOIN (
9
- SELECT m2.symbol_id, c2.document_id
10
- FROM mentions m2
11
- JOIN chunks c2 ON m2.chunk_id = c2.id
12
- WHERE m2.role = 1
13
- GROUP BY m2.symbol_id
14
- ) sym_def ON sym_def.symbol_id = gs.id
15
- JOIN documents d2 ON sym_def.document_id = d2.id
16
- WHERE d1.id != d2.id
17
- AND m.role != 1
18
- ${e.pathExclusionsFor("d1","d2")}
19
- ${n}`)}function Je(e){return new Set(e.all(`SELECT relative_path
20
- FROM documents
21
- WHERE 1 = 1
22
- ${e.pathExclusionsFor("documents")}
23
- ORDER BY relative_path`).map(t=>t.relative_path).filter(t=>!e.isIgnored(t)))}function We(e,t,n,o,s){if(o===s||e.isIgnored(o)||e.isIgnored(s)||!n.has(s))return;let i=t.get(o);i||(i=new Set,t.set(o,i)),i.add(s)}function Pt(e,t,n={}){let o=ie(e,[t],{additive:n.additive}),s=n.callableOnly?(o.get(t.symbolId)??[]).filter(i=>W(i.symbol)):o.get(t.symbolId)??[];return typeof n.limit=="number"?s.slice(0,n.limit):s}function Ht(e,t,n={}){let o=je(e)?Ue(e,t):ze(e).get(t.symbolId)??[];return typeof n.limit=="number"?o.slice(0,n.limit):o}var Ge=w("caller-rows"),Be=2e4;function je(e){return(e.get("SELECT COUNT(*) AS count FROM global_symbols")?.count??0)>Be}function ze(e){return Ge.get(e,()=>{let t=k(e),n=ie(e,t),o=new Map;for(let r of t)o.set(r.symbol,r.symbolId);let s=new Map,i=new Map;for(let r of t){let l=n.get(r.symbolId);if(!(!l||l.length===0))for(let c of l){let a=o.get(c.symbol);if(a===void 0||a===r.symbolId)continue;let u=s.get(a);u||(u=[],s.set(a,u),i.set(a,new Set));let d=`${r.symbol}|${r.relativePath}`;i.get(a).has(d)||(i.get(a).add(d),u.push({symbol:r.symbol,file:r.relativePath}))}}return s})}function Ue(e,t){let n=[],o=new Set,s=r=>{if(r.symbol===t.symbol)return;let l=`${r.symbol}|${r.file}`;o.has(l)||(o.add(l),n.push(r))};for(let r of Ve(e,t))r.file!==t.relativePath&&s({symbol:r.enclosingSymbol??r.file,file:r.file});let i=Ye(e,t);if(i)for(let r of B(e,i)){if(r.file===t.relativePath||e.isIgnored(r.file))continue;let l=D(M(e,r.file),r.line);s({symbol:l?.symbol??r.file,file:r.file})}return n}function Ye(e,t){return e.get(`SELECT
24
- d.id AS documentId,
25
- gs.id AS symbolId,
26
- gs.symbol,
27
- d.relative_path AS relativePath,
28
- COALESCE(der.start_line, c.start_line) AS startLine,
29
- COALESCE(der.end_line, c.end_line) AS endLine,
30
- COALESCE(gs.display_name, '') AS leaf,
31
- NULL AS parentTypeName,
32
- CASE WHEN gs.kind IN (6, 12, 13) OR gs.symbol LIKE '%().' THEN 1 ELSE 0 END AS isFunctionLike,
33
- CASE WHEN gs.kind IN (5, 8, 11) THEN 1 ELSE 0 END AS isTypeLike,
34
- gs.kind AS kind,
35
- gs.documentation AS documentation,
36
- gs.enclosing_symbol AS enclosingSymbol
37
- FROM global_symbols gs
38
- LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
39
- LEFT JOIN chunks c ON c.document_id = der.document_id
40
- JOIN documents d ON d.id = COALESCE(der.document_id, c.document_id)
41
- WHERE gs.id = ?
42
- LIMIT 1`,t.symbolId)??null}function Ve(e,t){let n=Qe(e,t);return n?et(e,Ke(e,n.match,n.identifier)):[]}function Ke(e,t,n){let o=new Map;for(let[s,i]of qe(e,t.symbolId))o.set(s,Ze(e,s,i,t,n));return o}function qe(e,t){let n=new Map,o=e.all(`SELECT DISTINCT d.relative_path, c.start_line, c.end_line
43
- FROM mentions m
44
- JOIN chunks c ON m.chunk_id = c.id
45
- JOIN documents d ON c.document_id = d.id
46
- WHERE m.symbol_id = ?
47
- AND m.role != 1
48
- ${e.pathExclusionsFor("d")}
49
- ORDER BY d.relative_path, c.start_line`,t);for(let s of o){if(e.isIgnored(s.relative_path))continue;let i=n.get(s.relative_path);i||(i=[],n.set(s.relative_path,i)),i.push({start_line:s.start_line,end_line:s.end_line})}return n}function Ze(e,t,n,o,s){let i=t===o.relativePath?{excludeStartLine:o.startLine,excludeEndLine:o.endLine}:{},r=s?ee(e,t,s,i):[];return n.flatMap(l=>Xe(r,l))}function Xe(e,t){let n=e.filter(o=>o>=t.start_line&&o<=t.end_line);return n.length>0?n:[t.start_line]}function Qe(e,t){let n=G(e,t);return n?{match:n,identifier:L(n.symbol)||null}:null}function et(e,t){let n=[],o=new Set;for(let[s,i]of t){let r=M(e,s);for(let l of i){let c=D(r,l),a=`${s}|${l}|${c?.symbol??""}`;o.has(a)||(o.add(a),n.push({file:s,line:l,enclosingSymbol:c?.symbol??null}))}}return n}function ie(e,t,n={}){if(t.length===0)return new Map;let o=n.additive??!1,s=[],i=[];for(let u of t)y(u.relativePath)&&C(e,u.relativePath)!==null?s.push(u):i.push(u);let r=new Map,l=new Map,c=u=>{for(let[d,f]of u){let p=r.get(d);p||(p=[],r.set(d,p));let g=l.get(d);g||(g=new Set,l.set(d,g));for(let m of f){let b=`${m.symbol}|${m.chunkId}`;g.has(b)||(g.add(b),p.push(m))}}};s.length>0&&c(tt(e,s)),c(gt(z(e,t)));let a=o?t:i;return a.length>0&&c(at(e,a)),r}function tt(e,t){let n=new Map,o=nt(t,n),s=re(e);for(let[i,r]of o){let l=C(e,i);if(l)for(let c of l){let a=it(r,c.line);if(!a)continue;let u=st(e,i,s,c.calleeLeaf,c.memberAccess);u&&u.symbol!==a.symbol&&n.get(a.symbolId).push({symbol:u.symbol,file:u.file,chunkId:c.line})}}return n}function nt(e,t){let n=new Map;for(let o of e){let s=n.get(o.relativePath);s?s.push(o):n.set(o.relativePath,[o]),t.set(o.symbolId,[])}for(let o of n.values())o.sort((s,i)=>s.endLine-s.startLine-(i.endLine-i.startLine));return n}function it(e,t){return e.find(n=>t>=n.startLine&&t<=n.endLine)??null}function st(e,t,n,o,s){let i=se(t,n.get(o)??[]);return i.length===0?null:oe(e,t,i,s)}function se(e,t){let n=ne(e);return n?t.filter(o=>ne(o.file)===n):t}function oe(e,t,n,o){let s=n.find(i=>i.file===t);if(s)return s;if(o){let i=new Set(N(e,t).map(r=>r.sourcePath).filter(r=>!!r));for(let r of n)for(let l of i)if(ot(l,r.file))return r;return null}return n.length===1?n[0]:null}function ot(e,t){let n=o=>o.replace(/\\/g,"/").replace(/^\.\//,"");return n(e)===n(t)}function ne(e){let t=y(e);return t?t==="typescript"||t==="tsx"||t==="javascript"?"javascript-family":t:null}var rt=w("global-leaf-index");function re(e){return rt.get(e,()=>{let t=e.all(`SELECT gs.id, gs.symbol,
50
- COALESCE(der_doc.relative_path, mention_doc.relative_path) AS relative_path
51
- FROM global_symbols gs
52
- LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
53
- LEFT JOIN documents der_doc ON der_doc.id = der.document_id
54
- LEFT JOIN (
55
- SELECT m.symbol_id, MIN(d.relative_path) AS relative_path
56
- FROM mentions m
57
- JOIN chunks c ON m.chunk_id = c.id
58
- JOIN documents d ON c.document_id = d.id
59
- WHERE m.role = 1
60
- GROUP BY m.symbol_id
61
- ) mention_doc ON mention_doc.symbol_id = gs.id
62
- WHERE 1 = 1
63
- ${e.symbolNoiseFor("gs")}`),n=new Map;for(let o of t){if(!o.relative_path||e.isIgnored(o.relative_path))continue;let s=L(o.symbol);if(!s)continue;let i=n.get(s);i||(i=[],n.set(s,i)),i.some(r=>r.symbolId===o.id)||i.push({symbol:o.symbol,symbolId:o.id,file:o.relative_path})}return n})}function at(e,t){if(t.length===0)return new Map;let n=e.all(`SELECT c.document_id, c.id AS chunk_id, c.start_line, c.end_line, m.symbol_id
64
- FROM mentions m
65
- JOIN chunks c ON m.chunk_id = c.id
66
- WHERE m.role != 1`),o=new Map;for(let a of n)o.has(a.document_id)||o.set(a.document_id,[]),o.get(a.document_id).push(a);let s=new Map(e.all("SELECT id, relative_path FROM documents").map(a=>[a.id,a.relative_path])),i=new Map,r=e.all(`SELECT gs.id AS symbol_id, gs.symbol,
67
- COALESCE(der.document_id, def_chunk.document_id) AS document_id
68
- FROM global_symbols gs
69
- LEFT JOIN defn_enclosing_ranges der ON der.symbol_id = gs.id
70
- LEFT JOIN (
71
- SELECT m.symbol_id, MIN(c.document_id) AS document_id
72
- FROM mentions m
73
- JOIN chunks c ON m.chunk_id = c.id
74
- WHERE m.role = 1
75
- GROUP BY m.symbol_id
76
- ) def_chunk ON def_chunk.symbol_id = gs.id`);for(let a of r)i.has(a.symbol_id)||i.set(a.symbol_id,{symbol:a.symbol,file:a.document_id!==null?s.get(a.document_id)??"":""});let l=new Map,c=s;for(let a of t){let u=o.get(a.documentId)??[],d=new Set,f=[],p=null,g=()=>{if(p)return p;let m=c.get(a.documentId)??"",b=new Set;if(m){let I=te(e,m),R=Math.max(0,a.startLine),F=Math.min(I.length-1,a.endLine);for(let _=R;_<=F;_+=1)for(let ae of I[_])b.add(ae)}return p=b,b};for(let m of u){if(m.symbol_id===a.symbolId)continue;let b=i.get(m.symbol_id);if(!b)continue;if(!(m.start_line>=a.startLine&&m.end_line<=a.endLine)){if(!(m.start_line<=a.endLine&&m.end_line>=a.startLine))continue;let _=L(b.symbol);if(!_||!g().has(_))continue}let R=`${b.symbol}|${m.chunk_id}`;d.has(R)||(d.add(R),f.push({...b,chunkId:m.chunk_id}))}l.set(a.symbolId,f)}return l}function $t(e,t){let n=new Map,o=e.all(`SELECT relative_path FROM documents
77
- WHERE 1 = 1 ${e.pathExclusionsFor("documents")}`),s=re(e),i=t??k(e);return lt(e,n,o,s),ct(e,n,i),mt(e,n,o,s),bt(n,j(e,pt(i))),n}function lt(e,t,n,o){for(let s of n){if(!y(s.relative_path)||e.isIgnored(s.relative_path))continue;let i=C(e,s.relative_path);if(i)for(let r of i){let l=se(s.relative_path,o.get(r.calleeLeaf)??[]);if(!l||l.length===0)continue;let c=oe(e,s.relative_path,l,r.memberAccess);c&&c.file!==s.relative_path&&T(t,c.symbolId,s.relative_path)}}}function ct(e,t,n){let o=dt(n);for(let s of ut(e))e.isIgnored(s.relative_path)||ft(s,o.get(s.symbol_id))||T(t,s.symbol_id,s.relative_path)}function ut(e){return e.all(`SELECT DISTINCT m.symbol_id, d.relative_path, c.document_id,
78
- c.start_line AS chunk_start, c.end_line AS chunk_end
79
- FROM mentions m
80
- JOIN chunks c ON m.chunk_id = c.id
81
- JOIN documents d ON c.document_id = d.id
82
- WHERE m.role != 1
83
- ${e.pathExclusionsFor("d")}`)}function dt(e){let t=new Map;for(let n of e)t.set(n.symbolId,{docId:n.documentId,startLine:n.startLine,endLine:n.endLine});return t}function ft(e,t){return!!t&&t.docId===e.document_id&&e.chunk_start>=t.startLine&&e.chunk_end<=t.endLine}function mt(e,t,n,o){for(let s of n){if(e.isIgnored(s.relative_path)||y(s.relative_path)!=="rust")continue;let i=X(e,s.relative_path);if(i.size!==0)for(let r of i){let l=o.get(r);if(l)for(let c of l)c.file!==s.relative_path&&T(t,c.symbolId,s.relative_path)}}}function T(e,t,n){let o=e.get(t);o||(o=new Set,e.set(t,o)),o.add(n)}function pt(e){return e.filter(t=>"relativePath"in t&&"symbol"in t&&"leaf"in t)}function gt(e){let t=new Map;for(let[n,o]of e){let s=[];for(let i of o)s.push({symbol:i.symbol,file:i.file,chunkId:-1});t.set(n,s)}return t}function bt(e,t){for(let[n,o]of t){let s=e.get(n);s||(s=new Set,e.set(n,s));for(let i of o)s.add(i)}}export{_t as a,X as b,ht as c,ee as d,It as e,O as f,Ft as g,Pt as h,Ht as i,Ve as j,ie as k,re as l,$t as m};
84
- //# sourceMappingURL=chunk-3PVIYZ74.js.map
@@ -1,2 +0,0 @@
1
- import{a as y}from"./chunk-UAPNU7UP.js";import{f as g,h,o as m,s as p}from"./chunk-QFZE73XF.js";function x(n,e,s,o){let r=g(e);if(!r)return!0;let i=h(n,e);if(!i)return!0;let a=b.get(i);return a||(a=L(i,r),b.set(i,a)),a.get(`${s}:${o}`)??!0}var b=new WeakMap;function L(n,e){let s=e==="rust"?new Set(["function_item","function_signature_item"]):e==="python"?new Set(["function_definition"]):new Set(["function_declaration","method_definition","arrow_function","function_expression"]),o=new Map,r=i=>{s.has(i.type)&&o.set(`${i.startPosition.row}:${i.endPosition.row}`,S(i,e));for(let a of i.children)r(a)};return r(n.rootNode),o}function S(n,e){let s=n.namedChildren.find(t=>t.type==="block"||t.type==="statement_block");if(!s)return!1;let o=s.namedChildren.filter(t=>t.type!=="comment"&&t.type!=="line_comment"&&t.type!=="block_comment");if(o.length!==1)return!1;let r=o[0],i=null;if(r.type==="return_statement"||r.type==="expression_statement"?i=r.namedChild(0)??null:e==="rust"&&(r.type==="call_expression"||r.type==="macro_invocation")&&(i=r),!i)return!1;let a=e==="python"?"call":"call_expression";if(i.type!==a)return!1;let f=i.namedChildren.find(t=>t.type==="arguments"||t.type==="argument_list");if(!f)return!1;let c=f.namedChildren.filter(t=>t.type!=="comment"),u=n.namedChildren.find(t=>t.type==="parameters"||t.type==="formal_parameters");if(!u)return!1;let l=[];for(let t of u.namedChildren)if(t.type==="identifier")l.push(t.text);else{let d=t.namedChildren.find(C=>C.type==="identifier");d&&l.push(d.text)}if(c.length!==l.length)return!1;for(let t=0;t<l.length;t+=1){let d=c[t];if(d.type!=="identifier"||d.text!==l[t])return!1}return!0}function k(n,e){let{scope:s,maxLoc:o=15,limit:r=30}=e??{},i=new y(n),a=w(i,s,o),f=i.calleeMap(a),c=[];for(let u of a){let l=_(n,u,f.get(u.symbolId)??[]);l&&c.push(l)}return c.sort((u,l)=>u.loc-l.loc||u.file.localeCompare(l.file)),c.slice(0,r)}function _(n,e,s){let o=P(s);if(o.size!==1||!x(n,e.relativePath,e.startLine,e.endLine))return null;let[,r]=[...o.entries()][0];return{symbol:e.symbol,shortName:m(e.symbol),file:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:D(e),forwardsTo:r.symbol,forwardsToShort:m(r.symbol),forwardsToFile:r.file}}function P(n){let e=n.some(o=>p(o.symbol))?n.filter(o=>p(o.symbol)):n,s=new Map;for(let o of e)s.has(o.symbol)||s.set(o.symbol,o);return s}function w(n,e,s){return n.productionCallableDefinitions({scope:e,minLoc:3,maxLoc:s,requireFunctionLikeSymbol:!0,excludeRustTraitImplMembers:!0})}function D(n){return n.endLine-n.startLine+1}export{k as a};
2
- //# sourceMappingURL=chunk-6DVA22YE.js.map
@@ -1,2 +0,0 @@
1
- import{a as d}from"./chunk-UAPNU7UP.js";import{b as m}from"./chunk-3PVIYZ74.js";import{f as i,o as p,p as u}from"./chunk-QFZE73XF.js";function E(a,y={}){let{scope:b,minLoc:f=3}=y,r=new d(a),s=r.productionCallableDefinitions({scope:b,minLoc:f,excludeEntrySurfaces:!0,excludeRustTraitImplMembers:!0,includeSuppressed:!0}),L=r.crossFileCallerMap(s),h=r.sourceFallbackCallerFiles(s),c=new Set([...L.keys(),...h.keys()]),l=new Map;for(let e of s){let t=u(e.symbol);if(!t)continue;let o=l.get(t)??[];o.push(e.symbolId),l.set(t,o)}let v=a.all(`SELECT relative_path FROM documents WHERE 1 = 1 ${a.pathExclusionsFor("documents")}`);for(let e of v){if(a.isIgnored(e.relative_path)||i(e.relative_path)!=="rust")continue;let t=m(a,e.relative_path);for(let o of t){let n=l.get(o);if(n)for(let M of n)c.add(M)}}let I=new Map(s.map(e=>[e.symbolId,e.symbol])),S=r.calleeMap(s,{additive:!0}),C=new Set([...S.entries()].filter(([e,t])=>{let o=I.get(e);return t.some(n=>n.symbol!==o)}).map(([e])=>e));return s.filter(e=>!c.has(e.symbolId)).filter(e=>!C.has(e.symbolId)).sort((e,t)=>t.endLine-t.startLine-(e.endLine-e.startLine)||e.relativePath.localeCompare(t.relativePath)||e.startLine-t.startLine).map(e=>({symbol:e.symbol,shortName:p(e.symbol),relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:e.endLine-e.startLine+1}))}export{E as a};
2
- //# sourceMappingURL=chunk-7YI2M2AQ.js.map
@@ -1,2 +0,0 @@
1
- import{a as w}from"./chunk-UAPNU7UP.js";import{i as S}from"./chunk-3PVIYZ74.js";import{a as g,b as I}from"./chunk-ZHHMG4UC.js";import{E as p,o as h,q as d}from"./chunk-QFZE73XF.js";function $(s,l,r={}){let{maxDepth:y=5,scope:b}=r,m=g(s,l);if(!m)return[];let f=[],c=new Set([m.symbolId]),u=new Set,i=[m];for(let n=1;n<=y&&i.length!==0;n++){let e=[];for(let t of i)for(let o of M(s,t,b)){let a=`${o.file}|${o.shortName}`;if(o.symbolId!==null){if(c.has(o.symbolId))continue;c.add(o.symbolId)}else if(u.has(a))continue;u.add(a),f.push({symbol:o.symbol,shortName:o.shortName,file:o.file,depth:n}),o.symbolId!==null&&o.symbolMatch&&e.push(o.symbolMatch)}i=e}return f.sort((n,e)=>n.depth-e.depth||n.file.localeCompare(e.file)),f}function M(s,l,r){let y=new w(s),b=S(s,l,{limit:500}).filter(e=>!s.isIgnored(e.file)).filter(e=>!r||e.file.includes(r)),m=new Set(b.map(e=>e.file)),f=y.crossFileCallerMap().get(l.symbolId)??new Set,c=[];for(let e of f){if(m.has(e)||s.isIgnored(e)||r&&!e.includes(r))continue;let t=y.definitionsForFile(e),o=t.length>0?p(t,t[0].startLine):null;c.push({symbol:o?.symbol??e,file:e})}let u=[...b,...c],i=[],n=new Set;for(let e of u){let t=I(s,e.symbol);if(!t){let a=`${e.file}|${e.symbol}`;if(n.has(a))continue;n.add(a),i.push({symbolId:null,symbol:e.symbol,shortName:h(e.symbol),file:e.file,symbolMatch:null});continue}if(t.symbolId===l.symbolId||s.isIgnored(t.relativePath)||!R(t.symbol))continue;let o=`${t.symbolId}|${t.relativePath}`;n.has(o)||(n.add(o),i.push({symbolId:t.symbolId,symbol:t.symbol,shortName:h(t.symbol),file:t.relativePath,symbolMatch:t}))}return i}function R(s){let l=d(s);return l==="method"||l==="type"||s.endsWith("().")}export{$ as a};
2
- //# sourceMappingURL=chunk-AADJ7MCQ.js.map
@@ -1,4 +0,0 @@
1
- import{c as S}from"./chunk-VEXS3I3N.js";import{j as d}from"./chunk-3PVIYZ74.js";import{a as f}from"./chunk-ZHHMG4UC.js";import{d as a,o as s,s as u,y as m,z as g}from"./chunk-QFZE73XF.js";function _(n,o){let e=f(n,o);if(!e)return{definitions:[],referencedBy:[]};let i=n.get("SELECT display_name, documentation FROM global_symbols WHERE id = ?",e.symbolId),t=g(i?.documentation??null),c=n.isIgnored(e.relativePath)?[]:[{relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,signature:b(t,i?.display_name??null,e.symbol),source:y(n,e.relativePath,e.startLine,e.endLine)}],l=S(n,e),p=(l.length>0?l:d(n,e)).filter(r=>!n.isIgnored(r.file)).map(r=>({relativePath:r.file,line:r.line,enclosingSymbol:r.enclosingSymbol,enclosingShort:r.enclosingSymbol?s(r.enclosingSymbol):"(top-level)"}));return{definitions:c,referencedBy:p}}function y(n,o,e,i){let t=a(n,o);if(!t)return null;let l=t.split(`
2
- `).slice(e,i+1).join(`
3
- `).trimEnd();return l.length>0?l:null}function b(n,o,e){let i=m(n);if(i&&!h(i))return i;let t=(o??"").trim();return t?u(e)&&!t.endsWith("()")?`${t}()`:t:s(e)}function h(n){return n.startsWith("undefined")||n.includes("|")||n.includes("```")}export{_ as a};
4
- //# sourceMappingURL=chunk-AV7BOODV.js.map
@@ -1,6 +0,0 @@
1
- import{a as F,b as d,d as R,e as $}from"./chunk-RKTDEIHF.js";import{a as k}from"./chunk-UAPNU7UP.js";import{h as B}from"./chunk-3PVIYZ74.js";import{a as x}from"./chunk-ZHHMG4UC.js";import{d as P,o as p,p as M,s as w,v as q}from"./chunk-QFZE73XF.js";function ne(t,i,e={}){let{minSimilarity:r=.4,limit:a=20}=e,s=V(t,i);if(!s)return[];if(!w(s.symbol))return[];let n=_(t,s,r);return n.length>0?n.slice(0,a):U(t,i,{minSimilarity:r,limit:a})}function _(t,i,e){let r=E(t,{minCallees:3,excludeSymbol:i.symbol}),a=R([i,...r].map(n=>n.callees)),s=[];for(let n of r){if(n.callees.size<3)continue;let l=v(i,n,a,{minSimilarity:e,requireSignificantShared:1,requireSharedCount:0});l&&s.push(l)}return s.sort((n,l)=>l.similarity-n.similarity),s}function v(t,i,e,r){let{similarity:a,significantShared:s}=$(t.callees,i.callees,e);if(a<r.minSimilarity)return null;let n=F(t.callees,i.callees).size;if(s.length<r.requireSignificantShared&&n<r.requireSharedCount)return null;let l=s.length>0?s:[...F(t.callees,i.callees)];return{symbolA:t.symbol,shortNameA:p(t.symbol),fileA:t.file,symbolB:i.symbol,shortNameB:p(i.symbol),fileB:i.file,similarity:a,similarityBasis:"callees",sharedCallees:l.map(p),uniqueToA:[...d(t.callees,i.callees)].map(p),uniqueToB:[...d(i.callees,t.callees)].map(p)}}function re(t,i={}){let{minSimilarity:e=.5,limit:r=20,scope:a,minCallees:s=4,crossFileOnly:n=!1}=i,l=E(t,{minCallees:s,scope:a}),o=R(l.map(c=>c.callees)),u=new Map;for(let c of l)for(let m of c.callees)u.set(m,(u.get(m)??0)+1);let f=Math.max(8,Math.ceil(Math.sqrt(l.length))),S=new Map;for(let c=0;c<l.length;c+=1)for(let m of l[c].callees){if((u.get(m)??0)>f)continue;let g=S.get(m);g||(g=[],S.set(m,g)),g.push(c)}let C=[],A=new Set;e:for(let c=0;c<l.length;c+=1){let m=l[c],g=new Set;for(let D of m.callees){let y=S.get(D);if(y)for(let b of y)b>c&&g.add(b)}for(let D of g){let y=`${c}|${D}`;if(A.has(y))continue;A.add(y);let b=l[D];if(n&&m.file===b.file)continue;if(m.paramCount>=0&&b.paramCount>=0){let j=Math.abs(m.paramCount-b.paramCount),L=Math.max(2,Math.ceil(Math.max(m.paramCount,b.paramCount)*.5));if(j>L)continue}let z=v(m,b,o,{minSimilarity:e,requireSignificantShared:2,requireSharedCount:4});if(z&&(C.push(z),C.length>r*5))break e}}return C.sort((c,m)=>m.similarity-c.similarity),C.slice(0,r)}var O=["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 V(t,i){let e=x(t,i),r=new k(t);if(!e)return null;let a=B(t,e);return{symbol:e.symbol,file:e.relativePath,callees:I(a.map(s=>s.symbol)),paramCount:r.callableSignature(e)?.paramCount??-1}}function E(t,i){let{minCallees:e,scope:r,excludeSymbol:a}=i,s=new k(t),n=s.productionCallableDefinitions({scope:r,minLoc:5,excludeSymbol:a}),l=s.calleeMap(n);return n.map(o=>({symbol:o.symbol,file:o.relativePath,callees:I((l.get(o.symbolId)??[]).map(u=>u.symbol)),paramCount:s.callableSignature(o)?.paramCount??-1})).filter(o=>o.callees.size>=e)}function I(t){return new Set([...t].filter(i=>!Z(i)))}function Z(t){return O.some(i=>t.includes(i))}function U(t,i,e){let r=W(t,i);if(!r||r.tokens.size<3)return[];let a=e.minSimilarity>=.5?e.minSimilarity:.3,s=[];for(let n of G(t)){if(n.symbol===r.symbol||n.tokens.size<3)continue;let l=F(r.tokens,n.tokens);if(l.size<2)continue;let o=new Set([...r.tokens,...n.tokens]),u=o.size>0?l.size/o.size:0;u<a||s.push({symbolA:r.symbol,shortNameA:p(r.symbol),fileA:r.file,symbolB:n.symbol,shortNameB:p(n.symbol),fileB:n.file,similarity:u,similarityBasis:"source-tokens",sharedCallees:[...l].sort(),uniqueToA:[...d(r.tokens,n.tokens)].sort(),uniqueToB:[...d(n.tokens,r.tokens)].sort()})}return s.sort((n,l)=>l.similarity-n.similarity||n.shortNameB.localeCompare(l.shortNameB)),s.slice(0,e.limit)}function W(t,i){let e=x(t,i);if(!e||!w(e.symbol))return null;let r=K(t,e);return r?{symbol:e.symbol,file:e.relativePath,tokens:r}:null}function K(t,i){let e=M(i.symbol),r=N(t,i.relativePath,i.startLine,i.endLine,e),a=T(r,e);return a.size>0?a:null}function G(t){let i=new k(t);return i.scopedDefinitions().filter(e=>e.isFunctionLike).filter(e=>i.fileKind(e.relativePath)!=="test").filter(e=>!q(e.symbol)).map(e=>({symbol:e.symbol,file:e.relativePath,tokens:T(N(t,e.relativePath,e.startLine,e.endLine,e.leaf),e.leaf)})).filter(e=>e.tokens.size>0)}function N(t,i,e,r,a){let s=P(t,i);if(!s)return"";let n=s.split(`
2
- `);if(r>=e&&r-e<=12)return n.slice(e,r+1).join(`
3
- `);let l=[new RegExp(`\\bdef\\s+${h(a)}\\b`),new RegExp(`\\bfun\\s+${h(a)}\\b`),new RegExp(`\\bfn\\s+${h(a)}\\b`),new RegExp(`\\bfunction\\s+${h(a)}\\b`),new RegExp(`\\b${h(a)}\\s*\\(`)],o=n.findIndex(u=>l.some(f=>f.test(u)));if(o>=0){let u=o;for(let f=o+1;f<n.length&&f<=o+8;f++){let S=n[f]??"";if(f>o&&J(S)||(u=f,S.trim()===""&&f>o+1))break}return n.slice(o,u+1).join(`
4
- `)}return n.slice(e,Math.min(n.length,e+8)).join(`
5
- `)}function T(t,i){if(!t)return new Set;let e=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"]),r=H(i),s=t.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(n=>n.trim()).filter(n=>n.length>1).filter(n=>!e.has(n)).filter(n=>!r.has(n));return new Set(s)}function H(t){return new Set(t.replace(/([a-z0-9])([A-Z])/g,"$1 $2").split(/[^A-Za-z0-9_]+|_/).map(i=>i.toLowerCase()).filter(i=>i.length>1))}function J(t){return/^\s*(?:def|fun|fn|function|class|trait|module|object|enum|interface|public|private|protected)\b/.test(t)}function h(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}export{ne as a,re as b};
6
- //# sourceMappingURL=chunk-AXP4H62Q.js.map
@@ -1,2 +0,0 @@
1
- import{a as g}from"./chunk-UAPNU7UP.js";import{o as f}from"./chunk-QFZE73XF.js";function L(e,i={}){let{scope:t,minLoc:o=10,minCallees:r=6,limit:n=20}=i,l=new g(e),s=l.productionCallableDefinitions({scope:t,minLoc:o,excludeTypesFiles:!0,requireFunctionLikeSymbol:!0,sortByLocDesc:!0}),c=l.calleeMap(s),d=[];for(let a of s){let u=m(a,c.get(a.symbolId)??[],r);u&&d.push(u)}return d.sort((a,u)=>u.clusters.length-a.clusters.length||u.loc-a.loc),d.slice(0,n)}function m(e,i,t){let o=new Set(i.map(s=>s.symbol));if(o.size<t)return null;let r=p(o,i),n=h(o,r);if(n.length<2)return null;let l=C(n,r);return l.length===0?null:{symbol:e.symbol,shortName:f(e.symbol),relativePath:e.relativePath,startLine:e.startLine,endLine:e.endLine,loc:b(e),totalCallees:o.size,clusters:l}}function p(e,i){let t=new Map;for(let r of e)t.set(r,new Set);let o=new Map;for(let r of i){let n=o.get(r.chunkId);n||(n=new Set,o.set(r.chunkId,n)),n.add(r.symbol)}for(let r of o.values()){let n=[...r];for(let l=0;l<n.length;l++)for(let s=l+1;s<n.length;s++)t.get(n[l]).add(n[s]),t.get(n[s]).add(n[l])}return t}function h(e,i){let t=new Set,o=[];for(let r of e){if(t.has(r))continue;let n=new Set,l=[r];for(;l.length>0;){let s=l.pop();if(!t.has(s)){t.add(s),n.add(s);for(let c of i.get(s)??[])t.has(c)||l.push(c)}}o.push(n)}return o}function C(e,i){return e.filter(t=>t.size>=3).map(t=>S(t,e,i)).filter(t=>t.isolation>.5).sort((t,o)=>o.isolation-t.isolation)}function S(e,i,t){let o=new Set;for(let s of i)if(s!==e)for(let c of s)o.add(c);let r=0;for(let s of e)for(let c of t.get(s)??[])o.has(c)&&r++;let n=e.size*o.size,l=n>0?1-r/n:1;return{callees:[...e].map(f),isolation:l}}function b(e){return e.endLine-e.startLine+1}export{L as a};
2
- //# sourceMappingURL=chunk-C4C3T4K3.js.map
@@ -1,2 +0,0 @@
1
- import{a as m}from"./chunk-UAPNU7UP.js";import{a as l}from"./chunk-ZHHMG4UC.js";import{p as r,r as a}from"./chunk-QFZE73XF.js";import{basename as d}from"path";function g(t,c){let o=l(t,c);if(!o)return[];let s=r(o.symbol),i=new m(t).definitionsForFile(o.relativePath).filter(e=>a(e.symbol)),n=i.filter(e=>e.parentTypeName===s||e.symbol.includes(s));return(n.length>0?n:p(d(o.relativePath))===s?i.filter(e=>e.symbol.includes("<invalid-global-code>")):[]).map(e=>({startLine:e.startLine,endLine:e.endLine,name:r(e.symbol)}))}function p(t){return t.replace(/\.[^.]+$/,"")}export{g as a};
2
- //# sourceMappingURL=chunk-CSRPJCWO.js.map
@@ -1,2 +0,0 @@
1
- import{b as e}from"./chunk-MO65UK5V.js";import{D as o}from"./chunk-QFZE73XF.js";function l(t,r){let s=e(t,r);return o(t,s).map(({relativePath:m,...a})=>a)}export{l as a};
2
- //# sourceMappingURL=chunk-GBDZY73J.js.map