scip-query 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (330) hide show
  1. package/IMPROVEMENTS.md +143 -0
  2. package/PLAN.md +320 -0
  3. package/README.md +1213 -0
  4. package/dist/chunk-2QZ23IBN.js +55 -0
  5. package/dist/chunk-2QZ23IBN.js.map +1 -0
  6. package/dist/chunk-36OMT7ZJ.js +144 -0
  7. package/dist/chunk-36OMT7ZJ.js.map +1 -0
  8. package/dist/chunk-3E2X7RIE.js +101 -0
  9. package/dist/chunk-3E2X7RIE.js.map +1 -0
  10. package/dist/chunk-3UOUTZQT.js +45 -0
  11. package/dist/chunk-3UOUTZQT.js.map +1 -0
  12. package/dist/chunk-3ZZJVBIO.js +88 -0
  13. package/dist/chunk-3ZZJVBIO.js.map +1 -0
  14. package/dist/chunk-4TYLS5XX.js +10 -0
  15. package/dist/chunk-4TYLS5XX.js.map +1 -0
  16. package/dist/chunk-5FGUEU7N.js +101 -0
  17. package/dist/chunk-5FGUEU7N.js.map +1 -0
  18. package/dist/chunk-5WTJAXY2.js +61 -0
  19. package/dist/chunk-5WTJAXY2.js.map +1 -0
  20. package/dist/chunk-6NBLIDF4.js +24 -0
  21. package/dist/chunk-6NBLIDF4.js.map +1 -0
  22. package/dist/chunk-6SXADWLW.js +43 -0
  23. package/dist/chunk-6SXADWLW.js.map +1 -0
  24. package/dist/chunk-6VJ6Q7IE.js +65 -0
  25. package/dist/chunk-6VJ6Q7IE.js.map +1 -0
  26. package/dist/chunk-7OZPA5OO.js +258 -0
  27. package/dist/chunk-7OZPA5OO.js.map +1 -0
  28. package/dist/chunk-BEPIEVLR.js +76 -0
  29. package/dist/chunk-BEPIEVLR.js.map +1 -0
  30. package/dist/chunk-BFSCMC22.js +42 -0
  31. package/dist/chunk-BFSCMC22.js.map +1 -0
  32. package/dist/chunk-BP2ATLK2.js +110 -0
  33. package/dist/chunk-BP2ATLK2.js.map +1 -0
  34. package/dist/chunk-CM454WL3.js +114 -0
  35. package/dist/chunk-CM454WL3.js.map +1 -0
  36. package/dist/chunk-DCKMSTJ4.js +74 -0
  37. package/dist/chunk-DCKMSTJ4.js.map +1 -0
  38. package/dist/chunk-DEZKCZXD.js +40 -0
  39. package/dist/chunk-DEZKCZXD.js.map +1 -0
  40. package/dist/chunk-DVWGWHFW.js +99 -0
  41. package/dist/chunk-DVWGWHFW.js.map +1 -0
  42. package/dist/chunk-EMDQWNYR.js +102 -0
  43. package/dist/chunk-EMDQWNYR.js.map +1 -0
  44. package/dist/chunk-FFSWWE5O.js +33 -0
  45. package/dist/chunk-FFSWWE5O.js.map +1 -0
  46. package/dist/chunk-FGXRVW7G.js +73 -0
  47. package/dist/chunk-FGXRVW7G.js.map +1 -0
  48. package/dist/chunk-FUHJCHS4.js +158 -0
  49. package/dist/chunk-FUHJCHS4.js.map +1 -0
  50. package/dist/chunk-GJFURBEW.js +64 -0
  51. package/dist/chunk-GJFURBEW.js.map +1 -0
  52. package/dist/chunk-GTILYBH6.js +102 -0
  53. package/dist/chunk-GTILYBH6.js.map +1 -0
  54. package/dist/chunk-JJP7KQND.js +1 -0
  55. package/dist/chunk-JJP7KQND.js.map +1 -0
  56. package/dist/chunk-JKP5GH6T.js +213 -0
  57. package/dist/chunk-JKP5GH6T.js.map +1 -0
  58. package/dist/chunk-KCBMVQL5.js +38 -0
  59. package/dist/chunk-KCBMVQL5.js.map +1 -0
  60. package/dist/chunk-KVSW5KYP.js +78 -0
  61. package/dist/chunk-KVSW5KYP.js.map +1 -0
  62. package/dist/chunk-LAWMH22O.js +172 -0
  63. package/dist/chunk-LAWMH22O.js.map +1 -0
  64. package/dist/chunk-LB7OS35Q.js +72 -0
  65. package/dist/chunk-LB7OS35Q.js.map +1 -0
  66. package/dist/chunk-LUSIFBXO.js +57 -0
  67. package/dist/chunk-LUSIFBXO.js.map +1 -0
  68. package/dist/chunk-MBVNHJVN.js +44 -0
  69. package/dist/chunk-MBVNHJVN.js.map +1 -0
  70. package/dist/chunk-MGNMHKX3.js +15 -0
  71. package/dist/chunk-MGNMHKX3.js.map +1 -0
  72. package/dist/chunk-N5KEREIA.js +41 -0
  73. package/dist/chunk-N5KEREIA.js.map +1 -0
  74. package/dist/chunk-NDSQYIWT.js +71 -0
  75. package/dist/chunk-NDSQYIWT.js.map +1 -0
  76. package/dist/chunk-NUZ4OMU3.js +28 -0
  77. package/dist/chunk-NUZ4OMU3.js.map +1 -0
  78. package/dist/chunk-QOV2R2WT.js +170 -0
  79. package/dist/chunk-QOV2R2WT.js.map +1 -0
  80. package/dist/chunk-SEFSL2GF.js +78 -0
  81. package/dist/chunk-SEFSL2GF.js.map +1 -0
  82. package/dist/chunk-T6ARFSBZ.js +103 -0
  83. package/dist/chunk-T6ARFSBZ.js.map +1 -0
  84. package/dist/chunk-TBP6BICL.js +46 -0
  85. package/dist/chunk-TBP6BICL.js.map +1 -0
  86. package/dist/chunk-TDNNOR6D.js +97 -0
  87. package/dist/chunk-TDNNOR6D.js.map +1 -0
  88. package/dist/chunk-TSPZOMHC.js +195 -0
  89. package/dist/chunk-TSPZOMHC.js.map +1 -0
  90. package/dist/chunk-UNTPVD36.js +55 -0
  91. package/dist/chunk-UNTPVD36.js.map +1 -0
  92. package/dist/chunk-VRUJH4BO.js +88 -0
  93. package/dist/chunk-VRUJH4BO.js.map +1 -0
  94. package/dist/chunk-VZ7AMAFL.js +76 -0
  95. package/dist/chunk-VZ7AMAFL.js.map +1 -0
  96. package/dist/chunk-XFXDXEUN.js +24 -0
  97. package/dist/chunk-XFXDXEUN.js.map +1 -0
  98. package/dist/chunk-YZAA4LYG.js +169 -0
  99. package/dist/chunk-YZAA4LYG.js.map +1 -0
  100. package/dist/chunk-Z73NYSBZ.js +92 -0
  101. package/dist/chunk-Z73NYSBZ.js.map +1 -0
  102. package/dist/chunk-ZJRYBOEE.js +125 -0
  103. package/dist/chunk-ZJRYBOEE.js.map +1 -0
  104. package/dist/cli.js +5798 -0
  105. package/dist/cli.js.map +1 -0
  106. package/dist/db-BxaevAyc.d.ts +683 -0
  107. package/dist/index.d.ts +254 -0
  108. package/dist/index.js +1271 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/postinstall.js +167 -0
  111. package/dist/postinstall.js.map +1 -0
  112. package/dist/queries/affected.d.ts +14 -0
  113. package/dist/queries/affected.js +9 -0
  114. package/dist/queries/affected.js.map +1 -0
  115. package/dist/queries/bottlenecks.d.ts +18 -0
  116. package/dist/queries/bottlenecks.js +8 -0
  117. package/dist/queries/bottlenecks.js.map +1 -0
  118. package/dist/queries/by-kind.d.ts +20 -0
  119. package/dist/queries/by-kind.js +10 -0
  120. package/dist/queries/by-kind.js.map +1 -0
  121. package/dist/queries/call-graph.d.ts +13 -0
  122. package/dist/queries/call-graph.js +9 -0
  123. package/dist/queries/call-graph.js.map +1 -0
  124. package/dist/queries/change-surface.d.ts +10 -0
  125. package/dist/queries/change-surface.js +9 -0
  126. package/dist/queries/change-surface.js.map +1 -0
  127. package/dist/queries/clean-signature.d.ts +9 -0
  128. package/dist/queries/clean-signature.js +7 -0
  129. package/dist/queries/clean-signature.js.map +1 -0
  130. package/dist/queries/code.d.ts +17 -0
  131. package/dist/queries/code.js +9 -0
  132. package/dist/queries/code.js.map +1 -0
  133. package/dist/queries/complexity-hotspots.d.ts +19 -0
  134. package/dist/queries/complexity-hotspots.js +9 -0
  135. package/dist/queries/complexity-hotspots.js.map +1 -0
  136. package/dist/queries/complexity.d.ts +13 -0
  137. package/dist/queries/complexity.js +9 -0
  138. package/dist/queries/complexity.js.map +1 -0
  139. package/dist/queries/convergence.d.ts +11 -0
  140. package/dist/queries/convergence.js +9 -0
  141. package/dist/queries/convergence.js.map +1 -0
  142. package/dist/queries/coupling.d.ts +17 -0
  143. package/dist/queries/coupling.js +9 -0
  144. package/dist/queries/coupling.js.map +1 -0
  145. package/dist/queries/cycles.d.ts +16 -0
  146. package/dist/queries/cycles.js +8 -0
  147. package/dist/queries/cycles.js.map +1 -0
  148. package/dist/queries/dataflow.d.ts +19 -0
  149. package/dist/queries/dataflow.js +9 -0
  150. package/dist/queries/dataflow.js.map +1 -0
  151. package/dist/queries/dead.d.ts +10 -0
  152. package/dist/queries/dead.js +9 -0
  153. package/dist/queries/dead.js.map +1 -0
  154. package/dist/queries/deep-chains.d.ts +16 -0
  155. package/dist/queries/deep-chains.js +8 -0
  156. package/dist/queries/deep-chains.js.map +1 -0
  157. package/dist/queries/deps.d.ts +9 -0
  158. package/dist/queries/deps.js +9 -0
  159. package/dist/queries/deps.js.map +1 -0
  160. package/dist/queries/diff-impact.d.ts +13 -0
  161. package/dist/queries/diff-impact.js +9 -0
  162. package/dist/queries/diff-impact.js.map +1 -0
  163. package/dist/queries/doc-coverage.d.ts +14 -0
  164. package/dist/queries/doc-coverage.js +8 -0
  165. package/dist/queries/doc-coverage.js.map +1 -0
  166. package/dist/queries/drift.d.ts +25 -0
  167. package/dist/queries/drift.js +8 -0
  168. package/dist/queries/drift.js.map +1 -0
  169. package/dist/queries/extract-candidates.d.ts +25 -0
  170. package/dist/queries/extract-candidates.js +9 -0
  171. package/dist/queries/extract-candidates.js.map +1 -0
  172. package/dist/queries/fan.d.ts +29 -0
  173. package/dist/queries/fan.js +14 -0
  174. package/dist/queries/fan.js.map +1 -0
  175. package/dist/queries/files.d.ts +6 -0
  176. package/dist/queries/files.js +7 -0
  177. package/dist/queries/files.js.map +1 -0
  178. package/dist/queries/health.d.ts +18 -0
  179. package/dist/queries/health.js +21 -0
  180. package/dist/queries/health.js.map +1 -0
  181. package/dist/queries/hierarchy.d.ts +13 -0
  182. package/dist/queries/hierarchy.js +8 -0
  183. package/dist/queries/hierarchy.js.map +1 -0
  184. package/dist/queries/hotspots.d.ts +13 -0
  185. package/dist/queries/hotspots.js +8 -0
  186. package/dist/queries/hotspots.js.map +1 -0
  187. package/dist/queries/imports.d.ts +19 -0
  188. package/dist/queries/imports.js +12 -0
  189. package/dist/queries/imports.js.map +1 -0
  190. package/dist/queries/index.d.ts +47 -0
  191. package/dist/queries/index.js +207 -0
  192. package/dist/queries/index.js.map +1 -0
  193. package/dist/queries/isolated.d.ts +14 -0
  194. package/dist/queries/isolated.js +9 -0
  195. package/dist/queries/isolated.js.map +1 -0
  196. package/dist/queries/members.d.ts +10 -0
  197. package/dist/queries/members.js +8 -0
  198. package/dist/queries/members.js.map +1 -0
  199. package/dist/queries/methods.d.ts +6 -0
  200. package/dist/queries/methods.js +8 -0
  201. package/dist/queries/methods.js.map +1 -0
  202. package/dist/queries/outline.d.ts +10 -0
  203. package/dist/queries/outline.js +8 -0
  204. package/dist/queries/outline.js.map +1 -0
  205. package/dist/queries/passthrough-candidates.d.ts +18 -0
  206. package/dist/queries/passthrough-candidates.js +9 -0
  207. package/dist/queries/passthrough-candidates.js.map +1 -0
  208. package/dist/queries/redundant-reexports.d.ts +22 -0
  209. package/dist/queries/redundant-reexports.js +8 -0
  210. package/dist/queries/redundant-reexports.js.map +1 -0
  211. package/dist/queries/refs.d.ts +6 -0
  212. package/dist/queries/refs.js +7 -0
  213. package/dist/queries/refs.js.map +1 -0
  214. package/dist/queries/similar-chains.d.ts +29 -0
  215. package/dist/queries/similar-chains.js +8 -0
  216. package/dist/queries/similar-chains.js.map +1 -0
  217. package/dist/queries/similar-files.d.ts +19 -0
  218. package/dist/queries/similar-files.js +8 -0
  219. package/dist/queries/similar-files.js.map +1 -0
  220. package/dist/queries/similar-signatures.d.ts +21 -0
  221. package/dist/queries/similar-signatures.js +8 -0
  222. package/dist/queries/similar-signatures.js.map +1 -0
  223. package/dist/queries/similar.d.ts +34 -0
  224. package/dist/queries/similar.js +11 -0
  225. package/dist/queries/similar.js.map +1 -0
  226. package/dist/queries/slice.d.ts +21 -0
  227. package/dist/queries/slice.js +9 -0
  228. package/dist/queries/slice.js.map +1 -0
  229. package/dist/queries/stale-abstractions.d.ts +18 -0
  230. package/dist/queries/stale-abstractions.js +9 -0
  231. package/dist/queries/stale-abstractions.js.map +1 -0
  232. package/dist/queries/stats.d.ts +6 -0
  233. package/dist/queries/stats.js +7 -0
  234. package/dist/queries/stats.js.map +1 -0
  235. package/dist/queries/surface.d.ts +7 -0
  236. package/dist/queries/surface.js +8 -0
  237. package/dist/queries/surface.js.map +1 -0
  238. package/dist/queries/symbols.d.ts +6 -0
  239. package/dist/queries/symbols.js +9 -0
  240. package/dist/queries/symbols.js.map +1 -0
  241. package/dist/queries/system.d.ts +7 -0
  242. package/dist/queries/system.js +9 -0
  243. package/dist/queries/system.js.map +1 -0
  244. package/dist/queries/test-coverage.d.ts +22 -0
  245. package/dist/queries/test-coverage.js +11 -0
  246. package/dist/queries/test-coverage.js.map +1 -0
  247. package/dist/queries/trace.d.ts +6 -0
  248. package/dist/queries/trace.js +8 -0
  249. package/dist/queries/trace.js.map +1 -0
  250. package/dist/queries/wrapper-candidates.d.ts +17 -0
  251. package/dist/queries/wrapper-candidates.js +9 -0
  252. package/dist/queries/wrapper-candidates.js.map +1 -0
  253. package/dist/reindex-worker.js +368 -0
  254. package/dist/reindex-worker.js.map +1 -0
  255. package/docs/AGENT_GUIDE.md +359 -0
  256. package/package.json +70 -0
  257. package/reports/debloat/2026-04-10-scip-query-self-audit.md +161 -0
  258. package/skills/concrete-plan/SKILL.md +318 -0
  259. package/skills/scip-debloat/SKILL.md +413 -0
  260. package/skills/scip-explore/SKILL.md +235 -0
  261. package/skills/scip-verify/SKILL.md +323 -0
  262. package/src/cli.ts +1480 -0
  263. package/src/config.ts +117 -0
  264. package/src/db.ts +127 -0
  265. package/src/gitignore-filter.ts +143 -0
  266. package/src/index.ts +11 -0
  267. package/src/postinstall.ts +8 -0
  268. package/src/queries/affected.ts +86 -0
  269. package/src/queries/bottlenecks.ts +67 -0
  270. package/src/queries/by-kind.ts +204 -0
  271. package/src/queries/call-graph.ts +66 -0
  272. package/src/queries/change-surface.ts +110 -0
  273. package/src/queries/clean-signature.ts +22 -0
  274. package/src/queries/code.ts +101 -0
  275. package/src/queries/complexity-hotspots.ts +119 -0
  276. package/src/queries/complexity.ts +152 -0
  277. package/src/queries/convergence.ts +82 -0
  278. package/src/queries/coupling.ts +99 -0
  279. package/src/queries/cycles.ts +78 -0
  280. package/src/queries/dataflow.ts +128 -0
  281. package/src/queries/dead.ts +122 -0
  282. package/src/queries/deep-chains.ts +59 -0
  283. package/src/queries/deps.ts +46 -0
  284. package/src/queries/diff-impact.ts +204 -0
  285. package/src/queries/doc-coverage.ts +86 -0
  286. package/src/queries/drift.ts +224 -0
  287. package/src/queries/extract-candidates.ts +167 -0
  288. package/src/queries/fan.ts +148 -0
  289. package/src/queries/files.ts +16 -0
  290. package/src/queries/health.ts +324 -0
  291. package/src/queries/hierarchy.ts +49 -0
  292. package/src/queries/hotspots.ts +53 -0
  293. package/src/queries/imports.ts +95 -0
  294. package/src/queries/index.ts +45 -0
  295. package/src/queries/isolated.ts +67 -0
  296. package/src/queries/members.ts +54 -0
  297. package/src/queries/methods.ts +27 -0
  298. package/src/queries/outline.ts +52 -0
  299. package/src/queries/passthrough-candidates.ts +94 -0
  300. package/src/queries/redundant-reexports.ts +170 -0
  301. package/src/queries/refs.ts +27 -0
  302. package/src/queries/similar-chains.ts +314 -0
  303. package/src/queries/similar-files.ts +140 -0
  304. package/src/queries/similar-signatures.ts +151 -0
  305. package/src/queries/similar.ts +305 -0
  306. package/src/queries/slice.ts +154 -0
  307. package/src/queries/stale-abstractions.ts +82 -0
  308. package/src/queries/stats.ts +22 -0
  309. package/src/queries/surface.ts +34 -0
  310. package/src/queries/symbols.ts +39 -0
  311. package/src/queries/system.ts +86 -0
  312. package/src/queries/test-coverage.ts +106 -0
  313. package/src/queries/trace.ts +55 -0
  314. package/src/queries/wrapper-candidates.ts +112 -0
  315. package/src/query-support.ts +226 -0
  316. package/src/reindex/detect.ts +58 -0
  317. package/src/reindex/index.ts +153 -0
  318. package/src/reindex/indexers.ts +220 -0
  319. package/src/reindex/install.ts +125 -0
  320. package/src/reindex-worker.ts +35 -0
  321. package/src/setup.ts +202 -0
  322. package/src/symbol-parser.ts +278 -0
  323. package/src/types.ts +654 -0
  324. package/src/watch.ts +274 -0
  325. package/tests/gitignore-filter.test.ts +48 -0
  326. package/tests/queries.test.ts +300 -0
  327. package/tests/symbol-parser.test.ts +157 -0
  328. package/tsconfig.json +20 -0
  329. package/tsup.config.ts +40 -0
  330. package/vitest.config.ts +7 -0
@@ -0,0 +1,207 @@
1
+ import "../chunk-JJP7KQND.js";
2
+ import {
3
+ surface
4
+ } from "../chunk-FFSWWE5O.js";
5
+ import {
6
+ symbols
7
+ } from "../chunk-KCBMVQL5.js";
8
+ import {
9
+ system
10
+ } from "../chunk-DCKMSTJ4.js";
11
+ import {
12
+ trace
13
+ } from "../chunk-TBP6BICL.js";
14
+ import {
15
+ redundantReexports
16
+ } from "../chunk-3E2X7RIE.js";
17
+ import {
18
+ refs
19
+ } from "../chunk-6NBLIDF4.js";
20
+ import {
21
+ similarChains
22
+ } from "../chunk-JKP5GH6T.js";
23
+ import {
24
+ similarFiles
25
+ } from "../chunk-Z73NYSBZ.js";
26
+ import {
27
+ similarSignatures
28
+ } from "../chunk-SEFSL2GF.js";
29
+ import {
30
+ slice
31
+ } from "../chunk-ZJRYBOEE.js";
32
+ import {
33
+ hierarchy
34
+ } from "../chunk-DEZKCZXD.js";
35
+ import {
36
+ hotspots
37
+ } from "../chunk-BFSCMC22.js";
38
+ import {
39
+ importedBy,
40
+ imports,
41
+ unusedImports
42
+ } from "../chunk-BEPIEVLR.js";
43
+ import {
44
+ members
45
+ } from "../chunk-3UOUTZQT.js";
46
+ import {
47
+ methods
48
+ } from "../chunk-NUZ4OMU3.js";
49
+ import {
50
+ outline
51
+ } from "../chunk-6SXADWLW.js";
52
+ import {
53
+ deps,
54
+ rdeps
55
+ } from "../chunk-N5KEREIA.js";
56
+ import {
57
+ diffImpact
58
+ } from "../chunk-YZAA4LYG.js";
59
+ import {
60
+ docCoverage
61
+ } from "../chunk-FGXRVW7G.js";
62
+ import {
63
+ fanIn,
64
+ fanOut,
65
+ topFanIn,
66
+ topFanOut
67
+ } from "../chunk-GTILYBH6.js";
68
+ import {
69
+ files
70
+ } from "../chunk-MGNMHKX3.js";
71
+ import {
72
+ health
73
+ } from "../chunk-7OZPA5OO.js";
74
+ import {
75
+ staleAbstractions
76
+ } from "../chunk-GJFURBEW.js";
77
+ import {
78
+ stats
79
+ } from "../chunk-XFXDXEUN.js";
80
+ import {
81
+ testCoverage,
82
+ testCoverageSummary
83
+ } from "../chunk-3ZZJVBIO.js";
84
+ import {
85
+ wrapperCandidates
86
+ } from "../chunk-TDNNOR6D.js";
87
+ import {
88
+ passthroughCandidates
89
+ } from "../chunk-NDSQYIWT.js";
90
+ import {
91
+ similar,
92
+ similarAll
93
+ } from "../chunk-TSPZOMHC.js";
94
+ import {
95
+ isolated
96
+ } from "../chunk-LUSIFBXO.js";
97
+ import {
98
+ drift
99
+ } from "../chunk-36OMT7ZJ.js";
100
+ import {
101
+ extractCandidates
102
+ } from "../chunk-CM454WL3.js";
103
+ import {
104
+ complexityHotspots
105
+ } from "../chunk-EMDQWNYR.js";
106
+ import {
107
+ complexity
108
+ } from "../chunk-BP2ATLK2.js";
109
+ import {
110
+ convergence
111
+ } from "../chunk-LB7OS35Q.js";
112
+ import {
113
+ coupling,
114
+ topCoupling
115
+ } from "../chunk-KVSW5KYP.js";
116
+ import {
117
+ cycles
118
+ } from "../chunk-5WTJAXY2.js";
119
+ import {
120
+ dataflow
121
+ } from "../chunk-T6ARFSBZ.js";
122
+ import {
123
+ dead
124
+ } from "../chunk-5FGUEU7N.js";
125
+ import {
126
+ deepChains
127
+ } from "../chunk-MBVNHJVN.js";
128
+ import {
129
+ affected
130
+ } from "../chunk-6VJ6Q7IE.js";
131
+ import {
132
+ bottlenecks
133
+ } from "../chunk-2QZ23IBN.js";
134
+ import {
135
+ byKind,
136
+ kindCounts
137
+ } from "../chunk-LAWMH22O.js";
138
+ import {
139
+ callGraph
140
+ } from "../chunk-UNTPVD36.js";
141
+ import {
142
+ changeSurface
143
+ } from "../chunk-VRUJH4BO.js";
144
+ import "../chunk-4TYLS5XX.js";
145
+ import {
146
+ code
147
+ } from "../chunk-VZ7AMAFL.js";
148
+ import "../chunk-FUHJCHS4.js";
149
+ import "../chunk-QOV2R2WT.js";
150
+ export {
151
+ affected,
152
+ bottlenecks,
153
+ byKind,
154
+ callGraph,
155
+ changeSurface,
156
+ code,
157
+ complexity,
158
+ complexityHotspots,
159
+ convergence,
160
+ coupling,
161
+ cycles,
162
+ dataflow,
163
+ dead,
164
+ deepChains,
165
+ deps,
166
+ diffImpact,
167
+ docCoverage,
168
+ drift,
169
+ extractCandidates,
170
+ fanIn,
171
+ fanOut,
172
+ files,
173
+ health,
174
+ hierarchy,
175
+ hotspots,
176
+ importedBy,
177
+ imports,
178
+ isolated,
179
+ kindCounts,
180
+ members,
181
+ methods,
182
+ outline,
183
+ passthroughCandidates,
184
+ rdeps,
185
+ redundantReexports,
186
+ refs,
187
+ similar,
188
+ similarAll,
189
+ similarChains,
190
+ similarFiles,
191
+ similarSignatures,
192
+ slice,
193
+ staleAbstractions,
194
+ stats,
195
+ surface,
196
+ symbols,
197
+ system,
198
+ testCoverage,
199
+ testCoverageSummary,
200
+ topCoupling,
201
+ topFanIn,
202
+ topFanOut,
203
+ trace,
204
+ unusedImports,
205
+ wrapperCandidates
206
+ };
207
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,14 @@
1
+ import { S as ScipDatabase, s as IsolatedResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find isolated symbols: defined locally, referenced by nothing,
6
+ * and referencing nothing external. These are truly orphaned code —
7
+ * not just unused exports, but completely disconnected from the graph.
8
+ */
9
+ declare function isolated(db: ScipDatabase, opts?: {
10
+ scope?: string;
11
+ minLoc?: number;
12
+ }): IsolatedResult[];
13
+
14
+ export { isolated };
@@ -0,0 +1,9 @@
1
+ import {
2
+ isolated
3
+ } from "../chunk-LUSIFBXO.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ import "../chunk-QOV2R2WT.js";
6
+ export {
7
+ isolated
8
+ };
9
+ //# sourceMappingURL=isolated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,10 @@
1
+ import { S as ScipDatabase, M as MemberResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find all direct children of a symbol (methods, fields, nested types).
6
+ * Uses the enclosing_symbol relationship in global_symbols.
7
+ */
8
+ declare function members(db: ScipDatabase, symbolPattern: string): MemberResult[];
9
+
10
+ export { members };
@@ -0,0 +1,8 @@
1
+ import {
2
+ members
3
+ } from "../chunk-3UOUTZQT.js";
4
+ import "../chunk-QOV2R2WT.js";
5
+ export {
6
+ members
7
+ };
8
+ //# sourceMappingURL=members.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ import { S as ScipDatabase, t as MethodResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ declare function methods(db: ScipDatabase, className: string): MethodResult[];
5
+
6
+ export { methods };
@@ -0,0 +1,8 @@
1
+ import {
2
+ methods
3
+ } from "../chunk-NUZ4OMU3.js";
4
+ import "../chunk-QOV2R2WT.js";
5
+ export {
6
+ methods
7
+ };
8
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,10 @@
1
+ import { S as ScipDatabase, O as OutlineNode } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Build a tree-structured outline of symbols in a file,
6
+ * using the enclosing_symbol field to establish parent-child relationships.
7
+ */
8
+ declare function outline(db: ScipDatabase, filePattern: string): OutlineNode[];
9
+
10
+ export { outline };
@@ -0,0 +1,8 @@
1
+ import {
2
+ outline
3
+ } from "../chunk-6SXADWLW.js";
4
+ import "../chunk-QOV2R2WT.js";
5
+ export {
6
+ outline
7
+ };
8
+ //# sourceMappingURL=outline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ import { S as ScipDatabase, P as PassthroughCandidate } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find passthrough candidates: functions that just forward to one
6
+ * other function.
7
+ *
8
+ * A function with exactly 1 callee and small LOC is likely a thin
9
+ * wrapper that adds no value — it just passes arguments through to
10
+ * the real implementation.
11
+ */
12
+ declare function passthroughCandidates(db: ScipDatabase, opts?: {
13
+ scope?: string;
14
+ maxLoc?: number;
15
+ limit?: number;
16
+ }): PassthroughCandidate[];
17
+
18
+ export { passthroughCandidates };
@@ -0,0 +1,9 @@
1
+ import {
2
+ passthroughCandidates
3
+ } from "../chunk-NDSQYIWT.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ import "../chunk-QOV2R2WT.js";
6
+ export {
7
+ passthroughCandidates
8
+ };
9
+ //# sourceMappingURL=passthrough-candidates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,22 @@
1
+ import { S as ScipDatabase, N as RedundantReexport } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find barrel re-exports that no consumer actually imports through.
6
+ *
7
+ * If `queries/index.ts` re-exports `byKind` from `by-kind.ts`, but every
8
+ * consumer of `byKind` imports it directly from `by-kind.ts` (not through
9
+ * `index.ts`), the re-export in the barrel is dead weight.
10
+ *
11
+ * Algorithm:
12
+ * 1. Find all barrel files (index.ts / index.js)
13
+ * 2. For each barrel, find symbols it re-exports (defined elsewhere, referenced in barrel with role=0)
14
+ * 3. For each re-exported symbol, count consumers through the barrel vs direct from the source
15
+ * 4. If zero consumers go through the barrel, the re-export is redundant
16
+ */
17
+ declare function redundantReexports(db: ScipDatabase, opts?: {
18
+ scope?: string;
19
+ limit?: number;
20
+ }): RedundantReexport[];
21
+
22
+ export { redundantReexports };
@@ -0,0 +1,8 @@
1
+ import {
2
+ redundantReexports
3
+ } from "../chunk-3E2X7RIE.js";
4
+ import "../chunk-QOV2R2WT.js";
5
+ export {
6
+ redundantReexports
7
+ };
8
+ //# sourceMappingURL=redundant-reexports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ import { S as ScipDatabase, R as RefResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ declare function refs(db: ScipDatabase, symbolPattern: string): RefResult[];
5
+
6
+ export { refs };
@@ -0,0 +1,7 @@
1
+ import {
2
+ refs
3
+ } from "../chunk-6NBLIDF4.js";
4
+ export {
5
+ refs
6
+ };
7
+ //# sourceMappingURL=refs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,29 @@
1
+ import { S as ScipDatabase, J as SimilarChainResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find end-to-end dependency flows that are structurally similar
6
+ * but diverge at a few points — indicating duplicated pipelines
7
+ * that could be consolidated.
8
+ *
9
+ * Uses infrastructure-filtered chain comparison:
10
+ *
11
+ * 1. Build all dependency chains via DFS
12
+ * 2. Compute node frequency across all chains
13
+ * 3. Filter out infrastructure nodes (appearing in >50% of chains)
14
+ * 4. Compare the filtered chains — what's left is the unique pipeline
15
+ * 5. Edit distance on filtered chains finds real structural duplicates
16
+ *
17
+ * Two chains that both pass through db.ts → types.ts is meaningless.
18
+ * Two chains that both pass through userValidation → userRepo → emailService
19
+ * after filtering is a strong consolidation signal.
20
+ */
21
+ declare function similarChains(db: ScipDatabase, opts?: {
22
+ minSimilarity?: number;
23
+ limit?: number;
24
+ scope?: string;
25
+ minChainLength?: number;
26
+ maxChainLength?: number;
27
+ }): SimilarChainResult[];
28
+
29
+ export { similarChains };
@@ -0,0 +1,8 @@
1
+ import {
2
+ similarChains
3
+ } from "../chunk-JKP5GH6T.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ export {
6
+ similarChains
7
+ };
8
+ //# sourceMappingURL=similar-chains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,19 @@
1
+ import { S as ScipDatabase, G as SimilarFileResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find files with similar dependency profiles.
6
+ *
7
+ * Two files that depend on (import from) the same set of other files
8
+ * are structurally doing similar work. High Jaccard similarity between
9
+ * their dependency sets = likely copy-paste variants or consolidation candidates.
10
+ */
11
+ declare function similarFiles(db: ScipDatabase, opts?: {
12
+ minSimilarity?: number;
13
+ limit?: number;
14
+ scope?: string;
15
+ minDeps?: number;
16
+ filePattern?: string;
17
+ }): SimilarFileResult[];
18
+
19
+ export { similarFiles };
@@ -0,0 +1,8 @@
1
+ import {
2
+ similarFiles
3
+ } from "../chunk-Z73NYSBZ.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ export {
6
+ similarFiles
7
+ };
8
+ //# sourceMappingURL=similar-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,21 @@
1
+ import { S as ScipDatabase, Q as SimilarSignatureGroup } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find functions with near-identical type signatures (same parameter types
6
+ * and return type) but different names. These are "same shape" functions
7
+ * that may be doing similar work even if their internal implementation differs.
8
+ *
9
+ * The SCIP `documentation` field often contains the full type signature
10
+ * after a `|` delimiter. We parse it, normalize it (strip the function name,
11
+ * whitespace, and case), then group by normalized signature.
12
+ *
13
+ * Groups with 2+ functions = same-shape candidates.
14
+ */
15
+ declare function similarSignatures(db: ScipDatabase, opts?: {
16
+ scope?: string;
17
+ minLoc?: number;
18
+ limit?: number;
19
+ }): SimilarSignatureGroup[];
20
+
21
+ export { similarSignatures };
@@ -0,0 +1,8 @@
1
+ import {
2
+ similarSignatures
3
+ } from "../chunk-SEFSL2GF.js";
4
+ import "../chunk-QOV2R2WT.js";
5
+ export {
6
+ similarSignatures
7
+ };
8
+ //# sourceMappingURL=similar-signatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,34 @@
1
+ import { S as ScipDatabase, z as SimilarSymbolResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find functions with similar callee fingerprints using TF-IDF weighted
6
+ * cosine similarity.
7
+ *
8
+ * Plain Jaccard similarity inflates scores when functions share ubiquitous
9
+ * infrastructure imports (db, types, shortenSymbol). TF-IDF fixes this by
10
+ * weighting each shared callee by how rare it is:
11
+ *
12
+ * - A callee used by 2 functions (rare) gets high weight → strong signal
13
+ * - A callee used by 30 functions (common) gets low weight → noise
14
+ *
15
+ * This means two functions sharing `sendWelcomeEmail()` (rare) score
16
+ * much higher than two functions sharing `db.all()` (ubiquitous), even
17
+ * though both are "shared callees."
18
+ */
19
+ declare function similar(db: ScipDatabase, symbolPattern: string, opts?: {
20
+ minSimilarity?: number;
21
+ limit?: number;
22
+ }): SimilarSymbolResult[];
23
+ /**
24
+ * Find similar symbols across the entire codebase.
25
+ * Uses TF-IDF weighted similarity to filter out infrastructure noise.
26
+ */
27
+ declare function similarAll(db: ScipDatabase, opts?: {
28
+ minSimilarity?: number;
29
+ limit?: number;
30
+ scope?: string;
31
+ minCallees?: number;
32
+ }): SimilarSymbolResult[];
33
+
34
+ export { similar, similarAll };
@@ -0,0 +1,11 @@
1
+ import {
2
+ similar,
3
+ similarAll
4
+ } from "../chunk-TSPZOMHC.js";
5
+ import "../chunk-FUHJCHS4.js";
6
+ import "../chunk-QOV2R2WT.js";
7
+ export {
8
+ similar,
9
+ similarAll
10
+ };
11
+ //# sourceMappingURL=similar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,21 @@
1
+ import { S as ScipDatabase, L as SliceResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Reference-level program slicing: track what affects a symbol (backward)
6
+ * or what a symbol affects (forward).
7
+ *
8
+ * Backward slice: "What feeds into this?" — symbols referenced in the same
9
+ * function that defines the target. These are the inputs/dependencies.
10
+ *
11
+ * Forward slice: "What does this feed into?" — at each site where the target
12
+ * is referenced, find the enclosing function, then find what that function
13
+ * exports/defines. These are the outputs/consumers.
14
+ *
15
+ * Language-agnostic: works with any SCIP index.
16
+ */
17
+ declare function slice(db: ScipDatabase, symbolPattern: string, opts?: {
18
+ direction?: 'backward' | 'forward';
19
+ }): SliceResult | null;
20
+
21
+ export { slice };
@@ -0,0 +1,9 @@
1
+ import {
2
+ slice
3
+ } from "../chunk-ZJRYBOEE.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ import "../chunk-QOV2R2WT.js";
6
+ export {
7
+ slice
8
+ };
9
+ //# sourceMappingURL=slice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,18 @@
1
+ import { S as ScipDatabase, K as StaleAbstraction } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /**
5
+ * Find stale abstractions: type-level symbols (classes, interfaces, type
6
+ * aliases) that have 0 or 1 cross-file consumers.
7
+ *
8
+ * A type that only one file uses is over-abstracted — it was designed
9
+ * for reuse that never materialized. Large single-consumer types are
10
+ * the strongest signal of wasted abstraction.
11
+ */
12
+ declare function staleAbstractions(db: ScipDatabase, opts?: {
13
+ scope?: string;
14
+ minLoc?: number;
15
+ limit?: number;
16
+ }): StaleAbstraction[];
17
+
18
+ export { staleAbstractions };
@@ -0,0 +1,9 @@
1
+ import {
2
+ staleAbstractions
3
+ } from "../chunk-GJFURBEW.js";
4
+ import "../chunk-FUHJCHS4.js";
5
+ import "../chunk-QOV2R2WT.js";
6
+ export {
7
+ staleAbstractions
8
+ };
9
+ //# sourceMappingURL=stale-abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,6 @@
1
+ import { S as ScipDatabase, u as StatsResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ declare function stats(db: ScipDatabase): StatsResult;
5
+
6
+ export { stats };
@@ -0,0 +1,7 @@
1
+ import {
2
+ stats
3
+ } from "../chunk-XFXDXEUN.js";
4
+ export {
5
+ stats
6
+ };
7
+ //# sourceMappingURL=stats.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,7 @@
1
+ import { S as ScipDatabase, x as SurfaceResult } from '../db-BxaevAyc.js';
2
+ import 'better-sqlite3';
3
+
4
+ /** Public API surface: what symbols do external consumers actually use from this module? */
5
+ declare function surface(db: ScipDatabase, modulePattern: string): SurfaceResult[];
6
+
7
+ export { surface };